C语言课件:循环讲座.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《C语言课件:循环讲座.ppt》由用户(罗嗣辉)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课件 循环 讲座
- 资源描述:
-
1、1 循环结构循环结构 在在C C语言中可实现循环语句语言中可实现循环语句: :用用gotogoto语句和语句和ifif语句构成循环语句构成循环用用whilewhile语句语句用用do do while while语句语句用用forfor语句语句杨微Email: 2while循环循环语句语句while循环语句的形式循环语句的形式 while(条件表达式)语句(条件表达式)语句 while循环语句的执行过程是:循环语句的执行过程是:先判断条件,后执行语句。先判断条件,后执行语句。条件表达式条件表达式语句零零非零非零执行过程执行过程这是内嵌语句,也这是内嵌语句,也称为称为循环体循环体,它可,它可以是
2、单语句,也可以是单语句,也可以是复合语句以是复合语句 循环体内应注意设置修循环体内应注意设置修改循环条件的语句。否改循环条件的语句。否则循环无法终止。则循环无法终止。 循环体循环体3说明:说明:(1)执行)执行while循环语句时,如果表达式的值第一循环语句时,如果表达式的值第一次计算就等于次计算就等于0,则循环体一次也不执行。,则循环体一次也不执行。(2)发生下列情况之一时,)发生下列情况之一时,while循环结束执行:循环结束执行:表达式的值为表达式的值为0;循环体内遇到循环体内遇到break语句;语句;循环体内遇到循环体内遇到goto 语句,且与该语句,且与该goto语句配合语句配合 使
3、用的标号所指定的语句在本循环体外;使用的标号所指定的语句在本循环体外;循环体内遇到循环体内遇到return语句,此时退出语句,此时退出while循环循环后,执行的流程从包含该后,执行的流程从包含该while语句的函数返回语句的函数返回到所调用函数到所调用函数。4dowhile循环语句的形式循环语句的形式 do do 语句语句 while(while(表达式)表达式); 2. 执行过程执行过程说明:说明:(1 1)dowhiledowhile循环语句循环语句首先执行循环体,然后计首先执行循环体,然后计算表达式并检查循环条件,算表达式并检查循环条件,所以所以循环体至少执行一次。循环体至少执行一次。
4、(2 2)退出)退出dowhiledowhile循环循环的条件与退出的条件与退出whilewhile循环的循环的条件相同。条件相同。表达式表达式语句语句零零非零非零dowhile循环语句循环语句注意:注意:不要丢掉分号不要丢掉分号dowhile循环执行过程是:循环执行过程是:先执行语句,后判断条件。先执行语句,后判断条件。5for for 循环语句循环语句1. for循环语句的形式循环语句的形式 for(表达式表达式1;表达式表达式2;表达式表达式3)语句)语句表达式表达式2表达式表达式1语句语句表达式表达式3零零非零非零2. 执行过程执行过程说明:说明:(1 1)表达式)表达式1 1仅被执行
5、一仅被执行一次;表达式次;表达式2 2决定了是否继决定了是否继续执行循环续执行循环; ;表达式表达式3 3则不则不断修改循环控制变量的值。断修改循环控制变量的值。(2 2)三个表达式均可省略,)三个表达式均可省略,分号不能省略。分号不能省略。63.说明:说明:最简单的应用形式:最简单的应用形式:forfor(循环变量赋初值;循环条件;循环变量增值)语句(循环变量赋初值;循环条件;循环变量增值)语句例:例:求级数求级数12+22+32+前前10项之和。项之和。main() int i, sum=0; for (i=1;i=10;i+) sum=sum+i*i; printf(%d,sum);7
6、表达式表达式1省略,应在省略,应在for之前对循环变量赋初值之前对循环变量赋初值 i=1; for( ; i=10 ; i+) sum=sum+i; 表达式表达式1放在放在for前前分号不能省略分号不能省略使用中有以下几种情况使用中有以下几种情况8表达式表达式2省略,则不判断条件,循环无终止进省略,则不判断条件,循环无终止进行下去,认为表达式行下去,认为表达式2始终为真。始终为真。 sum=0; for(i=1 ; ; i+) sum+=i; 表达式表达式3省略,则应另设法保证循环的结束省略,则应另设法保证循环的结束. for(sum=0,i=1;i=10; ) sum=sum+i; i+;
7、表达式表达式3i=1;sum=0; while(1)sum=sum+i; i+; 等效等效9l三个表达式均可缺省,但起分割作用的两个三个表达式均可缺省,但起分割作用的两个分号不可省略。这种循环无终止地执行循环分号不可省略。这种循环无终止地执行循环体。体。 例如:例如:for( ; ; )语句语句相当于:相当于:while(1)语句语句 如使得循环结束,要写成:如使得循环结束,要写成: while(1) . if(表达式表达式) break; . 10 表达式表达式1和表达式和表达式3可以是逗号表达式。可以是逗号表达式。 例:例: int i,j,sum; for( i=0,j=100;i=j;
8、i+,j- ) sum=i+j;11注意:注意:表达式表达式2一般是关系表达式一般是关系表达式(如如i=100)或逻辑表达式或逻辑表达式(ab&xy),但也可以是算术表达式或字符表达式,只要其值但也可以是算术表达式或字符表达式,只要其值为非零,就执行循环体。为非零,就执行循环体。例:例: for(i=0;(c=getchar()!=n;) i=i+c;或,或,for(i=0;(c=getchar()!=n; i=i+c);作用,不断地输入字符,将它们的作用,不断地输入字符,将它们的ASCII 码相加,码相加,直到输入一个回车换行符为止。直到输入一个回车换行符为止。12如上题改为:如上题改为:
9、for(;(c=getchar()!=n;)printf(“%c”,c);无表达式无表达式1和表达式和表达式3,其作用是,每读入一个字符输出该字,其作用是,每读入一个字符输出该字符,直到输入一个符,直到输入一个“回车回车”以后才送到内存缓冲区去的,运以后才送到内存缓冲区去的,运行情况如下:行情况如下:ComputerComputer而不是输入一个字符马上输出一个字符,而是输入回车后数而不是输入一个字符马上输出一个字符,而是输入回车后数据送到缓冲区,然后每次从缓冲区读一个字符,然后输出。据送到缓冲区,然后每次从缓冲区读一个字符,然后输出。13练习练习1:下列程序段,选项正确的是(:下列程序段,选
10、项正确的是( )。)。 int i,k; for(i=0,k=-1;k=1;i+,k+) printf(*); A.A.判断循环结束的条件非法判断循环结束的条件非法 B.B.无限循环。无限循环。 C.C.只循环一次只循环一次 D.D.一次也不循环一次也不循环 表达式表达式2:k=1,非零,是非零,是无限循环无限循环B14 break break和和continuecontinue语句语句 1. break 语句语句语法语法: break ;功能功能:结束包含该语句的结束包含该语句的最内层循环最内层循环 main( ) int n; for(n=100;n=200;n+) if(n%3= =0)
11、 break ; printf(%6d,n); 2. continue 语句语句语法语法:continue ;功能功能:结束循环体的本次结束循环体的本次循环循环main( ) int n; for(n=100;nj) printf(s=%d,s); break; s+=j; 循环体共执行循环体共执行了多少次?了多少次? S=506次次当条件当条件ij成立时成立时才能执行到才能执行到 break语句语句For循环是死循环循环是死循环注意:注意:break语句只能出现在语句只能出现在switch ,for ,while或或dowhile语句中。语句中。16练习练习3:以下程序的输出结果是(:以下程
12、序的输出结果是( )。)。 main( ) int x=8; for( ; x0; x-) if( x%3) printf( %d,x-); continue; printf( %d,-x); D如如x不是不是3的倍数的倍数(x%3!=0),则输出则输出x,并令并令x减减1,结束本次循环。,结束本次循环。 A. 7 4 2A. 7 4 2 B. 8 7 5 2 B. 8 7 5 2 C. 9 7 6 4 C. 9 7 6 4 D. 8 5 4 2 D. 8 5 4 2 17练习练习4:下列程序的输出结果是(:下列程序的输出结果是( )。)。 main() int i,j,x=0; for (i
13、=0;i2;i+) x+; for(j=0;j0); printf(%dn,i); 练习练习6: main() int x=3; do printf(%3d,x-=2); while(!(-x); 输出结果:输出结果:-1输出结果:输出结果:1-2;是空语句是空语句19练习练习8:求:求100数以内的偶数和。数以内的偶数和。#include void main()int i,sum=0;for(i=0;i=100;i+)if(i%2=0) sum=sum+i;printf(sum=%dn,sum);若计算奇数和,改为:若计算奇数和,改为:if(i%2!=0) sum=sum+i;20以下程序段
展开阅读全文