在此處輸入標(biāo)題
標(biāo)簽(空格分隔): 未分類
運(yùn)算符
用來告訴程序執(zhí)行的操作。
帶()內(nèi)先執(zhí)行
結(jié)合性:算術(shù)是左結(jié)合性x+y-z
右結(jié)合性x=y=z右邊賦給左邊的值遗座。
算術(shù)運(yùn)算符+-*/%加減
%取余
// 這里是注釋
void test{
}
int result;
result = 1+1;
result =1-1;
result =2*2;
result =6/3
result =10/3
取余運(yùn)算智能用于整數(shù)
取余運(yùn)算的正負(fù)數(shù)取決于前面的數(shù)與后面的無關(guān)痴荐,即10。
如果取余運(yùn)算小于右邊則等于左邊
自動類型轉(zhuǎn)換(隱式轉(zhuǎn)換):
int number =10.8 int整數(shù)類型,10.8實(shí)數(shù)類型驳棱。number4個(gè)字節(jié),double八個(gè)字節(jié)农曲,如果右邊的所占空間大于左邊社搅,則右邊失去精準(zhǔn)度驻债。
強(qiáng)制類型轉(zhuǎn)換(顯示轉(zhuǎn)換);(需要轉(zhuǎn)換的類型)需要轉(zhuǎn)換的數(shù)據(jù)
int number =(int)10.8
注意形葬,無論 是隱式轉(zhuǎn)換還是顯示轉(zhuǎn)化合呐,只要將一個(gè)大的數(shù)據(jù)類型轉(zhuǎn)換成一個(gè)小的數(shù)據(jù)類型,都會丟失精準(zhǔn)度笙以。
int result=10+9.9 int+double類型
注:在運(yùn)算過程中淌实,其實(shí)還做了一次自動類型提升,算術(shù)運(yùn)算符規(guī)定猖腕,只有相同類型的數(shù)據(jù)才可以進(jìn)行運(yùn)算拆祈,如果在計(jì)算過程中,參與運(yùn)算的操作數(shù)不是同一類型倘感,那么系統(tǒng)會自動將小類型轉(zhuǎn)換為大類型放坏,然后再進(jìn)行運(yùn)算,
int result = 10+9.9 //int+double
// int result =10.0+9.9=19.9-->19int類型
printf("result=%i\n",result);
算術(shù)運(yùn)算注意點(diǎn):參與算術(shù)操作的類型是什么侠仇,計(jì)算出來的操作手類型就是什么轻姿,
void main (){
double result=1 / 2;//int int 結(jié)果int
double result =1.0 /2;//1.0/2.0==0.5;
double result =(double)1/2;//1.0/2.0==0.5;
douuble result =(double)(1/2);//這種寫法是錯(cuò)誤的,()優(yōu)先級
printf(“result= %f\n”,result);
return0;
}
賦值運(yùn)算符
int main(){
/*//最簡單的賦值運(yùn)算就是將等號右邊的值賦值給等號左邊的變量
//賦值運(yùn)算符的結(jié)合性:從右到左
int number = 10;
int a = 10;
int b;
a = b = 5;
printf(“a = %i,b = %i”,a ,b);*/
//復(fù)合賦值運(yùn)算符
/*
+=
-=
*=
/=
%=
*/
/*int number = 10;
//number= number+5逻炊;
number += 5;//number = number+5;
number -= 5;*/
int number = 5;
number +=2+3+4;//復(fù)合計(jì)算會先計(jì)算等號右邊的值//然后再用計(jì)算出來的結(jié)果和等號左邊的值進(jìn)行相加
number=number+(2+3+4);
printf("number=%i\n",number);
return 0;
}
自增自減
int main()
{
int number = 10;
number++;//輸出為10
++number;//輸出為11
printf("number=%i",number);
return 0;
}
int a =10
int b = a++ ++在后先進(jìn)行賦值然后在運(yùn)算
輸出b=10互亮,a=11
int b = ++a ++在前,先進(jìn)行運(yùn)算余素,在進(jìn)行賦值
輸出b=11,a=11
sizeof運(yùn)算符:
sizeof 是用來計(jì)算一個(gè)常量豹休,變量,數(shù)據(jù)類型所占的空間的字節(jié)數(shù)桨吊,
計(jì)算常量所占字節(jié)
int main ()
{
int number = sizeof(10);//括號可以去掉威根,
printf("number = %i\n");//輸出4
return 0;
}
//計(jì)算變量所占的字節(jié)
int main()
{
double number sizeof(10.8);//括號可以去掉。
printf ("number = %i",number);輸出為8
return 0;
}
//計(jì)算數(shù)據(jù)類型
int number = sizeof(char);括號不能省略
printf ("number = %i",number);輸出為1
return 0;
逗號運(yùn)算符
關(guān)系運(yùn)算符
注意點(diǎn)视乐,優(yōu)先級> < >= <= 優(yōu)先級高于== 洛搀!=
算術(shù)運(yùn)算符的優(yōu)先級高于關(guān)系運(yùn)算符
關(guān)系運(yùn)算符左結(jié)合性
如果優(yōu)先級和結(jié)合性同事存在,先優(yōu)先級佑淀,在結(jié)合性
邏輯運(yùn)算符:邏輯運(yùn)算符的返回值只有兩種留美,要么真要么假
&&(與運(yùn)算)一假則假 只計(jì)算前面的
||(或運(yùn)算)一真即真 只計(jì)算前面的
!(非運(yùn)算)如果表達(dá)式是真伸刃,就返回假谎砾,如果表達(dá)式為假,就返回真捧颅,結(jié)合性從右到左
int result = 10 > 8 && 8 > 5;
printf("result = %i",result);
return 0;
三目運(yùn)算符:
int a ;
int b ;
//int result = a > b;
// 結(jié)合性景图,左-->右
//三目運(yùn)算符,條件表達(dá)式 //碉哑?條件A:條件B
//只要條件表達(dá)式為真返回a挚币,條件表達(dá)///式為假返回b
//a>b返回a否則返回b
int result = (a > b)? a:b;
從鍵盤輸入三個(gè)數(shù)亮蒋,找出最大值,
1,提示用戶輸入三個(gè)整數(shù)
printf(“輸入三個(gè)數(shù)忘晤,用逗號隔開宛蚓,回城而結(jié)束”);
2设塔,定義變量保存數(shù)據(jù)
int num1,num2,num3;
3凄吏,用scanf函數(shù)接收三個(gè)整數(shù)
scanf("%i,%i,%i",&num1,&num2,&num3);
4,比較三個(gè)數(shù)的最大值,
4.1比較num1 num2 的大小
int temp=(num1>num2)? num1:num2;
4.2比較 num num3de 大小闰蛔,
int result = (temp>num3)? temp:num3;
5,輸出結(jié)果痕钢。
printf("result=%\n",result);
流程控制:默認(rèn)程序下,流程結(jié)果從上到下的序六,事實(shí)并不是這樣的任连,
順序結(jié)果,從上到下例诀,
選擇結(jié)果随抠,對給定的條件進(jìn)行判斷,根據(jù)判斷選擇程序繁涂,
循環(huán)結(jié)構(gòu)拱她,在條件成立的情況下,反復(fù)執(zhí)行的結(jié)果扔罪。
選擇結(jié)構(gòu)秉沼,if基本概念
if的第一中格式
if (條件表達(dá)式){
}滿足條件表達(dá)式才能執(zhí)行大括號的內(nèi)容
if的第二種格式
if(條件表達(dá)式){
語句
}
else{
語句
}
if的第三中格式,
if(條件表達(dá)式){
語句
}
else if(條件表達(dá)式2){
語句
}
else if(條件表達(dá)式3){
語句
}
else{
語句
}
眾多大括號只執(zhí)行一個(gè)矿酵,
第四種格式
if(條件表達(dá)式)
語句
條件為真只執(zhí)行第一條語句唬复。無論條件是否滿足第二個(gè)語句都執(zhí)行