C语言程序设计(第二版) 教学课件 ppt 作者 林小茶 C_ch5

上传人:E**** 文档编号:89389654 上传时间:2019-05-24 格式:PPT 页数:69 大小:725KB
返回 下载 相关 举报
C语言程序设计(第二版) 教学课件 ppt 作者 林小茶 C_ch5_第1页
第1页 / 共69页
C语言程序设计(第二版) 教学课件 ppt 作者 林小茶 C_ch5_第2页
第2页 / 共69页
C语言程序设计(第二版) 教学课件 ppt 作者 林小茶 C_ch5_第3页
第3页 / 共69页
C语言程序设计(第二版) 教学课件 ppt 作者 林小茶 C_ch5_第4页
第4页 / 共69页
C语言程序设计(第二版) 教学课件 ppt 作者 林小茶 C_ch5_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《C语言程序设计(第二版) 教学课件 ppt 作者 林小茶 C_ch5》由会员分享,可在线阅读,更多相关《C语言程序设计(第二版) 教学课件 ppt 作者 林小茶 C_ch5(69页珍藏版)》请在金锄头文库上搜索。

1、C 语言程序设计,林小茶 Email: ,第5章 循环结构程序设计,5.1 问题提出与程序示例 5.2 while语句 5.3 do while 语句 5.4 for 语句 5.5 多重循环 5.6 break语句在循环语句中的用法 5.7 continue语句 5.8 控制循环的实用方法,5.1 问题提出与程序示例,5.1 问题提出与程序示例,错误思想,i是循环变量,从1到20,循环刚好做20次。,5.1 问题提出与程序示例,5.1 问题提出与程序示例,例5.1 用while语句解决“在屏幕上输出整数1到20”的问题。 #include “stdio.h“ void main() int i

2、; i=1; while (i=20) printf(“%d “,i); i+; printf(“n“); ,循环表达式,循环体,5.1 问题提出与程序示例,sum是累加器,每次循环累加i当时的值。sum的初值一定要为0。,5.1 问题提出与程序示例,例5.2 用while语句解决“1+2+3+n”的问题。 #include “stdio.h“ void main() int i,sum,n; i=1;sum=0; printf(“nPlease input a integer:“); scanf(“%d“, ,循环表达式,循环体,5.2 while语句,while (表达式) 语句;,5.2

3、 while语句,i=1; while (i=20) printf(“%d “,i); i+; ,初值,终值,累加,通过计数控制循环,5.2 while语句,例5.3 执行下列程序时,若输入为 welcome$,程序的执行结果是什么? #include “stdio.h“ void main() char c; printf(“nPlease input a string ended with $ :n“); c=getchar(); while (c!=$) putchar(c); c=getchar(); putchar(n); ,结束循环的特殊值,根据用户输入的一个特殊值来结束循环,5.

4、2 while语句,(1) 循环次数的控制要正确。,(2) 循环体包含一个以上的语句时,一定要用花括号括起来,否则,可能与程序要求不符。,(3)在循环体内要有使循环趋向于结束的语句,否则,可能引起无限循环。,(4) 循环表达式可以是真,通过在循环体中加if语句对循环进行控制。,5.2 while语句,例5.4 输入20个整数, 求它们的和以及平均值。,5.2 while语句,例5.4 输入20个整数,求它们的和以及平均值#include “stdio.h“ void main() int i,sum,a; sum=0; i=0; printf(“Please enter 20 int:“);

5、while (i20) scanf(“%d“, ,5.2 while语句,例5.5 请判断下列程序的结果。 #include “stdio.h“ #include “stdio.h“ void main() int i; i=0; while (i20) i+; printf(“%d “,i); printf(“n“); ,5.2 while语句,例5.6 请判断下列程序的结果。 #include “stdio.h“ void main() int i; i=1; while (i=20) printf(“%d “,i); i+; printf(“n “); ,5.2 while语句,例5.7

6、 在循环中使用break语句跳出循环。 #include “stdio.h“ void main() int i,sum,a; sum=0; i=0; printf(“Please enter 20 int:“); while (10) if (i20) i+; else break; scanf(“%d“, ,5.3 do while语句,do 语句; while (表达式);,5.3 do while语句,例5.8 用do while 解决“在屏幕上输出整数1到20”的问题。,5.3 do while语句,#include “stdio.h“ void main() int i; i=1;

7、 do printf(“%d ”,i); i+; while (i=20); printf(“n“); ,初值,终值,累加,例5.8 用do while 解决“在屏幕上输出整数1到20”的问题。,5.3 do while语句,例5.9 用while 解决“1+2+3+n”的问题。,5.3 do while语句,#include “stdio.h“ void main() int i,sum,n; i=1;sum=0; printf(“nPlease input a integer:“); scanf(“%d“, ,当用户的输入为0时,程序的运行结果正确吗?,5.3 do while语句,例5.

8、10执行下列程序时,若输入为welcome$,程序的执行结果是什么? #include “stdio.h“ void main() char c; printf(“nPlease input a string ended with $:“); do c=getchar(); putchar(c); while (c!=$); ,5.3 do while语句,(1)为了避免编译系统把do while 的while 当做while语句的开始,do while循环体中的语句即使只有一句,也需要用分程序结构(用花括号括起)。,(2) 由于do while语句是先做循环体,再判断表达式,所以有些程序不能

9、用do while 语句编写。,5.3 do while语句,#include “stdio.h“ void main() char c; printf(“nPlease input a string ended with $:“); do putchar(c=getchar(); while (c!=$); ,正确吗?,5.3 do while语句,例5.11 求平均值的错误程序。 #include “stdio.h“ void main() int sum,i,score; sum=0; i=0; printf(“nPlease input a string ended with -1:“

10、); do scanf(“%d”, ,5.3 do while语句,#include “stdio.h“ void main() char c; printf(“nPlease input a string ended with $:“); do putchar(c=getchar(); while (c!=$); ,正确吗?,5.4 for语句,for (表达式1;表达式2;表达式3) 语句 ;,5.4 for语句,5.4 for 语句,例5.12 用for 解决“在屏幕上输出整数1到20”的问题。,#include “stdio.h“ void main() int i; for (i=1

11、;i=20; i+) printf(“%d “,i); printf(“n“); ,初值,终值,累加,5.4 for 语句,例5.13 用for语句解决“1+2+3+n”的问题。,#include “stdio.h“ void main() int i,sum,n; printf(“nPlease input a integer:“); scanf(“%d“, ,例5.14执行下列程序时,若输入为welcome$,程序的执行结果是什么?,#include “stdio.h“ void main() char c; printf(“nPlease input a string:“); for (

12、c=getchar();c!=$;c=getchar() ) putchar(c); ,运行结果?,5.4 for语句,(1) for语句写起来很灵活,表达式1,表达式2,表达式3都可以省略,但是即使是三个表达式都省略了,二个“;”也不可省略。,(2)在表达式和表达式中可以使用逗号运算符把执行语句并列在一起,并且循环体可以为空。,5.4 for语句,for (j=sum=0; j5;j+) sum=sum+j; j=sum=0; for ( ; j5;j+) sum=sum+j; j=sum=0; for ( ; j5;) sum=sum+j; j+; ,三段等价的程序,5.4 for语句,f

13、or(i=1,sum=0;i=100;sum+=i,i+) ; 是一个空循环体的语句,该句的功能是求1+2+3+100。 例5.14也可以编写成空循环体: #include “stdio.h“ void main() char c; printf(“nPlease input a string:“); for (;(c=getchar()!=$;putchar(c); ,5.4 for语句,for (i=1;i=20;i+) ; printf(“%d “,i);,循环做什么了?,5.5 多重循环,编写程序在一行内输出整数1到20,并连续输 出5行。 解决此问题的思路是:把“在一行内输出 整数1

14、到20”的工作重复5次。,5.5 多重循环,5.5 多重循环,例5.15 编写程序在一行内输出整数1到20,并连续输出5行。 #include “stdio.h“ void main() int i,j; for (i=1;i=5;i+) for (j=1;j=20;j+) printf(“%d “,j); printf(“n“); ,5.5 多重循环,例5.16 编写程序输出下列图形: 1 22 333 4444 55555 666666 7777777 88888888 i=1999999999,5.5 多重循环,5.5 多重循环,#include “stdio.h“ void main() int i,j; for (i=1;i=9;i+) for (j=1;j=i;j+) printf(“%d“,i); printf(“n“); ,5.6 break语句在循环语句 中的用法,break;,break语句用在循环体中的功能是:终止 最内层循环。从包含它的最内层循环语句 (while ,do-while ,for)中退出,执行包含 它的循环语句的下面一条语句。,例5.17编写程序输入某门功课的若干个同学的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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