第3章 循环结构程序设计.ppt_第1页
第3章 循环结构程序设计.ppt_第2页
第3章 循环结构程序设计.ppt_第3页
第3章 循环结构程序设计.ppt_第4页
第3章 循环结构程序设计.ppt_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3 4循环结构程序设计 理解为什么使用循环结构熟练掌握while循环的使用熟练掌握do while循环的使用理解while和do while循环的区别熟悉运用for循环进行程序设计 循环的必要性2 1 求S 1 2 3 100intsum sum sum 1 sum sum 2 sum sum 3 sum sum 4 sum sum 5 sum sum 6 sum sum 100 Printf d n sum 5050 输出结果 重复语句 循环的必要性2 2 sum 1 sum 2 sum 3 上个数字 1 重复sum sum 上个数字 1 sum 100 goto语句格式 goto标号 功能 无条件转移语句说明 不能用整数作标号只能出现在goto所在函数内 且唯一只能加在可执行语句前面限制使用goto语句 goto语句标号 标号 语句 例用goto语句构成循环 求s 1 2 3 100 includemain inti sum 0 i 1 loop if i 100 sum i i gotoloop printf d sum sum 0 1sum 1 2 3sum 3 3 6sum 6 4 sum 4950 100 5050 while语句一般形式 while 表达式 循环体语句 执行流程 特点 先判断表达式 后执行循环体说明 循环体有可能一次也不执行循环体可为任意类型语句下列情况 退出while循环条件表达式不成立 为零 无限循环 while 1 循环体 例用while循环求s 1 2 3 100 includemain inti sum 0 i 1 while i 100 sum sum i i printf d sum 请大家思考 编程序求出 s 1 2 3 4 5 6 99 100的值 请大家回去思考下面程序的写法 S 1 1 2 1 3 1 4 1 100 S 1 1 3 1 5 1 7 1 100 do while语句一般形式 do循环体语句while 表达式 执行流程 特点 先执行循环体 后判断表达式说明 至少执行一次循环体do while可转化成while结构 includemain inti sum 0 i 1 do sum i i while i 100 printf d sum 例用do while循环求s 1 2 3 100 例while和do while求s 1 2 100 includemain inti sum 0 i 1 do sum i i while i 100 printf d sum includemain inti sum 0 i 1 while i 100 sum i i printf d sum 编程 猜数游戏要求猜一个介于1 10之间的数字 根据用户猜测的数与标准值进行对比 并给出提示 以便下次猜测能接近标准值 直到猜中为止 分析下面程序的运行结果 includemain inti 1 while i 10 printf d d d n i i i i i 运行结果 1 1 12 2 43 3 94 4 165 5 256 6 367 7 498 8 649 9 8110 10 100 for语句一般形式 for expr1 expr2 expr3 循环体语句 执行流程 for语句一般应用形式 for 循环变量赋初值 循环条件 循环变量增值 循环体语句 说明 for语句中expr1 expr2 expr3类型任意 都可省略 但分号 不可省无限循环 for for语句可以转换成while结构 expr1 while expr2 循环体语句 expr3 inti 0 for i 0 i 10 i putchar a i 运行结果 inti 0 for i 10 i putchar a i inti 0 for i 10 putchar a i inti 0 for i 10 putchar a i i abcdefghij includevoidmain intn i s 1 printf n请输入任意一个正整数 scanf d 请输入任意一个正整数 5 5 1 1 2 120 6 循环执行五次 5的阶乘 120 编程 求S 5 思考 求S 1 2 3 4 5 循环的嵌套三种循环可互相嵌套 层数不限外层循环可包含两个以上内循环 但不能相互交叉嵌套循环的执行流程 1 while while 2 do do while while 3 while do while 4 for do while while 嵌套循环的跳转禁止从外层跳入内层 禁止跳入同层的另一循环 禁止向上跳转 只有在内循环完全结束后 外循环才会进行下一趟 例循环嵌套 输出九九表 includemain inti j for i 1 i 10 i printf 4d i printf n n for i 1 i 10 i for j 1 j 10 j printf j 9 4d n 4d i j 问题描述 用 输出一个如下图案 还有 辅助控制语句 break功能 在循环语句和switch语句中 终止并跳出最近一层的循环体或开关体说明 break语句可以改变程序的控制流break语句用于do while while for循环中时 可使程序终止循环而执行循环后面的语句break语句通常在循环中与条件语句一起使用 若条件值为真 将跳出循环 控制流转向循环后面的语句如果已执行break语句 就不会执行循环体中位于break语句后的语句在多层循环中 一个break语句只向外跳一层 例break举例 输出圆面积 面积大于100时停止 definePI3 14159main intr floatarea for r 1 r100 break printf r d area 2f n r area 例思考下面程序的功能 includemain inti j charc while 1 c getchar if c a 小写字母转换成大写字母 直至输入非字母字符 continue语句功能 结束本次循环 跳过循环体中尚未执行的语句 进行下一次是否执行循环体的判断 continue语句只能用在循环里continue语句的作用是跳过循环体中剩余的语句而执行下一次循环对于while和do while循环 continue语句执行之后的动作是条件判断 对于for循环 随后的动作是变量更新 问题描述 求整数1 100的累加值 但要求跳过所有个位为3的数 例求输入的十个整数中正数的个数及其平均值 includemain inti num 0 a floatsum 0 for i 0 i 10 i scanf d 程序举例 分子 1 1 1 1 分母 1 3 5 7 例求Fibonacci数列 1 1 2 3 的前40个数 例判断m是否素数 例译密码 例如Hello world 译成密码 Lipps asvph includemain charc while c getchar n if c a 第12周上机习题 1 判断输入整数x的正负性和奇偶性 2 输入一个数字 输出对应的星期的英文单词 比如输入5 输出 Friday 3 编程求S 1 1 3 1 5 1 7 1 100 1 有以下程序段intk 0 while k 1 k while循环执行的次数是 A 无限次B 不能执行C 一次也不执行D 执行1次 复习while循环 A 2 有以下程序段intn 0 p do scanf d 此处do while循环的结束条件是 A P的值不等于12345并且n的值小于3B P的值等于12345并且n的值大于等于3C P的值不等于12345或者n的值小于3D P的值等于12345或者n的值大于等于3 3 要求以下程序的功能是计算 main intn floats s 1 0 for n 10 n 1 n s s 1 n print 6 4f n s 程序运行后输出结果错误 导致错误结果的程序行是A s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论