c语言程序设计(第5章)课件.ppt

c语言程序设计(第5章)课件.ppt

ID:57057091

大小:107.50 KB

页数:19页

时间:2020-07-30

c语言程序设计(第5章)课件.ppt_第1页
c语言程序设计(第5章)课件.ppt_第2页
c语言程序设计(第5章)课件.ppt_第3页
c语言程序设计(第5章)课件.ppt_第4页
c语言程序设计(第5章)课件.ppt_第5页
资源描述:

《c语言程序设计(第5章)课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C语言程序设计第五章选择结构程序设计目录一、关系运算及其表达式二、逻辑运算及其表达式三、if语句四、switch语句作业所谓“关系运算”实际上就是“比较运算”,即将两个数据进行比较,判定两个数据是否符合给定的关系。例如,“a>b”中的“>”表示一个大于关系运算。如果a的值是5,b的值是3,则大于关系运算“>”的结果为“真”,即条件成立;如果a的值是2,b的值是3,则大于关系运算“>”的结果为“假”,即条件不成立。 1.关系运算符C语言提供6种关系运算符:<(小于),<=(小于或等于),>(大于),>=(大于或等于),==(等于),!=(不等于)注意:在C

2、语言中,“等于”关系运算符是双等号“==”,而不是单等号“=”(赋值运算符)。一、关系运算及其表达式2.优先级(1)在关系运算符中,前4个优先级相同,后2个也相同,且前4个高于后2个。(2)与其它种类运算符的优先级关系关系运算符的优先级,低于算术运算符,但高于赋值运算符。3.关系表达式所谓关系表达式是指,用关系运算符将两个表达式连接起来,进行关系运算的式子。例如,下面的关系表达式都是合法的:a>b,a+b>c-d,(a=3)<=(b=5),'a'>='b'由于C语言没有逻辑型数据,所以用整数“1”表示“逻辑真”,用整数“0”表示“逻辑假”。例如,假设nu

3、m1=3,num2=4,num3=5,则:(1)num1>num2的值=0。(2)(num1>num2)!=num3的值=1。(3)num1=0”。如果需要描述“x>=0”、同时“x

4、<10”,就要借助于逻辑表达式了。 1.逻辑运算符C语言提供三种逻辑运算符:&&逻辑与(相当于“同时”)

5、

6、逻辑或(相当于“或者”)!逻辑非(相当于“否定”)二、逻辑运算及其表达式2.逻辑运算符的运算优先级(1)逻辑非的优先级最高,逻辑与次之,逻辑或最低,即:!(非)→&&(与)→

7、

8、(或)(2)与其它种类运算符的优先关系!→算术运算→关系运算→&&→

9、

10、→赋值运算3.逻辑表达式所谓逻辑表达式是指,用逻辑运算符将1个或多个表达式连接起来,进行逻辑运算的式子。在C语言中,用逻辑表达式表示多个条件的组合。例如,(year%4==0)&&(year%100!=

11、0)

12、

13、(year%400==0)就是一个判断一个年份是否是闰年的逻辑表达式。逻辑表达式的值也是一个逻辑值(非“真”即“假”)。C语言用整数“1”表示“逻辑真”、用“0”表示“逻辑假”。但在判断一个数据的“真”或“假”时,却以0和非0为根据:如果为0,则判定为“逻辑假”;如果为非0,则判定为“逻辑真”。例如,假设num=12,则:!num的值=0,num>=1&&num<=31的值=1,num

14、

15、num>31的值=1。说明:(1)逻辑运算符两侧的操作数,除可以是0和非0的整数外,也可以是其它任何类型的数据,如实型、字符型等。(2)在计算逻辑表达式时,只有

16、在必须执行下一个表达式才能求解时,才求解该表达式(即并不是所有的表达式都被求解)。换句话说:1)对于逻辑与运算,如果第一个操作数被判定为“假”,系统不再判定或求解第二操作数。2)对于逻辑或运算,如果第一个操作数被判定为“真”,系统不再判定或求解第二操作数。例如,假设n1、n2、n3、n4、x、y的值分别为1、2、3、4、1、1,则求解表达式“(x=n1>n2)&&(y=n3>n4)”后,x的值变为0,而y的值不变,仍等于1!三、if语句P91三种形式:if(表达式)语句;(图5.5a)if(表达式)语句1;else语句2;(图5.5b)if(表达式1)语

17、句1;(图5.6)elseif(表达式2)语句2;……elseif(表达式n)语句n;else语句n+1;◆e1?e2:e3是if…else语句在特定情况下的变体。if语句示例【例一】以下程序的作用是什么?main(){charc;printf(“Input:”);scanf(“%c”,&c);if(c>=’a’&&c<=’z’)c=c-32;elsec=c;printf(“%c”,c);}/*将小写字母转换为大写字母*/【例二】以下程序的执行结果是什么?main(){intx=2,y=-1,z=2;if(x

18、printf(“%d”,z);}/*结果是2*/哦,原来是因为else总是与

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。