版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第9讲,语句标号、goto语句及其构成的循环 while语句及其构成的循环,5.1 语句标号、goto语句及用goto语句构成的循环,5.2 while语句和用while语句构成的循环,5.6 break语句和continue语句在循环体中的作用,第五章 循环结构程序设计,循环结构是结构化程序设计的三种基本结构之一,也是最重要、最常用的一种基本结构。其特点是:在给定条件成立时,反复执行某程序段,直到给定条件不成立时为止。 给定的条件称为循环条件,反复执行的程序段称为循环体。,循环结构,C语言可以用如下语句实现循环: 1. 用goto语句和if语句构成循环。 2. 用while循环语句。 3.
2、用do-while循环语句。 4. 用for循环语句。,5.1 goto语句及用goto语句构成循环,1. 语句标号 语句标号就是给程序中的某一个语句定义的标识符,标号可以是任意合法的标识符,在语句标号和语句之间必须加一个冒号作为分隔符。 C程序中的任何一个可执行语句之前都可以加上语句标号。,例如:stop:printf(ENDn); 通常,语句标号只是用作goto语句的转向目标。如:goto stop; 如果程序中没有用goto语句改变程序的执行顺序,也就没有必要出现语句标号。,2. goto语句,goto语句称为无条件转向语句。 goto语句的一般形式为:goto 语句标号; goto语句
3、的作用是把程序的执行转移到语句标号所在的位置,但这个语句标号必须与此goto语句在同一个函数之内。,goto语句不符合结构化程序设计的原则,因为无条件转向使得程序的结构没有规律、可读性差。对于初学者来说应尽量避免使用goto语句,但如果使用goto语句能够大大地提高程序的执行效率,也可以使用。,3 . 用goto语句构成的循环结构,#include stdio.h main() int n= 0; char ch; printf(input a stringn); loop: ch= getchar(); n+; if(ch!=n) goto loop; n=n-1; /*不要字符n*/ pr
4、intf(%d,n); ,goto语句通常与条件语句配合构成条件转移语句,用来实现构成循环或跳出循环等功能。 例5.1 统计从键盘输入的一行字符的个数。,例5.2 输入一组数据求和,#include main() int number, sum=0; loop: scanf(%d, ,从键盘输入完一组数据后,再输入一个0作为结束输入数据的标志。,5.2 while循环语句,由while语句构成的循环也称”当”循环。 while循环的一般形式如下: while(表达式) 循环体语句,图5.1 while循环流程图,while语句的执行过程是: 先计算while表达式的值,当表达式的值为非零时,便
5、执行循环体语句,之后再计算该表达式的值,由此构成循环,直到有一次求得表达式的值为零时才结束循环,并继续执行循环体语句之外的后续语句。,图5.1 while循环流程图,#include main() int n=0; char ch; printf(input a string:n); ch= getchar(); while(ch!=n) n+; ch= getchar(); printf(%d,n); ,用while语句改写例5.1的程序,题目:统计从键盘输入的一行字符的个数。,说明:(1)while语句中的表达式可以是任意合法的C表达式。 (2)如果循环体语句是复合语句,一定要用 括起来。
6、 (3) 在循环体语句中应该包含能够使循环趋于结束的操作,以避免出现死循环。,例5.3 编程求1+2+3+100的值。,这是一个求100个数的累加和问题。所加的加数从1变化到100,因此我们可以在循环体中设计一个整型变量i,使它的初值为1,每循环一次使i的值增1,一直循环到i的值超过100为止,用这个办法就解决所需的加数问题。 要解决求累加和的问题,还要再设计一个变量sum用来存放这100个数的和值,先求0+1的和并将其放在sum中,然后把sum中的数加上2再存放在sum中,依次类推。 在这里,sum累加的过程要放在循环体中,由计算机来判断所加的数是否已经超过100。,main() int i, sum; i=1; sum=0;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 道路维修文明施工手册
- 宾馆会员办理与权益服务手册
- 英语学习活动观在初中英语听说教学中的应用研究
- 餐饮服务业服务质量控制指南
- 护理质量与护理评估工具
- 2026年LED屏安装方案及点亮调试
- 2026年民办教育促进法题库及答案
- 初中英语新课程标准测试题及答案
- 2026年儿童急性中耳炎诊疗-临床实践指南
- 电工技师职业考(二级)测试题库及答案
- 2025年《财务共享中心》知识考试题库及答案解析
- T/CCEAS 005-2023 建设项目设计概算编审规范
- 2025年公务员多省联考《申论》题(陕西A卷)及参考答案
- 教师培训防性侵
- 2026年江苏农林职业技术学院单招职业倾向性测试必刷测试卷附答案
- 园长证挂靠免责协议书
- 机电一体化技术与系统第2版龚仲华教学课件全套
- 住宅经营民宿合同范本
- 项目部安全生产管理目标考核表
- 天津市2025天津市文化和旅游局直属艺术院团招聘23人笔试历年参考题库附带答案详解
- 煤矿无轨胶轮车司机试卷与答案
评论
0/150
提交评论