- 版權(quán)聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得轉(zhuǎn)載走触。
一晦譬、算術(shù)運(yùn)算
- C語言一共有34種運(yùn)算符,包括常見的加減乘除運(yùn)算互广。
①. 加法:+ 還可以表示正號
②. 減法:- 還可以表示負(fù)號
③. 乘法:* 非數(shù)學(xué)意義上的X
④. 除法:/ 注意1/2的值為0而非0.5
⑤. 取余(模運(yùn)算):兩個整數(shù)相除之后的余數(shù)(注意兩邊都必須是整數(shù)敛腌,帶符號只和左值有關(guān))
注意點(diǎn):
①. Int a=10.8;//數(shù)據(jù)精度丟失警告卧土。結(jié)果為10——自動類型轉(zhuǎn)換
②. Int a=(int)10.8;//無警告。把10.8強(qiáng)制轉(zhuǎn)換為整型——強(qiáng)制類型轉(zhuǎn)換
③. Double c=10.6+6//結(jié)果為16.600000像樊。在計(jì)算機(jī)中尤莺,拿兩個數(shù)值進(jìn)行運(yùn)算,則運(yùn)算符兩邊的數(shù)值需要類型相同生棍,如果不同則進(jìn)行自動類型提升颤霎。即把6轉(zhuǎn)為6.000000后再參與運(yùn)算。
④. 參與運(yùn)算的兩個數(shù)是什么類型涂滴,那么其結(jié)果就是什么類型友酱。int a=10/3結(jié)果為3,double b=10/3結(jié)果為3.000000;double c=10.0/3結(jié)果為3.333333柔纵。要求精確值可以進(jìn)行強(qiáng)制類型轉(zhuǎn)換粹污。double d=(double)3/2把3轉(zhuǎn)換為double類型變?yōu)?.000000,之后2進(jìn)行自動類型提升轉(zhuǎn)變?yōu)?.000000參與運(yùn)算首量,結(jié)果為1.500000。也可以寫成3/(double)2进苍。這種情況需要注意與對整體進(jìn)行強(qiáng)制轉(zhuǎn)換的區(qū)別 double e=(double)(3/2)是先計(jì)算3/2的值為1再對1進(jìn)行強(qiáng)制類型轉(zhuǎn)換加缘,結(jié)果為1.000000。
二觉啊、賦值運(yùn)算
- (一)簡單賦值
int a=10+5;a=b=10;//從右向左拣宏,左邊不能為常量
- (二)復(fù)合賦值
a=a+5;=>a+=5;
a=a*5;=>a*=5;
a+=5*6+4;=>a=a+(5*6+4)
提示:預(yù)算順序取決于兩點(diǎn):一是運(yùn)算符的優(yōu)先級,二是結(jié)合的順序杠人。
三勋乾、自增自減運(yùn)算
int a=10;
- 把a(bǔ)的值加1有四種方法:
①. a=a+1;
②. a+=1;
③. a++;
④. ++a;
簡單區(qū)分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復(fù)制給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++;//這種寫法是錯誤的辑莫,因?yàn)閷ΤA窟M(jìn)行自加和自減沒有任何意義。
四罩引、Sizeof
作用:用來計(jì)算變量各吨,常量或者是一種數(shù)據(jù)類型所占的內(nèi)存字節(jié)數(shù)。
- 基本形式:sizeof(變量名|常量|數(shù)據(jù)類型)袁铐,完成之后返回一個值揭蜒。
①. sizeof 變量|常量
②. sizeof (變量|常量)
③. sizeof (數(shù)據(jù)類型)
注意:數(shù)據(jù)類型一定要用括號括起來,不能寫成sizeof 數(shù)據(jù)類型這樣的形式剔桨。
五屉更、關(guān)系運(yùn)算符
- (一)條件判斷
默認(rèn)情況下。在程序中寫出的每一句正確的代碼都會被執(zhí)行洒缀,但很多時候我們需要在某個條件成立的情形下才執(zhí)行某一段代碼瑰谜,如登錄操作,這種情況可以使用條件語句來完成。
- (二)真假
在C語言中似舵,條件成立稱為“真”脚猾,條件不成立稱為“假”。
C語言規(guī)定砚哗,任何數(shù)值都有真假性龙助,任何非零值都為真,只有0才為假蛛芥,無布爾類型提鸟。
- (三)關(guān)系比較
關(guān)系運(yùn)算的結(jié)果只有兩種情況,如果條件成立就為真仅淑,值為1称勋,如果條件不成立就為假,值為0涯竟。有6種運(yùn)算符赡鲜,分別是:(1)< (2)<= (3) > (4) >= (5)== (6)!=
- (四)使用注意
①. ==和!=優(yōu)先級相等,其他四個關(guān)系運(yùn)算符的優(yōu)先級相等庐船,且前者的優(yōu)先級低于后者银酬。如2==3>1 應(yīng)該先計(jì)算3>1
②. 關(guān)系運(yùn)算符中,若優(yōu)先級相同筐钟,則“從左往右”結(jié)合揩瞪。如4>3<2,先計(jì)算4>3
③. 關(guān)系運(yùn)算符中的優(yōu)先級小于算術(shù)運(yùn)算符篓冲。如3+4>8-2 相當(dāng)于(3+4)> (8-2)
④. 練習(xí)5李破!=4+2*7>3==10 先計(jì)算5!=18>3==10壹将,5嗤攻!=1==10,1==10瞭恰,假
六屯曹、邏輯運(yùn)算符
邏輯運(yùn)算的結(jié)果只有兩個:真(0)和假(1)
①. 與 && 條件1&&條件2 只有的那個條件1和條件2都成立時,才為真否則為假惊畏。
②. 或 || 條件1 ||條件2 當(dāng)條件1或條件2中有一個成立時就為真恶耽,都不成立時為假。
③. 非 颜启! 偷俭!條件 取反```
>注意:邏輯運(yùn)算符在進(jìn)行運(yùn)算時,只要能夠確定整體的真假性缰盏,后面的條件就不再進(jìn)行而是直接忽略涌萤。
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```
提示:在進(jìn)行邏輯運(yùn)算時淹遵,如果搞不清楚各個符號的優(yōu)先級,可以使用()负溪。
七透揣、三目運(yùn)算符
雙目:需要兩個值參與運(yùn)算
單目:1個數(shù)值參與運(yùn)算 如!5
三目:需要3個數(shù)值參與
格式:條件川抡?數(shù)值1:數(shù)值2
先判斷辐真?前的條件,若條件成立則返回?cái)?shù)值1崖堤,若條件不成立則返回條件2侍咱。
要求比較a和b的值,把數(shù)值大的存入到c中 c=a>b?a:b
比較a,b,c三個數(shù)的值密幔,把最大的值存入到d中
int abmax=(a>b)?a:b;
d=abmax>c:abmax:c;