欢迎来到天天文库
浏览记录
ID:36285052
大小:497.50 KB
页数:30页
时间:2019-05-08
《chapter06循环结构》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章循环控制第4章已讨论程序结构顺序结构选择结构循环结构本章讨论第5章已讨论6.1循环结构的程序设计1.while语句一般形式:while(表达式)循环体语句;执行流程:FTexpr循环体while其中:while后面的括号()不能省。while后面的表达式可以是任意类型的表达式,但一般是条件表达式或逻辑表达式。表达式的值是是循环的控制条件。语句部分称为循环体,当需要执行多条语句时,应使用复合语句。特点:先判断表达式,再执行循环体【例】用while语句求1~100的累计和。#includeintmain(){inti=1,sum
2、=0;while(i<=100){sum+=i;i++;}printf("sum=%d",sum);}循环初值循环终值循环条件循环体循环变量增值运行结果:sum=5050(1)如果while后的表达式的值一开始就为假,循环体将一次也不执行。(2)循环体中的语句可为任意类型的C语句。(3)遇到下列情况,退出while循环:表达式为假(为0)。循环体内遇到break、return或goto语句(break和goto语句将在随后介绍)。while语句注意事项:inta=0,b=0;while(a>0)//a>0为假,b++不可能执行b++;intnu
3、m=0;//字符计数while(1){if(getchar()=='')//如果输入的字符是回车符,则返回return;num++;}(4)在执行while语句之前,循环控制变量必须初始化,否则执行的结果将是不可预知的。(5)要在while语句的某处(表达式或循环体内)改变循环控制变量,否则极易构成死循环。(6)允许while语句的循环体又是while语句,从而形成双重循环。while语句注意事项:例:计算10!#includeintmain(){inti;//i应赋初始值10longs=1;while(i>=1)s*=i--
4、;printf("10!=%ld",s);}i=1;while(i<100)//死循环,因为i的值没变化,永远小于100sum+=i;printf("sum=%d",sum);i=1;while(i<=9){j=1;while(j<=9){printf("%d*%d=%d",i,j,i*j);j++;}i++;}2.do_while语句一般形式:do循环体语句;while(表达式);执行流程:其中:while后面的括号()不能省。while最后面的分号;不能省。while后面的表达式可以是任意类型的表达式,但一般是条件表达式或逻辑表达式
5、。表达式的值是是循环的控制条件。语句部分称为循环体,当需要执行多条语句时,应使用复合语句。FTexpr循环体dowhile特点:先执行循环体,再判断表达式【例】用do_while语句求1~100的累计和。#includeintmain(){inti=1,sum=0;do{sum+=i;i++;}while(i<=100);printf("sum=%d",sum);}运行结果:sum=5050do_while语句注意事项:inta=0,b=0;dob++;while(a>0);(1)如果do-while后的表达式的值一开始就为假
6、,循环体还是要执行一次。(2)在if语句、while语句中,表达式后面都不能加分号,而在do-while语句的表达式后面则必须加分号,否则将产生语法错误。(3)循环体中的语句可为任意类型的C语句。(4)和while语句一样,在使用do-while语句时,不要忘记初始化循环控制变量,否则执行的结果将是不可预知的。(5)要在do-while语句的某处(表达式或循环体内)改变循环控制变量的值,否则极易构成死循环。(6)do-while语句也可以组成多重循环,而且也可以和while语句相互嵌套。3.for语句一般形式:for(表达式1;表达式2;表达式3)
7、循环体语句;执行流程:其中:for后面的括号()不能省。表达式1:一般为赋值表达式,给控制变量赋初值。表达式2:关系表达式或逻辑表达式,循环控制条件。表达式3:一般为赋值表达式,给控制变量增量或减量。表达式之间用分号分隔。语句部分称为循环体,当需要执行多条语句时,应使用复合语句。FTexpr2循环体forexpr1expr3for语句很好地体现了正确表达循环结构应注意的三个问题:控制变量的初始化。循环的条件。循环控制变量的更新。【例】用for语句求1~100的累计和。#includeintmain(){inti,sum=0;for
8、(i=1;i<=100;i++)sum+=i;printf("sum=%d",sum);}运行结果:sum=5050f
此文档下载收益归作者所有