




已阅读5页,还剩47页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第2章 选择结构及其应用 C语言程序设计 2 第2章 选择结构及其应用 关系运算符和关系表达式 逻辑运算符和逻辑表达式 if语句 switch语句 3 概述 选择结构是程序的基本结构。所谓选择结构,就是根据不同 的条件,选择不同的程序块(分程序)进行处理。 例: 4 if-else ifelse 嵌套 if if-else if-else if(表达式) 语句; if (表达式) 语句; else 语句; if(表达式) 语句; if(表达式) 语句; else 语句; else 语句; if(表达式) 语句; else if(表达式) 语句; else if(表达式) 语句; else 语句; switch switch(表达式) case常量1 :语句1 ; case常量2 :语句2 ; case常量n :语句n ; default : 语句n+1 ; 5 2.12.1 关系运算符和关系表达式关系运算符和关系表达式 关系运算符 关系运算符是对两个操作量进行大小比较的运算符,其操作 结果是“真”或“假”。用“1”表示真;“0”表示假。 = (大于或等于) (大于) 5)y) printf(“the bigger one is %d”,x); 15 Please input a:99 CR OK! #include “stdio.h” main( ) int a; printf(“n Please input a:”); scanf(“%d”, if ( a %3 = = 0 ) printf(“OK!”); 运行程序 例: 若输入一个整数是3的倍数, 则显示“ OK!”。 否则什么也不显示。 注意:判断是否相等 用“=”,而不能用赋 值运算符“=” 16 例2.3:求两个数a和b中较大的数。 #include “stdio.h“ void main() int a,b,x;/*定义3个变量*/ printf(“please input two integers:“); /*屏幕输出提示语 */ scanf(“%d%d“, /*输入两个整数*/ x=a; /*假设a是较大的数先赋给x*/ if (a 100 ) printf(“bigger than 100. n”); else printf(“less than or equal to 100.n”); Please input a number: 89 CR less than or equal 100. 运行程序 例: 输入一个整数,判断其值是否大于100。 21 #include “stdio.h” main( ) int a,b; printf(“n Please input a and b:”); scanf(“%d,%d”, if ( a b ) printf(“max=%d”,a); else printf(“max=%d”,b); Please input a and b: 100,99CR max=100 运行程序 例: 输入两个整数,将较大的数输出。 22 2.3.3 多分支ifelse ifelse形式 程序形式 : if(表达式1) 语句1; else if(表达式2) 语句2; else if(表达式3) 语句3; else 语句4; 表达 式 语句4 语句3 表达式2 程序流程 表达式 1 真 语句1 假 语句2 表达式3 假 假 真 真 if-else if-else多分支结构可以判断多种情况。 23 A =90, A. (90-100)。 B =80, B. (80-89)。 C =70, C. (70-79)。 D =60, D. (60-69)。 E =0, E. (0-59)。 main( ) float score; printf(“n Enter a score:”); scanf(“%f”, if (score=90) printf(“A n”); else if (score=80) printf(“B n”); else if (score=70) printf(“C n”); else if (score=60) printf(“D n”); else if (score=0) printf(“E n”); else printf(“Error Data!”); 例: 学生成绩分A、B、C、D、E 五等。 任给一个成绩,判断它属于哪一等,用 if -else if 分支语句编程。 该程序 score大于100,输出A。 score小于0,输出Erroe Data!。 score值应在0-100之间。 24 例:计算并输出y的值 3x-1 x=25 #include “math.h” #include “stdio.h” main( ) float x,y; scanf(“%f”, if(xy) ; (2) if(xy)a=10 else a=100; (3)if(x=y)a=10;printf(“%d”,a);else a=100; (4)if(5) a=10; (2) (3) (2) if (xy) a=10; else a=100; (3) if (x=y) a=10; printf(“%d”,a); else a=100; 26 2.3.4 嵌套的if语句 if ( e1 ) if ( e2 ) S3; else S4; else if ( e3 ) S5; else S6; 入 口 入 口 出 口 出 口 出 口 出 口 出 口 出 口 分支嵌套应注意: if 和 else 的配对关系。 程序的走向,即程序的入口和出口、执行部分和非执行(跳出)部分。 if ( e1 ) S1; else S2; 在程序设计中,经常用到条件分支嵌套。条件分支嵌套就是 在一个分支中包含(嵌套)另一个分支。 s4 假真 e2e3 s3s5s6 假 假真 真 e1 每个分支都要有 被执行的可能性 27 main( ) int x,y,z,min; printf(“n Please input x,y,z :”); scanf(“%d %d %d”, if ( x main( ) char score; printf(“n Enter the score:”); scanf(“%c”, if (score=A) printf(“90-100n”); else if (score=B) printf(“80-89 n”); else if (score=C) printf(“70-79 n”); else if (score=D) printf(“60-69 n”); else if (score=E) printf(“0-59 n”); else printf(“Error Data!”); 思考:将此例根据学生成绩的等级打印分数段的if-else if 语句 改为用switch语句,比较两程序。 (8) switch语句用来实现多分支结构,条件判断如果有两个以上 基于同一个数据类型变量的条件表达式时,选用 switch 语句比 选用if-else if 语句的嵌套形式更方便。 使用 switch-case 分支语句时,应注意以下几点: 45 ! 运行程序 main( ) int a=2,b=7,c=5; switch(a0) case 1: switch(b main ( ) char c,b; c=getchar( ); putchar(c); putchar(n); b=c; if(c=A scanf(“%f,%f,%f“, if(a=0) if(b=0) printf(“a、b、c are illegal.”); else x1=(-c)/b; printf(“There is one root: x=%f”,x1); else p=b*b- 4*a*c; if(p=0) if(p=0) x1=(-b)/(2*a); printf(“There are two root: x1=x2=%f”,x1); else x1=(-b)/(2*a)+sqrt(p)/(2*a); x2=(-b)/(2*a)-sqrt(p)/(2*a); printf(“There are two root x1=%f x2=%f”,x1,x2); ax2+bx+c=0 P=b2-4ac P0 P100| grade grade B 运行程序 例: 根据百分成绩,输出等级成绩 A B C D E。用switch分支语句编程。 50 main( ) int grade; printf(“input grade(0-100):“); scanf(“%d”, if(grade100) printf(“wrong graden“); else if(grade=90) printf(“grade An“); else if(grade=80) printf(“grade Bn“); else if(grade=70) printf(“grade Cn“); else if(grade=60) printf(“grade Dn“); else printf(“failedn“); 例 根据百分成绩, 输出等级 A B C D。用if-else if 分支语句编程。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025黑龙江哈尔滨市香坊区补充招聘劳动保障协理员249人笔试备考试题及答案解析
- 2025年药学药物配伍禁忌知识考察模拟题答案及解析
- 2025年疼痛科疼痛评估及镇痛方法选择模拟考试卷答案及解析
- 2025年麻醉科手术风险评估模拟试卷答案及解析
- 2026中冶集团铜锌有限公司校园招聘笔试备考题库及答案解析
- 2025辽宁省大学生乡村医生专项计划招聘174人笔试备考试题及答案解析
- 2025年病毒学病毒种类及传播途径知识检测模拟卷答案及解析
- 海南藏族自治州中储粮2025秋招面试半结构化模拟题30问及答案
- 节前安全培训重点课件
- 株洲市中石化2025秋招面试半结构化模拟题及答案数智化与信息工程岗
- 2025年甘肃省天水市供热有限公司招聘12人考试历年参考题附答案详解
- 新版中华民族共同体概论课件第七讲华夷一体与中华民族空前繁荣(隋唐五代时期)-2025年版
- 急性淋巴细胞白血病
- 围墙装饰墙帽施工方案
- 燃气运营安全管理方案
- 企业安全生产费用预算表模板
- (正式版)DB44∕T 2697-2025 《岩土工程勘察安全技术标准》
- 畜牧兽医专业毕业论文豆
- 简易版关于做好县委巡察组巡视商务局期间信访稳定工作的应急预案
- 2025年中秋节知识竞赛题库及答案
- 2025装配钳工高级考试试题(含答案)
评论
0/150
提交评论