1.了解什麼是表示式:表示式是由運算子與資料組成的式子,每乙個表示式都有運算的結果。
2.我的老師每次使用這個運算子的時候都會說到這個老梗,sizeof是運算子不是函式,別看sizeof後面還要加乙個括號,但不是所有的都是函式。這也從側面sizeof在面試題中經常出現。
3.隱式轉換型別:由於有的編譯系統是不能直接運算不同型別間的資料,必須要轉換成同型別才能轉換。
簡單的有 整形=浮點型。將浮點型賦值給整形時只會取整數部分。另一些情況就較為複雜了。
例如int a=100;
char b=97;
float c=3.14;
short result=a+b;
printf("%d\n",result);//輸出的結果為197,可以理解為char型別就是int型別的一種,更準確的說是char型別遇到int 型別的時候會轉換為int 型別。
float result=a+c;
printf("%f\n,"result);//輸出結果為103.14,原因是int型別遇到float或者是double型別都會轉化成double。其實平常使用float型別的時候,系統為了提高精度,都會將float當成double使用除非指定使用型別為float
4.位運算:位運算子包括 << 左移 >>右移 & 按位與 | 按位或 ^按位異或 ~按位取反
1.位 的左移與右移
舉乙個很簡單的例子:
short i=4;
i=i>>1;//i的輸出值為2而不是3,位的移位運算方法是將數值轉換為二進位制 4:00000000 00000100,所有的位向右移乙個單位,空出來的部分再由0補齊。結果就是0000000 00000010。再轉換為十進位制結果為2.
2.按位與和按位或
按位與和按位或是兩個二進位制數每一位對應進行與或者或運算。
例題:將0101 110 0110 1010 的第5-8位修改為10110
unsigned short num=22122;
short a=0xb<<4;
short b=0xf<<4;
unsigned short result=num&(~b)|a;
3,按位異或和按位取反
按位異或 ^ 按位異或之後將相同的位變成0,不同的位變成1
按位取反 ~ 0變成1,1變成0
運算子與表示式
學習c語言時,在我們已經學習了型別,常量與變數,接下來就是通過學習運算子與表示式對型別,常量與變數進行運算。簡單說一下概念,用來對資料進行運算的符號,就可以稱為運算子。c中運算子和資料構成的式子,就稱為表示式。表示式再在其後加乙個分號,即構成c 語言語句。先說一下運算子吧。c語言的運算子多,一般記住...
運算子與表示式
數 算 注意事項 兩端的變數必須是同種型別,並返回同種型別。取餘運算,負數的餘數符號與被模數符號相同,1 5 1,1 5 1 num n,n 0,結果範圍 0,n 是週期函式。注意整除問題 1 2 0 整數的除法是整除 1.0 2 0.5 1d 2 0.5 單獨的前 後自增或自減是沒區別的,有了賦值...
運算子與表示式
運算子 的功能是完成某件事,它們由如 這樣的符號或者其他特定的關鍵字表示。運算子需要資料來進行運算,這樣的資料被稱為 運算元 在這個例子中,2和3是運算元。運算子我們將簡單瀏覽一下運算子和它們的用法 技巧你可以互動地使用直譯器來計算例子中給出的表示式。例如,為了測試表示式2 3,使用互動式的帶提示符...