(除了自增自減操作符以外,只能通過賦值操作符更改被運算元的值)
**一、算數操作符:**加 + 、減 - 、乘 * 、除 / 、取餘 %
(注:1、除了%操作符只能作用於整數以外,其他的操作符可以作用於整數和浮點數。
2、對於/操作符,如果兩個數都是整數,執行整數除法,只要有浮點數就執行浮點數除法。)
**二、移位操作符:**左移操作符 << 、右移操作符》。(以二進位制位)
(注:右移操作符:
1、無符號數執行邏輯移位,左邊用零填充,右邊捨棄;
2、有符號數執行算術移位,左邊填充符號位,右邊捨棄。
左移操作符:
1、右邊補零。)
例如:int num=-1;
num>>1;//意思為將num右移一位。
例如:
#define _crt_secure_no_warnings 1
#includeint main()
**三、位操作符:**按位與&、按位或|、按位異或^、按位取反~(運算元必須是整數,對運算元的二進位制位進行操作)
例如:
#define _crt_secure_no_warnings 1
#includeint main()
不建立臨時變數交換兩個整數
#includeint main()
實現求乙個整數儲存在記憶體中的二進位制數中1的個數
方法一:
#includeint main()
n /= 2;
} printf("count=%d", count);
return 0;
}
方法二:
#includeint main()
printf("count=%d", count);
return 0;
}
四、賦值操作符:=
復合賦值操作符:+=、-=、*=、/=、%=、>>=、<<=、&=、|=、^=、
**五、單目操作符:*自增++、自減–、正+、負-,邏輯反!、
對運算元按位取反~、取位址操作符&、
間接訪問操作符、(型別)強制型別轉換操作符,
sizeof操作符的型別長度,單位為位元組(不是函式)
例如:
#includeint main()
例如:
int a=10;
char b=(char)a;//並不改變原始a,的型別,原始a依舊為int 型
**六、關係操作符:**邏輯與&&、邏輯或||、>、>=、<、<=、!=、==
按位與:1&2=0
邏輯與:1&&2=1
按位或:1|3=3;
邏輯或:1||3=1
例如:
#includeint main()
七、條件操作符:exp1?exp2:exp3;
#includeint main()
八、逗號表示式
exp1,exp2,exp3;
用逗號隔開的多個表示式,從左向右執行,最後的結果由最後乙個表示式決定
例如:
#includeint main()
九、下標引用、函式呼叫和結構體成員
1、[ ]下標引用操作符
運算元:乙個陣列名+乙個索引值
例如:int arr[10];//建立陣列
arr[9]=10;//使用下標引用,arr和9是兩個運算元
2、()函式呼叫操作符
接受乙個或者多個運算元,第乙個運算元是函式名,其他的運算元就是函式的引數
例如:int fib(int n)
int main()
3、訪問乙個結構的成員
.結構體.成員名
->結構體指標->成員名
例如:
#includestruct stu
;void set_age1(struct stu stu)
void set_age2(struct stu* pstu)
int main()
十、表示式求值
為了獲得這個精度,表示式中的字元和短整型運算元在使用之前被轉換為普通整型,這種轉換稱為整形提公升
例如:char a,b,c;
…a=b+c;//在計算時,會先將b,c從char型轉換為int型,計算完了之後再轉換為char型,這是因為在計算機中,計算過程在cpu中完成,而電腦中的內容都是以二進位制數字形式儲存的。
整形提公升是根據變數自身的資料型別的符號位來提公升的:
1、有符號型別的整形提公升:高位補充符號位
2、無符號型別的整形提公升:高位補充0;
例如1:
#includeint main()
if (0xb600 == b)//0xb600是整十六進製制型,b是char型,會發生整型提公升,提公升為後為負數,所以不相等
if (0xb6000000 == c)//只會輸出c
return 0;
}
例如2:
#includeint main()
十
一、算術轉換
如果某個操作符的各個運算元不是同一型別,則會將其中乙個轉換為另乙個運算元的型別
如果某個運算元的型別在以下列表中排名較低,那麼首先將這個運算元轉換為另乙個運算元的型別
long double
double
float
unsigned long int
long int
unsigned int
intshort
char
十
二、操作符的屬性
1、操作符的優先順序
2、操作符的結合性
3、是否控制求值順序
元小白(猿小白)高階日記 三(for)
3 for for 表示式1 表示式2 表示式3 迴圈語句 表示式1 初始化部分,用於初始化變數 表示式2 條件判斷部分,用於判斷迴圈的終止 表示式3 調整部分,用於迴圈條件的調整例如 用for輸出0到10 define crt secure no warnings 1 include includ...
元小白(猿小白)高階日記 五(函式)
自定義函式 ret type fun name paral,ret type 返回值型別 fun name 函式名 paral 函式引數舉例 1 求兩個數中較大的數 define crt secure no warnings 1 include int max int x,int y else re...
元小白(猿小白)高階日記 七(陣列)
陣列是一類相同元素的集合。一 一維陣列 1 陣列的建立 type t arr name const n type t 是指數組的元素型別 const n 是乙個常量表示式,用來指定陣列的大小,即元素個數 例如 int arr1 10 char arr2 30 float arr3 33 2 陣列的初...