C语言程序设计教学做一体化-模块.ppt

上传人:wuy****n92 文档编号:70101707 上传时间:2023-01-16 格式:PPT 页数:42 大小:246KB
返回 下载 相关 举报
C语言程序设计教学做一体化-模块.ppt_第1页
第1页 / 共42页
C语言程序设计教学做一体化-模块.ppt_第2页
第2页 / 共42页
点击查看更多>>
资源描述

《C语言程序设计教学做一体化-模块.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计教学做一体化-模块.ppt(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、C语言程序设计语言程序设计教学做一体化教学做一体化 主编主编 滕泓虬滕泓虬 中国水利水电出版社中国水利水电出版社模块五 循环结构程序设计5.15.1 概述概述5.25.2 goto goto语句以及用语句以及用gotogoto语句构成循环语句构成循环5.35.3 while while语句语句5.45.4 do-while do-while语句语句5.55.5 for for语句语句5.65.6 循环嵌套循环嵌套5.75.7 几种循环的比较几种循环的比较5.85.8 break break语句和语句和 continue continue语句语句5.95.9 程序举例程序举例C语言中语言中,可用

2、以语句实现循环可用以语句实现循环:(1)用goto语句和if语句构成循环;(2)用while 语句;(3)用do-while语句;(4)用for语句。5.1 while语句语句1、格式:while (表达式)循环体;表达式成立吗?循环体真(非0)假(0)2、执行过程:首先计算表达式的值,若表达式成立(非0),执行一遍循环体,再判断表达式,若成立再执行循环体当表达式不成立(其值为0)时退出循环,跳转到循环体之后的语句执行。3、特点:、特点:先判断表达式,然后执行循环体。若先判断表达式,然后执行循环体。若表达式一开始就不成立,则循环体一次也不执行表达式一开始就不成立,则循环体一次也不执行。4、注意

3、:、注意:(1)、循环部分为多个语句时,必须用大括号构、循环部分为多个语句时,必须用大括号构成复合语句;成复合语句;(2)、在、在while 语句之前应给循环变量赋初值。语句之前应给循环变量赋初值。(3)、循环体中应有语句修改控制条件,使循环、循环体中应有语句修改控制条件,使循环趋向结束。趋向结束。1+2+3+4+5=15分析分析:需要几个变量需要几个变量?输入输入,输出分别是什么输出分别是什么?程序大体可分为几个步骤?程序大体可分为几个步骤?sum=0i=1i=100?sum=sum+ii=i+1输出输出sum的值的值实例实例5_1:计算:计算 sum=1+2+3+100i=1;sum=0;

4、i=100sum=sum+i;i=i+1;(a)结构流程图(b)N-S流程图假(假(0)真(非真(非0)main()int i,sum=0;i=1;while(i=100)sum=sum+i;i=i+1;printf(“%d”,sum);i+;5.2 dowhile 循环语句循环语句1、格式:do 循环体;while(表达式);2、执行过程:先执行一遍循环体,然后判断表达式,当表达式的值为非0(真)时,返回重新执行循环体;如此反复,直到表达式的值为0(假)时退出循环。表达式成立吗?循环体真(非0)假(0)3、特点:先执行循环体,后判断循环条件(表达式)是否成立,即循环体至少执行一次。4、推荐书

5、写格式:do while();例:计算 sum=1+2+3+100i=100i=1 sum=sum+i;i=i+1;真真假假main()int i,sum;sum=0;i=1;do sum=sum+i;i+;while (i=100);printf(“sum=%dn”,sum);一般情况下,用while语句和do-while语句处理同一问题时,若二者的循环体一样,则结果也一样。但是如果while后面的表达式一开始就为假(0)时,两种循环的结果是不同的。while语句和do-while语句的比较:5.3 for语句语句1、格式:、格式:for (表达式表达式1;表达式表达式2;表达式表达式3)循

6、环体;循环体;其中:其中:表达式表达式1规定循环控制变量的初始值;规定循环控制变量的初始值;表达式表达式2指出循环条件表达式;指出循环条件表达式;表达式表达式3修改循环变量的值;修改循环变量的值;表达式2成立吗?求解表达式3真(非0)假(0)求解表达式1循环体语句eg410.cfor语句最易理解的形式:语句最易理解的形式:for(循环变量赋初值;循环条件;循环变量增值)循环体;2、功能:先求解表达式1,给循环控制变量赋初值;求解表达式2,若为真(非0),执行循环体;求解表达式3,它改变了表达式2中的某个变量;返回;直到条件为假(0),退出循环。main()int i,sum=0;for(i=1

7、;i=100;i+)sum=sum+i;printf(“sum=%d”,sum);实例实例5_3:计算 sum=1+2+3+100(1)可以省略表达式可以省略表达式1 sum=0;for(;i=100;i+)sum=sum+i;3.说明说明i=1;(2)可以省略表达式可以省略表达式3 sum=0;for(i=1;i=100;)sum=sum+i;i+;(3)同时省略表达式同时省略表达式1和表达式和表达式3 sum=0;i=1;for (;i=100 ;)sum=sum+i;i+;(4)3个表达式都可以省略:个表达式都可以省略:for(;)循环体;while(1)循环体;表达式2一般不会省略,若

8、省略表达式2循环将不能停止。从语法上讲是正确的,但一般没有实际意义。5.4 循环语句的嵌套循环语句的嵌套一个循环体内又包含另一个完整的循环结构,称为循环嵌套。按嵌套的层次可分为两重嵌套、三重嵌套或多重循环。循环嵌套流程的执行情况:循环嵌套流程的执行情况:for(i=1;i=5;i+)for(i=1;i=5;i+)for(j=1;j=3;j+)for(j=1;j=3;j+)sum=sum+j;sum=sum+j;x=i+j;x=i+j;实例实例5_6 编写程序编写程序,在屏幕上显示如下图案在屏幕上显示如下图案:*实例实例5_7 编写程序编写程序,在屏幕上显示如下图案在屏幕上显示如下图案:*实例实

9、例5_8 编写程序编写程序,在屏幕上显示如下图案在屏幕上显示如下图案:*for(i=1;i=5;i+)for(j=1;?;j+)printf(“*”);printf(“n”);在设计循环嵌套时要注意:应该在设计循环嵌套时要注意:应该“在一个循环在一个循环体内包含另一个完整的循环结构体内包含另一个完整的循环结构”,不论嵌套次数,不论嵌套次数多少,要遵守这个原则。多少,要遵守这个原则。while()do while();do for(;)while();5.5 break语句和语句和continue语句语句1、格式:、格式:break;2、功能:在循环体或、功能:在循环体或switch语句中,执行

10、到语句中,执行到break语句时,终止当前语句的执行,程序流程转语句时,终止当前语句的执行,程序流程转移到当前循环语句或移到当前循环语句或switch语句的后继语句语句的后继语句去执行去执行1.break语句语句3、说明:若是多重循环,break只能使流程跳出离break最近的一层;break只用于switch语句和循环语句;实例实例5_11 计算 r=1到 r=10时的圆面积,直到面积大于100为止。main()int r;float area=1,pi=3.1415;for (r=1;r 100)break;printf(“%f”,area);1、格式:continue;2、功能:在循环体

11、中在循环体中,当执行到continue语句时,跳过循环体内位于其后的其它语句,接着进行下一次是否执行循环的判定;即“提前结束本次循环”2 continue语句语句3、说明:、continue语句只能用于循环语句中,它是一种具有特殊功能的转移语句;、continue与break不同:continue语句只结束本次循环,而不是终止整个循环的执行;而break语句则是结束整个循环,不再判断循环条件是否成立。实例实例5_12 输出100200之间所有能被8整除的数。main()int n;for(n=100;n=200;n+)if (n%8!=0)/*如果n不能被8整除*/continue;/*直接跳

12、到n+处执行*/printf(%5d,n);程序运行结果如下:104 112 120 128 136 144 152 160 168 176 184 192 200实例分析:实例分析:(1)本实例要求输出100200之间所有能被8整除的数,即不能被8整除的数不用输出,所以可用continue语句跳过本次的输出printf(“%5d”,n);语句。(2)本实例不使用continue,仅用if语句也可实现要求:if (n%8=0)printf(“%5d”,n);,这里仅仅是举例说明continue的用法。动手实践动手实践若要输出100200之间所有不能被8整除的数,程序该怎么修改?动手演练动手演练

13、基础练习基础练习一 选择题1、以下程序的输出结果是()#include main()int num=0,i=1;while(i =7)num=num+i;printf(“%dn”,num);A)1 B)2 C)3 D)42、以下程序的输出结果是(以下程序的输出结果是()main()int num=0;while(num =2)num=num+1;printf(“%dn”,num);A)1 B)1 C)1 D)1 2 2 2 3 3 4 3、以下程序段执行()次。x =1;while(!x)x =x *x;A)1 次 B)2次 C)死循环 D)0次4、以下程序段执行()次。x =0;while(

14、!x)x =x *x;A)1 次 B)2次 C)死循环 D)0次5、以下程序段执行()次。x =-1;do x =x *x;while (!x );A)1 次 B)2次 C)死循环 D)0次二 程序分析1、下面程序的运行结果是:#include main()int i,sum=0;for (i =0;i=5;i+)sum=sum+1;printf(“sum=%dn”,sum);二 程序分析2、以下程序的输出结果是:main()int i,sum=0;for (i =0;i=5;i+)sum=sum+i;printf(“%dn”,sum);3、程序的运行结果是:#include main()in

15、t i,j,n,sum=100;for(i=5;i 0;i-)n=0;for(j=2;j=0;j-)n=n+i+j;sum=sum n;printf(“%d”,sum);#include main()char ch;int digit=0,letter=0,others=0;while()if(ch=0&ch=A&ch=a&ch=z)letter=letter+1;else others=others+1;printf(“digit=%d,letter=%d,others=%d n”,digit,letter,others);4、以下程序的功能是从键盘上输入一行字符以回结束。分别求数字,字母和其它字符个数。在横线处填上正确的语句。

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

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁