- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
尚辅网 尚辅网 第6章 循环结构程序设计 循环结构可以完成重复性、规律性的操作.在人们所需处理的运算任务中,常常需要用到循环,例如:1~100的累加和等。在语言中有三种循环语句:while、do—while、for。用goto语句和if语句也能构成循环。 6.1 goto语句 goto语句 为无条件转向语句。 格式:goto 语句标号; 功能:程序执行到goto语句时,转到语句标号指定的语句去执行。 说明: (1)语句标号必须用标识符表示,不能整数作为标号。 (2)与if语句一起构成循环结构。 [例题6.1] 求s=1+2+3+……+100 main() { int i=1,s=0; loop: if(i=100) /* loop是一个语句标号*/ { s=s+i; i++; goto loop; } printf(“s=%d\n”,s); } 6.2 for语句 注意:结构化程序设计方法,主张限制使用goto语句。因为滥用goto语句,将会导致程序结构无规律、可读性差。 6.2 for语句 1.for语句的一般格式 for([变量赋初值];[循环继续条件];[循环变量增值]) { 循环体语句组;} 2.for语句的执行过程 (1)求解“变量赋初值”表达式。 (2)求解“循环继续条件”表达式。如果其值非0,执(3) ;否则,转至(5)。 (3)执行循环体语句组, (4)求解“循环变量增值”表达式,然后转向(2)。 (5)执行for语句的下一条语句。 例如:for (n=1;n=20;n++) s=s+n; for语句执行过程图 3.说明 (1)“变量赋初值”、“循环继续条件”和“循环变量增值”部分均可缺省,甚至全部缺省,但其间的分号不能省略。 ① i=1; for(;i=100;i++) s=s+i; for中缺省变量赋初值,但是在for前面要有i=1; ②for(i=1; ;i++) s=s+i; for中缺省“循环继续条件”,相当于条件永远为真,无限循环。 ③for( ; ; ) 语句; 全部缺省即不设初值,不判断条件,循环变量不增值。无终止地执行循环体。 3.说明 (2)当循环体语句组仅由一条语句构成时,可以不使用{ }号括,但是当循环体语句组由多条语句构成时必须用{ }号括起来。 (3)“循环变量赋初值”表达式,既可以是给循环变量赋初值的赋值表达式,也可以是与此无关的其它表达式(如逗号表达式)。 例如: for(sum=0,i=1;i=100;i++) sum += i; (4)“循环继续条件”部分是一个逻辑量,除一般的关系表达式(如 n=20)或逻辑表达式(abxy)外,也允许是数值(或字符)表达式,只要其值为非0(真),就执行循环体。 3.说明 例如:for(n=0; (c=getchar())!=’\n’; n+=c); 在循环继续条件中先从键盘接收一个字符给c,然后判断值是否不等于’\n’(换行符),如果不等于,就执行循环体,此语句最后有“;”说明循环体为空语句,所以执行n+=c即把字符的ASCII码累加存入n变量。 此语句的作用是:不断输入字符,将它们的码相加,直到输入一个“换行”符为止 例题 [例题6.2] 求1~100的累计和。 /*程序功能:求1~100的累计和*/ main() { int i,sum=0; /*将累加器sum初始化为0*/ for(i=1; i=100; i++) sum += i; /*实现累加*/ printf(sum=%d\n,sum); } 例题 [例题6.3] 求t=1*2*3*4*5……*n main() { int n, i; double t=1.0; /*所求累乘值很大,所以用double型且初始化为1 */ printf(“input n:”); scanf(“%d”,n); for (i=1;i=n;i++) t=t*i; /*实现累乘,循环体只有一个语句不用{ }号*/ printf(“t=%e”,t); /*用指数形式输出双精度类型的t变量的值*/ } 例题 例6.4 求s=1+1/2+1/3+……1/n main() { int i,n; float s=1; printf(“input n:”); scanf(“%d”,n); for(i=2;i=n;i++) s=s+1.0/i; printf(“s=%f\n”,s); } 6.3 while语句 (1)一般格式 while(循环继续条件) { 循环体语句组;} (2)执行过程 例题 [例题6.5]用while语句求1~
您可能关注的文档
- C语言程序设计(第二版)电子教案任正云 第3章顺序程序设计.ppt
- C语言程序设计(第二版)电子教案任正云 第4章选择结构程序设计.ppt
- C语言程序设计(第二版)电子教案任正云 第5章循环结构.ppt
- C语言程序设计(第二版)电子教案任正云 第6章 函数.ppt
- C语言程序设计(第二版)电子教案任正云 第7章数组.ppt
- C语言程序设计(第二版)电子教案任正云 第8章 指针.ppt
- C语言程序设计(第二版)电子教案任正云 第9章结构体和共用体.ppt
- C语言程序设计(第二版)电子教案任正云 第10章文件.ppt
- C语言程序设计(第二版)电子教案王伟 第1章.ppt
- C语言程序设计(第二版)电子教案王伟 第2章.ppt
- c语言程序设计(徐贞如) 第7章数组.ppt
- c语言程序设计(徐贞如) 第8章 函数和编译预处理.ppt
- c语言程序设计(徐贞如) 第9章指针.ppt
- c语言程序设计(徐贞如) 第10章 结构共用型和.ppt
- c语言程序设计(徐贞如) 第11章 位运算.ppt
- c语言程序设计(徐贞如) 第12章 文件.ppt
- C语言程序设计案例教程 第2版 教学课件 作者 廖湖生 叶乃文 周珺 C语言入门.ppt
- C语言程序设计案例教程 第2版 教学课件 作者 廖湖生 叶乃文 周珺 函数.ppt
- C语言程序设计案例教程 第2版 教学课件 作者 廖湖生 叶乃文 周珺 函数复习5.ppt
- C语言程序设计案例教程 第2版 教学课件 作者 廖湖生 叶乃文 周珺 计算机基础知识.ppt
最近下载
- 2025鄂尔多斯市城市建设投资集团招聘92人笔试备考试题及答案解析.docx VIP
- GBT24001-2016-环境管理体系-要求及使用指南.doc VIP
- 2025中航材华顺航空资源服务(北京)有限公司招聘27人笔试参考题库附答案解析.docx VIP
- 企业战略管理案例与实践PPT.pptx VIP
- 厂内机动车辆事故应急演练制度.docx VIP
- 2025年中国柱塞式高压计量泵数据监测研究报告.docx
- 人教版一年级上册语文第一单元试卷1.doc VIP
- 京东校招测评题.pdf VIP
- 国家安全教育大学生读本课件高教2024年版讲义合集(绪论+完全准确领会总体国家安全观+在党的领导下走好中国特色国家安全道).pdf VIP
- 2024年《社区JW工作规范(试行)》题库.docx
文档评论(0)