C語言基本運算子

2022-09-19 21:24:27 字數 1802 閱讀 1797

一、算術運算子

1.基本算術運算子

+ (加)、 - (減) 、 * (乘) 、 / (除) 和 % (求餘數)

這五個運算子的優先順序為:

、/ 和%同級,但比+和-高。即先乘除後加減。  

兩個整數相除,結果為一整數;分子小於分母,結果為零。

例如:  5/2    結果為 2

2/5    結果為 0

這五個運算子的結合性為:自左至右。

例如:10+6- 42

第一步先計算10+6,得結果16,第二步計算42,得結果8,然後用第一步計算的結果減第二步計算的結果,得結果8。

餘數計算方法:

5%3   餘數是2

5%8   餘數是5

-5%3  餘數是 –2    (注意:符號位取《運算元1>的符號)

5%-3  餘數是 2      (注意:符號位取《運算元1>的符號)

2.算術表示式

算術表示式是由算術運算子和運算元組成的表示式。表示式的值是乙個數值,表示式的型別具體由運算子和運算元確定。

例如:  5+3(6-2)    表示式的型別為int 型。

3+4.0-3/2.0  表示式的型別為double型。

3.資料型別轉換

通常參與運算的資料型別不完全一致,操作時應先將其轉換成相同的資料型別,然後操作。

2.1強制型別轉換,直接將某資料強制轉換成指定的資料型別

強制型別轉換,變數值本身未變化

(double)a;  

(int)(x+y);注意區別:(int)x+y 先把x的值轉換成int型,然後再加y

(float)(5%3)    

int  i;

…i=i+(int)9.801;

2.2在編譯時由編譯程式按照一定規則自動完成,不需人為干預

資料參加運算前要進行下列轉換:

char,short→int→float→double

混合運算時資料型別由低階→高階

unsigned → int → long → double

以上並不意味著unsigned必須到int再到long的依次轉換,而是由算式中的最高端進行轉換的。

二、賦值運算子和賦值表示式

1.賦值運算子

賦值符號:=   將賦值符右邊表示式的值賦給賦值符左邊的乙個變數。

賦值運算子的資料型別若不一致,則要進行型別轉換。轉換方式為:

將實型資料賦給整型變數時,捨棄實數的小數部分。

如:int i;   i=5.65;  i 的值為 5。

將整型資料賦給實型變數時,數值不變。

float f  ;  f=23;  (先23→23.00000 再儲存在f 中)

double  d;  d=23; (先23→23.000000000000000再儲存在d中)

將字元資料賦給整型變數時,將字元資料放到整型變數低8位中

int i;char ch = '0';        i = ch;   // i = 48 

將整型變數賦給字元資料時,將整型變數低8位放到字元資料中

int i = 4656;char ch;        ch = i;   // ch = 48 

2.復合的賦值運算子

復合的賦值運算子:(共十個)

+= ,  -= ,  *= ,  /=  ,   %= , 

<<= ,  >>= ,  &= ,  ^= ,  |=

例如:        a += 3        等價於     a=a+3

x = y+8    等價於     x=x(y+8)

x %= 3       等價於     x=x%3

C語言 基本運算子

1.加法運算子 除了可以進行加法運算外,還可以表示正號 521 2.減法運算子 除了可以進行減法運算外,還可以表示負號 741 3.乘法運演算法符 請注意符號不是x,而是 4.除法運算子 請注意符號不是 而是 整數除以整數還是整數,1 2的值不是0.5而是 0。5.區域運算子 取餘就是兩個整數相除之...

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

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

C語言 運算子與 運算子

我們平時使用帶參巨集時,字串中的巨集引數是沒有被替換的。例如 輸出結果為 然而,我們期望輸出的結果是 5 20 2513 14 27 這該怎麼做呢?其實,c語言允許在字串中包含巨集引數。在類函式巨集 帶參巨集 中,號作為乙個預處理運算子,可以把記號轉換成字串。例如,如果a是乙個巨集形參,那麼 a就是...