《C++程序設(shè)計(jì):第六章 循環(huán)控制》由會(huì)員分享,可在線閱讀,更多相關(guān)《C++程序設(shè)計(jì):第六章 循環(huán)控制(27頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、第六章 循環(huán)控制6.1概述6.2 go to 語句格式: go to 語句標(biāo)號(hào); 語句標(biāo)號(hào):語句標(biāo)號(hào)是標(biāo)識(shí)符。Goto 123 不合法。注意:1、破壞結(jié)構(gòu)化程序設(shè)計(jì) 2、不能從循環(huán)體外goto循環(huán)體內(nèi)。 3、一般與if 語句一起使用。例6.1 用if 語句和goto 語句求 main() int i,sum=0; i=1;loop:sum=sum+i; i+; goto loop; printf(“%d”,sum);6.3 while語句 while (表達(dá)式)語句;或 while (表達(dá)式) 復(fù)合 語句;main()int i,sum=0;i=1;while (i=100)sum=sum+i
2、;i+;printf(%d,sum);6.4 do- while語句do 循環(huán)體語句while (表達(dá)式);表達(dá)式為0結(jié)束。例6。3main()int i,sum=0;i=1;do sum=sum+i;i+;while (i=100);printf(%d,sum);main()int i,sum=0;scanf(%d,&i);do sum=sum+i;i+;while (i=10);printf(sum=%d,sum);main()int i,sum=0;scanf(%d,&i);while (i=10) sum=sum+i;i+;printf(sum=%d,sum);6.5 for 語句fo
3、r (表達(dá)式1;表達(dá)式2;表達(dá)式3) 語句;或for (循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增值) 復(fù)合語句;例 如main()int i,sum=0;for (i=1;i=100;i+) sum=sum+i;printf(sum=%d,sum);省略表達(dá)式1省略表達(dá)式2省略表達(dá)式3省略表達(dá)式1、3省略表達(dá)式1、2、3例 651表達(dá)式1、3可為逗號(hào)表達(dá)式main()int i,j,k;for (i=0,j=100,k=0;i=j;i+,j-) k=k+i+j;printf(k=%d,k);例652for 為空語句#include stdio.hmain()int i;char c;for (i=
4、0;(c=getchar()!=n;i+=c); printf(%d,i);例653#include stdio.hmain()char c;for (;(c=getchar()!=n;) printf(%c,c); 能改動(dòng)一下將輸入的大寫字母改為小寫嗎?6.6 循環(huán)的嵌套例661main()int i,j,k;for (i=0;i3;i+)for (j=0;j4;j+)k=i+j;printf(%3d%3d%3dn,i,j,k);例662main()int i,j,k;for (i=0;i3;i+)for (j=0;j4;j+)for (k=0;k5;k+)printf(%3d%3d%3dn
5、,i,j,k); 如何改動(dòng)統(tǒng)計(jì)打印次數(shù)n?例663main()int i,j,k,n=0;for (i=0;i3;i+)for (j=0;j4;j+)for (k=0;k5;k+)n+;printf(%3d%3d%3dn,i,j,k);printf(%dn,n);6.7幾種循環(huán)的比較6.8 break語句和continue 語句6.8.1 break語句 例如681#define PI 3.14main()int r;float area;for (r=1;r100) break;printf(%8.4f,area);6.8.2 continue 語句例6.5把100200之間的不能被3整除的
6、數(shù)輸出main()int n;for (n=100;n=200;n+)if(n%3=0)continue;printf(%4d,n);main()long int f1,f2;int i;f1=1;f2=1;for (i=1;i=20;i+)printf(%12ld %12ld,f1,f2);if (i%2=0) printf(n);f1=f1+f2;f2=f2+f1;例6.8 判斷m是否是素?cái)?shù)#include math.hmain()int m,i,k;scanf(%d,&m);k=sqrt(m);for (i=2;i=k+1) printf(%d is a prime numbern,m)
7、;else printf(%d is not a prime numbern,m);例6.9 求100200之間的全部素?cái)?shù)#include math.hmain()int m,i,k,n=0;for(m=101;m=200;m+=2)k=sqrt(m);for (i=2;i=k+1) printf(%d,m);n+;if(n%10=0) printf(n); printf(n);例6.9 譯密碼例614main()int i,j,k;for (i=1;i=5;i+)for (j=1;j=40-i;j+)printf(%c, );for (k=1;k=2*i-1;k+)printf(%c,*);
8、printf(n);例6141main()int i,j,k;for (i=1;i=5;i+)for (j=1;j=40-i;j+)printf(%c, );for (k=1;k=2*i-1;k+)printf(%c,*);printf(n);for (i=1;i=4;i+)for (j=1;j=35+i;j+)printf(%c, );for (k=1;k=9-2*i;k+)printf(%c,*);printf(n);1、#include main()int i=0,j=0;char ch;while (ch=getchar()!=# );switch(ch) case a: caseA:
9、 case e: caseE: case i: caseI: case o: caseO: case u: caseU:i+;default:j+;printf(“%d,%dn”,i,j);當(dāng)輸入Create a ASIA# 時(shí),該程序的運(yùn)行結(jié)果為: 2、以下程序段-。x=0;dox=x&x;while(x);(A) 是無限循環(huán) (B)循環(huán)執(zhí)行二次(C)循環(huán)執(zhí)行一次 (D)不循環(huán) 3、#include #define x 5678long int fff(long int m) long int i,n=0; while (m0) i=m%10; n=n*10+i; m=m/10; return(n); main()long int n; n=fff(x); printf(%ldn,n);