第6章 C控制语句:循环
《第6章 C控制语句:循环》由会员分享,可在线阅读,更多相关《第6章 C控制语句:循环(34页珍藏版)》请在装配图网上搜索。
1、,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,6,章,C,控制语句:循环,for,do,while,C,语言的循环语句,while,for,dowhile,循环的本质,循环就是当某个条件,(,循环条件,),为真时,计算机重复执行的一组语句。,两种循环,计数器控制循环,预先知道循环次数,标志控制循环,预先不知道循环次数,计数器控制循环,计数器控制循环需要,(,1,)一个控制变量(循环计数器),(,2,)控制变量的初始值,(,3,)每次通过循环时,修改(增加或减少)控制变量的值。,(,4,)测试控制变量,判断循环是否应该继续,计数器控制循环,#inc
2、lude,int main(),int i=1;,while(i=10),printf(%dn,i);,+i;,return 0;,#include,int main(),int i=0;,while(+i=10),printf(%dn,i);,return 0;,i,:,循环控制变量,提示:,因为浮点数可能只是近似值,所以不要用浮点数,(float,和,double),作为循环控制变量,使用整数作为循环控制变量,尽量避免超过三层的控制语句嵌套。,简单的说,尽量避免操作三重的循环。,注意代码编写规范,特别是注意代码的缩进,6.5 for,循环语句,#include,int main(),int
3、 i=1;,while(i=10),printf(%dn,i);,i+;,return 0;,#include,int main(),int i;,for(i=1;i=10;i+),printf(%dn,i);,return 0;,for,循环语句的格式,for(,表达式,1,;表达式,2,;表达式,3,),循环体;,表达式,1,:给循环控制变量赋初值,表达式,2,:循环条件,表达式,3,:改变循环控制变量的值,for,循环语句,for,语句的流程图,注意:,for(,表达式,1,;表达式,2,;表达式,3,),循环体;,表达式,1,只会执行一次。,问题:,求,2100,之间所有偶数的和,问题
4、,6.12,:,使用,for,循环产生一个立方表,数学函数,#include,double,pow(double,x,double y),求,x,的,y,次方,for,语句:注意事项与经验,(,1,)初始化、循环条件何递增都能够包含算术表达式。,例如:假定,x=2,y=10,语句,for(j=x;m=4*x*y;j+=y/x),和语句,for(j=2;j=80;j+=5),等价,(,2,)控制变量的值可以递增,也可以递减,(,3,)表达式一 只执行一次。,使用,for,语句示例,把控制变量的值从,1,改变到,100,,每次递增,1,。,把控制变量的值从,100,改变到,1,,每次递增,-1,(
5、也就是递减,1,),使用步长为,7,把控制变量的值从,7,改变到,77,使用步长为,2,把控制变量的值从,20,改变到,2,按照,2,、,5,、,8,、,11,、,14,、,17,、,20,这样的值的顺序改变控制变量的长度。,按照,99,、,88,、,77,、,66,、,55,、,44,、,33,、,22,、,11,、,0,这样值的顺序改变控制变量的值,6.6,更多赋值语句,+=,-=,*=,/=,%=,6.7,逗号运算符,逗号运算符从左向右运算,整个表达式的值是最右边一个表达式的值,6.8 do/while,循环语句,do,循环体,while(,表达式,);,while(,表达式,),循环体
6、,while,语句先测试循环条件,再执行循环体,do/while,语句先执行循环体,再测试循环条件,问题:,显示,1,10,之间的所有整数,do/while,循环的流程图,true,false,action(s),condition,6.9,选择哪种循环,C,语言的三种循环语句是可以互相转换的,一般来说,计数器控制循环使用,for,语句,标志控制循环使用,while,语句,问题,求,(,精确到小数点后第,5,位,),问题,从键盘输入一个大于,2,的整数,判断这个数是不是素数。,(,素数是指除了,1,和它自身之外,不能被任何数整除的数,),7.6,循环辅助手段:,break,和,continue
7、,4.7 switch,多重选择语句,switch(,表达式),case,常量,1,:,case,常量,2,:,case,常量,3,:,case,常量,4,:,.,default:,switch/case,流程图,true,false,.,.,.,case a,case a action(s),break,case b,case b action(s),break,false,false,case z,case z action(s),break,true,true,default action(s),问题:,写一个程序,输入以,a,b,c,d,e,为等级的学生成绩。统计其中各个分数的人数个数
8、。输入以,EOF,结束。,EOF:,在,stdio.h,头文件中定义的符号整形常量。它具有一个整型值。其值在各个系统中不一样。通常是,-1,。,ANSI,标准仅规定,,EOF,是负的整型值。,在,Unix,、,Linux,系统中,,EOF,通过键入组合键,输入。,在,Windows,系统中,,EOF,通过键入组合键,输入。,break,default,程序中对 换行符、制表符、空格符 的处理,case n:,case t:,case :break;,注意:,switch,语句只能够用于测试常量整型表达式,也就是字符常量和整型常量的任意组合,这个组合的值是常量整数值。,4.9 break,和,continue,语句,break,和,continue,语句用于改变控制流。,break,用于,while,、,for,、,do/while,、,switch,语句。,break,语句造成程序从循环语句或,switch,语句中退出,执行该语句后的第一条语句。,continue,语句用于,while,、,for,、,do/while,语句。,continue,语句的作用是跳过语句体中剩下的语句,并执行循环的下一次迭代。,注意:,使用,continue,语句时,注意不要跳过改变 控制变量 的语句!,
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。