《(精品)第6章 C控制语句:循环.ppt》由会员分享,可在线阅读,更多相关《(精品)第6章 C控制语句:循环.ppt(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第6章 C控制语句:循环nforndowhileC语言的循环语句nwhilenforndowhile循环的本质n循环就是当某个条件(循环条件)为真时,计算机重复执行的一组语句。n两种循环n计数器控制循环n预先知道循环次数n标志控制循环n预先不知道循环次数计数器控制循环n计数器控制循环需要n(1)一个控制变量(循环计数器)n(2)控制变量的初始值n(3)每次通过循环时,修改(增加或减少)控制变量的值。n(4)测试控制变量,判断循环是否应该继续计数器控制循环#include int main()int i=1;while(i=10)printf(%dn,i);+i;return 0;#includ
2、e int main()int i=0;while(+i=10)printf(%dn,i);return 0;i:循环控制变量提示:n因为浮点数可能只是近似值,所以不要用浮点数(float 和 double)作为循环控制变量n使用整数作为循环控制变量n尽量避免超过三层的控制语句嵌套。n简单的说,尽量避免操作三重的循环。n注意代码编写规范n特别是注意代码的缩进6.5 for 循环语句#include int main()int i=1;while(i=10)printf(%dn,i);i+;return 0;#include int main()int i;for(i=1;i=10;i+)pri
3、ntf(%dn,i);return 0;for 循环语句的格式nfor(表达式1;表达式2;表达式3)循环体;n表达式1:给循环控制变量赋初值n表达式2:循环条件n表达式3:改变循环控制变量的值for 循环语句nfor 语句的流程图注意:nfor(表达式1;表达式2;表达式3)循环体;n表达式1 只会执行一次。问题:n 求2100之间所有偶数的和问题6.12:n 使用for循环产生一个立方表数学函数n#include ndouble pow(double x,double y)n求 x的y次方for语句:注意事项与经验n(1)初始化、循环条件何递增都能够包含算术表达式。n例如:假定x=2,y=
4、10,语句 for(j=x;m=4*x*y;j+=y/x)和语句for(j=2;j=80;j+=5)等价n(2)控制变量的值可以递增,也可以递减n(3)表达式一 只执行一次。使用for语句示例n把控制变量的值从1改变到100,每次递增1。n把控制变量的值从100改变到1,每次递增-1(也就是递减1)n使用步长为7把控制变量的值从7改变到77n使用步长为2把控制变量的值从20改变到2n按照2、5、8、11、14、17、20这样的值的顺序改变控制变量的长度。n按照99、88、77、66、55、44、33、22、11、0这样值的顺序改变控制变量的值6.6 更多赋值语句n+=n-=n*=n/=n%=6
5、.7 逗号运算符n逗号运算符从左向右运算,整个表达式的值是最右边一个表达式的值6.8 do/while 循环语句ndo 循环体 while(表达式);nwhile(表达式)循环体 nwhile语句先测试循环条件,再执行循环体ndo/while语句先执行循环体,再测试循环条件问题:n显示110之间的所有整数do/while 循环的流程图truefalseaction(s)condition6.9 选择哪种循环nC语言的三种循环语句是可以互相转换的n一般来说,计数器控制循环使用for语句,标志控制循环使用while语句问题n求 (精确到小数点后第5位)问题n从键盘输入一个大于2的整数,判断这个数是
6、不是素数。(素数是指除了1和它自身之外,不能被任何数整除的数)7.6 循环辅助手段:break和continue4.7 switch 多重选择语句switch(表达式)case 常量1:case 常量2:case 常量3:case 常量4:.default:switch/case 流程图truefalse.case acase a action(s)breakcase bcase b action(s)breakfalsefalsecase zcase z action(s)breaktruetruedefault action(s)问题:n 写一个程序,输入以a,b,c,d,e为等级的学生成
7、绩。统计其中各个分数的人数个数。输入以EOF结束。EOF:n 在stdio.h头文件中定义的符号整形常量。它具有一个整型值。其值在各个系统中不一样。通常是-1。ANSI标准仅规定,EOF是负的整型值。n 在Unix、Linux系统中,EOF通过键入组合键 输入。n 在Windows系统中,EOF通过键入组合键输入。breakdefault程序中对 换行符、制表符、空格符 的处理case n:case t:case :break;注意:nswitch语句只能够用于测试常量整型表达式,也就是字符常量和整型常量的任意组合,这个组合的值是常量整数值。4.9 break 和 continue 语句nbreak 和 continue 语句用于改变控制流。nbreak 用于 while、for、do/while、switch语句。break语句造成程序从循环语句或switch语句中退出,执行该语句后的第一条语句。ncontinue语句用于 while、for、do/while语句。continue语句的作用是跳过语句体中剩下的语句,并执行循环的下一次迭代。注意:n 使用 continue 语句时,注意不要跳过改变 控制变量 的语句!