版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,第四章 选择(分支)结构程序设计,4.1 if结构,4.2 switch结构,4.3 程序范例,2,if语句(条件语句),if语句的三种形式 形式一 格式 if (表达式)语句; 执行过程 形式二 格式 if (表达式)语句1; else语句2; 执行过程,3,形式三 格式 执行过程,if语句(条件语句),if ( expr1 ) statement1 ; else if (expr2 ) statement2 ; else if (expr3 ) statement3 ; . else statementN ;,例:if (score=90) level=A; else if (scor
2、e =80) level=B; else if (score =70) level=C; else if (score =60) level=D; else level=E;,4,如:if(a=b,if后面的表达式类型任意,语句可以是复合语句 if(x) if(x!=0) if(!x) if(x=0),例 考虑下面程序的输出结果: #include main() int x,y; scanf(“%d,%d”, ,Compile Error!,if语句的说明,5,if else 配对原则:缺省 时,else总是和它上面离它最近的未配对的if配对。,注意:,6,例: if (a=b) if(b=c
3、) printf(“a=b=c”); else printf(“a!=b”);,修改: if (a=b) if(b=c) printf(“a=b=c”); else printf(“a!=b”);,实现if else 正确配对方法:加 ,7,一般形式:,if语句嵌套,8,例 考虑下面程序输出结果: main() int x=100,a=10,b=20; int v1=5,v2=0; if(ab) if(b!=15) if(!v1) x=1; else if(v2) x=10; x=-1; printf(“%d”,x); ,结果:-1,9,#include main() char c; prin
4、tf(Enter a character:); c=getchar(); if(c=0 ,例 判断输入字符种类,运行:Enter a character: The character is a control character,运行:Enter a character:8 The character is a digit,运行: Enter a character: D The character is a capital letter,运行: Enter a character: h The character is a lower letter,运行: Enter a character
5、:$ The character is other character,10,switch语句(开关语句),switch( 表达式) case E1: 语句组 1; break; case E2: 语句组 2; break; . case En: 语句组 n; break; default: 语句组n+1 ; ,执行过程:,一般形式:,11,E1,E2,En是常量表达式,且值必须互不相同 语句标号作用,必须用break跳出 case后可包含多个可执行语句,且不必加 switch可嵌套 多个case可共用一组执行语句,如: case A: case B: case C: printf(“scor
6、e60n”); break; .,说明:,12,例 switch(score) case 5: printf(“Very good!”); case 4: printf(“Good!”); case 3: printf(“Pass!”); case 2: printf(“Fail!”); default : printf(“data error!”); ,运行结果:score为5时,输出: Very good! Good! Pass! Fail! data error!,13,例 void main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch
7、(y) case 0: a+; break; case 1: b+; break; case 2: a+;b+; break; case 3: a+;b+; printf(“na=%d,b=%d”,a,b); ,运行结果:a=2,b=1,14,#include main() int c; printf(Enter m or n or h or other:); c=getchar(); switch(c) case m: printf(nGood morning!n);break; case n: printf(nGood night!n); break; case h: printf(nHe
8、llo!n); break; default : printf(n?n); break; ,例 根据输入字母输出字符串,15,例学生成绩统计,从键盘输入30个学生的成绩,根据成绩的高低将其转换为A,B,C,D,E五个等级,并统计各分数级别学生的人数及正确的输入次数和错误的输入次数。,16,例学生成绩统计,从键盘输入30个学生的成绩,根据成绩的高低将其转换为A,B,C,D,E五个等级,并统计各分数级别学生的人数及正确的输入次数和错误的输入次数。 分析:程序需要定义7个计数变量(整型),一个浮点型数组。可以使用if语句 或者switch语句,17,#include main() int aCoun
9、t=0,bCount=0,cCount=0,dCount=0,eCount=0; int total=0,errTotal=0; float score32; int i ,level; for (i=0;i30;i+) printf(please input score 0-100n); scanf(%f, ,18,for (i=0;i30;i+) level = (int)(scorei/10); switch(level) case 10: case 9: aCount+;total+; break; case 8: bCount+;total+; break; case 7: cCount+;total+; break; case 6: dCount+;total+; break; case 5: case 4: case 3: case 2: case 1: case 0: eCount+;total+; break; default: errTo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 滨州医学院《孟子导读》2023-2024学年第一学期期末试卷
- 滨州科技职业学院《国际货运代理实务》2023-2024学年第一学期期末试卷
- 毕节职业技术学院《学前儿童卫生与保健》2023-2024学年第一学期期末试卷
- 毕节工业职业技术学院《当代艺术创意与产品设计》2023-2024学年第一学期期末试卷
- 2025版绿色建筑节能改造施工合同6篇
- 解除终止劳动合同证明书
- 2025年度智慧物流配送中心运营管理服务合同3篇
- 房地产营销策划及销售代理工作架构和独家代理合同书
- 租房协议模板房东租房合同
- 公司与公司借款合同范本
- 水泥行业数字化转型服务方案
- 深圳市南山区2024-2025学年第一学期期末教学质量检测九年级物理 24-25上九年级物理
- 应急设施设备和物资储备管理制度(4篇)
- 团委书记个人工作总结
- 高危多发性骨髓瘤诊断与治疗中国专家共识(2024年版)解读
- 英语语法与长难句理解知到智慧树章节测试课后答案2024年秋山东石油化工学院
- 2025年新高考语文古诗文理解性默写(含新高考60篇)
- 中医内科学虚劳培训课件
- DB31-T 1477-2024 空间地理数据归集技术要求
- 期末测试题(含答案)2024-2025学年译林版七年级英语上册
- 2024版房屋市政工程生产安全重大事故隐患判定标准内容解读
评论
0/150
提交评论