C語言基礎學習筆記 運算子和表示式

2021-10-01 07:55:38 字數 2307 閱讀 6820

表示式:由運算子、運算元和標點符號組成的序列。

注:①可以是乙個單獨的變數或常量;

②表示式是有值的(運算結果:數學值、邏輯值);

③可以為表示式新增括號,稱為表示式的巢狀使用,但只能是小括號()。

運算子的分類

賦值運算子:程式中為變數賦值,需用到賦值運算子「=」。用=連線的式子,稱為賦值表示式,一般形式為:變數=表示式(如:a = 3)。

算數運算子:包括+、-、*、/、%(求餘)。/ 操作對於整型為除法取整運算,如5 / 2 等於2;對於浮點數則與通常意義相同,如5.0 / 2.0 等於2.5。% 為取餘(取模)運算子,是左邊的數除以右邊的數的餘數(兩側都是整型),如5 % 2 等於1。

自增運算子:int a; ++a相當於a = a + 1; a++同樣相當於a = a + 1。區別在於++a是a先加1,再參與其他運算;a++是a先參與其他運算,再執行a = a + 1。

自減運算子:同自增運算子一樣。int a; --a相當於a = a - 1; a–同樣相當於a = a - 1。區別在於–a是a先減1,再參與其他運算;a–是a先參與其他運算,再執行a = a - 1。

注:自增自減運算子只能用於整型變數以及字元型變數,不能用於常量或運算表示式。

復合賦值運算子:在賦值運算子前面加上其他運算子,如+=,-=,*=,/=,%=。a += b,相當於a = a + b。

條件運算子(三目運算子):一般形式為:  

表示式1?表示式2:表示式3

運算規則:先運算表示式1,若為真則結果為表示式2的值,否則為表示式3的值。 如max = (a > b) ? a : b; 執行結果就是將a、b之間的較大值賦值給max。

關係運算子:實際上就是比較運算子,比較兩個量的大小,用來決定程式的下一步工作。包括:>、<、<=、>=、==、!=(不等於)。關係運算子是乙個整體,中間不能有空格,也不能顛倒順序。

注:對於浮點型,只能比較大小,不能比較是否相等(需要確定小數字數),關係運算子的返回型別是bool(布林)型別,結果不是0就是1(表示式值為真返回1,就表示式值為假返回0),通常用於條件判斷時。

邏輯運算子:包括:&&(邏輯與)、||(邏輯或)、!(邏輯非)。

一般形式為:表示式1 邏輯運算子 表示式2(如:a < b && a > c)。

邏輯與運算子(&&):當左右兩邊的表示式的值都為真時,結果才為真。

邏輯非運算子(||):兩個表示式只要有乙個為真時,結果就為真,兩個表示式都為假時,結果才為假。

邏輯非運算子(!):表示式為真時,結果為假;表示式為假時,結果為真。如(!(15>10))結果為0。(邏輯非的優先順序高於算數運算子)。

注:短路運算:當多個表示式用&&連線時,若第乙個表示式的值為假,則整個表示式的結果為假,後面的表示式不用再作運算;當多個表示式用||連線時,若第乙個表示式的值為真時,則整個表示式的結果為真,後面的表示式不用再計算。

如:

int a =1;

int b =2;

a > b &&

++a > b;

結果為邏輯0,經短路運算後,後面的表示式不會再進行計算,所以++a不會再計算,a的值仍為1。

逗號運算子(又稱順序求職運算子):可以把表示式連線起來,整個逗號表示式的值為最後乙個表示式的值。一般形式為:

表示式1,表示式2,表示式3…表示式n;(結果為表示式n的值)。

逗號運算子的優先順序是所有運算子中最低的。

特殊運算子():()小括號,優先順序最高。

sizeof運算子:以位元組形式給出其運算元的儲存大小。

1)用於資料型別:sizeof( int ) = 4;資料型別必須用小括號括起來。

2)用於變數:sizeof( a );其結果為變數a所佔記憶體大小

注:sizeof操作符不能用於函式型別、不完全型別或位字段(不完全型別指具有未知儲存大小的資料型別,如void);sizeof可直接參與運算,其結果為整數。(如 int i = 10; i * sizeof( int ) = 40)。

運算子的優先順序由高到低依次為:

特殊運算子(括號、邏輯非) > 算數運算子 > 關係運算子 > 位運算子 > 邏輯運算子 > 條件運算子 > 賦值運算子 > 逗號運算子

C語言基礎學習運算子 關係運算子

比較大小 首先,我們得先了解一下布林型別。c語言的c99標準支援布林型別,關鍵字為 bool,用於表示邏輯值true與false。c語言用值1表示true,用值0表示false。因此布林型別實際上是一種整數型別。程式常常使用含有關係運算子的表示式進行分支和迴圈操作。我們將在分支和迴圈的章節中具體學習...

C語言基礎學習運算子 基本算術運算子

基本算術運算子 c語言中用於基本算術運算的運算子有 這些運算子的用法和你想像到的基本無異 加法運算子 使得它兩側的值被加到一起。減法運算子 用它前面的數減去後面的數。乘法由 表示。c語言並沒有計算平方的函式,也沒有指數運算子。但你可以利用乘法來計算平方。符號 表示求餘。求餘運算的結果是兩數相除後的餘...

C語言 運算子和 運算子

變數 代表 取變數的位址 變數 代表 指標型的變數 取址運算子 用來取得其運算元的位址。如果運算元 x 的型別為 t,則表示式 x 的型別是 t 型別指標 指向 t 的指標 取址運算子的運算元必須是在記憶體中可定址到的位址。換句話說,該運算子只能用於函式或物件 例如左值 而不可以用於位欄位,以及那些...