C语言基础-第五章-循环结构

上传人:go****e 文档编号:129555230 上传时间:2020-04-23 格式:PPT 页数:48 大小:468.52KB
返回 下载 相关 举报
C语言基础-第五章-循环结构_第1页
第1页 / 共48页
C语言基础-第五章-循环结构_第2页
第2页 / 共48页
C语言基础-第五章-循环结构_第3页
第3页 / 共48页
C语言基础-第五章-循环结构_第4页
第4页 / 共48页
C语言基础-第五章-循环结构_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《C语言基础-第五章-循环结构》由会员分享,可在线阅读,更多相关《C语言基础-第五章-循环结构(48页珍藏版)》请在金锄头文库上搜索。

1、C的基本结构程序设计 程序的基本结构 复习提问 顺序结构选择结构循环结构 C的基本结构程序设计 程序的基本结构 复习提问 顺序结构选择结构循环结构 C的基本结构程序设计 程序的基本结构 复习提问 顺序结构选择结构循环结构 顺序结构的特点 每一条语句按顺序执行 每一条语句只执行一遍 不重复执行 也没有语句不执行 复习提问 C的基本结构程序设计 复习提问 分支结构的特点 每一条执行了的语句都只执行一遍 不重复执行 但有语句不执行 C的基本结构程序设计 C的基本结构程序设计 循环结构程序设计 主要内容 循环的概念 循环变量的概念等 重点 while语句 dowhile语句 for语句 每一种语句的格

2、式和使用都是重点 循环的嵌套 难点 scanf f 这样重复一百次 然后输出s的值 这样写显然非常麻烦 我们注意到程序中的scanf f 两句话是一直重复的 如果能用一种语句 使这两句话能自动的重复执行一百次 就可以简化了书写的麻烦 这就是循环语句 编程解决这样的一个问题 从键盘输入一百个学生的成绩 求总成绩 从前面所学 有两种解决方法 1 设一百个变量 分别输入学生的成绩 然后求和 这种方法浪费内存空间 显然不实际 2 设一个变量 每次输入一个学生成绩 累加后再输入下一个学生成绩 如下 循环的概念 在循环条件的范围内反复执行相同的循环体 称循环程序设计 循环结构的特点 循环体中的语句 在条件

3、满足的情况下 可反复执行 5 2while语句构成的循环结构 一般形式 循环变量的初始值 while 循环条件表达式 循环体语句 执行流程 循环体语句可以是一条 也可以是多条 多条的时候应用复合语句 将多条语句括起来 循环变量的调整语句 1 计算表达式 2 如果表达式的值为非零 执行语句 3 返回第一步 重新计算表达式 4 如果表达式的值为零 则结束循环 如果表达式的值一开始就为0 则语句一次也不会被执行 执行流程 while语句举例 问题 求1 10的和 算法分析 1 定义变量n存储加数 定义s 0存储累加的和 2 输入第一个加数n3 若n 10 执行第4步 否则执行第6步4 s s n5

4、n 6 输出s 例 求S 1 2 3 10的值 源程序 includevoidmain inti s i 1 while i 10 s s i i i 1 printf pleaseoutputs d n s 例 实例 用while循环语句实现求 includemain inti sum 0 i 1 while i 100 sum sum i i printf d sum 源程序 includevoidmain inti s n printf pleaseinputn scanf d 例 求S 1 2 3 n的值 一般形式 循环变量的初始值 do循环体语句 while 循环条件表达式 执行流程

5、 do while语句 1 执行语句 3 表达式的值为非零 返回第1步 4 表达式的值为零 结束循环 语句至少被执行一次 2 计算表达式 执行流程 注意 分号不能丢 实例 用do while循环语句实现求 includemain inti sum 0 i 1 do sum sum i i i 1 while i 100 printf d sum 由于do while语句至少要被执行一次 特别要注意i和sum的取值问题 想想这样的一段循环语句的执行结果 i 1 while i 100 putchar i 这个循环永远不会结束 因为循环控制变量i没有在循环体内被改变 i 不属于循环体 应该改为 i

6、 1 while i 100 putchar i 循环语句中一定要注意表达式的值是否能在循环执行过程中被改变 以免造成死循环 do while同while语句的重要区别 例 源程序 includevoidmain intsum 0 i scanf d 例 while和dowhile循环比较 源程序 includevoidmain intsum 0 i scanf d 5 4for语句 一般形式执行流程 for expr1 expr2 expr3 循环体语句 for语句的一般应用形式 for 循环变量赋初值 循环条件 循环变量增值 循环体语句 includemain inti sum 0 for

7、 i 1 i 100 i sum i printf d sum 例用for循环求 for语句的几点说明for语句中expr1 expr2 expr3类型任意 都可省略 但分号 不可省无限循环 for for语句可以转换成while结构语句 i 1 for i 100 i sum sum i for i 1 i sum sum i for sum 0 i 1 i 100 sum sum i i i 1 for i 100 sum sum i i for 语句相当于while 1 语句 expr1 while expr2 循环体语句 expr3 解1 includemain inti 0 for

8、i 0 i 10 i putchar a i 运行结果 abcdefghij 解2 includemain inti 0 for i 10 i putchar a i 解3 includemain inti 0 for i 10 putchar a i 解4 includemain inti 0 for i 10 putchar a i i 例从a显示到j 例 求 即计算 main inti s n s 1 printf Entern scanf d 注意此处的分号 练习1 观察以下程序运行结果并分析 voidmain intn 0 while n 3 printf nis d n n n p

9、rintf That sallthisprgramdoes n 在使用while时 只有位于判断条件之后的单个语句 简单语句或复合语句 才是循环的部分 printf nis d n n 练习2 观察以下程序运行结果并分析 voidmain intn 0 while n 3 printf nis d n n printf That sallthisprogramdoes n 循环在判断条件后的第一个简单或复合语句处就结束了 循环体是空语句 练习3 观察以下程序运行结果并分析 intmain void longnum longsum 0l intstatus printf Pleaseentera

10、nintegertobesummed printf Enterqtoquit n status scanf ld 分析 这个例子改变了while的判断条件 用status 1代替了status 1 前一个表达式是一个赋值表达式 它把status赋值为1 而且表达式的值就是其左侧的值 这样status 1的值也为1 因此 实际上这个while循环就等于使用了while 1 即无限循环 5 5循环的嵌套 三种循环可互相嵌套 层数不限外层循环可包含两个以上内循环 但不能相互交叉嵌套循环的执行流程 1 while while 2 do do while while 3 while do while 4

11、 for do while while main inti j k for i 0 i 2 i for j 0 j 2 j for k 0 k 2 k printf d d d n i j k 例 运行结果 例 循环嵌套 输出九九表 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 for i 1 i 10 i for j 1 j 10 j printf j 9 4d n 4d i j 例 打印如图显示 includemain

12、 constintROWS 6 constintCHARS 6 introw charch for row 0 row ROWS row for ch A row ch A CHARS ch printf c ch printf n 5 6break语句和continue语句 break语句功能 在循环语句和switch语句中 终止并跳出循环体或开关体 说明 break只能终止并跳出最近一层的结构break不能用于循环语句和switch语句之外的任何其它语句之中 例break举例 输出圆面积 面积大于100时停止 definePI3 14159 include stdio h main int

13、r floatarea for r 1 r100 break printf r d area 2f n r area 例break举例 小写字母转换成大写字母 直至输入非小写字母 includemain inti j charc while 1 c getchar if c a continue语句功能 结束本次循环 跳过循环体中尚未执行的语句 进行下一次是否执行循环体的判断仅用于循环语句中 continue举例 输出100以内不能被7整除的数 main intn for n 1 n 100 n if n 7 0 continue printf d n 5 7应用综合举例 includemai

14、n charc printf inputoneletter enterforfinish n while c getchar n if c a 例从终端输入一行字符 把所有的小写转换成大写 例 includemain inta n i 1 longintsn 0 tn 0 printf pleaseinputaandn n scanf d d while i n 例求s a aa aaa aaaa aa a的值 其中a是一个数字 例如 2 22 222 2222 22222 此时共有5个数相加 几个数相加由键盘输入 例 tn tn a sn sn tn tn tn 10 i printf d

15、sn include stdio h main inti j k for i 0 i 3 i for j 0 j i j putchar for k 0 k 6 2 i k putchar putchar n for i 0 i 2 i for j 0 j 2 i j putchar for k 0 k 2 i 2 k putchar putchar n 打印图形 练习 打印出以下图案 学生自己动笔做 练习 打印出以下图案 学生自己动笔做 本章小结 while语句构成的循环结构dowhile语句构成的循环结构for语句循环的嵌套break语句和continue语句循环结构程序设计 include stdio h main inti j k for i 0 i 4 i for k 0 k 3 i 2 k putchar for j 0 j 4 j printf printf n include stdio h main inti j k for i 0 i 5 i for k 0 k 4 i 2 k putchar for j 0 j 2 i 1 j printf printf n n for i 0 i 4 i for k 0 k i 1 2 k putchar for j 0 j 7 2 i j printf printf n n

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 幼儿/小学教育 > 其它小学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号