C 語言 運算符

C語言運算符spa

1、算術運算orm

C語言一共有34種運算符,包括常見的加減乘除運算。內存

①. 加法:+ 還能夠表示正號數學

②. 減法:- 還能夠表示負號it

③. 乘法:* 非數學意義上的X登錄

④. 除法:/  注意1/2的值爲0而非0.5變量

⑤. 取餘(模運算):兩個整數相除以後的餘數(注意兩邊都必須是整數,帶符號只和左值有關)數據類型

  注意點:程序

①. Int a=10.8;//數據精度丟失警告。結果爲10——自動類型轉換方法

②. Int a=(int)10.8;//無警告。把10.8強制轉換爲整型——強制類型轉換

③. Double c=10.6+6//結果爲16.600000。在計算機中,拿兩個數值進行運算,則運算符兩邊的數值須要類型相同,若是不一樣則進行自動類型提高。即把6轉爲6.000000後再參與運算。

④. 參與運算的兩個數是什麼類型,那麼其結果就是什麼類型。int a=10/3結果爲3,double b=10/3結果爲3.000000;double c=10.0/3結果爲3.333333。要求精確值能夠進行強制類型轉換。double d=(double)3/2把3轉換爲double類型變爲3.000000,以後2進行自動類型提高轉變爲2.000000參與運算,結果爲1.500000。也能夠寫成3/(double)2。這種狀況須要注意與對總體進行強制轉換的區別 double e=(double)(3/2)是先計算3/2的值爲1再對1進行強制類型轉換,結果爲1.000000。

 

2、賦值運算

(一)簡單賦值

Int a=10+5;a=b=10;//從右向左,左邊不能爲常量

(二)複合賦值

a=a+5;=>a+=5;

a=a*5;=>a*=5;

a+=5*6+4;=>a=a+(5*6+4)

提示:預算順序取決於兩點:一是運算符的優先級,二是結合的順序。

 

3、自增自減運算

Int a=10;

把a的值加1有四種方法:

①. a=a+1;

②. a+=1;

③. a++;

④. ++a;

簡單區分a++和++a。

Int b;

Int a=10;

b=++a; //a==11,b==11;a先把值加1爲11,再賦值給b

b=a++; //a==11,b==10;a先把值10複製給b,a本身再加1爲11

b=(a++)+(++a);  //a1==10,a2==12,b==22

b=(++a)+(a++);  //a1==11,a2==11,b==22

注意:int d=10++;//這種寫法是錯誤的,由於對常量進行自加和自減沒有任何意義。

 

4、Sizeof

做用:用來計算變量,常量或者是一種數據類型所佔的內存字節數。

基本形式:sizeof(變量名|常量|數據類型),完成以後返回一個值。

①. Sizeof 變量|常量

②. Sizeof (變量|常量)

③. Sizeof (數據類型)

注意:數據類型必定要用括號括起來,不能寫成sizeof 數據類型這樣的形式。

 

5、關係運算符

 (一)條件判斷

默認狀況下。在程序中寫出的每一句正確的代碼都會被執行,但不少時候咱們須要在某個條件成立的情形下才執行某一段代碼,如登陸操做,這種狀況可使用條件語句來完成。

 (二)真假

在C語言中,條件成立稱爲「真」,條件不成立稱爲「假」。

C語言規定,任何數值都有真假性,任何非零值都爲真,只有0才爲假,無布爾類型。

 (三)關係比較

關係運算的結果只有兩種狀況,若是條件成立就爲真,值爲1,若是條件不成立就爲假,值爲0。有6種運算符,分別是:(1)<  (2)<=  (3) >  (4) >=  (5)==  (6)!=

 (四)使用注意

①. ==和!=優先級相等,其餘四個關係運算符的優先級相等,且前者的優先級低於後者。如2==3>1 應該先計算3>1

②. 關係運算符中,若優先級相同,則「從左往右」結合。如4>3<2,先計算4>3

③. 關係運算符中的優先級小於算術運算符。如3+4>8-2 至關於(3+4)> (8-2)

④. 練習5!=4+2*7>3==10 先計算5!=18>3==10,5!=1==10,1==10,假

 

6、邏輯運算符

邏輯運算的結果只有兩個:真(0)和假(1)

①. 與   &&   條件1&&條件2 只有的那個條件1和條件2都成立時,才爲真不然爲假。

②. 或   ||    條件1 ||條件2  當條件1或條件2中有一個成立時就爲真,都不成立時爲假。

③. 非   !  !條件   取反

注意:邏輯運算符在進行運算時,只要可以肯定總體的真假性,後面的條件就再也不進行而是直接忽略。

Int a=b=10;

Int c=(a>5)&&(++b>=11);//此時a==10,b==11,c==1

Int c=(a<5)&&(++b>=11);//此時a==10,b==10,c==0

提示:在進行邏輯運算時,若是搞不清楚各個符號的優先級,可使用()。

 

7、三目運算符

雙目:須要兩個值參與運算

單目:1個數值參與運算  如!5

三目:須要3個數值參與

格式:條件?數值1:數值2 

先判斷?前的條件,若條件成立則返回數值1,若條件不成立則返回條件2。

要求比較a和b的值,把數值大的存入到c中  c=a>b?a:b

比較a,b,c三個數的值,把最大的值存入到d中

Int  abmax=(a>b)?a:b;

d=abmax>c:abmax:c;

相關文章
相關標籤/搜索