4.2do……while循环(课件)-《C语言程序设计》同步教学(高教版)

2024-11-09
| 17页
| 234人阅读
| 36人下载
普通

内容正文:

第四章 循环程序设计 1 do……while 1、 2 do……while循环 4.2 do……while语句是一种称为“直到型”的循环。 一般形式: do { 语句序列; }while(表达式); 表达式 语句序列 假(0) 真(非0) 变量初始化 注意: 1、while(表达式)后面的“ ;”不能遗漏 2、do……while循环中,即使只有单一语句,“{}”也不能省略。 3 do……while循环 4.2 执行过程: 表达式 语句序列 假(0) 真(非0) 变量初始化 ①、执行循环体中的语句,开始一个循环的周期。 ②、计算表达式的值。如果表达式为非0,即循环条件为真,则转到①步,开始下一个循环周期;若表达式为0,即循环条件为假,则转到第③步。 ③、结束do……while循环,转到执行do……while循环语句后的第1条语句。 do……while语句执行的特点:先执行循环体,后判断条件,至少执行一次循环。 4 do……while循环 4.2 例4-2:比较下面while语句与do……while语句: #include < stdio . h> main( ) { char ch ; ch=getchar() ; do { putchar(ch) ; ch=getchar( ) ; } while(ch!='*'); } 输入:ABC* 输入:*AB* #include < stdio . h > main( ) { char ch ; ch=getchar() ; while(ch!='*') { putchar(ch); ch=getchar( ); } } 输入:ABC* 输入:*AB* 观察这两个程序,找同学试着说出程序的功能 5 do……while循环 4.2 例4-2:比较下面while语句与do……while语句: #include < stdio . h> main( ) { char ch ; ch=getchar() ; do { putchar(ch) ; ch=getchar( ) ; } while(ch!='*'); } 输入:ABC* 输入:*AB* #include < stdio . h > main( ) { char ch ; ch=getchar() ; while(ch!='*') { putchar(ch); ch=getchar( ); } } 输入:ABC* 输入:*AB* 6 do……while循环 4.2 例4-3:输入一个整数,按相反次序输出。例如:输入54321,输出12345。 分析:前面我们曾用if语句编写过,输入三位数、四位数然后反次序输出的题目,但这道题目没有说是几位数,因此用以前的模式编写显然不行了。 用循环编写,循环体应该是什么呢? 循环体就是将输入的数,每一位分解出来,然后输出来 7 do……while循环 4.2 例4-3:输入一个整数,按相反次序输出。例如:输入54321,输出12345。 定义变量:输入的数num,提取的数b 如何提取: 假设五位数54321,以前我们是怎么做的? 提取1,我们用的办法是除10取余, 提取2,我们用5432再除10取余, 提取3,我们用543再除10取余, 提取4,我们用54再除10取余 8 do……while循环 4.2 假设五位数54321,以前我们是怎么做的? 提取1,我们用的办法是除10取余, 提取2,我们用5432再除10取余, 提取3,我们用543再除10取余, 提取4,我们用54再除10取余 54321%10 然后54321/10,得到5432 5432%10 然后5432/10,得到543 543%10 然后543/10,得到54 54%10 从上面过程可以看出,循环体的内容就是每次循环%10,然后将提取出的数输出,剩下的部分继续循环。 9 do……while循环 4.2 例4-3:输入一个整数,按相反次序输出。例如:输入54321,输出12345。 定义变量:输入的数num,提取的数b 循环体: do { b=num%10; printf(“%d”,b); num=num/10; }while(num); 10 do……while循环 4.2 例4-3:输入一个整数,按相反次序输出。例如:输入54321,输出12345。 定义变量:输入的数num,提取的数b 循环体: do { b=num%10; printf(“%d”,b); num=num/10; }while(num); #include <stdio.h> main( ) { long num,b; num=0; b=0; printf("请输入一个整数"); scanf("%ld",&num); do {b=num%10; printf("%d",b); num=num/10; }while(num); } 11 do……while循环 4.2 例4-3:输入一个整数,按相反次序输出。例如:输入54321,输出12345。 定义变量:输入的数num,提取的数b 循环体: do { b=num%10; printf(“%d”,b); num=num/10; }while(num); #include <stdio.h> main( ) { long num,b; num=0; b=0; printf("请输入一个整数"); scanf("%ld",&num); do {b=num%10; printf("%d",b); num=num/10; }while(num); } 12 do……while循环 4.2 例4-3:输入一个整数,按相反次序输出。例如:输入54321,输出12345。 定义变量:输入的数num,提取的数b 循环体: do { b=num%10; printf(“%d”,b); num=num/10; }while(num); #include <stdio.h> main( ) { long num,b; num=0; b=0; printf("请输入一个整数"); scanf("%ld",&num); do {b=num%10; printf("%d",b); num=num/10; }while(num); } 13 do……while循环 4.2 例4-3:输入一个整数,按相反次序输出。例如:输入54321,输出12345。 定义变量:输入的数num,提取的数b 循环体: do { b=num%10; printf(“%d”,b); num=num/10; }while(num); #include <stdio.h> main( ) { long num,b; num=0; b=0; printf("请输入一个整数"); scanf("%ld",&num); do {b=num%10; printf("%d",b); num=num/10; }while(num); } 14 do……while循环 4.2 例4-3:输入一个整数,按相反次序输出。例如:输入54321,输出12345。 定义变量:输入的数num,提取的数b 循环体: do { b=num%10; printf(“%d”,b); num=num/10; }while(num); #include <stdio.h> main( ) { long num,b; num=0; b=0; printf("请输入一个整数"); scanf("%ld",&num); do {b=num%10; printf("%d",b); num=num/10; }while(num); } 15 do……while循环 4.2 例4-3:输入一个整数,按相反次序输出。例如:输入54321,输出12345。 定义变量:输入的数num,提取的数b 循环体: do { b=num%10; printf(“%d”,b); num=num/10; }while(num); #include <stdio.h> main( ) { long num,b; num=0; b=0; printf("请输入一个整数"); scanf("%ld",&num); do {b=num%10; printf("%d",b); num=num/10; }while(num); } 16 do……while循环 4.2 例4-3:输入一个整数,按相反次序输出。例如:输入54321,输出12345。 #include <stdio.h> main( ) { long num,b; num=0; b=0; printf("请输入一个整数"); scanf("%ld",&num); do {b=num%10; printf("%d",b); num=num/10; }while(num); } 思考:这道题目能否用while循环解决? 为什么? 不行, 原因是本题中无法确定循环次数。而用while循环需确定循环次数。 17 $$

资源预览图

4.2do……while循环(课件)-《C语言程序设计》同步教学(高教版)
1
4.2do……while循环(课件)-《C语言程序设计》同步教学(高教版)
2
4.2do……while循环(课件)-《C语言程序设计》同步教学(高教版)
3
4.2do……while循环(课件)-《C语言程序设计》同步教学(高教版)
4
4.2do……while循环(课件)-《C语言程序设计》同步教学(高教版)
5
4.2do……while循环(课件)-《C语言程序设计》同步教学(高教版)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。