賦值表示式的目的是把值儲存到記憶體位置上,用於儲存值的資料區域統稱為資料物件,使用變數名是標識物件的一種方法。物件指的是實際的資料儲存,左值是用於標識和定位儲存位置的標籤,右值指的是能賦值給可修改左值的量。
void example1()
void example2()
sizeof運算子以位元組為單位返回運算物件的大小,sizeof返回size_t型別的值,它是乙個無符號整數。c語言中有乙個typedef機制,它允許為現有型別建立別名,如下:
void example3()
++出現在作用的變數前面被稱為字首模式,這種模式是變數先自增再參與其他運算(先自增再使用)
++出現在作用的變數後面被稱為字尾模式,這種模式是變數先參與其他運算再自增(先使用再自增)
void example4()
遞減運算子的運算規則同遞增相同,只需要將++替換成--即可
二、表示式和語句表示式是由運算子和運算物件組成,運算物件可以是常量、變數或二者的結合。一些表示式由子表示式組成。每個表示式都有乙個值,要獲得這個值,必須根據運算子優先順序規定的順序來執行操作。
void example5()
語句是c程式的基本構建塊,一條語句相當於一條完整的計算機指令,大部分語句都以 ; 結尾。
void example6()
① 當型別轉換出現在表示式時,無論是unsigned還是signed的char和short都會被自動轉換成int,如有必要會被轉換成unsigned int;
② 涉及兩種型別的運算,兩個值會被分別轉換成兩種型別的更高階別;
③ 型別的級別從高到低依次是:long double、double、float、unsigned long long、long long、unsigned long 、long、unsigned int、int,當long和int的大小相同時,unsigned int比long的級別高;
④ 在賦值表示式語句中,計算的最終結果會被轉換成被賦值變數的型別,這個過程可能會導致型別公升級或降級;
⑤ 當作為函式引數傳遞時,char和short被轉換成int,float被轉換成double
① 目標型別是無符號整型,且待賦的值是整數時,額外的位將被忽略;
② 目標型別是乙個有符號整型,且待賦的值是整數,結果因實現而異;
③ 目標型別是乙個整型,且待賦的值是浮點數,該行為是未定義的;
在某個變數的前面放置用圓括號括起來的型別名,該型別名即是希望轉換成的目標型別,圓括號和它括起來的型別名構成了強制型別轉換運算子。
void example7();
int main(void)
void example7(int n)
小於:< 小於或等於:<= 等於:== 大於或等於:>= 大於:> 不等於:!=
對於c而言,表示式為真的值是1,表示式為假的值是0
void example8()
_bool型別的值只能儲存1(真)和0(假),如果把其他非零的數值賦給_bool型別的變數,該變數會被設定為1,這反映了c語言把所有非零的值都視為真。
void example9()
printf("%d", j);//4+3+2+1=10
}
+= 例:i +=j,就是i = i + j,如果i = 1,j = 2,則i +=j 運算結果是i = 3
-= *= /= %= 等運算子與+=一致
C語言學習 運算子與表示式
關係表示式 條件表示式 邏輯表示式 逗號表示式 1 左右運算元都必須是整型 2 左右運算元都是整型的話,得到的也是整型,有小數的話被忽略 左右運算元都是浮點型,得到的也是小數。例如a b a a a 注 a b 3 a a b 3 0代表false,1代表true,非零即為真 例如printf d ...
C語言基礎學習筆記 運算子和表示式
表示式 由運算子 運算元和標點符號組成的序列。注 可以是乙個單獨的變數或常量 表示式是有值的 運算結果 數學值 邏輯值 可以為表示式新增括號,稱為表示式的巢狀使用,但只能是小括號 運算子的分類 賦值運算子 程式中為變數賦值,需用到賦值運算子 用 連線的式子,稱為賦值表示式,一般形式為 變數 表示式 ...
五 運算子和表示式
這一講主要講運算子和表示式。運算子,顧名思義,就是用於計算的符號,比如 表示式是用於計算的公式,由運算子 運算量 運算元 和括號組成。有些運算子需要兩個運算元,形式為 運算元 運算子 運算元,這樣的運算子就叫做二元運算子或雙目運算子,只需要乙個運算元的運算子叫做一元運算子或單目運算子。運算子具有優先...