(中职)计算机程序设计(C语言)第五章第3节教学课件工信版

2022-10-19
| 13页
| 119人阅读
| 9人下载
普通

内容正文:

YCF (中职)计算机程序设计(C语言)第五章第3节教学课件工信版 1 第五章 循环结构程序设计 5.3 do—while循环语句 do-while循环语句,也称直到型循环语句。 先执行循环体语句,再判断条件是否成立,如果条件成立,则继续执行循环体,直到条件不成立才退出循环体。 1、do-while循环语句的一般格式 一般格式: do { 语句( 循环体); }while(表达式); 其中: do跟while是关键字,表达式也叫条件式,通常情况下是关系式或逻辑式,但是C语言中支持任何表达式作为条件式。 2、do-while语句的执行过程 (1)首先执行循环体语句,再计算while语句后面的表达式(也叫条件式)的值,如果表达式的值为非0(即为真),则返回继续执行循环体语句。 (2)然后再计算while语句后面的表达式,再判断看表达式的值,直到while语句后面的条件表达式为0(即为假)时,退出循环语句,执行循环语句的下一个语句。 3、do-while语句的执行流程图 如下图(图5-3) 图5-2 条件表达式 循环体语句 假 真 4、do-while语句和while语句的区别 (1)do-while语句是先执行循环体,然后判断条件,所以do-while语句至少执行一次循环体。 (2)while语句是先判断条件,条件成立后才执行循环体,所以循环体有可能一次也不执行(如初始条件不成立时)。 5、 应用举例 【例5-3】用do-while语句求解 s=1+2+3+4+5+6+7+8+9+10 的值。 程序设计: #include <stdio.h> main() { int i=1,s=0; // i=1循环变量赋初值 do s+=i++; // 循环体语句内包含改变条件式的部分 while(i<=10); // i<=10 循环条件式 printf(“s=%d”,s); } 5、 应用举例 【例5-3】用do-while语句求解 s=1+2+3+4+5+6+7+8+9+10 的值。 分析: (1)将本例和【例5-1】进行对比可以看出,do-while语句和while语句在一般情况下可以相互替换用。 (2)在某些情况下,这两者又会得出不同的结果,如将以上两个例题中的循环条件式都改成i>10,则结果就会不同。 5、 应用举例 【例5-3】用do-while语句求解s=1+2+3+4+5+6+7+8+9+10的值。 例5-2变式 例5-3变式 #include <stdio.h> #include <stdio.h> main() main() { int i=1,s=0; { int i=1,s=0; while(i>10) do { s+=i; s+=i++; i++; while(i>10); } printf(“s=%d”,s); printf(“s=%d”,s); } } 例5.2改变后的运行结果:s=0 例5.3改变后的运行结果:s=1 由变式运行结果看,此时两种语句运行结果是不同,其中的原因请读者自己分析。 6、 使用do-while语句时应该注意以下几点: (1)在do-while语句中,while(表达式);后面的“;”不能丢掉,因为这是一条完整语句结束的标记。 (2)当do-while语句循环体部分是多条语句,“{ 、 }”不能省,这是复合语句的标识。 (3)在循环体内要有改变条件式的值的语句,使循环趋向结束,以避免“死循环”。 (4)do-while语句和while语句相互替换时,应注意循环条件的修改,也要注意区分两者何种情况下运行结果是相同的,何种情况下运行结果是不同的。 (5)在do-while语句的循环体部分还可以用do-while语句或while语句,以形成循环嵌套。 拓展练习 上例中我们用do-while语句求解某个范围内的数的和,那么如何用do-while语句求解n阶乘呢? 程序设计: #include <stdio.h> main() { int i=0,n; double p=1; // 作为累乘器一般定义成double,初值置为1 scanf(“%d”,&n); // n的值可以是随意输入的一个值 do { i++; //

资源预览图

(中职)计算机程序设计(C语言)第五章第3节教学课件工信版
1
(中职)计算机程序设计(C语言)第五章第3节教学课件工信版
2
(中职)计算机程序设计(C语言)第五章第3节教学课件工信版
3
(中职)计算机程序设计(C语言)第五章第3节教学课件工信版
4
(中职)计算机程序设计(C语言)第五章第3节教学课件工信版
5
(中职)计算机程序设计(C语言)第五章第3节教学课件工信版
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。