全国计算机二级C语言程序设计讲义循环的嵌套ppt课件_第1页
全国计算机二级C语言程序设计讲义循环的嵌套ppt课件_第2页
全国计算机二级C语言程序设计讲义循环的嵌套ppt课件_第3页
全国计算机二级C语言程序设计讲义循环的嵌套ppt课件_第4页
全国计算机二级C语言程序设计讲义循环的嵌套ppt课件_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第7 7讲讲 循环的嵌套循环的嵌套一、一、continue 语句和语句和 break 语句语句 1、continue语句语句 2、break语句语句二、循环的嵌套二、循环的嵌套三、三、goto语句语句一、一、continue 语句和语句和 break 语句语句1、continue语句语句格式:格式:continue ;功能:终了本次循环,使程序回行到循环条件,功能:终了本次循环,使程序回行到循环条件,判别能否提早进入下一次循环。判别能否提早进入下一次循环。continue语句只用于循环构造的内部,常与语句只用于循环构造的内部,常与if语语句结合起来运用,以便在满足条件时提早终了句结合起来运用

2、,以便在满足条件时提早终了本次循环。本次循环。例例7.1 对除对除5的倍数以外的的倍数以外的1100的数求和。的数求和。main( )int i,s; s=0; for(i=1;i=100;i+) if (! (i%5) continue; s+=i; 假设假设if判别语句为判别语句为真,那么跳出本次真,那么跳出本次循环,回到循环条循环,回到循环条件,判别能否进展件,判别能否进展下一次循环下一次循环此处,当此处,当i为为5的倍的倍数时,数时,!(i%5)为真,为真,跳出本次循环,不跳出本次循环,不执行执行continue下面下面的语句,直接进入的语句,直接进入下一次循环,即执下一次循环,即执行

3、行for语句语句运转序列如下:运转序列如下: i if(!(i%5) si 1 假假 s=0+1=1 2 假假 s=1+2=3 3 假假 s=3+3=6 4 假假 s=6+4=10 5 真真 不执行不执行 6 假假 s=10+6=16 main() int n,s; for (n=1,s=0;n=20;n=n+1) if (n%3=0) continue; printf(%dt,n); s=s+1; printf(ntotal:%dn,s); 例例7.2 统计统计150之间不能被之间不能被3整除的数的个数并整除的数的个数并输出这些数。输出这些数。运转结果:运转结果: 2 4 5 7 8 10

4、11 13 14 16 17 19 20total: 14格式:格式: break;功能:循环体中遇见功能:循环体中遇见break语句,立刻终了语句,立刻终了循环,跳到循环体外,执行循环构造后面的循环,跳到循环体外,执行循环构造后面的语句。语句。2、break语句语句 在循环体中在循环体中break语句常与语句常与if语句搭配运语句搭配运用,并且用,并且break语句只能用在语句只能用在switch语句和循语句和循环语句中。环语句中。 break只能跳出一层循环或者一层只能跳出一层循环或者一层switch语句构造语句构造例例7.3 统计输入的字符个数,并输出它们,以统计输入的字符个数,并输出它

5、们,以“!终!终止。止。main( )char chr; int s; for( s=0; ; s+) chr=getchar( ); if (chr=!) break; else printf(“c%,chr); printf(“s=%dn,s); 假设假设if判别语句为判别语句为真,那么终了循环,真,那么终了循环,执行循环构造后面执行循环构造后面的语句的语句此处,当输入字符此处,当输入字符为为“!时,时,chr=!为真,终了为真,终了for循环,循环,执行循环构造后面执行循环构造后面的语句,即执行的语句,即执行printf (“s=%dn,s)语句语句运转序列如下:运转序列如下: 输入输入

6、 if(chr=!) 输出输出 a 假假 a 5 假假 5 $ 假假 $ B 假假 B ! 真真 4例例7.4 计算半径计算半径r=1到到r=10时圆的面积,直到面积时圆的面积,直到面积area大于大于100为止。为止。#define pi 3.14159main( ) int r; float area; for( r=1;r100) break; printf(“ %f,area); 二、循环的嵌套二、循环的嵌套一个循环体内又包含另一个完好的循环构造,称一个循环体内又包含另一个完好的循环构造,称为循环的嵌套,内嵌的循环中还可以嵌套循环即为循环的嵌套,内嵌的循环中还可以嵌套循环即为多层循环。

7、为多层循环。阐明:阐明: 嵌套的原那么嵌套的原那么: 不允许交叉不允许交叉 循环与分支可以相互嵌套但不允循环与分支可以相互嵌套但不允许交叉。许交叉。* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *输出图形:输出图形:for(i=1;i=4;i+) printf(“* * * * * * * *); printf(“n); 其中语句:其中语句:printf(“* * * * * * * *);等价于等价于for(j=1;j=8;j+) printf(“*);于是构成了二重循环语句:于是构成了二重循环语句:for(i=1;i=4

8、;i+) for(j=1;j=8;j+) printf(“*); printf(“n); 上面的例子中:上面的例子中: 外循环由外循环控制变量外循环由外循环控制变量i控制,控制,i由由1递增到递增到4。for(i=1;i=4;i+) for(j=1;j=8;j+) printf(“*); printf(“n); 每每1次的外循环中,都要执行由内循环控制变次的外循环中,都要执行由内循环控制变量量j控制的控制的8次内循环操作和次内循环操作和1次换行操作。次换行操作。由此:每次内循环输出一个星号由此:每次内循环输出一个星号,每次外循环输出一每次外循环输出一行行(8个个)星号星号,4次外循环,输出了次

9、外循环,输出了4行行8列星号。列星号。n = 1 ;while ( n = 3 ) printf( 输出外循环输出外循环n=%dn, n ); i = 1 ; while ( i = 2 ) printf( 1) 输出内循环输出内循环 i = %dn, i ); i + ; j = 1 ; while ( j = 3 ) printf( 2) 输出内循环输出内循环 j = %dn, j ); j + ; n + ; 例例7.5读程序,写出运转结果:读程序,写出运转结果:输出外循环输出外循环n=11) 输出内循环输出内循环 i =11) 输出内循环输出内循环 i =22) 输出内循环输出内循环

10、j =12) 输出内循环输出内循环 j =22) 输出内循环输出内循环 j =3输出外循环输出外循环n=2输出结果:输出结果:1) 输出内循环输出内循环 i =11) 输出内循环输出内循环 i =22) 输出内循环输出内循环 j =1输出外循环输出外循环n=31) 输出内循环输出内循环 i =1例例7.6 输出九九乘法表输出九九乘法表1 * 1 = 11 * 2 = 2 2 * 2 = 41 * 3 = 3 2 * 3 = 6 3 * 3 = 9 1 * 9 = 9 2 * 9 =18 9 * 9 = 81递增递增 19递增递增 99递增递增 39递增递增 29一样为一样为1一样为一样为2一样

11、为一样为3一样为一样为9 外循环外循环内循环内循环i = 1j = j + 1j = 1输 出 乘 法 表i 9j ii = i + 1图 5 . 1 0假真真假main( ) int i ,j ; for ( i = 1 ; i = 9 ; i + ) for ( j = 1 ; j = i ; j + ) printf(%d*%d=%2d , i, j, i*j ); printf ( n); 程序程序 :例例7.7 输出输出3100中的一切素数。中的一切素数。分析:分析:1对于某个数对于某个数n,假设从,假设从2到到n1都不能被都不能被n整整除除,那么该数那么该数n为素数。为素数。此处此

12、处,除数除数2到到n可以用一个可以用一个for语句来表示:语句来表示: for (i=2;i=n-1;i=i+1)2对于对于3100之间的数,可以表示如下:之间的数,可以表示如下:for (n=3;n=100;n=n+1)main( ) int n,i; for (n=3;n=100;n=n+1) for (i=2;i=n) printf(%dt,n); 程序程序 :例例7.8 读程序段,写出输出结果:读程序段,写出输出结果:for(i=1;i=2;i+) for(j=1;j=3;j+) for(k=1;k=4;j+) printf(“*); printf(“n); * * * * * * *

13、 * * * * * * * * * * * * * * *输出如以下图形:输出如以下图形:i从从1到到2k从从1到到4j从从1到到3例例7.9 输出如以下图形:输出如以下图形: * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *分析:分析:共有共有5行,外循环行,外循环 i:15第一行输出第一行输出4个空格,个空格,1个星号个星号第三行输出第三行输出2个空格,

14、个空格,5个星号个星号第二行输出第二行输出3个空格,个空格,3个星号个星号第五行输出第五行输出0个空格,个空格,9个星号个星号空格用循环变量空格用循环变量j控制,控制,j=5-i星号用循环变量星号用循环变量k控制,控制,k=2i-1程序程序 :main( )int i,j,k; for(i=1;i=5;i+) for(j=1;j=5-i;j+) printf(“ ); for(k=1;k=2i-1;j+) printf(“*); printf(“n); 练习练习7.10 输入一个整数输入一个整数n,输出如下回文塔。输出如下回文塔。1 1 2 1 1 2 3 2 1n3时时n5时时1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 1 2 3 4 5 4 3 2 1三、三、goto语句语句格式:格式: goto 语句标号语句标号 ; 标号:语句标号:语句 ;作用:作用:1与与 if 语句构成循环构造。语句构成循

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论