




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计 安徽农业大学信息与计算机学院 循环结构 有规律地重复进行相同的操作 循环语句 1 while语句2 do while语句3 for语句 第5章循环结构程序设计 5 1 1一般形式while 表达式 循环体语句块 功能 先计算表达式的值 若表达式的值为真时 执行循环体语句 否则若表达式的值为假时 循环结束 转而执行while语句之后的语句 5 1 1While语句 当型 循环 例5 2 编写一个程序 用户从键盘输入20个数 求它们的和并输出结果 程序设计分析 使用循环结构 每次输入一个数x 将它累加到变量sum上 重复执行20次这样的操作 便得到最后的结果 floatx sum 0 定义并初始化变量 inti 1 定义并初始化循环控制变量 printf 请输入数据 n while i 20 循环条件 scanf f 循环控制变量进行更新自增1 例5 1 编写一个程序 用户从键盘输入整数n 计算s 2 4 6 8 2n并输出计算结果s 程序设计分析 1 s实际上是n个整型数据项的和 这些数据项分别是2 4 6 2n 2 利用循环结构 在每次循环中 计算出要累加的一个数据项 累加到变量s上 3 重复执行n次相同的操作 4 输出最后结果s inti 1 x n s 0 定义并初始化变量 scanf d 显示结果 S 1 3 5 2n 1 S 1 1 3 1 5 1 2n 1 S 1 1 2 1 3 1 4 1 n S 2 1 3 2 5 3 8 5 前n项之和 S 1 2 3 n 用相似编程方法求以下各式 5 1 2while语句使用说明 1 while语句是先判断条件 然后决定是否执行循环体 2 为使循环能正常结束 应保证每次执行循环体后 表达式的值会有一种向 假 变化的趋势 如i 5 while i 0 x 3 在进入循环之前应做好有关变量的初始化赋值操作 如上例中 累加变量s初始化为0 i变量初始化为1 5 1 3do while语句 直到型 循环 一般形式 do 循环体语句 while 表达式 功能 先执行循环体语句 然后计算表达式的值 若表达式值为真 值非0 继续执行循环 否则当表达式的值假 值为0 时 循环结束 执行do while语句的后续语句 例5 4 用do while语句完成 例5 2 的要求 用户从键盘输入20个数 求它们的和并输出结果 includevoidmain floatx sum 0 inti 1 定义并初始化循环控制变量 printf 请输入数据 do scanf f 例5 3 用do while语句完成 例5 1 的要求 计算s 2 4 6 8 2n并输出计算结果s voidmain inti 1 x n s 0 printf 请输入n的值 scanf d 5 1 4do while语句使用说明 1 do while语句与while语句的使用方法相同 都由循环继续条件来决定循环体语句是否继续被重复执行 2 与while循环一样 为使循环能正常结束 也应保证每次执行循环体后 表达式的值会有一种向 假 变化的趋势 防止不要出现死循环 5 2for循环结构和循环的嵌套 一般形式 for 表达式1 表达式2 表达式3 循环体语句 功能 先执行表达式1语句 然后判断表达式2的值是否为真 值非0 如果为真 则执行循环体语句 接着执行表达式3 再判断表达式2的值 如此重复执行 直到表达式2的值为0终止循环 跳转到循环体之后的语句执行 for 循环变量赋初值 循环继续条件 循环变量更新 循环体语句 例5 6 使用for循环语句实现例 5 2 的要求 用户从键盘输入20个数 求它们的和并输出结果 includevoidmain floatx sum 0 定义并初始化变量 inti 定义并初始化循环控制变量 printf 请输入数据 for i 1 i 20 i scanf f 例5 5 用for语句完成 例5 1 的要求 计算s 2 4 6 8 2n并输出计算结果s includevoidmain inti x n s 0 定义并初始化变量 printf 请输入n的值 scanf d 5 2 2for循环语句使用说明 1 for语句可以取代while语句或do while语句 尤其对于确定循环次数的循环 使用for语句让程序结构更加直观和容易理解 2 for语句中 中的三条表达式语句可以省略 即可以将它们写在程序其他地方 但是它们之间的分号 不可省略 如何选择循环语句 需要入口条件循环涉及到循环控制变量初始化和更新的时候 即循环次数已知的情况 用for语句 不涉及循环控制变量的时候使用while循环 while语句 出口条件循环do while语句 5 2 3循环嵌套的形式 在一个循环体内有包含另一个完整的循环结构 这样的循环结构称为循环的嵌套 也就是多层循环 其中包含其他循环 处于外部的循环叫外层循环 被包含在内部的循环也叫内层循环 2 for while 4 for for 1 while for 3 for do while includevoidmain 定义并初始化变量 请输入n的值 for i 1 i n i 外层循环 计算i 值 内层循环计算i 将i 的值累加到s中 累加到s中 for循环结束 显示计算结果 j 1 x 1 while j i x x j j inti j x s 0 例5 7 编写程序 计算s 1 2 3 n 其中n是由用户输入的整数 小于8 计算完成后显示结果 includevoidmain inti j x n s 0 printf 请输入n的值 scanf d 显示结果 内层循环 外层循环 5 3流程转向语句 break语句 break 作用 强行结束循环 跳出本层循环转向循环体外的下一条语句 通常与if语句在一起使用 if 条件表达式 break includevoidmain inti 1 s 0 while i999 break 终止循环 printf s d s 例如 注意 break语句只能跳出一层循环 如果它位于多层嵌套循环的内层 那么只能终止break语句所在的那层循环 inti j for i 0 i100 break 跳出内层循环 if i 100 break 跳出外层循环 continue语句continue 功能 跳过当前循环体剩余语句 直接开始执行下一轮循环 通常与if语句在一起使用 if 条件表达式 continue 例5 9 计算1000以内所有不能被3整数的正整数之和并显示结果 includevoidmain inti s 0 for i 1 i 1000 i if i 3 0 continue 结束本轮循环 s i printf s d s 例5 11 编写一个程序 接收用户从键盘输入的字符 当用户输入回车时表示确认输入 统计用户输入了多少个字符 不含回车符 程序设计分析 1 无法预知循环的执行次数 2 使用循环来接收用户的输入 每次接收一个字符都判断以下是否是回车符 如不是则把计数变量的值增加1 5 4循环结构程序举例 includevoidmain charc inti 0 计数变量初始化 printf 请输入字符串 以回车确认 n c getchar 接收字符 while c n 判断是否是结尾 i 计数增加1 c getchar 继续接收字符 printf 字符串中共 d个字符 i 例5 12 编写程序完成功能 输入一个大于或等于0的整数 计算它是一个几位数 0算一位整数 includevoidmain intx n printf 请输入一个整数 scanf d 1121123211234321123454321 11211232112343211234543211234321123211211 aababc ab z 图1 图2 图3 图4 图5 图6 输出图形 方法 主要是找规律1 图形总共有几行并寻找其变化规律用循环控制实现2 寻找每行符号的变化规律每一行的空格个数与行数之间的关系 用一个内循环实现 如果每行显示相同字符但字符个数不同 则按其规律找出显示的字符个数与行数之间的关系 用一个内循环实现 如果每行显示不同的字符 则找到这些字符的变化规律与行数之间的关系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 22259-2025饲料中土霉素的测定
- 2025年机关安全检查测试题
- 2025年安全知识面试难点题及答案
- 2025年初级工程师专业技术知识模拟题集
- 2025年汽车销售顾问职业资格考试试题及答案解析
- 2025年中小学校会计制度实操模拟题集
- 2025年美术馆学术研究人员资格认证试题及答案解析
- 2025年军事战略规划师资格考试试题及答案解析
- 2025年AR工程师初级面试重点题集
- 课件中文字的极速处理
- 邮政快递员技能大赛理论考试题库(含答案)
- 《电动航空器电推进系统技术规范》
- 结肠造瘘还纳术手术配合
- 2024年山东省建筑施工企业主要负责人A类考试题库及答案(典型题)
- 特种设备目录新旧对照表
- 2024年初一英语阅读理解专项练习及答案
- 陪诊师与公司签订协议书范文
- 喀什德力克油田科技有限公司30万立方米-日油田伴生放空天然气回收利用项目
- PICC穿刺点感染个案护理课件
- 《动眼神经解剖》课件
- 2023全球数字经济白皮书
评论
0/150
提交评论