自考計(jì)算機(jī)基礎(chǔ)與程序設(shè)計(jì)第五章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(附本章三年內(nèi)自考真題及答案)_第1頁(yè)
自考計(jì)算機(jī)基礎(chǔ)與程序設(shè)計(jì)第五章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(附本章三年內(nèi)自考真題及答案)_第2頁(yè)
自考計(jì)算機(jī)基礎(chǔ)與程序設(shè)計(jì)第五章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(附本章三年內(nèi)自考真題及答案)_第3頁(yè)
自考計(jì)算機(jī)基礎(chǔ)與程序設(shè)計(jì)第五章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(附本章三年內(nèi)自考真題及答案)_第4頁(yè)
自考計(jì)算機(jī)基礎(chǔ)與程序設(shè)計(jì)第五章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(附本章三年內(nèi)自考真題及答案)_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第五章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 2/35 第五章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 第一節(jié)第一節(jié) 循環(huán)的概念循環(huán)的概念 第二節(jié)第二節(jié) whilewhile語(yǔ)句與語(yǔ)句與whilewhile循環(huán)循環(huán) 第三節(jié)第三節(jié) do-whiledo-while語(yǔ)句與語(yǔ)句與do-whiledo-while循環(huán)循環(huán) 第四節(jié)第四節(jié) forfor語(yǔ)句與語(yǔ)句與forfor循環(huán)循環(huán) 第五節(jié)第五節(jié) 循環(huán)的嵌套循環(huán)的嵌套 第六節(jié)第六節(jié) 幾個(gè)無(wú)條件控制語(yǔ)句在循環(huán)中的控制作用幾個(gè)無(wú)條件控制語(yǔ)句在循環(huán)中的控制作用 第七節(jié)第七節(jié) 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)的方法及應(yīng)用循環(huán)結(jié)構(gòu)程序設(shè)計(jì)的方法及應(yīng)用 第五章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 3/35 第五

2、章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 5.1 5.1 循環(huán)的概念循環(huán)的概念 在實(shí)際問(wèn)題中會(huì)遇到具體規(guī)律性的重復(fù)運(yùn)算問(wèn)題, 反映在程序中就是將完成特定任務(wù)的一組語(yǔ)句重復(fù) 執(zhí)行多次。重復(fù)執(zhí)行的一組語(yǔ)句成為循環(huán)體,每重 復(fù)一次循環(huán)體,都必須做出繼續(xù)或者停止循環(huán)的判 斷,其依據(jù)就是判斷一個(gè)特定的條件,成立與否, 決定繼續(xù)還是退出循環(huán)。 C語(yǔ)言提供了三種實(shí)現(xiàn)循環(huán)的語(yǔ)句:while語(yǔ)句、 do-while語(yǔ)句、for語(yǔ)句。 4/35 第五章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 5.2 while5.2 while語(yǔ)句與語(yǔ)句與whilewhile循環(huán)循環(huán) While語(yǔ)句的一般形式為:語(yǔ)句的一般形式為: While(表達(dá)式

3、表達(dá)式) 語(yǔ)句語(yǔ)句 執(zhí)行過(guò)程為:計(jì)算表達(dá)式的值并進(jìn)行判斷,當(dāng)表達(dá)式的值為非執(zhí)行過(guò)程為:計(jì)算表達(dá)式的值并進(jìn)行判斷,當(dāng)表達(dá)式的值為非0時(shí)(時(shí)( 條件成立),執(zhí)行語(yǔ)句(即循環(huán)體),每執(zhí)行一次循環(huán)體之后,都條件成立),執(zhí)行語(yǔ)句(即循環(huán)體),每執(zhí)行一次循環(huán)體之后,都 要再判斷表達(dá)式的值,若非要再判斷表達(dá)式的值,若非0,重復(fù)執(zhí)行循環(huán)體,重復(fù)執(zhí)行循環(huán)體 如此一直循環(huán)如此一直循環(huán) 到表達(dá)式的值為到表達(dá)式的值為0時(shí)結(jié)束循環(huán),轉(zhuǎn)去執(zhí)行時(shí)結(jié)束循環(huán),轉(zhuǎn)去執(zhí)行while循環(huán)的后續(xù)語(yǔ)句。循環(huán)的后續(xù)語(yǔ)句。 說(shuō)明說(shuō)明: 1、語(yǔ)句就是循環(huán)體,它可以是一個(gè)單語(yǔ)句,也可以是一個(gè)復(fù)合語(yǔ)句,因此不加、語(yǔ)句就是循環(huán)體,它可以是一個(gè)單語(yǔ)句

4、,也可以是一個(gè)復(fù)合語(yǔ)句,因此不加 的話,的話, 系統(tǒng)只識(shí)別系統(tǒng)只識(shí)別while下面的一個(gè)單語(yǔ)句為循環(huán)體。下面的一個(gè)單語(yǔ)句為循環(huán)體。 2、while循環(huán)是在滿足條件時(shí)進(jìn)行的,若表達(dá)式的值一開(kāi)始就為循環(huán)是在滿足條件時(shí)進(jìn)行的,若表達(dá)式的值一開(kāi)始就為0,則循環(huán)體將一次也不被,則循環(huán)體將一次也不被 執(zhí)行,這就是先判斷后執(zhí)行的執(zhí)行,這就是先判斷后執(zhí)行的“當(dāng)型當(dāng)型”循環(huán)。循環(huán)。 3、while中的表達(dá)式是控制循環(huán)的條件,表達(dá)式中的變量成為循環(huán)控制變量,通常必須在中的表達(dá)式是控制循環(huán)的條件,表達(dá)式中的變量成為循環(huán)控制變量,通常必須在 進(jìn)入循環(huán)結(jié)構(gòu)之前給循環(huán)控制變量賦初值,在循環(huán)體中給循環(huán)控制變量增量,以保證向

5、循進(jìn)入循環(huán)結(jié)構(gòu)之前給循環(huán)控制變量賦初值,在循環(huán)體中給循環(huán)控制變量增量,以保證向循 環(huán)結(jié)束的條件靠近,最終結(jié)束循環(huán),否則將出現(xiàn)環(huán)結(jié)束的條件靠近,最終結(jié)束循環(huán),否則將出現(xiàn)“無(wú)限循環(huán)無(wú)限循環(huán)”的錯(cuò)誤。的錯(cuò)誤。 While 循環(huán)結(jié)構(gòu) 5/35 第五章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 例5-1求1+2+3+100的值。 main() int i=1,sum=0; while(i=100) sum=sum+I; i+; prinft(“sum=%dn”,sum); 5.2 while5.2 while語(yǔ)句與語(yǔ)句與whilewhile循環(huán)循環(huán) 循環(huán)體 while 循環(huán)結(jié)構(gòu) 運(yùn)算結(jié)果:sum=5050 6/35

6、第五章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 例5-2把26個(gè)大寫(xiě)英文字母按字典順序打印出來(lái)。 main() char ch=A; While (ch=Z) Printf(“%c”,ch);ch+; Printf(“n”); 5.2 while語(yǔ)句與while循環(huán) 運(yùn)行結(jié)果: ABCDEFGHIJKLMNOPQRSTUVWXYZ 7/35 第五章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì) do 語(yǔ)句 while(表達(dá)式); 執(zhí)行過(guò)程:進(jìn)入do-while循環(huán),先執(zhí)行語(yǔ)句(即循環(huán)體),然后判斷條件(即 表達(dá)式),若表達(dá)式的值為非0(條件成立),那么再回去執(zhí)行循環(huán)體。 如此循環(huán)直到表達(dá)式的值為0(條件不成立)結(jié)束循環(huán),轉(zhuǎn)

7、去執(zhí)行do-while 循環(huán)的后續(xù)語(yǔ)句。 說(shuō)明:1、語(yǔ)句就是循環(huán)體,它可以是單個(gè)語(yǔ)句,也可以是復(fù)合語(yǔ)句,因此不加的話 系統(tǒng)只識(shí)別do下面的一個(gè)單語(yǔ)句為循環(huán)體。 2、do-while先執(zhí)行循環(huán)體,再判斷循環(huán)條件,因此,循環(huán)體至少被執(zhí)行一次,這種結(jié) 構(gòu)就是“直到型”循環(huán)。 3、do-while作為一個(gè)整體,最后的while語(yǔ)句必須加“;”,這一點(diǎn)必須注意。 4、do-while中的表達(dá)式是控制循環(huán)的條件,表達(dá)式中的變量成為循環(huán)控制變量,通常 必須在進(jìn)入循環(huán)結(jié)構(gòu)之前給循環(huán)變量賦初值,在循環(huán)體中給循環(huán)變量增量,以保證 向循環(huán)結(jié)束的條件靠近,最終結(jié)束循環(huán),否則會(huì)出現(xiàn)“無(wú)限循環(huán)”的錯(cuò)誤。 5.3 do-w

8、hile語(yǔ)句與do-while循環(huán) do-while 循環(huán)結(jié)構(gòu) 8/35 第五章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 例5-3改寫(xiě)5-1為do-while循環(huán)結(jié)構(gòu) main() int i=1,sum=0; do sum=sum+i; i+; while(i=100); printf(“sum=%dn”,sum); 5.3 do-while語(yǔ)句與do-while循環(huán) 循環(huán)體 do-while 循環(huán)結(jié)構(gòu) 運(yùn)行結(jié)果:sum=5050 注意:當(dāng)循環(huán)一開(kāi)始條件不滿足時(shí),while一次也不執(zhí)行循環(huán)體,do-while則至少 執(zhí)行循環(huán)體一次,所以在兩種循環(huán)結(jié)構(gòu)相互替代時(shí),應(yīng)該考慮這一差別。 9/35 第五章 循環(huán)

9、語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì) for循環(huán)是C語(yǔ)言最常用最靈活的循環(huán)控制語(yǔ)句. for(表達(dá)式1;表達(dá)式2;表達(dá)式3) 語(yǔ)句 執(zhí)行過(guò)程: (1)、計(jì)算表達(dá)式1,表達(dá)式1通常是為循環(huán)變量賦初值(在整個(gè)循環(huán)中它只做一次)。 (2)、計(jì)算表達(dá)式2(循環(huán)的控制條件),判斷它的值是否非0(條件成立)?如果是,則 進(jìn)入(3),如果不是,則進(jìn)入(6). (3)執(zhí)行語(yǔ)句(即循環(huán)體)。 (4)計(jì)算表達(dá)式3(表達(dá)式3通常是對(duì)循環(huán)條件施加影響的,它對(duì)表達(dá)式2中的循環(huán)控制變 量進(jìn)行修正,以便在進(jìn)行若干次循環(huán)之后,能夠使表達(dá)式2的值為0,結(jié)束循環(huán))。 (5)返回(2)。 (6)結(jié)束循環(huán),執(zhí)行for循環(huán)結(jié)構(gòu)后面的后續(xù)語(yǔ)句。 說(shuō)明

10、: (1) 語(yǔ)句就是循環(huán)體,它可以是一個(gè)單語(yǔ)句,也可以是一個(gè)復(fù)合語(yǔ)句。因此如果不加 系統(tǒng) 只識(shí)別for后面的一個(gè)單語(yǔ)句為循環(huán)體。 5.4 for語(yǔ)句與for循環(huán) for循環(huán)結(jié)構(gòu) 10/35 第五章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 例5-4比較下面兩個(gè)程序的執(zhí)行結(jié)果 main() main() int y=0,s,i; int y=0,s,i; for(i=0;i6;i+) for(i=0;i6;i+) s=i*i; s=i*i; y=y+s; y=y+s; printf(“y=%dn”,y); printf(“y=%dn”,y); 5.4 for語(yǔ)句與for循環(huán) 運(yùn)行結(jié)果:y=25 運(yùn)行結(jié)果:y=

11、55 11/35 第五章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì) (2)表達(dá)式1允許用逗號(hào)表達(dá)式,其中包含一些程序中需要的, 本應(yīng)在循環(huán)體外賦初值的其他表達(dá)式;也可以省略表達(dá)式1, 把循環(huán)控制變量賦初值放在for語(yǔ)句之前。 y=0; for(i=0;i6;i+) (3)表達(dá)式3允許用逗號(hào)表達(dá)式,其中包含一些本來(lái)放在循環(huán)體 中執(zhí)行的其他表達(dá)式,也可以省略表達(dá)式3,把表達(dá)式3對(duì)循環(huán) 變量的修正放在循環(huán)體中。 for(i=0;i6;i+) for(i=0;i6;) s=i*I;y=y+s; s=i*I;y=y+s;i+; (4)表達(dá)式2是循環(huán)控制表達(dá)式,它和if語(yǔ)句中的條件表達(dá)式一樣, 可以是任何能求職的表達(dá)式

12、,當(dāng)表達(dá)式的值非0時(shí),循環(huán)繼續(xù), 為0時(shí),循環(huán)終止。 5.4 for語(yǔ)句與for循環(huán) for(表達(dá)式1;表達(dá)式2;表達(dá)式3) 語(yǔ)句 for循環(huán)結(jié)構(gòu) for(y=0,i=0;i6;i+) y=0,i=0; for(;i6;i+) for(i=0;i6;s=i*I,y=y+s,i+) 12/35 第五章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì) (5)for循環(huán)可以和while循環(huán)互換,實(shí)際上它等價(jià)于下 列形式的while結(jié)構(gòu): 表達(dá)式1; while(表達(dá)式2)語(yǔ)句 表達(dá)式3; 例如:for(i=0;i6;i+) i=0; sum=sum+I; 等價(jià)于 while(i6) sum=sum+i;i+; 5.4

13、for語(yǔ)句與for循環(huán) 13/35 第五章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 例5-5求n!(n為鍵盤(pán)輸入的任意整數(shù)) 用for循環(huán)實(shí)現(xiàn) 用while循環(huán)實(shí)現(xiàn) main() main() float p; int i ,n; float p; int i ,n; printf(“input n:”); printf (“input n:”); scanf(“%d”, scanf (“%d”, p=1; p=1;i=1; for (i=1;i=n;i+) while (i=n) p=p*i; p=p*i ;i+; printf(“%d!=%fn”,n,p); printf(“%d!=%fn”,n,p)

14、; 運(yùn)行結(jié)果:input n:5 運(yùn)行結(jié)果:input n:5 5!=120.000000 5!=120.000000 5.4 for語(yǔ)句與for循環(huán) 14/35 第五章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 一、什么是循環(huán)的嵌套 一個(gè)循環(huán)體內(nèi)又包含另一個(gè)完整的循環(huán)結(jié)構(gòu),成為循環(huán)的嵌套。 while、do-while、for三種循環(huán)可以互相嵌套。 (1)while () (2) do (3) for ( ; ; ) (4)while() (5) for( ; ; ) (6) do while () do for( ; ; ) do while(); for( ; ; ) while(); while()

15、; while(); while(); 5.5 循環(huán)的嵌套 注意:循環(huán)嵌套程序在書(shū)寫(xiě)時(shí),為使得程序 結(jié)構(gòu)清晰,常采用逐層縮進(jìn)的形式,以增加 可讀性,當(dāng)然這不對(duì)程序執(zhí)行產(chǎn)生影響。 15/35 第五章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 二、循環(huán)嵌套的執(zhí)行過(guò)程 例5-6以打印九九表為例,看二重循環(huán)的執(zhí)行過(guò)程。 main() int i ,j; for(i=1;i=9;i+) for(j=1;j=9;j+) printf(“%4d”,i*j); printf(“n”); 5.5 循環(huán)的嵌套 16/35 第五章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 例5-7編寫(xiě)實(shí)現(xiàn)打印輸出一個(gè)星花三角形圖案 /*打印一個(gè)簡(jiǎn)單圖形*/

16、#define N 5 main() int i , j , k; for(i=1;i=N;i+) for(j=1;j=N-i;j+)printf(“”);/*控制一行打幾個(gè)空格*/ for(k=1;k=2*i-1;k+)printf(“*”); /*控制一行打幾個(gè)*號(hào)*/ printf(“n”);/*一行打印結(jié)束回車(chē)換行*/ 5.5 循環(huán)的嵌套 17/35 第五章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 第六節(jié)幾個(gè)無(wú)條件控制語(yǔ)句在循環(huán)中的控制 C語(yǔ)言提供了三種無(wú)條件控制語(yǔ)句:break , continue , goto, 他們分別是中斷語(yǔ)句,后續(xù)語(yǔ)句,無(wú)條件轉(zhuǎn)移語(yǔ) 句。 一、break語(yǔ)句 功能:從s

17、witch結(jié)構(gòu)或包含它的內(nèi)層循環(huán)結(jié)構(gòu)中跳出。 它只能用于switch語(yǔ)句和循環(huán)語(yǔ)句中。在循環(huán)結(jié)構(gòu)中 它被用來(lái)跳出循環(huán)體,提前結(jié)束循環(huán),把流程無(wú)條件 轉(zhuǎn)到該循環(huán)結(jié)構(gòu)的后續(xù)語(yǔ)句去執(zhí)行。 18/35 第五章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 例5-8求200300之間的全部素?cái)?shù)。 #include”math.h” main() int m,i,k; for(m=201;m=300;m=m+2) k=sqrt(m); for(i=2;ik) printf (“%d is a prime numbern”,m); 注意:break語(yǔ)句的作用是提前結(jié)束它所在的那個(gè)循環(huán)。 第六節(jié)幾個(gè)無(wú)條件控制語(yǔ)句在循環(huán)中的控制

18、19/35 第五章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 第六節(jié)幾個(gè)無(wú)條件控制語(yǔ)句在循環(huán)中的控制 Continue語(yǔ)句 功能:結(jié)束本輪循環(huán),即跳過(guò)循環(huán)體中它下面的語(yǔ)句, 然后重新判斷是否進(jìn)行下一輪循環(huán),continue語(yǔ)句只 適用于循環(huán)語(yǔ)句中。 注意:continue語(yǔ)句和break語(yǔ)句的區(qū)別在于,continue 語(yǔ)句只結(jié)束本輪循環(huán),并未終止整個(gè)循環(huán)的執(zhí)行; break則是結(jié)束包含它的整個(gè)循環(huán),轉(zhuǎn)到該循環(huán)的后續(xù) 語(yǔ)句去執(zhí)行。 20/35 第五章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 第六節(jié)幾個(gè)無(wú)條件控制語(yǔ)句在循環(huán)中的控制 例5-8求100200之間和500700之間能被9除盡的數(shù),每行打 印11個(gè)數(shù)。 main

19、() int n , j=0; for(n=100;n200 j=0; 21/35 第五章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 第六節(jié)幾個(gè)無(wú)條件控制語(yǔ)句在循環(huán)中的控制 goto語(yǔ)句 語(yǔ)句形式:goto標(biāo)識(shí)符; 語(yǔ)句功能:無(wú)條件跳到標(biāo)識(shí)符所指的語(yǔ)句去執(zhí)行。其中標(biāo)識(shí)符是語(yǔ)句標(biāo)號(hào)的符 號(hào)名,代表語(yǔ)句的地址,是要跳轉(zhuǎn)的目的地。 主要用途: 1、和if語(yǔ)句配合構(gòu)成循環(huán)結(jié)構(gòu)。 例5-10求1100之間的奇數(shù)和,即求1+3+5+99 main() int i =1;sum=0; loop:sum=sum+i; i=i+2; if(i100) goto loop; Printf(“sum=%dn”,sum); 運(yùn)行結(jié)

20、果:sum=2500 其實(shí)完全可以改寫(xiě)為while,do-while,for循環(huán),而且更簡(jiǎn)單直觀,if 和goto雖然 可以但不常用。 22/35 第五章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 第六節(jié)幾個(gè)無(wú)條件控制語(yǔ)句在循環(huán)中的控制 2、利用goto語(yǔ)句可以直接從多層循環(huán)中退出來(lái)。 例5-11某幼兒園要用100元買(mǎi)100件玩具,若一只熊貓10元,一只 小狗3元,一只小雞0.5元,問(wèn)三種玩具各買(mǎi)多少只(找到一組 解即可)? main() int x,y,z; for(x=1;x=5;x+) for (y=1;y=1e-5); printf(“迭代次數(shù)=%dt方程的根=%6.2fn”,n,x); 運(yùn)行結(jié)果:

21、 迭代次數(shù):5 方程的根=2.00 26/35 第五章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 第七節(jié)循環(huán)結(jié)構(gòu)程序設(shè)計(jì)的方法及應(yīng)用 例5-14輸出fibonacci數(shù)列1,1,2,3,5,8,13.的前42個(gè)數(shù)。 這個(gè)數(shù)列的規(guī)律是:前兩個(gè)數(shù)是1,第三個(gè)數(shù)開(kāi)始是前 兩個(gè)數(shù)之和。 # define N 42 main() long a=1,b=1; int i; for(i=1;i=N/2;i+) printf(“%10ld%10ld”,a,b); if (i%3=0)printf(“n”); a=b+a;b=a+b; 27/35 第五章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 第七節(jié)循環(huán)結(jié)構(gòu)程序設(shè)計(jì)的方法及應(yīng)用 運(yùn)行結(jié)

22、果: 1 1 2 3 5 8 13 21 34 55 89 144 . . . . . . . . . . . . 24157817 39088169 . . . . 28/35 第五章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 1下面程序段的輸出結(jié)果是( ) for(i=1;i3;i+) for(j=1;j=A) printf( %c , ch) ; ch; i+; if(i%5= =0) printf( n) ; (2013.7閱讀分析題5分) YXRQP ONMLK JIHGF EDCBA 5請(qǐng)寫(xiě)出下面程序的運(yùn)行結(jié)果。 # include stdio. h int main(void) int i,n

23、; for(i=10;i15 ; i+=4) n=i- 4 ; printf( n% d, % dtgcd= % dn ,i,n,gcd(i, n) ); return 0; int gcd(int a, int b) int t; while(b) t=a%b;a=b;b=t; return a; (2013.7閱讀分析題5分) 10,6gcd=2 14,10gcd=2 30/35 第五章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 6對(duì)do.while(表達(dá)式);結(jié)構(gòu)的循環(huán),下面說(shuō)法正確的是( )(2013.4單選題) A當(dāng)表達(dá)式的值為非0時(shí)不執(zhí)行循環(huán)體 B.循環(huán)體僅被執(zhí)行一次 C當(dāng)表達(dá)式的值為0時(shí)循環(huán)體

24、一次也不執(zhí)行 D.循環(huán)體至少被執(zhí)行一次 7若int x=0;則while(x= =0);的循環(huán)次數(shù)是( )(2013.4單選題) A.0 B.1 C.2 D.無(wú)限次 8下面程序段執(zhí)行后產(chǎn)生死循環(huán)的有( )(2013.4多選題) A.while(x=0); B.while(x=1); C.do循環(huán)體while(x=1); D.for(x=1;x+); E.for(x=1;xy) t=x;x=y;y=t; while(r=y%x)!=0) y=x;x=r; printf(“x=%dn”,x); (2013.4閱讀分析題5分) 問(wèn):(1)程序的輸出結(jié)果是什么? (2)該程序的功能是什么? (1) x

25、=16 (2)該程序的功能是求兩 個(gè)整數(shù)的最大公約數(shù) 31/35 第五章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì)10執(zhí)行while(表達(dá)式)結(jié)構(gòu)循環(huán)的條件是( )(2012.7單選題) A當(dāng)表達(dá)式的值為0時(shí) B僅當(dāng)表達(dá)式的值為l時(shí) C當(dāng)表達(dá)式的值為非0時(shí)D當(dāng)表達(dá)式的值不為1時(shí) 11下面程序段的輸出結(jié)果是(2012.7單選題) a=100; while (a120) a= a + l; printf (“%d”, a); ( ) A.100 B101 C120D.121 C A 12.若所用變量已正確定義,以下各程序段執(zhí)行后,變量x值相等的有( ) (2012.7多選題) Ax=0; Bx=0;i=0; C

26、for(i=0;i5; i + +) for (i=0;i=3;i + +) while(i3) x=i+x; x=i+x; x=i+x; i + +; Dx=0;i=0; Ei=0;x=0; lop: x=i+x; do x=x+i;i=i+1; i+ +; while(i=3); if ( i =3) goto lop; ADE 32/35 第五章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 13.請(qǐng)用for循環(huán)實(shí)現(xiàn)下面程序段的功能。 char ch=Z; while(ch=A) printf(%c,ch); ch; (2012.7閱讀分析題) for(ch=Z;ch=A;ch-) printf(%c,c

27、h); 14.寫(xiě)出下面程序的運(yùn)行結(jié)果。 void main ( void) int a = l , y ; while(a10) y=a + l; printf(%d,%dn, a , y); a + = 2; (2012.7閱讀分析題) 1,2 3,4 5,6 7,8 9,10 15下面程序段的循環(huán)次數(shù)是( ) int k=2; while(k= =0) printf (d,k); k-;printf (n);(2012.4單選題) A0次 B1次 C2次 D無(wú)限次 16下面程序段的輸出結(jié)果是( ) for(i=1;i3;i+) for(j=1;j3;j+) printf(d”,i+j);(2012.4單選題) A2 3 3 4 B2 3 4 C2 3 D2 3 4 3 4 17下面循環(huán)語(yǔ)句中,沒(méi)有“無(wú)限循環(huán)”錯(cuò)誤 的循環(huán)語(yǔ)句有 ( )(2012.4多選題) Afor(;); Bfor(i=1;i10;i+); Cwhile(1); Dwhile(0); Edo循環(huán)體)while(1); A A BD 33/35 第五章 循環(huán)語(yǔ)句與循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 18將下面for循環(huán)的程序段,用含while循環(huán)的程序段實(shí)現(xiàn)。(2012.4簡(jiǎn)答題4分) for(s=0,i

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論