第4章 选择结构程序设计课件.ppt
《第4章 选择结构程序设计课件.ppt》由会员分享,可在线阅读,更多相关《第4章 选择结构程序设计课件.ppt(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4章选择结构程序设计-2- 关系运算符与关系表达式 逻辑运算符与逻辑表达式 条件运算符与条件表达式 if语句 switch语句 选择结构程序举例本章教学内容本章教学目标本章教学目标 能熟练正确地使用关系运算符和关系表达式。 掌握C语言的逻辑运算符和逻辑表达式,学会表示逻辑值的方法。 熟练掌握if语句的三种形式,掌握选择结构程序设计的方法及应用。 熟悉多分支选择switch 语句编程。 能熟练地运用if语句和switch语句进行选择结构综合编程。-3-4-4.1关系运算符与关系表达式 在程序中经常需要比较两个量的大小关系,在C语言中,“ 比较运算”就是“关系运算”,关系运算就是比较两个量的大小
2、关系。 例如,x7是一个关系表达式,其中的“”是一个关系 运算符。 若x的值是5,则表达式57成立,表达式的值为“真”。 若x的值是9,则表达式9c+d (a+b)(c+d) a=b=c a=(b=c) a=b!=c a=(b!=c-7-关系表达式 关系表达式是用关系运算符将两个表达式连接起来,进行关系运算的式子。被连接的表达式可以是算术表达式、关系表达式、逻辑表达式、赋值表达式或字符表达式。 例如,下面都是合法的关系表达式: a=bb!=c (ab)d) 关系运算的结果是整数值0或者1。在C语言中,没有专门的“逻辑值”,而是用0代表“假”,用1代表“真”。-8-关系表达式 说明:从本质上来说
3、,关系运算的结果不是数值,而是逻辑值,为了处理关系运算和逻辑运算的结果,C语言指定1代表真,0代表假。用了1和0代表真和假,而1和0又是数值,所以在C程序中还允许把关系运算的结果看作和其他数值型数据一样,可以参加数值运算,或者把它赋值给数值型变量。如下: f=63 (先计算关系表达式63,得到1,再将1赋值给变量f,故f的值为1)。 f=543 (先计算关系表达式54,得到1,再计算关系表达式13,得到0,再将0赋值给变量f,故f的值为0)。 f=5!=6 (先计算关系表达式5!=6,得到1,再将1赋值给变量f,故f的值为1)。-9-4.2逻辑运算符与逻辑表达式 在编程过程中,常常需要表示出由
4、几个简单条件组成的复合条件。例如,参加本次奥林匹克数学竞赛的学生的年龄必须在13岁到16岁之间,要表示满足条件的参赛学生的年龄,用数学表达式可以写成13=age=13和age3)&(67) 运算结果是运算结果是0(逻辑假)(逻辑假)2.逻辑或(|) 其运算规则为:当|左右两边的操作数有一个为非0(逻辑真)时,运算结果就为1(逻辑真),否则为0(逻辑假)。 例如:例如:54|43 逻辑表达式的结果是逻辑表达式的结果是1(逻辑真逻辑真) 68 逻辑表达式的结果是逻辑表达式的结果是0(逻辑假逻辑假)。-12-4.2.1 逻辑运算符及其优先级3. 逻辑非逻辑非(!) 其运算规则为:其运算规则为:当当!
5、左边的操作数为左边的操作数为1(逻辑真)时,逻辑非运(逻辑真)时,逻辑非运算的结果为算的结果为0(逻辑假逻辑假);当!左边的操作数为;当!左边的操作数为0(逻辑假)时,逻(逻辑假)时,逻辑非运算的结果为辑非运算的结果为1(逻辑真逻辑真)。 例如:例如:!(56)逻辑表达式的结果为逻辑表达式的结果为0(逻辑假)。(逻辑假)。 若若a=8,则则!a的值为的值为0(逻辑假逻辑假)。 上述上述3种逻辑运算符的优先级次序是种逻辑运算符的优先级次序是: !(逻辑非逻辑非)级别最高级别最高 &(逻辑与逻辑与)次之次之 |(逻辑或逻辑或)最低最低-13-4.2.2 逻辑表达式 用逻辑运算符将表达式连接起来就构
6、成了逻辑表达式。用逻辑运算符将表达式连接起来就构成了逻辑表达式。逻逻辑表达式的运算结果为辑表达式的运算结果为1(逻辑真)或(逻辑真)或0(逻辑假)(逻辑假)。 例如:例如: 若若a=5,b=2, 逻辑表达式逻辑表达式!a&b7的值为的值为0。 逻辑表达式逻辑表达式!7.3&8 的结果为的结果为0。 逻辑表达式逻辑表达式!5|4.5的结果为的结果为1。 “abc”&“defg”的结果为的结果为1。-14-4.2.2 逻辑表达式 在实际编程过程中,有时也需要把数学表达式转换成在实际编程过程中,有时也需要把数学表达式转换成C语言的语言的逻辑表达式形式,例如:逻辑表达式形式,例如:(1)数学表达式数学
7、表达式abc写成合法的写成合法的C语言表达式形式为语言表达式形式为 ab&b6 写成合法的写成合法的C语言逻辑表达式形式为语言逻辑表达式形式为 x6|xa)|(m=a); 求变量求变量m, n, k的最终值。的最终值。4.2.2 逻辑表达式4.3 条件运算符与条件表达式 条件表达式的一般形式为:条件表达式的一般形式为: 表达式表达式1?1?表达式表达式2:2:表达式表达式3 3 运算规则:先求解表达式运算规则:先求解表达式1 1的值,若表达式的值,若表达式1 1的值为真的值为真( (非非0 0的值的值) ),则求表达式,则求表达式2 2的值,并把表达式的值,并把表达式2 2的值作为整个表的值作
8、为整个表达式的值;若表达式达式的值;若表达式1 1的值为假的值为假( (为为0 0值值) ),则求表达式,则求表达式3 3的的值,并把表达式值,并把表达式3 3的值作为整个表达式的值。的值作为整个表达式的值。 例如:例如: (1) 若int a=3,b=4;mmx=ab?a+2:b+3;则mmx的值为7。 (2) 若int a=3,b=5,c=2,d=3; mmx=ab?a:cd?c:d后,mmx的 值为3。(条件运算符是右结合性)。 -16-4.3 条件运算符与条件表达式 【例题【例题4-14-1】条件表达式应用示例。】条件表达式应用示例。 编写程序编写程序: :从键盘输入从键盘输入3 3个
9、整数个整数a,b,c, a,b,c, 输出其中最大的数输出其中最大的数(用条件表达式实现)(用条件表达式实现)。 #include int main( ) int a,b,c,temp,max; printf(“please input a,b,c:”); scanf(“%d,%d,%d”,&a, &b,&c); temp=(ab)?a:b; max=(tempc)?temp:c; printf(“max=%dn”,max); return 0; 图4-1 例题4-1运行结果 -17-4.4 if语句 C C语言编程时,有时需要使程序根据条件有选择地执行语语言编程时,有时需要使程序根据条件有选
10、择地执行语句。句。C C语言有两种选择语句语言有两种选择语句: (1)if(1)if语句语句,有,有3 3种形式,分别是单分支选择种形式,分别是单分支选择ifif语句、双语句、双分支选择分支选择ifif语句和多分支选择语句和多分支选择ifif语句。语句。 (2)switch(2)switch语句语句,用来实现多分支的选择结构。本节先介,用来实现多分支的选择结构。本节先介绍绍ifif语句的语句的3 3种形式,然后在此基础上介绍种形式,然后在此基础上介绍ifif语句的嵌套语句的嵌套结构。结构。-18-1.1.单分支单分支ifif语句语句 单分支单分支ifif语句的形式为:语句的形式为: if(表达
11、式表达式) 语句;语句; 单分支单分支ifif语句的执行过程:当表达式的值为非语句的执行过程:当表达式的值为非0(0(逻辑真逻辑真) )时时,则执行其后的语句;否则不执行该语句。,则执行其后的语句;否则不执行该语句。2.2.双分支双分支ifif语句语句 双分支if语句的形式为: if(表达式表达式1) 语句语句1; else 语句语句2; 双分支if语句的执行过程:当表达式1的值为非0(逻辑真)时,则执行语句1;否则执行语句2。-19-4.4.1 if语句的三种形式语句的三种形式4.4.1 if语句的三种形式语句的三种形式3.3.多分支多分支ifif语句语句 多分支多分支ifif语句适用于有语
12、句适用于有3 3个或个或3 3个以上的分支选择时,一般形个以上的分支选择时,一般形式为:式为: if(if(表达式表达式1) 1) 语句语句1;1; else if( else if(表达式表达式2) 2) 语句语句2;2; else if( else if(表达式表达式3) 3) 语句语句3 3; else if( else if(表达式表达式n) n) 语句语句n;n; else else 语句语句m;m;-20-多分支多分支ifif语句语句【例题例题4-34-3】多分支if语句应用示例1。 编写程序:从键盘输入一个字符,判断该字符是数字字符、大写字母、小写字母还是其它编写程序:从键盘输入
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第4章 选择结构程序设计课件 选择 结构 程序设计 课件
限制150内