版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第3 3章章选择构造程序设计选择构造程序设计 关系运算、逻辑运算、关系运算、逻辑运算、if语句、语句、 条件运算符、条件运算符、switch语句语句l 本章要点本章要点 首先要了解关系运算及逻辑运算的相关知首先要了解关系运算及逻辑运算的相关知识,了解什么是选择构造,然后再学习实现选识,了解什么是选择构造,然后再学习实现选择构造的各语句,各语句的语法构造,实现过择构造的各语句,各语句的语法构造,实现过程均需求记忆,只需这样才干学会选择构造程程均需求记忆,只需这样才干学会选择构造程序的编写方法。序的编写方法。l学习方法建议学习方法建议l 本章内容本章内容3.5 3.5 程序举例程序举例3.1 关
2、系运算符和关系表达式关系运算符和关系表达式3.2 逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式3.3 if语句语句3.4 switch语句语句3.1 关系运算符及其表达式关系运算符及其表达式1. 关系运算符关系运算符关系运算本质就是两个算术量比较大小,其结果是一个逻辑值。逻辑值只需两关系运算本质就是两个算术量比较大小,其结果是一个逻辑值。逻辑值只需两个,分别用个,分别用“真和真和“假来表示。在假来表示。在C言语中,没有专门的言语中,没有专门的“逻辑值,而是逻辑值,而是用非用非0表示表示“真,用真,用0表示表示“假。因此,对于恣意一个表达式,假设值为非假。因此,对于恣意一个表达式,假设值为非零,
3、就代表一个零,就代表一个“真值;假设值为真值;假设值为0,就代表一个,就代表一个“假值。假值。上一页上一页下一页下一页返返 回回关系运算符共有以下关系运算符共有以下6种:种: 大于大于 = 大于等于大于等于 = 小于等于小于等于 = = 等于等于 != 不等于不等于具有自左至右的结合性。具有自左至右的结合性。以上运算符中,前四种关系运算符以上运算符中,前四种关系运算符、=的优先级别一样,后两种的优先级别一样,后两种= =、!=优先级优先级一样,且前四种高于后两种。关系运算符的优先级一样,且前四种高于后两种。关系运算符的优先级低于算术运算符。低于算术运算符。2. 关系表达式关系表达式小检验:小检
4、验:假设变量假设变量a=3、b=2、c=1,执行赋值语句,执行赋值语句f=abc;后,变量后,变量f的值是多少?的值是多少?关系表达式的方式为:关系表达式的方式为:表达式表达式1 关系运算符关系运算符 表达式表达式2例如:例如:ab、a+bc、x!=y等都是合法的等都是合法的关系表达式。关系表达式。关系表达式的值有两种情况:关系表达式的值有两种情况:(1) 当关系成立时,表达式的值为逻辑真,程序中用当关系成立时,表达式的值为逻辑真,程序中用1表示。表示。(2) 当关系不成立时,表达式的值为逻辑假,用当关系不成立时,表达式的值为逻辑假,用0来表示。来表示。例如,有关系表达式例如,有关系表达式bc
5、,当,当b的值是的值是5,c的值是的值是8时,时,bc关系成立,那么表达关系成立,那么表达式的值为式的值为1;而当;而当b的值为的值为9,c的值是的值是6时,时,bc&b=c的值为的值为0a|b+c&b-c的值为的值为1!(ab)&!c|1的值为的值为1(ab)&b+的值为的值为0(bc)|a+的值为的值为1上一页上一页下一页下一页返返 回回3.3 if语句和条件运算符语句和条件运算符1单项选择择型单项选择择型if语语句句3.3.1 if语句语句语法格式为:语法格式为:if表达式语句表达式语句if子句在语法上只能是一子句在语法上只能是一条语句,假想象执行多条条语
6、句,假想象执行多条语句,那么必需用一对大语句,那么必需用一对大括号括号“ 括起来,以括起来,以复合语句的方式出现。复合语句的方式出现。 输入两个整数,输入两个整数,分别存入分别存入a和和b中,假设两数中,假设两数不等,那么输出其中的小数,不等,那么输出其中的小数,假设相等,那么输出字符假设相等,那么输出字符串串a= =b和和a的值。的值。【程序代码】【程序代码】#include stdio.hmain()int a,b; printf(Input a & b:);scanf(%d%d,&a,&b);printf(a=%d,b=%dn,a,b);if(ab) printf
7、(min=%dn,b);if(ba) printf(min=%dn,a); if(a=b) printf(a=b %d:n,a);上一页上一页下一页下一页返返 回回上一页上一页下一页下一页2双选择型双选择型if语句语句语法格式为:语法格式为: if表达式语句表达式语句1 else 语句语句2 输入恣意三输入恣意三个整数给变量个整数给变量a、b、c,求三个数中的最大值。求三个数中的最大值。【程序代码】【程序代码】#include stdio.hmain( )int a,b,c,max; printf(Please input three number:); scanf(%d%d%d,&a
8、,&b,&c);if(ab) max=a;else max=b;if(cmax) max=c;printf(The three number are:%d,%d,%dn,a,b,c);printf(max=%dn,max);返返 回回 3多项选择择型多项选择择型if语句语句上一页上一页下一页下一页语法格式为:语法格式为: if表达式表达式1语句语句1 else if表达式表达式2语句语句2 else if表达式表达式3语句语句3 else if表达式表达式n语句语句n else语句语句n+1 对学生的考试成果进对学生的考试成果进行等级评价,行等级评价,90分以上为优秀分以上为优
9、秀,8090分为良好,分为良好,7080分为分为中,中,6070分为及格,分为及格,60分以下分以下为不及格。恣意输入一个学生的为不及格。恣意输入一个学生的成果,判别属于哪个等级。成果,判别属于哪个等级。【程序代码】【程序代码】#include stdio.hmain( )int cj; printf(Please input cj:);scanf(%d,&cj);if(cj=90) printf(优秀优秀n);else if(cj=80) printf(良好良好n);else if(cj=70) printf(中中n);else if(cj=60) printf(及格及格n);els
10、e printf(不及格不及格n);执行程序,输入执行程序,输入85,运转结果如下:,运转结果如下:返返 回回上一页上一页下一页下一页3.3.2 条件运算符条件运算符语法格式为:语法格式为: 表达式表达式1?表达式表达式2:表达式表达式3执行过程:计算执行过程:计算“表达式表达式1的值,假设该值为非值,的值,假设该值为非值,那么计算那么计算“表达式表达式2的值,的值,并将该值作为条件表达式的并将该值作为条件表达式的值。假设值。假设“表达式表达式1的值的值为,那么计算为,那么计算“表达式表达式3的值,并将该值作为条件的值,并将该值作为条件表达式的值。表达式的值。阐明:阐明:1条件运算符优先级别高
11、于赋值运条件运算符优先级别高于赋值运算符,低于关系运算符和算术运算符。算符,低于关系运算符和算术运算符。2条件运算符结合方向是条件运算符结合方向是“自右至自右至左。左。3“表达式表达式1与与“表达式表达式2、“表达式表达式3的类型可以不同。的类型可以不同。 求两个数中的最小值。求两个数中的最小值。【程序代码】【程序代码】# include stdio.hmain( ) int x,y,min; printf( Enter two integers :); scanf(%d, %d,&x,&y); min=xy?x:y; printf(Min=%dn,min);返返 回回上一页上
12、一页下一页下一页3.3.3 if语句的嵌套语句的嵌套在在if语句中又包含一个或多个语句中又包含一个或多个if语句,称为语句,称为if 语句的嵌套。内嵌的语句的嵌套。内嵌的if语句语句既可以嵌套在既可以嵌套在if子句中,也可以嵌套在子句中,也可以嵌套在else子句中。子句中。1在在if子句中嵌套子句中嵌套if语句语句语法格式为:语法格式为:if表达式表达式1 if表达式表达式2 语句语句1 else 语句语句2else 语句语句3阐明:假设内嵌的阐明:假设内嵌的if语句不含语句不含else子句,那么内嵌的子句,那么内嵌的if语句语句要用一对括号括起来。由于要用一对括号括起来。由于C言语的语法规定
13、:言语的语法规定:else子句总子句总是与前面最近的不带是与前面最近的不带else的的if相结合,与书写格式无关。相结合,与书写格式无关。 返返 回回 有一函数:有一函数: -1 (x0)编一程序,输入一个编一程序,输入一个x值,输出值,输出y值。值。上一页上一页下一页下一页【程序代码】【程序代码】# include stdio.hmain( ) int x,y; printf(Input x:);scanf(%d,&x); if(x=0) if(x0) y=1; else y=0; else y=-1; printf(x=%d,y=%dn,x,y);2在在else子句中嵌套子句中嵌套
14、if语句语句语法格式为:if表达式1 语句1else if表达式2 语句2 else 语句3【例【例3.5 】中例题中的】中例题中的if 语句用该语句用该嵌套格式可以写成如下方式:嵌套格式可以写成如下方式:if(x0) y=1;else if(x0) y=-1; else y=0;返返 回回语法格式为:语法格式为:switch表达式表达式 case 常量表达式常量表达式1: 语句语句1 case 常量表达式常量表达式2: 语句语句2 case 常量表达式常量表达式n: 语句语句n default: 语句语句n +1 上一页上一页下一页下一页3.4 switch语句语句switch语句又称为多分
15、支选择语句或开关语句。语句又称为多分支选择语句或开关语句。阐明:阐明:1case后面的常量表达式的值,后面的常量表达式的值,都必需是整型的、字符型的,不允都必需是整型的、字符型的,不允许是浮点型的。许是浮点型的。2同一个同一个 switch语句中的一切语句中的一切case后面的常量表达式的值都必需后面的常量表达式的值都必需互不一样。互不一样。3default的出现次序是恣意的的出现次序是恣意的4每个每个case的后面有多条语句的的后面有多条语句的时候,也不需求用花括号括起来。时候,也不需求用花括号括起来。5多个多个case的后面可以共用一组的后面可以共用一组执行语句,执行语句,返返 回回【程序
16、代码】【程序代码】#include stdio.hmain( )int score; printf(Please input score:);scanf(%d,&score);switch(score/10) case 10:case 9: printf(优秀优秀n); case 8: printf(良好良好n); case 7: printf(中中n); case 6: printf(及格及格n); default: printf(不及格不及格n);上一页上一页下一页下一页 用用switch语句处置例语句处置例3.3中的问题中的问题在在switch语句中语句中运用运用break语句。
17、语句。用来中止用来中止switch语句中从入口处语句中从入口处继续往下执行。继续往下执行。 用用switch语句和语句和break语句处置例语句处置例3.6中的问题中的问题include stdio.hmain( )int score; printf(Please input score:);scanf(%d,&score);switch(score/10) case 10: case 9: printf(优秀优秀n); break; case 8: printf(良好良好n); break; case 7: printf(中中n); break; case 6: printf(及格及
18、格n); break; default: printf(不及格不及格n);返返 回回3.5 选择构造运用举例选择构造运用举例【程序代码】【程序代码】#include stdio.hmain( ) int x;printf(Input x:);scanf(%d,&x);if(x%2= =0) printf(%d是一个偶数是一个偶数n,x);else printf(%d是一个奇数是一个奇数n,x); if(x%5= =0) printf(%d是是5的倍数的倍数n,x); else printf(%d不是不是5的倍数的倍数n,x); 上一页上一页下一页下一页 输入一个数,判别它是奇输入一个数,判别它是奇数还是偶数,假设是奇数那么进一步数还是偶数,假设是奇数那么进一步判别它能否为判别它能否为5的倍数。的倍数。 从键盘上输入从键盘上输入m或或M,显示显示“GOOD Morning!;输入;输入h或或H,显示,显示“Hello!;输入;输入n或或N,显示,显示“GOOD Night!,输入其,输入其它字母时不显示任何信息。它字母时不显示任何信息。【程序代码】【程序代码】# include stdio.hmain( ) char ch; scanf(%c,&ch); switch(ch) case m:case M: printf(%s n,GOOD Mo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河南省驻马店市正阳县校联考2024-2025学年九年级上学期12月月考语文试题(无答案)
- 2024-2025学年高一【数学(人教A版)】正弦函数、余弦函数的性质应用-教学设计
- 年终工作总结
- 安徽省天长市2024年疾控中心事业单位招聘招录108人管理单位遴选500题王牌题库带答案
- 计算机硬盘基础知识
- 初中英语语法指导之现在进行时课件
- 《班组长能力提升》课件
- 应急办重大危险源评估课件
- 感恩节主题班会课件-感恩世界
- 《与客户成交技巧》课件
- 教育培训机构教师合同模板
- 2015-2016学年第二学期《电工电子技术》学科授课教案
- 浙江省2023年1月学业考试物理物理试题(解析版)
- 公司管理制度完整版
- 深圳2020-2024年中考英语真题专题07 书面表达(解析版)
- 幼儿园中班健康活动《情绪温度计》课件
- 三节三爱课件教学课件
- JJF(鲁) 159-2023 重点排放单位碳排放计量审查规范
- 小学高年级阅读指导课教案(12篇)
- 北师大小学数学一年级上册课件:《乘车》教学课件
- 2024新一代变电站集中监控系统系列规范第1部分:总则
评论
0/150
提交评论