6.第六章 循環(huán)控制
《6.第六章 循環(huán)控制》由會(huì)員分享,可在線閱讀,更多相關(guān)《6.第六章 循環(huán)控制(38頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、實(shí)驗(yàn)實(shí)驗(yàn)2-22-2:將輸入的百分之的分?jǐn)?shù),按下列分?jǐn)?shù)段:將輸入的百分之的分?jǐn)?shù),按下列分?jǐn)?shù)段輸出等級(jí)輸出等級(jí)(要求要求:使用使用switch)switch)main()main()intint score;score;scanf(%d,&scorescanf(%d,&score););score=score/10;score=score/10;/*1*/*1*/switch(score)switch(score)case 10:printf(The grade is A);break;case 10:printf(The grade is A);break;case 9:printf(The
2、grade is A);break;case 9:printf(The grade is A);break;/*2*/*2*/case 8:printf(The grade is B);break;case 8:printf(The grade is B);break;case 7:printf(The grade is C);break;case 7:printf(The grade is C);break;case 6:printf(The grade is D);break;case 6:printf(The grade is D);break;default:printf(Thedef
3、ault:printf(The grade is E);grade is E);/*3*/*3*/實(shí)驗(yàn)實(shí)驗(yàn)2-32-3:從鍵盤輸入三個(gè)數(shù):從鍵盤輸入三個(gè)數(shù),分別代表三條線斷的分別代表三條線斷的長(zhǎng)度長(zhǎng)度.編程實(shí)現(xiàn)判斷是否能組成三角形編程實(shí)現(xiàn)判斷是否能組成三角形,及類型及類型.輸入輸入a,b,c的值的值 a+bc&b+ca&c+aba+bc&b+ca&c+ab是是 否否打印打印“能組成三角形能組成三角形”打印打印“不不能組成三能組成三角形角形”是是 a=b&b=c a=b&b=c 否否打印打印“是等邊是等邊三角形三角形”a*a+b*b=c*c|a*a+b*b=c*c|a*a+c*c=b*b|.a*
4、a+c*c=b*b|.是是 否否打印打印“是直角是直角三角形三角形”打印打印“是一般三是一般三角形角形”main()main()intint a,b,c;a,b,c;scanf(%d,%d,%d,&a,&b,&cscanf(%d,%d,%d,&a,&b,&c););if(a+bc&b+ca&c+ab)if(a+bc&b+ca&c+ab)printf(“Canprintf(“Can get a triangle.n);get a triangle.n);if(a=b&b=c)if(a=b&b=c)printf(“Itprintf(“It is a equal-triangle.n);is a e
5、qual-triangle.n);else else if(a*a+b*b=c*c|a*a+c*c=b*b|b*b+c*c=a*a)if(a*a+b*b=c*c|a*a+c*c=b*b|b*b+c*c=a*a)printf(“Itprintf(“It is a right-angle triangle.n);is a right-angle triangle.n);else else printf(“Itprintf(“It is a ordinary triangle.n);is a ordinary triangle.n);elseelse printf(“Sorry!Cannotprin
6、tf(“Sorry!Cannot get a triangle.n);get a triangle.n);main()main()intint a,b,c;a,b,c;scanf(%d,%d,%d,&a,&b,&cscanf(%d,%d,%d,&a,&b,&c););if(a+bc&b+ca&c+ab)if(a+bc&b+ca&c+ab)printf(“Canprintf(“Can get a triangle.n);get a triangle.n);if(a=b&b=c)if(a=b&b=c)printf(“Itprintf(“It is a equal-triangle.n);is a
7、equal-triangle.n);else else if(a*a+b*b=c*c|a*a+c*c=b*b|b*b+c*c=a*a)if(a*a+b*b=c*c|a*a+c*c=b*b|b*b+c*c=a*a)printf(“Itprintf(“It is a right-angle triangle.n);is a right-angle triangle.n);else else printf(“Itprintf(“It is a ordinary triangle.n);is a ordinary triangle.n);else else printf(“Sorry!Cannotpr
8、intf(“Sorry!Cannot get a triangle.n);get a triangle.n);第六章第六章 循環(huán)控制循環(huán)控制 循環(huán)結(jié)構(gòu)有兩種形式:循環(huán)結(jié)構(gòu)有兩種形式:當(dāng)型循環(huán)和直到型循環(huán)當(dāng)型循環(huán)和直到型循環(huán)當(dāng)型循環(huán)和直到型循環(huán)當(dāng)型循環(huán)和直到型循環(huán)。下面分別是下面分別是當(dāng)型循環(huán)結(jié)構(gòu)當(dāng)型循環(huán)結(jié)構(gòu)當(dāng)型循環(huán)結(jié)構(gòu)當(dāng)型循環(huán)結(jié)構(gòu)的傳統(tǒng)流程圖和的傳統(tǒng)流程圖和N-S流程圖表示。流程圖表示。直到型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu)的傳統(tǒng)流程圖和的傳統(tǒng)流程圖和N-S流程圖表示流程圖表示:v goto語(yǔ)句構(gòu)成循環(huán)語(yǔ)句構(gòu)成循環(huán)v while語(yǔ)句語(yǔ)句v do-while 語(yǔ)句語(yǔ)句v for
9、 語(yǔ)句語(yǔ)句在在C語(yǔ)言中以下語(yǔ)句可以用來實(shí)現(xiàn)循環(huán)結(jié)構(gòu):語(yǔ)言中以下語(yǔ)句可以用來實(shí)現(xiàn)循環(huán)結(jié)構(gòu):v goto語(yǔ)句構(gòu)成循環(huán)語(yǔ)句構(gòu)成循環(huán)一般形式:一般形式:gotogoto 語(yǔ)句標(biāo)號(hào);語(yǔ)句標(biāo)號(hào);例例6.1:6.1:求求1+2+3+4+1001+2+3+4+100main()main()intint i=1,sum=0;i=1,sum=0;loop:if(i=100)loop:if(i=100)sum=sum+i;sum=sum+i;i+;i+;gotogoto loop;loop;printf(“%d”,sumprintf(“%d”,sum););v while語(yǔ)句語(yǔ)句一般形式:一般形式:while(表達(dá)
10、式表達(dá)式)語(yǔ)句語(yǔ)句例例6.2:6.2:求求1+2+3+4+1001+2+3+4+100main()main()intint i=1,sum=0;i=1,sum=0;while(i=100)while(i=100)sum=sum+i;sum=sum+i;i+;i+;printf(“%d”,sumprintf(“%d”,sum););開始開始sum=0i=1i=100NYsum=sum+ii=i+1結(jié)束結(jié)束v do-while 語(yǔ)句語(yǔ)句一般形式:一般形式:do 循環(huán)體語(yǔ)句循環(huán)體語(yǔ)句 while(表達(dá)式表達(dá)式);例例6.3:6.3:求求1+2+3+4+1001+2+3+4+100main()main
11、()intint i=1,sum=0;i=1,sum=0;do do sum=sum+i;sum=sum+i;i+;i+;while(i=100);while(i=100);printf(“%d”,sumprintf(“%d”,sum););開始開始Sum=0i=1i100 N-S 流程圖流程圖v for 語(yǔ)句語(yǔ)句一般形式:一般形式:for(表達(dá)式表達(dá)式1;表達(dá)式表達(dá)式2;表達(dá)式表達(dá)式3)循環(huán)體循環(huán)體例例6.4:6.4:求求1+2+3+4+1001+2+3+4+100main()main()intint i,sum=0;i,sum=0;for(i=1;i=100;i+)for(i=1;i=10
12、0;i+)sum=sum+i;sum=sum+i;printf(“%d”,sumprintf(“%d”,sum););開始開始Sum=0i=100NYsum=sum+i結(jié)束結(jié)束i+i=1 N-S 流程圖流程圖Sum=0sum=sum+ii+i=100i=1v 幾種循環(huán)語(yǔ)句的比較幾種循環(huán)語(yǔ)句的比較While,for循環(huán)循環(huán):是先判斷表達(dá)式,后執(zhí)行語(yǔ)是先判斷表達(dá)式,后執(zhí)行語(yǔ)句;句;do-while循環(huán)循環(huán):是先執(zhí)行語(yǔ)句,后判斷表達(dá)是先執(zhí)行語(yǔ)句,后判斷表達(dá)式。式。2.for循環(huán)和循環(huán)和while循環(huán)可以互相代替。循環(huán)可以互相代替。而而for語(yǔ)句的功能更強(qiáng),用法更靈活。語(yǔ)句的功能更強(qiáng),用法更靈活。3.
13、while和和do-while語(yǔ)句只有當(dāng)表達(dá)式的第一語(yǔ)句只有當(dāng)表達(dá)式的第一次的值為真時(shí)才可以互相代替次的值為真時(shí)才可以互相代替習(xí)題習(xí)題1:1:求求1+2+31+2+3+20+20開始開始Sum=0i=20NYsum=sum+i結(jié)束結(jié)束i+i=1main()int i,sum=0;for(i=1;i=20;i+)sum=sum+i;printf(“%d”,sum);習(xí)題習(xí)題2:2:求求1*2*3*51*2*3*5main()int i,sum=1;for(i=1;i=5;i+)sum=sum*i;printf(“%d”,sum);開始開始Sum=1i=5NYsum=sum*i結(jié)束結(jié)束i+i=1習(xí)
14、題習(xí)題3:3:求求1*2*3*201*2*3*20main()main()intint i;i;float sum=1;float sum=1;for(i=1;i=20;i+)for(i=1;i=20;i+)sum=sum=sumsum*i;*i;printf(printf(“%f%f”,sum,sum););開始開始Sum=1i=20NYsum=sum*i結(jié)束結(jié)束i+i=1習(xí)題習(xí)題4:4:求求1*2*n1*2*n,即,即n!n!main()int i,n;float sum=1;scanf(“%d”,&n)for(i=1;i=n;i+)sum=sum*i;printf(“%f”,sum);開
15、始開始Sum=1i=5NYsum=sum*i結(jié)束結(jié)束i+i=1習(xí)題習(xí)題2:2:求求1+2+n1+2+nmain()int i,n,sum=0;scanf(“%d”,&n)for(i=1;i=n;i+)sum=sum+i;printf(“%d”,sum);開始開始Sum=1i=5NYsum=sum*i結(jié)束結(jié)束i+i=1思考思考:1:1、求、求 1+3+5+7 1+3+5+7 前前1010項(xiàng)項(xiàng) 2 2、求、求 3 3、求、求 2/1+3/2+5/3+8/52/1+3/2+5/3+8/5前前1010項(xiàng)項(xiàng)核心思想核心思想:for(;)for(;)s=?s=?sum=sum=sumsum+s;+s;1
16、1、確定循環(huán)次數(shù);、確定循環(huán)次數(shù);2 2、構(gòu)造、構(gòu)造s s項(xiàng),達(dá)到目的。項(xiàng),達(dá)到目的。習(xí)題習(xí)題5:5:求求1!+2!+n!1!+2!+n!main()int i,n;float s=1,sum=0;scanf(“%d”,&n)for(i=1;i=n;i+)s=s*i;sum=sum+s;printf(“%f”,sum);提示:提示:讓變量讓變量s依次為:依次為:1!,2!,3!用用Sum對(duì)對(duì)s進(jìn)行累加進(jìn)行累加v 循環(huán)的嵌套循環(huán)的嵌套main()main()intint i,ji,j;for(i=1;i=3;i+)for(i=1;i=3;i+)for(j=1;j=5;j+)for(j=1;j=5
17、;j+)printfprintf(“*”);(“*”);printf(nprintf(n););例例 6.4 6.4 輸出圖形輸出圖形請(qǐng)思索此條請(qǐng)思索此條請(qǐng)思索此條請(qǐng)思索此條語(yǔ)句的作用語(yǔ)句的作用語(yǔ)句的作用語(yǔ)句的作用*main()main()intint i,ji,j;for(i=1;i=5;i+)for(i=1;i=5;i+)for(j=1;j=for(j=1;j=i;ji;j+)+)printfprintf(“*”);(“*”);printf(nprintf(n););思考:思考:輸出圖形輸出圖形 呢?呢?*main()main()intint i,ji,j;for(i=1;i=5;i+)f
18、or(i=1;i=5;i+)for(j=1;j=5;j+)for(j=1;j=5;j+)printfprintf(“*”);(“*”);printf(nprintf(n););思考:思考:輸出圖形輸出圖形*main()main()intint i,ji,j;for(i=1;i=9;i+)for(i=1;i=9;i+)for(j=1;j=for(j=1;j=i;ji;j+)+)printf(“%dprintf(“%d*%d=%*%d=%d”,i,j,id”,i,j,i*j);*j);printf(nprintf(n););這種方案打印出來的九這種方案打印出來的九這種方案打印出來的九這種方案打印出
19、來的九九表是正三角九表是正三角九表是正三角九表是正三角,請(qǐng)思索請(qǐng)思索請(qǐng)思索請(qǐng)思索如何對(duì)程序修改如何對(duì)程序修改如何對(duì)程序修改如何對(duì)程序修改,以實(shí)以實(shí)以實(shí)以實(shí)現(xiàn)打印出倒三角現(xiàn)打印出倒三角現(xiàn)打印出倒三角現(xiàn)打印出倒三角!大家可以試著在紙上分大家可以試著在紙上分大家可以試著在紙上分大家可以試著在紙上分析出這一過程析出這一過程析出這一過程析出這一過程.例例 6.5 6.5 打印九九乘法表打印九九乘法表題題1.有以下程序有以下程序main()int s=0,a=1,n;scanf(%d,&n);do s+=1;a=a-2;while(a!=n);printf(“%dn”,s);若要使程序的輸出值為若要使程序
20、的輸出值為2,則應(yīng)該從鍵盤給,則應(yīng)該從鍵盤給n輸入輸入的值是的值是 A)-1 B)-3 C)-5 D)0B)題題2.執(zhí)行以下程序后,輸出執(zhí)行以下程序后,輸出#號(hào)的個(gè)數(shù)號(hào)的個(gè)數(shù)是是 。#include“stdio.h”main()int i,j;for(i=1;i5;i+)for(j=2;j=i;j+)putchar(#);6v break和和continue語(yǔ)句語(yǔ)句break:跳出當(dāng)前的跳出當(dāng)前的switch語(yǔ)句或循環(huán)語(yǔ)句或循環(huán)continue:結(jié)束本次循環(huán),循環(huán)繼續(xù)結(jié)束本次循環(huán),循環(huán)繼續(xù)例例6.6:6.6:閱讀程序,說出本程序段的作用閱讀程序,說出本程序段的作用main()main()int
21、int n;n;for(n=1;n=100;n+)for(n=1;n=100;n+)if(n%5!=0)if(n%5!=0)continue;continue;printf(“%d”,nprintf(“%d”,n););作用:求出作用:求出1-100之間所有能被之間所有能被5整除的數(shù)整除的數(shù)思考:如果思考:如果continue用用break替換呢替換呢?習(xí)題習(xí)題6 6:判斷一個(gè)輸入的值:判斷一個(gè)輸入的值m m是否為素?cái)?shù)(方法一)是否為素?cái)?shù)(方法一)讀入讀入m的值的值k=sqrt(m)i=2當(dāng)當(dāng)ik否否是是輸出:輸出:m是素?cái)?shù)是素?cái)?shù)輸出:輸出:m不是素?cái)?shù)不是素?cái)?shù)#include#include#
22、include#include main()main()intint m,i,km,i,k;scanf(%d,&mscanf(%d,&m););k=k=sqrt(msqrt(m););for(i=2;i=for(i=2;ik)if(ik)printf(printf(“%d%d is a prime is a prime numbernumber”,m,m););else else printf(printf(“%d%d is not a prime is not a prime”,m);,m);源程序源程序1 1:循環(huán)變量終值法循環(huán)變量終值法循環(huán)變量終值法循環(huán)變量終值法方法二:方法二:讀入讀入
23、m的值的值k等等于于m的平方根的平方根i=2;ip=0;當(dāng)當(dāng)i=k時(shí)循環(huán)時(shí)循環(huán)i能整除能整除m?是是否否 ip=1;用用break結(jié)束循環(huán)結(jié)束循環(huán)i+ip=0?否否是是輸出:輸出:m是素?cái)?shù)是素?cái)?shù)輸出:輸出:m不是素?cái)?shù)不是素?cái)?shù)#include#include#include#include main()main()intint m,i,k,ip=0;m,i,k,ip=0;scanf(%d,&mscanf(%d,&m););k=k=sqrt(msqrt(m););for(i=2;i=for(i=2;i=k;ik;i+)+)if(m%i=0)ip=1;break;if(m%i=0)ip=1;brea
24、k;if(ip=0)if(ip=0)printf(printf(“%d%d is a prime is a prime numbernumber”,m,m););else else printf(printf(“%d%d is not a prime is not a prime”,m);,m);源程序源程序1 1:變量標(biāo)示法變量標(biāo)示法變量標(biāo)示法變量標(biāo)示法v 幾種循環(huán)語(yǔ)句的比較幾種循環(huán)語(yǔ)句的比較1.While,for循環(huán):do-while循環(huán):開始開始設(shè)初值設(shè)初值循環(huán)條件循環(huán)條件NY循環(huán)體循環(huán)體結(jié)束結(jié)束開始開始設(shè)初值設(shè)初值循環(huán)條件循環(huán)條件NY循環(huán)體循環(huán)體結(jié)束結(jié)束是先判斷表達(dá)式,后執(zhí)行語(yǔ)句;是先判斷表達(dá)式,后執(zhí)行語(yǔ)句;是先執(zhí)行語(yǔ)句,后判斷表達(dá)式是先執(zhí)行語(yǔ)句,后判斷表達(dá)式2.for循環(huán)和while循環(huán)可以互相代替。而for語(yǔ)句的功能更強(qiáng),用法更靈活。開始開始設(shè)初值設(shè)初值循環(huán)條件循環(huán)條件NY循環(huán)體循環(huán)體結(jié)束結(jié)束While循環(huán):開始開始表達(dá)式表達(dá)式1表達(dá)式表達(dá)式2NY循環(huán)體循環(huán)體結(jié)束結(jié)束表達(dá)式表達(dá)式3for循環(huán):設(shè)初值設(shè)初值
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 春七年級(jí)數(shù)學(xué)下冊(cè)41 用表格表示的變量間關(guān)系課件4 (新版)北師大版
- pep新版五年級(jí)上冊(cè)Unit1-第4課時(shí)-B-Lets-talk課件
- 網(wǎng)絡(luò)營(yíng)銷概述課件
- 第五章生產(chǎn)物流管理課件
- 高中語(yǔ)文必修一《包身工》課件
- 幼兒園《冬爺爺?shù)暮印氛n件
- 組織結(jié)構(gòu)診斷報(bào)告
- 人教版初中語(yǔ)文課內(nèi)成語(yǔ)復(fù)習(xí)課件
- 張衡傳知識(shí)點(diǎn)歸納總結(jié)-最實(shí)用課件
- 五年級(jí)上冊(cè)英語(yǔ)ppt課件-M8U1-What-time-does-your-school-start-|外研版三起
- 農(nóng)業(yè)的區(qū)位選擇優(yōu)質(zhì)課比賽1)課件
- 高中語(yǔ)文部編版選擇性必修上冊(cè)《兼愛》課件
- 校園網(wǎng)設(shè)計(jì)方案
- 上海媒介市場(chǎng)分析課件
- 計(jì)算機(jī)網(wǎng)絡(luò)概述(第一章)課件