###算數(shù)運算符:‘+’差油,‘-‘,’*‘任洞,’/'蓄喇,’%(取余)‘,’+(正號)‘交掏,’-(負號)‘
算數(shù)運算符:%是計算兩數(shù)相除后的余數(shù)妆偏,但這兩個操作運算符都必須是整數(shù)類型;
示例代碼:
#include <stdio.h>
#include <math.h>
void main(){
int ? ?a=10,b=6;
printf("a取模b結果為:%d\n",a%b);
float f=3.14f;
float f2=35.45f;
printf("f取模f2的值為:\n",fmod(f,f2));
}
結果輸出為:4 ? ? ? ; ? ? ? ?3.140000
要點:取模算術運算符只能用于整數(shù)盅弛,求float浮點數(shù)的余數(shù)要調用fmod;fmod包含在math.h頭文件中钱骂;
###關系運算符:>,????<,????>=,????<=????,==(等于),????!=(不等于)
注意:
(1):在C語言中的相等關系 是 ?’==‘ ? 叔锐,而 ?’=‘ ? 表示賦值運算符;
(2):在C語言中用非0代表 true,用0代表false;
###邏輯運算符:||(或) ? ? ? ?&&(且) ? ? ? ? ? ?<唷(非)
###符合運算符:a+=3 ? ?等價于 ? ? ? a=a+3;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? x*=y+8 ?等價于 ?x=x*(y+8)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? x%=3 ? ? 等價于 ?x=x%3
###條件運算符:exp1 ? ? ? ? exp2:exp3
條件運算符(愉烙?:)有三個操作數(shù),故我們將其稱為三目運算符解取。表達的意思為:如果exp1為真步责,則運算exp2,整個條件表達式的值為exp2的值禀苦;反之蔓肯,則運算exp3,整個條件的值為exp3的值振乏;
例:
#include <stdio.h>
void main(){
int a,b,m;
printf("輸入數(shù)字a:");
scanf("%d",&a);
printf("輸入數(shù)字b:");
scanf("%d",b);
m=a>b?a:b;
printf("您輸入的數(shù)字a為%d\b為%d\n最大值是:%c=%d\n",a,b,m==a?'a':'b',m);
}
###類型轉換:
1.隱式類型轉換:
(1)在表達式中省核,char和short類型的值,無論有負號還是無符號昆码,都會自動轉換成int或者unsigned int;(如果short的大小和int一樣,unsigned ? short 可表示short可表示的最大值就大于int邻储,在這種情況下赋咽,unsigned ? ?short ?被轉換成unsigned int)。因此他們被轉換成表示范圍更大的類型吨娜,故而我們把這種轉換稱之為“升級(promotion)”
(2).按照從高到低的順序給各種數(shù)據(jù)類型分等級:long ?double, ?double,float, unsigned ?long,long long, unsigned long , long ,unsigned int ?,int;如果long 和 int 的大小相同脓匿,則unsigned ?int的等級應位于long 之上。charhe short并沒有出現(xiàn)在這個等級中宦赠,是因為它們參與運算時已經(jīng)升級成了int或者unsigned ?int陪毡;
(3).在任何涉及兩種數(shù)據(jù)類型的操作中,它們之中等級較低的類型輝被轉換成等級高的類型勾扭;
(4).在賦值語句中毡琉,等號(=)右邊的值在賦予 等號(=)左邊的變量之前,首先要將右邊的值得數(shù)據(jù)類型轉換成左邊的類型妙色。也就是說桅滋,左邊的變量時什么數(shù)據(jù)類型,右邊的值就要轉換成什么數(shù)據(jù)類型的值身辨。這個過程可能會導致右邊的值得類型升級丐谋,也可能會導致其類型降級(demotion)。所謂降級就是指:等級較高的類型的被轉換成等級較低的類型煌珊;
(5).作為參數(shù)傳遞給函數(shù)時号俐,char和short 會被轉成int,float會被轉成int定庵,float會被轉換成duoble;