




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计基础篇,第7章简单程序设计之二,2020/5/21,精选,2,本章内容提要,多分支选择结构switch语句循环嵌套break语句和continue语句程序举例,2020/5/21,精选,3,教学目标,在三种基本结构的基础上,结合本章介绍流程控制的其他几个语句:switch语句、break语句和continue语句及循环的嵌套,实现复杂的算法,设计出结构清晰、功能强大的程序,对C语言程序开发设计有比较深刻的认识。,2020/5/21,精选,4,7.1多分支选择结构程序设计,1、语句形式:,switch(表达式)case常量1:语句1;case常量2:语句2;case常量3:语句3;.case常量n:语句n;default:语句n+1;,根据表达式的不同值,选择不同的程序分支,又称开关语句。,数值型或字符型,常量表达式的值必须互不相同,否则执行时将出现矛盾,即同一个开关值,将对应多种执行方案。,2020/5/21,精选,5,2、语句执行流程:,指语句的最后一条是否为break,简单语句或复合语句,case语句出现的次序并不影响执行结果。,2020/5/21,精选,6,voidmain()intn;printf(请输入成绩:);scanf(%d,【例7.1】编写程序,对学生成绩进行等级评定。将成绩分为几个等级:059分为不及格,6069分为及格,7079分为中等,8089分为良好,90100分为优秀。要求输入一个成绩,输出其对应的等级。,请输入成绩:78成绩78的等级为中等成绩78的等级为及格成绩78的等级为不及格,出错啦!?,2020/5/21,精选,7,在“switch”语句中,“case常量表达式”只相当于一个语句标号,表达式的值和某标号相等则转向该标号执行,但不能在执行完该标号的语句后自动跳出整个switch语句,因此会继续执行所有后面语句的情况。为此,语言提供了一种break语句,其功能是可以跳出它所在的switch语句。,2020/5/21,精选,8,将上面的例7.1修改如下:,voidmain()intn;printf(请输入成绩:);scanf(%d,请输入成绩:78成绩78的等级为中等,2020/5/21,精选,9,使用switch语句时还应注意以下几点,switch后面圆括号内表达式的值和case语句中常量表达式的值,都必须是整型的、枚举型的或字符型的,不允许是浮点型的。在case后的各常量表达式的值不能相同。每个case子句既可以是一条语句,也可以是多条语句。当是多条语句时,不需要用花括号括起来。各个case子句和default子句的先后顺序可以变动,而不会影响程序执行结果。default子句可以省略不用。多个case的后面可以共用一组执行语句。如例7.1中等级为优秀的判断程序可改为:,2020/5/21,精选,10,switch(int)(n/10)case10:case9:printf(成绩%d的等级为优秀n);break;,2020/5/21,精选,11,7.2嵌套循环结构程序设计,在一个循环内又完整地包含另一个循环,称为循环的嵌套。for语句可以与while语句、do-while语句相互嵌套,构成多重循环,例如:,2020/5/21,精选,12,(1)(2)for()dowhile()for()while();(3)(4)while()for()for()for(),2020/5/21,精选,13,for(i=1;i=9;i+)打印第i行;,【例7.2】打印乘法小九九表。,使用一个循环9次的循环语句,每次循环打印一行:,打印第i行,循环i次,每次循环打印一个表达式:,for(j=1;j=i;j+)打印第j个表达式;,打印完一行后换行,2020/5/21,精选,14,#includevoidmain()inti,j;for(i=1;i=9;i+)for(j=1;j=i;j+)printf(%d*%d=%-3d,i,j,i*j);printf(n);,程序运行情况如下:1*1=12*1=22*2=43*1=33*2=63*3=94*1=44*2=84*3=124*4=165*1=55*2=105*3=155*4=205*5=256*1=66*2=126*3=186*4=246*5=306*6=367*1=77*2=147*3=217*4=287*5=357*6=427*7=498*1=88*2=168*3=248*4=328*5=408*6=488*7=568*8=649*1=99*2=189*3=279*4=369*5=459*6=549*7=639*8=729*9=81,2020/5/21,精选,15,【例7.3】百鸡问题。,#includestdio.hvoidmain()intx,y,z;for(x=1;x=20;x+)/*用嵌套的for循环依次设公鸡有1,2,20只*/for(y=1;y=33;y+)/*设母鸡有1,2,33只*/for(z=3;z100;z+=3)/*设小鸡有3,6,99只*/if(x*5+y*3+z/3=100,程序运行结果如下:公鸡4只、母鸡18只、小鸡78只公鸡8只、母鸡11只、小鸡81只公鸡12只、母鸡4只、小鸡84只,2020/5/21,精选,16,7.3break语句和continue语句在循环中的应用,break语句只能用在switch语句或循环语句中,其作用是跳出switch语句或跳出本层循环,转去执行后面的程序。由于break语句的转移方向是明确的,所以不需要语句标号与之配合。break语句的一般形式为break;注意:break语句对if-else的条件语句不起作用。在多层循环中,一个break语句只向外跳一层。使用break语句可以使循环语句有多个出口,2020/5/21,精选,17,continue语句,continue语句只能用在循环体中,其一般格式是:continue;其语义是:结束本次循环,即不再执行循环体中continue语句之后的语句,转入下一次循环条件的判断与执行。应注意的是,本语句只结束本层本次的循环,并不跳出循环。continue语句只用在for、while、do-while等循环体中,常与if条件语句一起使用,用来加速循环。1)while(表达式1)if(表达式2)break;,2)while(表达式1)if(表达式2)continue;,2020/5/21,精选,18,2020/5/21,精选,19,【例7.4】输出100以内能被7整除的数。,#includestdio.hvoidmain()intn;for(n=1;na1,则交换;然后比较第二个数与第三个数;依次类推,直至第n-1个数和第n个数比较为止第一趟冒泡排序,结果最大的数被安置在最后一个元素位置上对前n-1个数进行第二趟冒泡排序,结果使次大的数被安置在第n-1个元素位置重复上述过程,共经过n-1趟冒泡排序后,排序结束,2020/5/21,精选,24,例,38,49,76,97,13,97,27,97,30,97,13,76,76,76,27,30,13,65,27,65,30,65,13,13,49,49,30,49,27,38,27,38,30,38,2020/5/21,精选,25,#includemain()inta10,i,j,t;printf(Input10numbers:n);for(i=0;iaj+1)t=aj;aj=aj+1;aj+1=t;printf(Thesortednumbers:n);for(i=0;i10;i+)printf(%d,ai);,2020/5/21,精选,26,【例7.11】数组元素排序选择排序(以升序为例),排序过程:首先通过n-1次比较,从n个数中找出最小的,将它与第一个数交换第一趟选择排序,结果最小的数被安置在第一个元素位置上再通过n-2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑工程项目机电设备调试与运行方案
- 影视艺术综论学习材料12课件
- 水电基本知识培训总结课件
- 二零二五年彩钢构件加工及施工总承包协议
- 二零二五年度商业地产融资居间服务专项合同
- 二零二五年度抵债协议书(债权重组)专业版
- 2025版电梯设备采购与安全监管协议
- 二零二五年度建筑钢筋焊接技术指导与施工合同
- 二零二五版个人出租住房租赁合同管理规范
- 2025版航空航天复合材料融资租赁售后回租合作协议
- 初二英语上册完形填空练习题及答案
- GB/T 1149.4-2008内燃机活塞环第4部分:质量要求
- 2022年高校教师资格证(高等教育心理学)考试题库深度自测300题加下载答案(四川省专用)
- 地基基础工程施工方法及基础知识课件
- 金风15兆瓦机组变流部分培训课件
- 2017年9月国家公共英语(三级)笔试真题试卷(题后含答案及解析)
- 膀胱镜检查记录
- 2021年西安陕鼓动力股份有限公司校园招聘笔试试题及答案解析
- 江西师范大学研究生院非事业编制聘用人员公开招聘1人(专业学位培养办公室助理)(必考题)模拟卷
- 2021社会保险法知识竞赛试题库及答案
- 罐头食品加工工艺课件
评论
0/150
提交评论