资源描述
第六章 循环控制6.1概述6.2 go to 语句格式: go to 语句标号; 语句标号:语句标号是标识符。Goto 123 不合法。注意:1、破坏结构化程序设计 2、不能从循环体外goto循环体内。 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 (表达式)语句;或 while (表达式) 复合 语句;main()int i,sum=0;i=1;while (i=100)sum=sum+i;i+;printf(%d,sum);6.4 do- while语句do 循环体语句while (表达式);表达式为0结束。例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 语句for (表达式1;表达式2;表达式3) 语句;或for (循环变量赋初值;循环条件;循环变量增值) 复合语句;例 如main()int i,sum=0;for (i=1;i=100;i+) sum=sum+i;printf(sum=%d,sum);省略表达式1省略表达式2省略表达式3省略表达式1、3省略表达式1、2、3例 651表达式1、3可为逗号表达式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=0;(c=getchar()!=n;i+=c); printf(%d,i);例653#include stdio.hmain()char c;for (;(c=getchar()!=n;) printf(%c,c); 能改动一下将输入的大写字母改为小写吗?6.6 循环的嵌套例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,i,j,k); 如何改动统计打印次数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几种循环的比较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整除的数输出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是否是素数#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);else printf(%d is not a prime numbern,m);例6.9 求100200之间的全部素数#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,*);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: case e: caseE: case i: caseI: case o: caseO: case u: caseU:i+;default:j+;printf(“%d,%dn”,i,j);当输入Create a ASIA# 时,该程序的运行结果为: 2、以下程序段-。x=0;dox=x&x;while(x);(A) 是无限循环 (B)循环执行二次(C)循环执行一次 (D)不循环 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);
展开阅读全文