![C語(yǔ)言課件第五章 語(yǔ)句_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/9/9e5cb183-bb0e-48ac-99f3-592285bd075b/9e5cb183-bb0e-48ac-99f3-592285bd075b1.gif)
![C語(yǔ)言課件第五章 語(yǔ)句_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/9/9e5cb183-bb0e-48ac-99f3-592285bd075b/9e5cb183-bb0e-48ac-99f3-592285bd075b2.gif)
![C語(yǔ)言課件第五章 語(yǔ)句_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/9/9e5cb183-bb0e-48ac-99f3-592285bd075b/9e5cb183-bb0e-48ac-99f3-592285bd075b3.gif)
![C語(yǔ)言課件第五章 語(yǔ)句_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/9/9e5cb183-bb0e-48ac-99f3-592285bd075b/9e5cb183-bb0e-48ac-99f3-592285bd075b4.gif)
![C語(yǔ)言課件第五章 語(yǔ)句_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/9/9e5cb183-bb0e-48ac-99f3-592285bd075b/9e5cb183-bb0e-48ac-99f3-592285bd075b5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第五章第五章語(yǔ)句語(yǔ)句順序結(jié)構(gòu)順序結(jié)構(gòu): :main( ) int a , b; scanf(%d%d,&a,&b); printf(abn); printf(ab) printf(abn); else printf(a=bn);main( ) int a , b ; scanf(%d%d,&a,&b); while(a=b);表達(dá)式語(yǔ)句和空語(yǔ)句表達(dá)式語(yǔ)句和空語(yǔ)句:表達(dá)式語(yǔ)句:表達(dá)式表達(dá)式語(yǔ)句:表達(dá)式+“ ;” eg:a=b+2; ba?a+: b-; !b|a+&b-; 空語(yǔ)句:;空語(yǔ)句:;復(fù)合語(yǔ)句和分程序:復(fù)合語(yǔ)句和分程序:分程序是指含有說(shuō)明語(yǔ)句的分程
2、序是指含有說(shuō)明語(yǔ)句的復(fù)合語(yǔ)句復(fù)合語(yǔ)句。main( )int a=5,b=3;if(ab) printf(abn);elsea+=1; printf(a y ) z = x; if (表達(dá)式表達(dá)式) 語(yǔ)句語(yǔ)句main( ) int a,b; scanf(%d%d,&a,&b); if(ab) printf(%d,a);(2)雙分支)雙分支if 語(yǔ)句語(yǔ)句 if (表達(dá)式表達(dá)式) 語(yǔ)句語(yǔ)句1 else 語(yǔ)句語(yǔ)句2 語(yǔ)義語(yǔ)義: 當(dāng)表達(dá)式的值為當(dāng)表達(dá)式的值為“真真”(非零)時(shí),執(zhí)行語(yǔ)句(非零)時(shí),執(zhí)行語(yǔ)句1, 否則,執(zhí)行語(yǔ)句否則,執(zhí)行語(yǔ)句2。 如如: if (xy) z=x ; else
3、 z=y ;main( ) int a,b; scanf(%d%d,&a,&b); if(ab) printf(%d,a); else printf(%d,b); 分析下列程序運(yùn)行結(jié)果分析下列程序運(yùn)行結(jié)果(3)多分支)多分支if 語(yǔ)句語(yǔ)句 if (表達(dá)式表達(dá)式1) 語(yǔ)句語(yǔ)句1 else if(表達(dá)式表達(dá)式2) 語(yǔ)句語(yǔ)句2 else if(表達(dá)式表達(dá)式3) 語(yǔ)句語(yǔ)句3 : else if(表達(dá)式表達(dá)式m) 語(yǔ)句語(yǔ)句m else 語(yǔ)句語(yǔ)句m+1main( ) int a,b; scanf(%d%d,&a,&b); if(ab) printf(%d,a); else
4、if(a6) if (n12) printf(“6n12”);else printf(“n=0) printf(“X is positive.”); x+;else printf(“X is negative.”);if (x=0) printf(“X is positive.”); x+;else printf(“X is negative.”); 在在if語(yǔ)句中又包含一個(gè)或多個(gè)語(yǔ)句中又包含一個(gè)或多個(gè)if語(yǔ)句的形式。語(yǔ)句的形式。if( ) if( ) 語(yǔ)句語(yǔ)句 else 語(yǔ)句語(yǔ)句else if( ) 語(yǔ)句語(yǔ)句 else 語(yǔ)句語(yǔ)句內(nèi)嵌內(nèi)嵌if 內(nèi)嵌內(nèi)嵌if或或 if( ) if( ) 語(yǔ)句語(yǔ)句
5、 else if( ) 語(yǔ)句語(yǔ)句2 else 語(yǔ)句語(yǔ)句3 內(nèi)嵌內(nèi)嵌if或或 if( ) if( ) 語(yǔ)句語(yǔ)句 (內(nèi)嵌內(nèi)嵌if ) else 語(yǔ)句語(yǔ)句 2此括號(hào)可省略嗎?此括號(hào)可省略嗎?每個(gè)每個(gè)else應(yīng)與其應(yīng)與其之前之前距離距離最近最近且且沒有與其它沒有與其它else配對(duì)配對(duì)的的if 配對(duì)。配對(duì)。 if (n6) if (n12) printf(“6n12”);else printf(“n6) if (n12) printf(“6n12”);else printf(“n=6”); 書寫程序的優(yōu)良風(fēng)格書寫程序的優(yōu)良風(fēng)格縮排縮排 #include main() int x; scanf(“%d”,
6、&x); if (x0) printf(“X is positive.”); x=x+1; else printf (“X is negative.”); 縮進(jìn)縮進(jìn)縮進(jìn)if語(yǔ)句與條件運(yùn)算符語(yǔ)句與條件運(yùn)算符( ? : )語(yǔ)義完全相同,其語(yǔ)義完全相同,其流程圖都可用下圖描述。其區(qū)別在語(yǔ)法。流程圖都可用下圖描述。其區(qū)別在語(yǔ)法。if語(yǔ)句后面帶語(yǔ)句,語(yǔ)句后面帶語(yǔ)句,自身也是語(yǔ)句;自身也是語(yǔ)句;條件運(yùn)算符條件運(yùn)算符( ? : )后面帶表達(dá)式,自身后面帶表達(dá)式,自身還是表達(dá)式。還是表達(dá)式。 開關(guān)語(yǔ)句,用于解決多路分支的情況。開關(guān)語(yǔ)句,用于解決多路分支的情況。switch(表達(dá)式)(表達(dá)式) case
7、 常量表達(dá)式常量表達(dá)式1:語(yǔ)句序列:語(yǔ)句序列1 ;break ; case 常量表達(dá)式常量表達(dá)式2:語(yǔ)句序列:語(yǔ)句序列2 ;break ; : case 常量表達(dá)式常量表達(dá)式n:語(yǔ)句序列:語(yǔ)句序列n ;break ; default :語(yǔ)句序列:語(yǔ)句序列n+1 ;執(zhí)行機(jī)制:執(zhí)行機(jī)制:通常是整型、字符型通常是整型、字符型首先計(jì)算首先計(jì)算“表達(dá)式表達(dá)式”的值;找到與的值;找到與“表達(dá)式表達(dá)式”的值相同的的值相同的“常常量表達(dá)式量表達(dá)式”,執(zhí)行其,執(zhí)行其casecase后邊的語(yǔ)句塊;之后以次往下執(zhí)行語(yǔ)后邊的語(yǔ)句塊;之后以次往下執(zhí)行語(yǔ)句塊。句塊。 必須是常量必須是常量可以省略,如果需可以省略,如果需要
8、最多只能有一個(gè)要最多只能有一個(gè)例:例:char grade; scanf(%c,&grade); switch(grade) case A : printf(85100n); case B : printf(7084n); case C: printf(6069n); case D :printf(60n); default : printf(error n); 思考:若思考:若gread= B時(shí),結(jié)果為時(shí),結(jié)果為?顯然該結(jié)果是荒謬的。顯然該結(jié)果是荒謬的。如果不想這樣,可用如果不想這樣,可用break語(yǔ)句處理。語(yǔ)句處理。程序程序a5.cbreak語(yǔ)句:語(yǔ)句:格式:格式:break ;功
9、能:終止其所在語(yǔ)句序列的執(zhí)行。功能:終止其所在語(yǔ)句序列的執(zhí)行。switch(grade) case A : printf(85100n);break; case B : printf(7084n);break;case C: printf(6069n);break; case D :printf(60n);break;default : printf(error n); 當(dāng)當(dāng) grade= B時(shí),輸出結(jié)果為:時(shí),輸出結(jié)果為: 70 84無(wú)無(wú)break語(yǔ)句的語(yǔ)句的switch語(yǔ)句語(yǔ)義結(jié)構(gòu)圖示語(yǔ)句語(yǔ)義結(jié)構(gòu)圖示:表達(dá)式表達(dá)式語(yǔ)句5語(yǔ)句4語(yǔ)句3語(yǔ)句2語(yǔ)句1出口表達(dá)式表達(dá)式語(yǔ)句5語(yǔ)句4語(yǔ)句3語(yǔ)句2語(yǔ)句1
10、出口有有break語(yǔ)句的語(yǔ)句的switch語(yǔ)句語(yǔ)義結(jié)構(gòu)圖示語(yǔ)句語(yǔ)義結(jié)構(gòu)圖示:流程圖為:流程圖為: grade輸出 “85100”輸出 “60”輸出 “60-69”輸出 “error”輸出 “70-84”switch的特點(diǎn)的特點(diǎn) switch 語(yǔ)句中的表達(dá)式最好是整型表達(dá)式;語(yǔ)句中的表達(dá)式最好是整型表達(dá)式; 每一個(gè)每一個(gè)case表達(dá)式的值必須不同;表達(dá)式的值必須不同; 每一個(gè)每一個(gè)case后面若有多條語(yǔ)句,可不必使用括號(hào);后面若有多條語(yǔ)句,可不必使用括號(hào); 多個(gè)多個(gè)case可共用一組執(zhí)行語(yǔ)句;可共用一組執(zhí)行語(yǔ)句; 各各case以及以及default出現(xiàn)的次序無(wú)限制;出現(xiàn)的次序無(wú)限制; switc
11、h和多重和多重 if 的區(qū)別的區(qū)別 : switch 語(yǔ)句用于語(yǔ)句用于“一次計(jì)算,多種結(jié)果一次計(jì)算,多種結(jié)果”;計(jì)算結(jié)果;計(jì)算結(jié)果必須為整數(shù)。必須為整數(shù)。 多重多重 if 用于用于“多次計(jì)算,多個(gè)結(jié)果多次計(jì)算,多個(gè)結(jié)果”;計(jì)算結(jié)果可以;計(jì)算結(jié)果可以是任何類型數(shù)是任何類型數(shù),而且各表達(dá)式類型各不相同。而且各表達(dá)式類型各不相同。 思考思考 (上機(jī)題目上機(jī)題目) 將輸入的成績(jī)由百分制轉(zhuǎn)換將輸入的成績(jī)由百分制轉(zhuǎn)換為五級(jí)分制。為五級(jí)分制。 通過(guò)嵌套通過(guò)嵌套if-else或或switch實(shí)現(xiàn)實(shí)現(xiàn)5.3 C5.3 C語(yǔ)言的三結(jié)構(gòu)之三語(yǔ)言的三結(jié)構(gòu)之三循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)“循環(huán)循環(huán)”的的語(yǔ)義語(yǔ)義是:在給定條件滿足時(shí)
12、,是:在給定條件滿足時(shí),反復(fù)執(zhí)行某個(gè)程序段。反復(fù)執(zhí)行某個(gè)程序段。因此,在因此,在有需要重復(fù)執(zhí)行的動(dòng)作、且重復(fù)次數(shù)有需要重復(fù)執(zhí)行的動(dòng)作、且重復(fù)次數(shù)可控的情況下可以使用可控的情況下可以使用循環(huán)。循環(huán)。語(yǔ)言可以用以下控制語(yǔ)句來(lái)實(shí)現(xiàn)循環(huán):語(yǔ)言可以用以下控制語(yǔ)句來(lái)實(shí)現(xiàn)循環(huán): while語(yǔ)句;語(yǔ)句; do_while語(yǔ)句語(yǔ)句; for語(yǔ)句。語(yǔ)句。 此外用此外用goto和和if語(yǔ)句亦可構(gòu)成循環(huán)語(yǔ)句亦可構(gòu)成循環(huán)(不提倡)。(不提倡)。 執(zhí)行過(guò)程:執(zhí)行過(guò)程: 先計(jì)算表達(dá)式的值先計(jì)算表達(dá)式的值 ;若表達(dá)式的值為真若表達(dá)式的值為真(非非0)時(shí)時(shí)執(zhí)行循環(huán)體中的語(yǔ)句,然后重執(zhí)行循環(huán)體中的語(yǔ)句,然后重復(fù)上面步驟。若表達(dá)式
13、的值為復(fù)上面步驟。若表達(dá)式的值為假假(0) ,則結(jié)束循環(huán)。,則結(jié)束循環(huán)。語(yǔ)義是語(yǔ)義是“要做要做.嗎嗎?” 一般形式:一般形式: while (表達(dá)式表達(dá)式) 語(yǔ)句語(yǔ)句“ “表達(dá)式表達(dá)式”可以是任何表達(dá)式:邏輯、字符、賦值、逗號(hào)等表達(dá)式??梢允侨魏伪磉_(dá)式:邏輯、字符、賦值、逗號(hào)等表達(dá)式。main( ) int i =1, sum=0 ; while(i=100) sum=sum+i ; i+; printf(“%d”, sum); i=1當(dāng) i=100 sum=sum+i i=i+11001nn求:求:sumsum是否可以不設(shè)置初始值是否可以不設(shè)置初始值0 0? do 語(yǔ)句語(yǔ)句 while(表達(dá)
14、式);表達(dá)式);分號(hào)不能少分號(hào)不能少:語(yǔ)義是語(yǔ)義是“做做., 還要做嗎還要做嗎?”main( ) int i=1, sum=0; do sum=sum+i; i+; while(i=100); printf(%d,sum); main( ) int i, sum=0 ; scanf(“%d”, &i ) ; while(i=100) sum=sum+i; i+; printf(“%d”, sum);main( ) int i, sum=0 ; scanf(“%d”, &i ) ; do sum=sum+i ; i+; while(i=100) ; printf(“%d”, su
15、m);輸入:輸入:1 1 結(jié)果:結(jié)果:5050 5050 輸入:輸入:1 1 結(jié)果:結(jié)果:50505050輸入:輸入:101 101 結(jié)果:結(jié)果: 輸入輸入:101 :101 結(jié)果:結(jié)果:0101注意注意: 循環(huán)條件中的表達(dá)式一般是邏輯表達(dá)式和關(guān)循環(huán)條件中的表達(dá)式一般是邏輯表達(dá)式和關(guān)系表達(dá)式,也可以是算術(shù)表達(dá)式等其他表達(dá)式(非系表達(dá)式,也可以是算術(shù)表達(dá)式等其他表達(dá)式(非0為真,為真,0為假)。一般表達(dá)式中應(yīng)含有循環(huán)控制變?yōu)榧伲R话惚磉_(dá)式中應(yīng)含有循環(huán)控制變量。量。 while (3)和和while (0)是合法的,雖然從程序設(shè)是合法的,雖然從程序設(shè)計(jì)的角度上說(shuō)是不盡合理。計(jì)的角度上說(shuō)是不盡合理
16、。while (3) 語(yǔ)句語(yǔ)句 表示無(wú)限循環(huán)表示無(wú)限循環(huán)while (0) 語(yǔ)句語(yǔ)句 表示不進(jìn)入循環(huán)體表示不進(jìn)入循環(huán)體 要寫出一個(gè)正確的循環(huán)結(jié)構(gòu),對(duì)控制變量要要寫出一個(gè)正確的循環(huán)結(jié)構(gòu),對(duì)控制變量要做三方面工作:做三方面工作:控制變量賦初值控制變量賦初值; 把控制變量把控制變量寫入正確的循環(huán)條件;寫入正確的循環(huán)條件;循環(huán)中對(duì)控制變量的更循環(huán)中對(duì)控制變量的更新、調(diào)整。新、調(diào)整。 一般形式:一般形式: for(表達(dá)式表達(dá)式 1 ;表達(dá)式;表達(dá)式 2 ;表達(dá)式;表達(dá)式3 ) 語(yǔ)句語(yǔ)句 不能省略不能省略表達(dá)式表達(dá)式1:初始化表達(dá)式。:初始化表達(dá)式。表達(dá)式表達(dá)式2:循環(huán)控制條件。:循環(huán)控制條件。表達(dá)式表達(dá)
17、式3:在循環(huán)體語(yǔ)句之后執(zhí)行的表達(dá)式。:在循環(huán)體語(yǔ)句之后執(zhí)行的表達(dá)式。 正確設(shè)計(jì)循環(huán)結(jié)構(gòu)應(yīng)注意三方面的問(wèn)題:正確設(shè)計(jì)循環(huán)結(jié)構(gòu)應(yīng)注意三方面的問(wèn)題:控制變量的初始化控制變量的初始化;循環(huán)的條件循環(huán)的條件;控制變量的更新控制變量的更新。 求解求解表達(dá)式表達(dá)式1表達(dá)式表達(dá)式2語(yǔ)句語(yǔ)句求解求解表達(dá)式表達(dá)式3for語(yǔ)句的后續(xù)語(yǔ)句語(yǔ)句的后續(xù)語(yǔ)句。FTmain( ) int i, sum=0; for(i=1;i=100;i+ ) sum=sum+i; printf(%d,sum);main( ) int i=1 , sum=0; for( ;i=100;i+ ) sum=sum+i; printf(%d,su
18、m);main( ) int i , sum=0;printf(%d , sum);“表達(dá)式表達(dá)式”也可省,這將使循環(huán)也可省,這將使循環(huán)無(wú)終止進(jìn)行下去。無(wú)終止進(jìn)行下去。 相當(dāng)于相當(dāng)于: for( i=1; ; i+ ) sum=sum+i ; i=1; while( 1) sum+= i; i+; main( ) int i, sum=0; for(i=1;i=100; ) sum=sum+i; i+; printf(%d,sum);main( ) int i=1, sum=0; for( ; i=100 ; ) sum=sum+i; i+; printf(%d,sum);同時(shí)省略表達(dá)式和表達(dá)
19、式,則完全等同于同時(shí)省略表達(dá)式和表達(dá)式,則完全等同于whilewhile語(yǔ)句。語(yǔ)句。 如:如: int i = 1; int i = 1;int i = 1; int i = 1; for( for( ; i=100 ; i=100 ; ) ) 相當(dāng)于相當(dāng)于 while( i=100 )while( i=100 ) sum+= i ; i+; sum+= i ; i+; sum+= i ; i+; sum+= i ; i+; 三個(gè)表達(dá)式都可省略,則無(wú)終止地執(zhí)行循環(huán)體三個(gè)表達(dá)式都可省略,則無(wú)終止地執(zhí)行循環(huán)體(死循環(huán)死循環(huán))。如:如: for( ; ; ) 循環(huán)體循環(huán)體 相當(dāng)于相當(dāng)于 while(
20、 1 ) 循環(huán)體循環(huán)體 注意注意防止出現(xiàn)防止出現(xiàn)“死循環(huán)死循環(huán)” 無(wú)休止的循環(huán)稱為無(wú)休止的循環(huán)稱為“死循環(huán)死循環(huán)”。例如。例如: : main( ) main( ) int x=10; int x=10; for(;x=10;x-) for(;x=10;x-) printf(“%d” ,+x); printf(“%d” ,+x); 該程序會(huì)輸出無(wú)數(shù)個(gè)該程序會(huì)輸出無(wú)數(shù)個(gè)“11”“11”而不能正常終止。而不能正常終止。main( ) int i, sum; for( i=1,sum=0;i=100; s+=i,i+) ; printf(%d,sum);結(jié)構(gòu)的嵌套是指三種基本結(jié)構(gòu)(順序結(jié)構(gòu)的嵌套是指
21、三種基本結(jié)構(gòu)(順序, ,分支分支, ,循環(huán))體內(nèi)又包含另外的結(jié)構(gòu)。循環(huán))體內(nèi)又包含另外的結(jié)構(gòu)。所有程序所有程序不外乎三種基本結(jié)構(gòu)及其嵌套組成不外乎三種基本結(jié)構(gòu)及其嵌套組成,天下,天下程序概莫能外。程序概莫能外。循環(huán)與循環(huán)的嵌套,以及與順序結(jié)構(gòu)與選循環(huán)與循環(huán)的嵌套,以及與順序結(jié)構(gòu)與選擇結(jié)構(gòu)都可以組成嵌套,且嵌套的層數(shù)不擇結(jié)構(gòu)都可以組成嵌套,且嵌套的層數(shù)不限。限。ufor嵌套嵌套for循環(huán)循環(huán)for( ; ; ) for( ; ; ) ufor嵌套嵌套while循環(huán)循環(huán)for( ; ; ) while( ) ufor嵌套嵌套do_while 循環(huán)循環(huán)for( ; ; ) do while( );
22、while嵌套自身嵌套自身while( ) while( ) while嵌套嵌套do_whilewhile( ) do while( ); while 嵌套嵌套 forwhile( ) for( ; ; ) udo_while嵌套嵌套for循環(huán)循環(huán)do for( ; ; ) while( ); u do_while嵌套嵌套while循環(huán)循環(huán)do while( ) while( ); udo_while嵌套自身嵌套自身do do while( ) while( ); break ;一般形式:一般形式:功能:結(jié)束循環(huán)的執(zhí)行,跳出當(dāng)功能:結(jié)束循環(huán)的執(zhí)行,跳出當(dāng)前循環(huán)層。前循環(huán)層。 解釋:解釋:bre
23、ak 語(yǔ)句一般用在循環(huán)語(yǔ)句一般用在循環(huán)體內(nèi)的條件語(yǔ)句中,作用體內(nèi)的條件語(yǔ)句中,作用是當(dāng)某個(gè)條件成立時(shí)用是當(dāng)某個(gè)條件成立時(shí)用 break 語(yǔ)句退出循環(huán),不再語(yǔ)句退出循環(huán),不再繼續(xù)執(zhí)行其余的語(yǔ)句,也繼續(xù)執(zhí)行其余的語(yǔ)句,也不再繼續(xù)執(zhí)行其余循環(huán)。不再繼續(xù)執(zhí)行其余循環(huán)。表達(dá)式表達(dá)式1 1語(yǔ)句語(yǔ)句1 1語(yǔ)句1語(yǔ)句語(yǔ)句2 2表達(dá)式表達(dá)式2 2breakTFF continue ;一般形式:一般形式:功能:提前結(jié)束本次循環(huán),功能:提前結(jié)束本次循環(huán),進(jìn)入下一循環(huán)周期。進(jìn)入下一循環(huán)周期。 解釋:一旦執(zhí)行了解釋:一旦執(zhí)行了continue 語(yǔ)句,程序就跳過(guò)循環(huán)語(yǔ)句,程序就跳過(guò)循環(huán)體位于該語(yǔ)句后的所有體位于該語(yǔ)句后的
24、所有語(yǔ)句,提前結(jié)束本次循語(yǔ)句,提前結(jié)束本次循環(huán)周期,開始下一個(gè)循環(huán)周期,開始下一個(gè)循環(huán)周期。環(huán)周期。表達(dá)式表達(dá)式1 1語(yǔ)句語(yǔ)句1 1語(yǔ)句1語(yǔ)句語(yǔ)句2 2表達(dá)式表達(dá)式2 2continueFTFmain( )int i,sum=0;for(i=1;i10;i+)if(i=5) break;sum+=i;printf(%dn,sum);main( )int i,sum=0;for(i=1;i10;i+)if(i=5) continue;sum+=i;printf(%dn,sum);break語(yǔ)句的使用:語(yǔ)句的使用:如:如: for(r=1; r100) break; /* area大于大于100時(shí)
25、跳時(shí)跳出循環(huán)出循環(huán)*/ printf(“%f”, area ); continue語(yǔ)句的使用:語(yǔ)句的使用:如:將如:將100200之間的不能被整除的數(shù)輸出之間的不能被整除的數(shù)輸出main( ) int n; for( n= 100; n= 200; n+) if( n%3= = 0) continue; printf(“%d”, n); 編寫程序?qū)崿F(xiàn)如下功能:編寫程序?qū)崿F(xiàn)如下功能:1 1 求求1+2+3+101+2+3+10,如果遇到能被,如果遇到能被3 3整整除的數(shù)則提前結(jié)束求和。除的數(shù)則提前結(jié)束求和。2 2 求求1+2+3+101+2+3+10,如果遇到能被,如果遇到能被3 3整整除的數(shù)則
26、跳過(guò)該數(shù)繼續(xù)求和。除的數(shù)則跳過(guò)該數(shù)繼續(xù)求和。 goto 語(yǔ)句為語(yǔ)句為無(wú)條件轉(zhuǎn)向語(yǔ)句無(wú)條件轉(zhuǎn)向語(yǔ)句,其作用其作用使程序的執(zhí)行無(wú)條件地轉(zhuǎn)移使程序的執(zhí)行無(wú)條件地轉(zhuǎn)移到程序的某指定處到程序的某指定處繼續(xù)執(zhí)行繼續(xù)執(zhí)行?!爸付ㄌ幹付ㄌ帯笔鞘且詷?biāo)號(hào)為前綴的語(yǔ)句處。以標(biāo)號(hào)為前綴的語(yǔ)句處。一般形式:一般形式: goto 語(yǔ)句標(biāo)號(hào)語(yǔ)句標(biāo)號(hào); 語(yǔ)句標(biāo)號(hào)語(yǔ)句標(biāo)號(hào)(標(biāo)簽):標(biāo)簽): 是放置于語(yǔ)句之前的標(biāo)識(shí)符,是放置于語(yǔ)句之前的標(biāo)識(shí)符,用于給語(yǔ)句命名。用于給語(yǔ)句命名。如:如: goto label_1; goto 123; (數(shù)字不可以數(shù)字不可以)for(i=0;i10;i+) for(j=0;j20;j+) for(k
27、=0;k8;k+) if(aijk=t) goto L1; L1: printf(“found!”);goto 語(yǔ)句特別用于從多重嵌套語(yǔ)句特別用于從多重嵌套的循環(huán)體中一步跳出!的循環(huán)體中一步跳出!#includeint main( ) int a; goto Init; Forward: a = a + 1; Print: printf(“%d”,a); goto Down;Init: a = 1; goto Print;Down: if(a100) goto Forward; 讀此段程序,讀此段程序, 感覺如何?感覺如何?說(shuō)明說(shuō)明: C語(yǔ)言允許在任何語(yǔ)句前加語(yǔ)句標(biāo)號(hào),作為語(yǔ)言允許在任何語(yǔ)句前
28、加語(yǔ)句標(biāo)號(hào),作為goto語(yǔ)語(yǔ)句的跳轉(zhuǎn)目標(biāo)。給語(yǔ)句加標(biāo)號(hào)的形式:句的跳轉(zhuǎn)目標(biāo)。給語(yǔ)句加標(biāo)號(hào)的形式: 語(yǔ)句標(biāo)號(hào):語(yǔ)句語(yǔ)句標(biāo)號(hào):語(yǔ)句 goto語(yǔ)句是一種非結(jié)構(gòu)化語(yǔ)句,結(jié)構(gòu)化程序設(shè)語(yǔ)句是一種非結(jié)構(gòu)化語(yǔ)句,結(jié)構(gòu)化程序設(shè)計(jì)方法不提倡使用計(jì)方法不提倡使用goto語(yǔ)句。因?yàn)闉E用語(yǔ)句。因?yàn)闉E用goto語(yǔ)句語(yǔ)句將使程序流程無(wú)規(guī)律,可讀性差。但也不是絕對(duì)禁將使程序流程無(wú)規(guī)律,可讀性差。但也不是絕對(duì)禁止使用,在能夠大大提高程序效率時(shí),止使用,在能夠大大提高程序效率時(shí),goto語(yǔ)句語(yǔ)句將使程序簡(jiǎn)化高效。將使程序簡(jiǎn)化高效。ufor嵌套嵌套for循環(huán)循環(huán)for( ; ; ) for( ; ; ) ufor嵌套嵌套while
29、循環(huán)循環(huán)for( ; ; ) while( ) ufor嵌套嵌套do_while 循環(huán)循環(huán)for( ; ; ) do while( ); while嵌套自身嵌套自身while( ) while( ) while嵌套嵌套do_whilewhile( ) do while( ); while 嵌套嵌套 forwhile( ) for( ; ; ) udo_while嵌套嵌套for循環(huán)循環(huán)do for( ; ; ) while( ); u do_while嵌套嵌套while循環(huán)循環(huán)do while( ) while( ); udo_while嵌套自身嵌套自身do do while( ) while( ); 例:打印例:打印8 8行行7 7列的星號(hào)矩形。用二重循環(huán)實(shí)現(xiàn)。列的星號(hào)矩形。用二重循環(huán)實(shí)現(xiàn)。 #include main( ) int i , k; for( i=0; i8; i+ ) for( k=0; k7; k+ ) printf(*); printf(n);程序程序rectangle.c關(guān)于循環(huán)的小結(jié):關(guān)于循環(huán)的小結(jié):u while和和for循環(huán)是先判斷后執(zhí)行;循環(huán)是先判
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 行業(yè)特色的物流配送服務(wù)合同
- 旅游景區(qū)門票銷售合同
- 工業(yè)自動(dòng)化領(lǐng)域設(shè)備采購(gòu)合同
- 供應(yīng)鏈管理及物流配送優(yōu)化方案合同
- 鎢礦資源勘探合同
- 工程檢測(cè)與質(zhì)量保障服務(wù)合同
- 智能農(nóng)業(yè)種植解決方案供應(yīng)合同
- 電子商務(wù)環(huán)境下匯通物流公司的發(fā)展戰(zhàn)略分析
- 廣告行業(yè)合同評(píng)審流程及合同范本
- 二零二四年度農(nóng)用拖拉機(jī)轉(zhuǎn)讓與農(nóng)業(yè)生態(tài)循環(huán)農(nóng)業(yè)項(xiàng)目合同3篇
- 走新型城鎮(zhèn)化道路-實(shí)現(xiàn)湘潭城鄉(xiāng)一體化發(fā)展
- 江蘇中國(guó)中煤能源集團(tuán)有限公司江蘇分公司2025屆高校畢業(yè)生第二次招聘6人筆試歷年參考題庫(kù)附帶答案詳解
- 【語(yǔ)文】第23課《“蛟龍”探?!氛n件 2024-2025學(xué)年統(tǒng)編版語(yǔ)文七年級(jí)下冊(cè)
- 從中國(guó)制造到中國(guó)創(chuàng)造(優(yōu)秀課件)
- 新華字典第12版電子版
- 【考試版】蘇教版2022-2023學(xué)年四年級(jí)數(shù)學(xué)下冊(cè)開學(xué)摸底考試卷(五)含答案與解析
- 血液透析個(gè)案護(hù)理兩篇
- 第八章 客戶關(guān)系管理
- 新版人教版高中英語(yǔ)選修一、選修二詞匯表
- 2022年河北邯鄲世紀(jì)建設(shè)投資集團(tuán)有限公司招聘筆試試題及答案解析
- 萬(wàn)物有靈且美(讀書心得)課件
評(píng)論
0/150
提交評(píng)論