文章目錄萌新菜鳥,大佬們多多包涵
站在用戶的角度思考問題,與客戶深入溝通,找到鳳城網(wǎng)站設(shè)計(jì)與鳳城網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站建設(shè)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名與空間、網(wǎng)頁空間、企業(yè)郵箱。業(yè)務(wù)覆蓋鳳城地區(qū)。
提示:這里可以添加本文要記錄的大概內(nèi)容:
控制語句用來實(shí)現(xiàn)對(duì)程序流程的選擇、循環(huán)、轉(zhuǎn)向和返回等??刂普Z句共有9條,包括12 個(gè)關(guān)鍵字,可以分為以下幾類。
提示:以下是本篇文章正文內(nèi)容,下面案例可供參考
if語句的基本形式
- c語言中用0表示假,非0表示真。
- “if”是c語言的關(guān)鍵字,“表達(dá)式”可以是任意合法的c語言表達(dá)式,包括關(guān)系表達(dá)式和邏輯表達(dá)式等,并且表達(dá)式兩側(cè)的括號(hào)不能省略。
- 語句體中可以是一條語句,也可以是c語言中任意合法的復(fù)合語句。
- 表達(dá)式的類型不限于關(guān)系表達(dá)式或者邏輯表達(dá)式,它也可以是任意的數(shù)值類型(整形、實(shí)型、字符型、等)
簡(jiǎn)單的if語句有三種基本形式,他們分別是if單分支選擇語句、if雙分支選擇語句和if多分支選擇語句。
//1.單分支選擇語句
if(表達(dá)式)
{//語句體
}
執(zhí)行過程如下:
【步驟1】 計(jì)算圓括號(hào)中表達(dá)式的值
【步驟2】若表達(dá)式的值為真(條件成立),則執(zhí)行if語句;否則(條件不成立)不執(zhí)行if語句 ,而去執(zhí)行if語句后的下一個(gè)語句。
例:
int main()
{int age=0;
scanf("%d",&age);
if(age<18) //如果age小于18 則打印未成年 否則什么都不輸出,執(zhí)行下條語句
printf("未成年\n"); //如果后面只跟一條語句 可以不帶大括號(hào)
return 0;
}
如果if條件成立(表達(dá)式為真,既表達(dá)的邏輯值為1),就執(zhí)行其中的語句體。
//2.雙分支
if(表達(dá)式)
{//語句體1
}
else
{//語句體2
}
//表達(dá)式如果條件成立(表達(dá)式的邏輯值為1),就執(zhí)行語句體1;
//“else”也是c語言的關(guān)鍵字,如果條件不成立(表達(dá)式的邏輯值為0),就執(zhí)行語句體2。
執(zhí)行過程如下:
【步驟1】計(jì)算表達(dá)式的值
【步驟2】若表達(dá)式取值為真(非0) (條件成立),執(zhí)行語句體1;否則(條件不成立)執(zhí)行語句體2。
【步驟3】無論表達(dá)式的值是真還是假,在執(zhí)行語句體1或語句體2后都會(huì)執(zhí)行if語句后面的語句
例:
int main()
{int age=0;
scanf("%d",&age);
if(age<18) //如果age小于18 則打印未成年 否則打印成年
{printf("未成年\n");
}
else
{printf("成年\n");
}
return 0;
}
如果if條件成立,就執(zhí)行其中的語句體1;否則(else),就執(zhí)行其中的語句體2。
//3.多分支
if(表達(dá)式1)
{//語句體1
}
else if(表達(dá)式2)
{//語句體2
}
else
{//語句體3
}
【步驟1】計(jì)算表達(dá)式1的值
【步驟2】如果表達(dá)式1的取值為真(條件成立),則執(zhí)行語句體1;否則(條件不成立)計(jì)算表達(dá)式2的取值
【步驟3】判斷表達(dá)式2的取值,如果為真(條件成立),則執(zhí)行語句體2,否則(條件不成立)執(zhí)行語句體3
例:
int main()
{int age=0;
scanf("%d",&age);
if(age<18)
{printf("未成年\n");
}
else if(age>=18&&age<30) //并且
{printf("青年\n");
}
else if(age>=300&&age<60)
{printf("中年\n");
}
else if(age>=60&&age<90)
{printf("老年\n");
}
else
{printf("壽星\n");
}
return 0;
}
if語句的嵌套是指在if或者else子句中又包含了一個(gè)或多個(gè)if語句。內(nèi)層的if語句既可以嵌套在if子句中,也可以嵌套在else子句中。形式一般如下:
if(表達(dá)式1)
{if(表達(dá)式2)
{//語句1
}
else
{//語句2
}
}
else
{if(表達(dá)式3)
{//語句3
}
else
{//語句4
}
}
小結(jié)
1.不要誤認(rèn)為雙分支選擇語句是兩個(gè)語句,他們同屬于一個(gè)if語句。else不能作為語句單獨(dú)使用,它必須與if配對(duì)使用。
2.應(yīng)注意if與else的配對(duì)關(guān)系。原則是else總是與它上面最近的、未配對(duì)的if配對(duì)。
3.為了避免在if與else配對(duì)時(shí)出錯(cuò),建議使用{ }來限定內(nèi)嵌if語句的范圍。
例如下面形式:
if(a==1)
{if(b==2)
printf("hehe\n");
}
else //else 和最近且未配對(duì)的if配對(duì)
printf("haha\n");
這里,大括號(hào){ }限定了內(nèi)嵌if語句的范圍,因此else與第一個(gè)if配對(duì)
switch語句形式如下:
switch(表達(dá)式)
{case 常量表達(dá)式1:
語句1;
case 常量表達(dá)式2:
語句2;
case 常量表達(dá)式n:
語句n;
default:
語句n+1;
}
- switch是C語言的關(guān)鍵字,switch后面用{ }括起來的部分稱為switch語句體。
- 緊跟在switch后一對(duì)圓括號(hào)中的表達(dá)式可以是整型表達(dá)式或字符型表達(dá)式等。表達(dá)式兩邊的一對(duì)括號(hào)不能省略。
- case也是關(guān)鍵字,與其后面的常量表達(dá)式合稱case語句標(biāo)號(hào)。常量表達(dá)式的類型必須與swicth后圓括號(hào)中的表達(dá)式類型相同,各case語句標(biāo)號(hào)的值應(yīng)該互不相同。
- default也是關(guān)鍵字,起標(biāo)號(hào)的作用,代表所有case標(biāo)號(hào)之外的那些標(biāo)號(hào)。default標(biāo)號(hào)可以出現(xiàn)在語句體中任何標(biāo)號(hào)位置上。在switch語句體中也可以沒有default標(biāo)號(hào)。
- case語句標(biāo)號(hào)后的語句1,語句2等,可以是一條語句,也可以是若干語句。
- 必要時(shí),case語句標(biāo)號(hào)后的語句可以省略不寫。
- 在關(guān)鍵字case和常量表達(dá)式之間一定要有空格,例如“case 10:"不能寫成“case10:”
switch語句的執(zhí)行過程
當(dāng)執(zhí)行swicth語句時(shí),首先計(jì)算緊跟其后一對(duì)括號(hào)中的表達(dá)式的值,然后在switch語句體內(nèi)尋找與該值吻合的case標(biāo)號(hào)。如果有與該值相等的標(biāo)號(hào),則執(zhí)行該標(biāo)號(hào)后開始的各語句,包括在其后的所有case和 default中的語句,直到switch語句體結(jié)束:如果沒有與該值相等的標(biāo)號(hào),并且存在default標(biāo)號(hào),則從 default標(biāo)號(hào)后的語句開始執(zhí)行,直到switch語句體結(jié)束;如果沒有與該 值相等的標(biāo)號(hào),同時(shí)又沒有default標(biāo)號(hào),則跳過switch語句體,去執(zhí)行switch語句之后的語句。
例 根據(jù)輸入的數(shù)字給出相應(yīng)的星期
int main()
{int n = 0;
scanf("%d",&n);
switch(n) //必須是整形表達(dá)式
{case 1: //整形常量表達(dá)式
{printf("星期一\n");
}
case 2:
{printf("星期二\n");
}
case 3:
{printf("星期三\n");
}
case 4:
{printf("星期四\n");
}
case 5:
{printf("星期五\n");
}
case 6:
{printf("星期六\n");
}
case 7:
{printf("星期日\(chéng)n");
}
default:
printf("輸入錯(cuò)誤\n");
}
}
當(dāng)執(zhí)行了以上程序,輸入了一個(gè)5之后,接著執(zhí)行switch語句,首先計(jì)算switch括號(hào)中的表達(dá)式:它的值為5。然后尋找與5吻合的case 5分支,開始執(zhí)行其后的各語句。執(zhí)行結(jié)果如下:
在輸出了與5相關(guān)的星期五之后,又同時(shí)輸出了與星期五毫不相關(guān)的星期六、星期日等,這顯然不符合原意。為了改變這種多余輸出的情況,switch語句常常需要與break語句配合使用。
在switch語句中使用break語句
break是c語言關(guān)鍵字,可以將break語句放在case標(biāo)號(hào)之后的任意位置,通常是在case之后的語句最后加上break語句。
每當(dāng)執(zhí)行到break語句時(shí)。立刻跳出switch語句體。swtich語句通??偸呛蚥reak語句聯(lián)合使用,使得swtich語句真正起到分支的作用
現(xiàn)在用break語句修改上面例子,程序如下。
int main()
{int n = 0;
scanf("%d",&n);
switch(n) //必須是整形表達(dá)式
{case 1: //整形常量表達(dá)式
{printf("星期一\n");
break;
}
case 2:
{printf("星期二\n");
break;
}
case 3:
{printf("星期三\n");
break;
}
case 4:
{printf("星期四\n");
break;
}
case 5:
{printf("星期五\n");
break;
}
case 6:
{printf("星期六\n");
break;
}
case 7:
{printf("星期日\(chéng)n");
break;
}
default:
printf("輸入錯(cuò)誤\n");
}
return 0;
}
for是C語言的關(guān)鍵字,其后的一對(duì)圓括號(hào)中通常含有三個(gè)表達(dá)式,各表達(dá)式之間用“;”隔開。這三個(gè)表達(dá)式可以是任意形式的表達(dá)式,通常主要用于for循環(huán)的控制。緊跟在for(…)之后的循環(huán)體語句在語法上要求是一條語句,若在循環(huán)體內(nèi)需要多條語句,應(yīng)該使用復(fù)合語句。
for循環(huán)語句的一般形式如下:
for(表達(dá)式1;表達(dá)式2;表達(dá)式3)//初始化;判斷;調(diào)整
{//循環(huán)體
}
for循環(huán)語句的執(zhí)行過程如下:
【步驟1】計(jì)算表達(dá)式1的值。
【步驟2】計(jì)算表達(dá)式2的值。若值為真(非0),轉(zhuǎn)步驟③執(zhí)行;若值為假(0),轉(zhuǎn)步驟⑤執(zhí)行。
【步驟3】執(zhí)行一次for 循環(huán)體。
【步驟4】計(jì)算表達(dá)式3的值,轉(zhuǎn)回步驟②執(zhí)行。
【步驟5】結(jié)束循環(huán),執(zhí)行for 循環(huán)之后的語句。
例:使用for循環(huán)在屏幕上打印1~10
int main()
{int i = 0;
for (i = 1; i<= 10; i++)
{printf("%d ", i);
}
return 0;
}
小結(jié)
while語句①“表達(dá)式1”可以省略,此時(shí)應(yīng)在該for 語句之前給循環(huán)變量賦初值。其后的分號(hào)不能省略。
②“表達(dá)式2”可以省略,即不對(duì)循環(huán)條件進(jìn)行判斷,循環(huán)無終止地進(jìn)行下去。需要在循環(huán)體中用break 等語句退出循環(huán)。
③“表達(dá)式3”可以省略,此時(shí)需要在循環(huán)體中讓循環(huán)變量產(chǎn)生變化,以保證循環(huán)能夠正常結(jié)束。
④“表達(dá)式1”和“表達(dá)式3”可以同時(shí)省略,這樣① 和3 兩種情況同時(shí)出現(xiàn),需要使用相關(guān)語句保證循環(huán)結(jié)束。
⑤ 3個(gè)表達(dá)式都可以省略,但分號(hào)間隔符不能少。這樣② 和④ 兩種情況同時(shí)出現(xiàn),需要使用相關(guān)語句保證循環(huán)結(jié)束。
while循環(huán)語句的一般形式如下:
while(表達(dá)式)
{//循環(huán)體
}
//while后面一對(duì)圓括號(hào)中的表達(dá)式稱為 循環(huán)條件。
//它可以是c語言中任意合法的表達(dá)式,由它來判斷循環(huán)體是否執(zhí)行。
//循環(huán)體可以是一條語句,也可以是由 { }括起來的多條語句。
while語句執(zhí)行過程如下:
【步驟1】計(jì)算while后一對(duì)圓括號(hào)內(nèi)表達(dá)式的值,當(dāng)值非0時(shí),執(zhí)行【步驟2】,當(dāng)值為0時(shí),執(zhí)行【步驟4】。
【步驟2】執(zhí)行循環(huán)體中的語句。
【步驟3】轉(zhuǎn)去執(zhí)行【步驟1】。
【步驟4】結(jié)束循環(huán),執(zhí)行while循環(huán)之后的語句。
例:用while循環(huán)打印1-10的奇數(shù)
int main()
{//1~10
int i = 1;//初始化
while (i<= 10)//判斷
{printf("%d ", i);
i+=2;//調(diào)整
}
return 0;
}
小結(jié)
在循環(huán)體中一定要有使循環(huán)結(jié)束的操作。以上循環(huán)體中“i+=2”使得每執(zhí)行一次循環(huán)體變量都自增2,當(dāng)表達(dá)式“i<=10”不成立時(shí),循環(huán)結(jié)束。
do…while語句的一般形式如下:
do
{//循環(huán)體
}while(表達(dá)式);
//do...while語句的表達(dá)式后面必須加分號(hào)。
執(zhí)行過程如下:
【步驟1】執(zhí)行do后的循環(huán)體。
【步驟2】計(jì)算while后一對(duì)圓括號(hào)內(nèi)表達(dá)式的值,當(dāng)值為非0時(shí)轉(zhuǎn)去執(zhí)行【步驟1】;當(dāng)值為0時(shí),執(zhí)行【步驟3】。
【步驟3】結(jié)束循環(huán),執(zhí)行do…while循環(huán)之后的語句。
例:使用do while 在屏幕上輸出1~10
int main()
{int i = 1;
do
{printf("%d ", i);
i++;
} while (i<=10);
return 0;
}
小結(jié)
在do while循環(huán)體中,循環(huán)體至少要被執(zhí)行1次,而在while循環(huán)中,循環(huán)體可能一次都不被執(zhí)行。
break語句
break 語句只用在switch 語句或循環(huán)語句中,用在 switch 語句中,其作用是無條件跳出switch 語句,轉(zhuǎn)去執(zhí)行switch 后面的程序。而用在循環(huán)語句中,其作用是跳出本層循環(huán),轉(zhuǎn)去執(zhí)行循環(huán)語句后面的程序。
continue語句
continue 語句只能用在循環(huán)結(jié)構(gòu)中,其作用是結(jié)束本次循環(huán),即不再執(zhí)行循環(huán)體中continue 語句之后的語句,而是立即轉(zhuǎn)入對(duì)循環(huán)條件的判斷與執(zhí)行。
對(duì)于while 和do…while 語句而言,程序會(huì)跳過循環(huán)體中continue 語句之后的語句,而立即執(zhí)行 while后括號(hào)中的條件表達(dá)式;對(duì)于for 語句而言,程序會(huì)跳過循環(huán)體中continue 語句之后的語句,而執(zhí)行“表達(dá)式3”,再執(zhí)行“表達(dá)式2”。
完。。。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧