+ - 就是我們平時的正負號
單目運算子:只有一個運算元
如:~ 它表示的意思是對一個數的二進制按位取反 ,也就是1變0,0變1,(還有很多以后會寫)
#include <stdio.h>
int main()
{
int a=0;
int b=~a;
printf("%d",b);
return 0;
}
輸出結果是-1,
! 邏輯非
它的作用把真變假, 把假變真
#include <stdio.h>
int main()
{
int a = 1;
if (!a)
printf("%d", a);
return 0;
}
此處并不會有什么會列印出來
“++”:包括后置++(先使用,后++)和前置++(先++,后使用),”--“同理
如:
#include <stdio.h>
int main()
{
int a=10,c=10;
int b=a++,d=++c;
printf("a=%d,b=%d,c=%d,d=%d",a,b,c,d);
return 0;
}
輸出結果為:a=11,b=10,c=11,d=11.
sizeof 運算子
可以算型別的大小,變數的大小,以位元組為單位回傳值
關系運算子
>=,>,<=,<,==
(型別)表示強制型別轉換
如:int a=(int)3.14;從“double”轉換到“int”,可能丟失資料,
但是(int)強制轉換就不會出現警告,
條件運算子:exp1?exp2:exp3 它的意思是:運算式1?運算式2:運算式3
它是這樣運行的:
如果運算式1成立,運算式2執行;
如果運算式1不成立,運算式3執行,
#include <stdio.h>
int main()
{
int a=10,b=20;
int MAX=(a>b?a:b);
printf("MAX=%d",MAX);
return 0;
}
此輸出的結果是MAX=20.
逗號運算式:(exp1,exp2,等等)
整個逗號運算式的結果為最后一個運算式的執行結果,不管前面的執行結果是對是錯,
看下面的代碼:
#include <stdio.h>
int main()
{
int a = 10;
int b = 20;
int c = 30;
int m = (a < b, a++, b > c, c++, b + c + a);
printf("%d\n", m);
return 0;
}
它的運行結果為:

對這個進行分析(a < b, a++, b > c, c++, b + c + a)
首先a<b成立 繼續a++,a變成11,b>c不成立,不用管繼續,c++,c變成31,最后執行b+c+a,結果為62,即為m的結果.
常見關鍵字(以下講解的只是部分)
register signed unsigned typedef
register int a;表示建議把a定義成暫存器變數,因為暫存器的運行速度比記憶體快,
signed表示有符號數,int 其實是signed int 只不過signed省略了,
unsigned表示無符號數,只有正數,其型別范圍也將變大,只是正數范圍,
typedef表示型別重定義,如:
#include <stdio.h>
int main()
{
typedef unsigned int u_int;
u_int a=10;
printf("%d",a);
return 0;
}
其輸出的結果是10.
這里只是把unsigned int 換了一個叫u_int 的名字.
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/389226.html
標籤:其他
