电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

程序设计基础 教学课件 ppt 作者 C语言 教学课件 ppt 作者 杨俊清_ 第5章

98页
  • 卖家[上传人]:E****
  • 文档编号:89364204
  • 上传时间:2019-05-24
  • 文档格式:PPT
  • 文档大小:716KB
  • / 98 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第5章 循环结构程序设计,5.1 循环流程控制语句 5.2 循环嵌套 5.3 break语句和continue语句 5.4 循环结构程序设计举例 习题,5.1 循环流程控制语句 根据循环结构具体形式的差异,C语言中循环结构常用的三种语句为:while循环语句、do-while循环语句和for循环语句。 5.1.1 while语句 while语句是用来实现“当型”循环控制的语句。,1一般形式 while(表达式) 语句; 或 while(表达式) 语句序列; 其中:表达式称为“循环条件”,语句(一条语句)或语句序列(复合语句部分)称为“循环体”。,2执行过程 while语句的执行过程可以用图5-1描述。首先计算表达式的值,如果表达式的值为“假”(表达式的值等于0),则退出循环;如果值为“真”(非0),则执行循环体中的语句。执行完后,再次计算表达式的值,然后根据表达式值的情况决定是退出循环,还是继续执行循环体中的语句。,图5-1 while语句执行过程,3特点 先判断表达式,后执行语句。 下面结合一个实例学习while语句的使用。 例5-1 求解1+2+3+100的值。 分析:在用程序设计

      2、语言求解1+2+3+100的值时,问题中隐含了计算中取值的范围是1,100,当超出这个范围时,运算就结束。所以在设置变量时,除了设置存放计算结果的变量count外,还要设置一个循环变量i,用来存放1100。,/*源程序5-1*/ #include main( ) int i,count; /*变量定义及初始化*/ i=1; count=0; /*存放计算结果的变量初始值为0*/ while(i=100) /* 循环条件:i=100 */, /*循环体部分*/ count=count +i; i+; printf(“1+2+3+100=%dn“,count); 程序运行结果如下:,说明: (1) 在while结构中,循环体包含一条以上的语句时,应该用括起来,否则while语句只执行跟在while后面的第一条语句。 (2) 循环体中必须包含对循环条件有影响的语句,如果没有这样的语句,会形成无限循环(死循环)。 例如在上述程序中,循环体中语句i+ 就影响着循环条件i的值,即每执行一次循环体,i的值增加1,这保证了执行一定次数后,i的值就会变为101,此时循环条件中表达式的值为假,结束循环,执

      3、行循环语句后边的语句。如果无此语句,则i的值始终保持不变,循环变成无限循环。,在C语言中,循环条件一般是关系表达式、逻辑表达式,或者由关系运算符和逻辑运算符组成的混合表达式。循环条件也可以是1。当循环条件为1时,整个循环变为死循环,例如: while(1) 语句序列; (3) 循环体中可以是空语句,只有分号,不进行任何操作。 (4) 程序中的变量i称为循环变量。,5.1.2 do-while语句 do-while循环又称为“直到型”循环结构。 1一般形式 do 语句序列; while(表达式);,说明: (1) do是C语言的关键字,必须同while联系使用。 (2) do-while循环由do开始,由while结束,所以while(表达式)后边的“;”不能少,它表示do-while循环语句的结束。 (3) 同while语句中循环体一样,do后面可以是一条语句,也可以是多条语句。当为多条语句时,需要用 括起来,组成复合语句。,2执行过程 do-while语句的执行过程可以用图5-2描述。首先执行循环体中的语句序列,然后计算while后边的表达式。如果表达式的值为“假”(为0),则退出循

      4、环结构;如果表达式的值为“真”(非0),则继续执行循环体,执行后继续计算表达式的值。如此反复,直到表达式的值为假。,图5-2 do-while语句的执行过程,3特点 先执行语句,后判断表达式的值。 下面结合一个实例学习do-while语句的使用。 例5-2 输入一行字符,分别统计出其中英文字母、空格、数字以及其他字符的个数。 分析:对于任何一个字符,在内存中都是以字符的ASCII码的二进制形式存放的,该存放形式与整型数的存储形式类似,这使得字符型数据和部分整型数据之间可以通用。所以要统计英文字母、空格、数字以及其他字符的个数,可以采用对输入的每个字符进行比较的方法来进行统计。,/*源程序5-2*/ #include main( ) char c; /*设置存放不同字符个数的变量*/ int letter=0,digit=0,space=0,otherch=0; printf(“nPlease Input a line character:n“); scanf(“%c“, /*循环变量c的初始化*/ while(c!=n) /*结束统计的条件*/ ,if(c=a,scanf(“%c“,

      5、,程序运行结果如下:,4while语句和do-while语句的区别 与while语句需要先判断表达式的值是否为真(非0)来决定是否进入循环体不同,do-while循环语句先执行一次循环体,然后才计算表达式的值。因此,do-while循环体中的语句无论表达式的值是否为真(非0),至少都要执行一次;而while循环体中语句的执行要根据表达式的值来决定。,5.1.3 for语句 C语言中的for语句使用最为灵活,也是程序控制结构中使用最为广泛的一种循环控制语句。它不仅可以用于循环次数已经确定的情况,也适合于循环次数不确定而循环结束条件已知的情况。 1一般形式 for语句特别适合解决循环次数已知的问题。for语句的一般形式为: for(表达式1;表达式2;表达式3) 循环体;,其中:for是C语言的关键字;表达式1、表达式2、表达式3之间用“;”隔开。 在for语句的一般形式中,将循环结构需要注意的问题都包含在其中: (1) 变量的初始化:表达式1; (2) 循环结束的条件:表达式2; (3) 循环控制变量的更新(使循环趋向于结束的语句):表达式3。,2执行过程 for语句的执行过程可以用图5

      6、-3描述。其执行过程如下: (1) 先求解表达式1。 (2) 求解表达式2的值,如果值为真(非0),则执行for循环体中的内嵌语句,然后执行第(3)步;如果值为假(0),则结束循环,转到第(5)步。 (3) 如果表达式2的值为真(非0),则执行for循环体中的内嵌语句后,求解表达式3。 (4) 跳转到第(2)步继续执行。 (5) 执行for语句下面的一条语句。,图5-3 for语句的执行过程,3for语句最简单的应用形式 for(循环变量赋初值;循环条件;循环变量增量) 语句序列; ,例如: for(i=0;i=100;i+) count = count +i; 该实例用while语句实现: i=1; while(i=100) count = count+i; i+; ,由此可见,for循环结构可以用while语句进行改写,以实现同样的功能。改写后一般格式为: 表达式1; while(表达式2) 语句序列; 表达式3; ,说明: (1) for语句中,表达式1的内容可以省略,但是表达式1后边的“;”不能省略;表达式1如果省略,则必须在for语句的前面给变量赋相应初值。 例如: i=1;

      7、 for( ;i=100;i+) count = count+i; 此时,程序的执行过程是直接跳过“求解表达式1”,其他步骤不发生变化。,(2) 表达式2的内容一般情况不能省略,如果省略,则循环将无终止地进行下去,即系统认为表达式2的值始终为“真”(非0)。 例如: for(i=1; ;i+) count = count +i; 该语句相当于: while(1) /*无限循环*/ count = count+i; i+; ,当表达式2省略后,如果还想计算出结果,则需要使用break语句(break语句将在本章5.3节进行介绍)对程序进行如下的修改: for(i=1; ;i+) if(i =100) /*表达式2的内容用if的条件代替*/ break; /*break语句*/ else count = count +i; ,(3) 表达式3的内容也可省略,但此时必须在其他位置(如循环体)安排使循环趋向于结束的操作。 例如: for(i=1;i=100 ; ) count = count +i; i+; /*该条语句放置在循环体中*/ (4) 三个表达式都可以省略,此时,表达式1和表达式2

      8、后边的“;”不能省略。,例如: for( ; ; ) 语句; 程序变成如下形式: i=1; /*循环变量赋初值*/ for ( ; ; ) if (i =100) break; /*循环出口*/ count = count +i; i+; /*修改循环变量的值*/ ,(5) 表达式1中可以是设置循环变量初始值的赋值表达式,也可以是与循环变量无关的其他表达式。 例如: for( i=1,j=2;i=100;i+) count = count+i+j; 表达式1和表达式3可以是一般的表达式,也可以是逗号表达式。 例如: for( i=1,j=100;i=j;i+,j-) m=i*j;,(6) 表达式2一般是关系表达式或逻辑表达式,也可以是数值表达式或字符表达式。事实上,只要表达式的值为非0,就执行循环体。 例如: for(;( c=getchar()!=n;i+=c) printf(“%c“,c);,(7) 跟选择结构的语句一样,for语句的后边一般没有语句结束符 “;”,如果添加分号,则表示该循环体中只有一条空语句,整个for语句只有完成对循环变量值的改变操作,后边的“ ”中的语句就变成

      9、紧随for语句后的一条复合语句。 例如以下程序: for(i=1,count=0;i=100;i+) count = count +i; 执行结束后,变量count的值等于5050。,而以下程序: for(i=1,count=0;i=100;i+); count = count +i; 执行结束后,变量count的值等于101。 下面结合一个实例学习for语句的使用。,例5-3 编写程序计算n!=1*2*3*n的值。 分析:求阶乘和求累加的运算处理过程类似。在程序中变量i从1增加到n,每次的增量为1。如果设置变量m来存放连乘的乘积,m=m*i。在此过程中,m的初始值不能设置为0,必须设置为1,否则整个运算结果都是0。,/*源程序5-3*/ #include main( ) int i,m,n; m=1; printf(“nPlease input the number n:n“); scanf(“%d“, ,程序运行结果如下: for语句在数学计算中的使用相对比较方便,尤其是针对有取值范围的算式。,例5-4 编写程序求解: 分析:整个算式由四个求和运算的算式组成,而且每个算式取值的范围已给定,因而选用for语句解决该问题就简单。对于后两个算式,因为有除法存在,因此在定义变量时,不能使用整型,否则,后两个算式的结果就等于0,失去计算的意义。,

      《程序设计基础 教学课件 ppt 作者 C语言 教学课件 ppt 作者 杨俊清_ 第5章》由会员E****分享,可在线阅读,更多相关《程序设计基础 教学课件 ppt 作者 C语言 教学课件 ppt 作者 杨俊清_ 第5章》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.