C语言程序设计-循环控制
更新时间:2023-07-27 09:42:01 阅读量: 实用文档 文档下载
C语言程序设计
------循环结构程序设计
一、循环概念
为解决某一问题,或求取某一计算结果,特定的条件下,程序中反复地按某一模式进行操作。 在解题的时候经常遇到需要重复处理一类相同的一类似的操作,如求1+2+3+4+…..+100的和,就需要重复地做加法运算。这就是循环结构。其中,重复做的事、操作(一条或多条语句),称为“循环体”;控制循环体是否执行的条件称为“循环条件”
二、for循环
for循环语句的一般格式:
for(表达式1;表达式2;表达式3)
循环体语句(组);
for循环语句的执行顺序
(1)执行表达式1;
(2)计算表达式2的值;
(3)如果表达式2的值为真,执行循环体,再执行表达式3,转到(2)步执行;
(4)如果表达式2的值为假,则结束循环的执行,转而去执行for语句后的语句下面对for循环语句作几点说明:
1、在for语句中,三个表达式中的任何一个表达式都可省略,但其中的两个“;”不能省略。 例如,下面的四种循环语句是等价形式:
(1)for(i=1; i<=100;i++) 循环体
(2)i=1;
for( ; i<=100;i++) 循环体
在这种形式中,for语句将提供循环初值的表达式1放到for语句前,从而省略了表达式1。 (3)i=1;
for( ; i<=100; ) {循环体;i++;}
在这种形式中,for语句将提供循环初值的表达式1放到for语句前,从而省略了表达式1;并且将表达式3放到循环体中作为循环体的最后一个语句。
2、在for循环语句中,循环体中可以是单语句,也可以是空语句(只有一个;的语句)或复合语句,如果是复合语句,则必须括在{}之中。
3、下面两种形式可能导致死循环:
for(表达式1; ;表达式3) 循环体与
for( ; ;) 循环体
上面两个语句都没有用于判断循环结束的条件(即表达式2)。在C语言中,一个空表达式的值一般为非零值。因此,在for语句中如果省略了表达式2,就意味着表达式2的值一直为真,从。
而可能导致死循环。
在C语言中,虽然for循环语句的形式很灵活,但从程序的可读性考虑,建议使用如下两种形式: for(i=初值;i<=终值;i=i+步长) 循环体
与 for(i=初值;i>=终值;i=i-步长) 循环体
三、while语句
while( 表达式 )循环体 ;
四、do-while循环
do
循环体
while(表达式);
1、“表达式”可以是任意表达式,用来判定循环是否终止(或者说判定循环体是否执行)。表达式的值要么为真,要么为假;如果其值为一个数值,则非0的任何数都为真,而0代表假。即使第一次执行时“表达式”的值为假,“循环体”中的语句最少会被执行一次。
2、“循环体”中可以是单语句,也可以是空语句(只有一个;的语句)或复合语句,如果是复合语句,则必须括在{}之中。
3、do-while作为一个语句,必须以分号(;)结束,所以在while(表达式)后一定要有分号。
do-while循环语句的执行顺序
(1)先执行循环体;
(2)计算表达式的值,并判断表达式的值是真还是假;
(3)如果是真,则继续转到(1)步执行循环体;
(4)否则退出循环,转而执行本语句后的其他语句。
五、循环嵌套
所谓循环的嵌套是指一个循环体中完整地包含了另一个循环结构,又称多重循环。在C语言中,允许循环结构多重嵌套,并且while、do-while和for循环语句都可以嵌套。另外,在一个循环体内还可以包括各种完整的选择结构,在一个选择结构的某个独立部分中,还可以包括完整的循环结构。
因为:循环体是一个复合语句,该复合语句中可以包括任何C语言的语句,当然可以包含循环语句了。
六、转移控制语句
break
中断循环语句的执行
continue
中断本次循环的执行,转而去执行“表达式2”,进行下一次循环,注意:continue语句只是从当前(continue)位置开始到循环结束符}前的语句在本次循环中不执行。
goto语句
一个非结构化的语句,建议尽可能不使用。
break语句 在前面第4章介绍多分支选择结构switch时,曾经提到break语句,它的功能是退出switch语句。实际上,C语言中break语句有以下两个功能:
(1)跳出switch结构;
(2)退出当前循环结构,包括while语句、do-while语句和for语句。
continue语句 continue语句的功能是结束本次循环的执行,转而去执行下一次循环(即去计算条件表达式),但不退出循环结构。
Continue语句在C语言中只能用在循环结构中,包括while语句、do-while语句和for语句。 问题1:C语言中只能用在循环体中的语句是?
问题2:break和continue语句的主要区别?
1、for 循环次数可以确定;其余两种不定
2、While、for 循环体可以不执行;do_while至少执行一次 3、while 布尔表达式为真时做; do_while布尔表达式为真时退出
七、作业安排
1、打印出所有“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数立方和等于该数本身.例如,153是一个水仙花数,因为153=13+53+33
2、分别用while、do while循环编程,求100到200之间的全部素数
3、求 s = 11+22+33+44+…+nn
正在阅读:
C语言程序设计-循环控制07-27
人事经理怎么做考勤排班计划最新范例07-27
科学理论与实在论问题09-07
老婆要如何对付出轨老公08-25
高层建筑悬挑脚手架施工组织设计3156412-31
今日基督徒普遍的可怜的光景01-26
中国人民解放军各集团军编制战斗序列大全05-02
国际疾病分类(ICD-10) - 确定根本死因的规则和指导--死因链推断09-14
浙大研究生学术规范网上考试答案10-17
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 程序设计
- 循环
- 语言
- 控制
- 山东省济宁市鱼台县第一中学【最新】高三第一次月考(10月)地理试题
- 《动物生化实验》实验四、牛乳中蛋白质的提取与鉴定
- 中药鉴定Microsoft Word 2003 文档
- 6.5 相似三角形的性质(2)
- 中国传统音乐的结构特点及其哲学基础
- 人教版九年级上册政治复习提纲1
- 专题软件开发实践报告
- 公司接待管理规定
- 福特锐界改装与装饰件
- 人事经理怎么做考勤排班计划最新范例
- 基于Windchill的产品配置管理研究
- 《中华字经》注释本
- Unit 4 My Home A Let&39;s learn 说课稿
- 无机化学-定量分析概论试题
- 司法考试刑法典型考题解析及重点考点识记
- 交通工具英语单词
- 四年级研究性学习计划
- 2010年4月全国自考市场营销学试题和答案
- 地下室防水施工方案
- 网络管理技术课程设计(初稿)