版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第5章循環(huán)結(jié)構(gòu)的編程,5.1為什么需要循環(huán)控制,5.2使用while語句的循環(huán),5.3使用do - while語句的循環(huán),5.4使用for語句的循環(huán),5.5循環(huán)的嵌套,5.6幾個循環(huán)的比較,5.7改變循環(huán)執(zhí)行的狀態(tài),5.8循環(huán)程序的例子,5.1為什么需要循環(huán)控制,在日常生活中或在程序處理的問題中,我們經(jīng)常會遇到需要反復(fù)處理的問題。我們應(yīng)該把全班50個學(xué)生的分?jǐn)?shù)輸入電腦,計算全班50個學(xué)生的平均分?jǐn)?shù),找出30個整數(shù)的和。老師應(yīng)該檢查30名學(xué)生的分?jǐn)?shù)是否合格。1.while語句的一般形式如下:while (expression)語句、循環(huán)體一般是一個復(fù)合語句,需要添加或不添加,執(zhí)行到第一個語句;結(jié)
2、尾,有三種形式的循環(huán)。1.while語句的一般形式如下:while語句、執(zhí)行循環(huán)語句時為“真”,不執(zhí)行時為“假”,循環(huán)條件表達(dá)式,while循環(huán)的特點(diǎn)是:先判斷條件表達(dá)式,再執(zhí)行循環(huán)語句;2.用do - while語句實(shí)現(xiàn)循環(huán)do -。do - while語句的特點(diǎn)是:首先無條件執(zhí)行循環(huán),然后判斷循環(huán)條件是否有效。3.for語句不僅可以在確定循環(huán)數(shù)時使用,而且可以在循環(huán)數(shù)不確定且只給出循環(huán)結(jié)束條件時使用。for語句可以完全替換while語句。for語句的一般形式是for(表達(dá)式1;表達(dá)式2;表達(dá)式3)語句,設(shè)置初始條件并只執(zhí)行一次。您可以為零、一個或多個變量設(shè)置初始值,for語句的一般形式是f
3、or(表達(dá)式1;表達(dá)式2;表達(dá)式3)語句,循環(huán)條件表達(dá)式,用于確定是否繼續(xù)循環(huán)。每次在執(zhí)行循環(huán)體之前執(zhí)行此表達(dá)式,以決定是否繼續(xù)執(zhí)行循環(huán)。for語句的一般形式是for(表達(dá)式1;表達(dá)式2;表達(dá)式3),作為循環(huán)調(diào)節(jié)器,例如,增加循環(huán)變量的值,這是在循環(huán)體被執(zhí)行之后執(zhí)行的。for語句的執(zhí)行過程:(1)首先求解表達(dá)式1 (2)求解表達(dá)式2,如果其值為真,則執(zhí)行循環(huán)體,然后執(zhí)行以下步驟(3)。如果為假,則結(jié)束循環(huán),轉(zhuǎn)到步驟(5) (3)求解表達(dá)式3 (4),并返回到上述步驟(2)繼續(xù)執(zhí)行(5)循環(huán)結(jié)束,并執(zhí)行for語句下面的語句。循環(huán)的三個元素:循環(huán)變量給定初始值,循環(huán)結(jié)束條件,在示例5.1中,找到1
4、 2 3 100,即問題解決思路:這是一個累加問題。需要將100個數(shù)字一個接一個地相加,相加操作需要重復(fù)100次。如果最后一個數(shù)是前一個數(shù)加1,那么下一個數(shù)可以通過將1加1到I、#include int main() int i=1,sum=0得到;而(I=100)sum=sum I;I .printf(sum=%dn,sum);返回0;復(fù)合語句,不能小于,#include int main() int i=1,sum=0;而(I=100)sum=sum I;I .printf(sum=%dn,sum);返回0;不能丟失,否則循環(huán)永遠(yuǎn)不會結(jié)束。5.3使用do - while語句實(shí)現(xiàn)循環(huán)。示例5
5、.2使用dowhile語句查找:1 2 3 100,即#include int main() int i=1,sum=0;do sum=sum I;I .而(I=100);printf(sum=%dn,sum);返回0;示例5.3 while和do - while循環(huán)的比較。,int i,sum=0;printf(“I=?”);scanf(%d ,int i,sum=0;printf(“I=?”);scanf(“% d”),當(dāng)while之后的表達(dá)式的第一個值為“真”時,兩個循環(huán)得到相同的結(jié)果;否則,情況就不同了。5.4使用for語句實(shí)現(xiàn)循環(huán),for(I=1;i=100I)sum=sum I;相
6、當(dāng)于i=1。而(I=100)sum=sum I;I .使用for語句更簡單、更方便。5.4使用for語句實(shí)現(xiàn)循環(huán),for(表達(dá)式1;表達(dá)式2;表達(dá)式3)語句,可以省略一個或兩個或三個表達(dá)式、5.4使用for語句實(shí)現(xiàn)循環(huán),for(sum=0;i=100I)sum=sum I;與循環(huán)變量無關(guān),并且是合法的。5.4使用for語句實(shí)現(xiàn)循環(huán),for(sum=0,I=1;i=100I)sum=sum I;逗號表達(dá)式是合法的,對于(i=0,j=100I=j;I,j-)k=I j;5.4使用for語句實(shí)現(xiàn)循環(huán),for(I=0;(c=getchar()!=n。I=c);合法,為(;(c=getchar()!=n
7、。)printf(%c,c);1.如果I和k是int變量,那么對于(i=0,k=-1;k=1;k)printf(* * * * * * n);以下關(guān)于語句執(zhí)行的陳述是正確的:a)循環(huán)體被執(zhí)行兩次b)循環(huán)體被執(zhí)行一次c)循環(huán)體不被執(zhí)行一次D)形成一個無限循環(huán),D,2,包括main() char b,c;int I;b=a;c=A;對于(I=0;i6;I)如果(I % 2)put char(I b);else put char(I c);printf(n);程序運(yùn)行后的輸出結(jié)果是a)abcdef b)abcdef c)abcdef d)abcdef,b,3。有以下程序段#包括main()和getc
8、har()!=n);下列說法是正確的:a)這份聲明將無限期分發(fā);B) getchar()不能出現(xiàn)在while語句的條件表達(dá)式中;c)當(dāng)執(zhí)行這個while語句時,程序只能通過按回車鍵繼續(xù)執(zhí)行;d)當(dāng)執(zhí)行這個while語句時,程序可以通過按任意鍵繼續(xù)執(zhí)行;C,4。有以下程序#包括main() int x=1,y=0如果(!x)y;否則如果(x=0)如果(x)y=2;否則y=3;printf(%dn,y);程序運(yùn)行后,輸出結(jié)果是a) 3 b) 2 c) 1 d) 0,d,5。下列程序包括main()int a=1,b=2;而(a6)b=a;a=2;b=10printf(d,dn ,a,b);程序運(yùn)行
9、后的輸出結(jié)果是a) 5,11b) 7,1c) 7,11d) 6,1,b,6。有以下程序#包括void main()int y=10;而(y-);printf(y=%dn,y);程序執(zhí)行后的輸出結(jié)果是A)y=0B)y=-1C)y=1D),同時形成一個無限循環(huán),B,7。有以下程序#包括void main() int x,y;Scanf (-,程序運(yùn)行時輸入:1234567。程序運(yùn)行結(jié)果為。,15,8,用下面的程序#include main() int c=0,k;對于(k=1;k3;k)開關(guān)(k)默認(rèn):c=k;案例2: c;打破;案例4: c=2;打破;printf(“% dn”,c);程序運(yùn)行后
10、,輸出結(jié)果是A)3 B)5 C)7 D)9,a9。有以下程序#包括main() int n=2,k=0;而(k程序運(yùn)行后,輸出結(jié)果是a) 0 2 b) 1 3 c) 5 7 d) 1 2,d,10。有以下定義語句。編譯時,會出現(xiàn)編譯錯誤:A)字符a=ab)char a=n;c)char a=aa;D)char a=x2d。C,11,有以下程序#包括main() char c1,C2;C1=A8-4;C2=A8-5;printf(%c,%dn ,c1,C2);眾所周知,字母A的ASCII碼是65,程序運(yùn)行后的輸出結(jié)果是A)E,68 B)D,69 C)E,D)沒有固定值,A,12。以下程序運(yùn)行后的
11、輸出結(jié)果是 #include main() int a=1,b=7;do b=b/2;a=b;而(B1);printf(“% dn”,a);5,13,有以下程序#包括main() int f,f1,f2,I;f1=0;F2=1;printf(“% d % d”,f1,F(xiàn)2);對于(I=3;I=5;I)f=f1 F2;printf(“% d”,f);f1=f2F2=f;printf( n );程序運(yùn)行后,輸出結(jié)果為,0 1123,14。假設(shè)變量已被正確定義,下列不能計算一行中輸入字符數(shù)(不包括回車)的程序段是A)n=0;而(ch=getchar()!=n)n;b)n=0;while(getcha
12、r()!=n)n;c)對于(n=0;getchar()!=n。n);d)n=0;for(ch=getchar();ch!=n。n);D,15。當(dāng)下列程序運(yùn)行時,如果輸入labcedf2df輸出為 #includemain()chara=0,ch;而(ch=getchar()!=n)if(a%2!=0,1 abcedf2df,16。下列不構(gòu)成無限循環(huán)的語句或語句組是A)n=0;b)n=0;do n;而(n=0);而(1)n;c)n=10;d)對于(n=0,I=1;I)n=I;而(n);n-;a,5.5循環(huán)的嵌套,一個循環(huán)包含另一個完整的循環(huán)結(jié)構(gòu),而被稱為循環(huán)的嵌套嵌入循環(huán)也可以嵌套循環(huán),即多層循
13、環(huán),三個循環(huán)(while循環(huán),dowhile循環(huán)和for循環(huán))可以相互嵌套,5.5循環(huán)的嵌套,示例:編寫程序輸出以下圖形:1111111111222223333333333333444455555555555555555555555555555555555555555555555555555555555555555555555對于(I=1;I=9;I)對于(j=1;j=9;j ) printf(%d,I);printf(n);返回0;111111111 2222222222 33333333 44444444 55555555 6666667777777888888889999999,#inc
14、lude int main() int i,j;對于(I=1;I=9;I)對于(j=1;j=9;j ) printf(%d,I);printf(n);返回0;1 22 333 4444 55555 666666 777777 8888888 99999999、#包括int main() int i,j;對于(I=1;I=9;I)對于(j=1;j ) printf(%d,I);printf(n);返回0;j=I,1 22 333 4444 55555 66666 777777 888888999999,1。下列程序中的變量已正確定義(I=0;i4;I,I)為(k=1;k3;k);printf(
15、* );程序段的輸出結(jié)果是a)* * * * * * * * b)* * * * c)* * d)*、d、2。有以下程序#包括main() int i,j;對于(I=3;I=1;i -)表示(j=1;j=2;j ) printf(%d,I j);printf(n);程序運(yùn)行結(jié)果為()。45 34 23,3。以下程序的輸出結(jié)果是。#包括main() int i,j,sum對于(I=3;I=1;I-)sum=0;對于(j=1;j=i。j)總和=I * j;printf(%dn,sum);幾種循環(huán)的比較(1)通常,三種循環(huán)可以相互替換(2)在while和do - while循環(huán)中,循環(huán)體應(yīng)該包含使循環(huán)結(jié)束的語句。(3)當(dāng)使用while和do-while循環(huán)時,循環(huán)變量的初始化應(yīng)該在while和do-while語句之前完成。for語句可以初始化表達(dá)式1中的循環(huán)變量。5.7改變循環(huán)執(zhí)行的狀態(tài)5.7.1用中斷語句提前結(jié)束循環(huán)5.7.2用繼續(xù)語句提前結(jié)束循環(huán)5.7.3中斷語句和繼續(xù)語句之間的差異5.7.1用中斷語句提前結(jié)束循環(huán),中斷語句可用于跳出循環(huán)體,即提前結(jié)束循環(huán)。然后執(zhí)行循環(huán)下面的語句,5.7.1用break語句提前結(jié)束循環(huán),5.4在
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年上海外國語大學(xué)中阿改革發(fā)展研究中心行政管理人員招聘備考題庫及一套完整答案詳解
- 2026年嵩明縣嵩陽一中公開招聘化學(xué)臨聘教師備考題庫及答案詳解一套
- 2026年蘭州備考題庫科技學(xué)院招募外籍教師附答案詳解
- 2026年內(nèi)蒙古交通集團(tuán)有限公司社會化公開招聘備考題庫及完整答案詳解1套
- 財務(wù)完善內(nèi)控制度
- 紀(jì)工委內(nèi)控制度
- 安監(jiān)部內(nèi)控制度
- 基建裝修內(nèi)控制度
- 財務(wù)報告內(nèi)控制度
- 廉政風(fēng)險內(nèi)控防控制度
- DB11T 381-2023 既有居住建筑節(jié)能改造技術(shù)規(guī)程
- 計算機(jī)應(yīng)用數(shù)學(xué)基礎(chǔ) 教學(xué) 作者 王學(xué)軍 計算機(jī)應(yīng)用數(shù)學(xué)課件 第10章 圖論
- DF6205電能量采集裝置用戶手冊-2
- 缺血性腦卒中靜脈溶栓護(hù)理
- 電子電路基礎(chǔ)-電子科技大學(xué)中國大學(xué)mooc課后章節(jié)答案期末考試題庫2023年
- 四年級科學(xué)上冊期末試卷及答案-蘇教版
- 懷仁縣肉牛養(yǎng)殖產(chǎn)業(yè)化項(xiàng)目可行性研究報告
- DB51T 2875-2022彩燈(自貢)工藝燈規(guī)范
- 主要負(fù)責(zé)人重大危險源安全檢查表
- 《工程經(jīng)濟(jì)學(xué)》模擬試題答案 東北財經(jīng)大學(xué)2023年春
- 2023-2024學(xué)年廣西壯族自治區(qū)來賓市小學(xué)數(shù)學(xué)五年級下冊期末自測試卷
評論
0/150
提交評論