欢迎来到天天文库
浏览记录
ID:50587876
大小:1.29 MB
页数:42页
时间:2020-03-12
《要设计选择结构程序,要考虑两个方面的问题一是在C语言.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、要设计选择结构程序,要考虑两个方面的问题:一是在C语言中如何来表示条件,二是在C语言中实现选择结构用什么语句。在C语言中表示条件,一般用关系表达式或逻辑表达式,实现选择结构用if语句或switch语句。5.1关系运算及其表达式5.2逻辑运算及其表达式5.3if语句5.4switch语句5.5选择结构程序举例所谓“关系运算”实际上就是“比较运算”,即将两个数据进行比较,判定两个数据是否符合给定的关系。例如,“a>b”中的“>”表示一个大于关系运算。如果a的值是5,b的值是3,则大于关系运算“>”的结果为“真”,即条件成立;如果a
2、的值是2,b的值是3,则大于关系运算“>”的结果为“假”,即条件不成立。六种关系运算符优先级前4种关系运算符优先级别相同,后两种相同,前4种高于后2种算术运算符高于关系运算符的优先级关系运算符的优先级高于赋值运算符<(小于)<=(小于或等于)>(大于)>=(大于或等于)==(等于)!=(不等于)优先级相同(高)优先级相同(低)5.1.2关系表达式1.关系表达式的概念所谓关系表达式是指,用关系运算符将两个表达式连接起来,进行关系运算的式子。例如,下面的关系表达式都是合法的:a>b,a+b>c-d,(a=3)<=(b=5),'a'
3、>='b',(a>b)==(b>c)2.关系表达式的值——逻辑值(非“真”即“假”)。由于C语言没有逻辑型数据,所以用整数“1”表示“逻辑真”,用整数“0”表示“逻辑假”。例如,假设num1=3,num2=4,num3=5,则:(1)num1>num2的值=。(2)(num1>num2)!=num3的值=。(3)num1=0”。如果需要描述“x>=0”、同时“x<10”,就要借助于逻辑表达式了。5.2.1逻辑
4、运算及其优先次序1.逻辑运算符及其运算规则(1)C语言提供三种逻辑运算符:&&逻辑与(相当于“同时”)
5、
6、逻辑或(相当于“或者”)!逻辑非(相当于“否定”)(2)运算规则1)&&:当且仅当两个运算量的值都为“真”时,运算结果为“真”,否则为“假”。2)
7、
8、:当且仅当两个运算量的值都为“假”时,运算结果为“假”,否则为“真”。3)!:当运算量的值为“真”时,运算结果为“假”;当运算量的值为“假”时,运算结果为“真”。例如,假定x=5,则(x>=0)&&(x<10)的值为,(x<-1)
9、
10、(x>5)的值为。“真”“假”例如,下面的
11、表达式都是逻辑表达式:(x>=0)&&(x<10),(x<1)
12、
13、(x>5),!(x==0),2.逻辑运算符的运算优先级(1)逻辑非的优先级最高,逻辑与次之,逻辑或最低,即:!(非)→&&(与)→
14、
15、(或)(2)与其它种类运算符的优先关系!→算术运算→关系运算→&&→
16、
17、→赋值运算a>b&&x>ya==b
18、
19、x==y!a
20、
21、a>b(a>b)&&(x>y)(a==b)
22、
23、(x==y)(!a)
24、
25、(a>b)5.2.2逻辑表达式1.逻辑表达式的概念所谓逻辑表达式是指,用逻辑运算符将1个或多个表达式连接起来,进行逻辑运算的式子。在C语
26、言中,用逻辑表达式表示多个条件的组合。例如判断一个年份是否是闰年的逻辑表达式。(year%4==0)&&(year%100!=0)
27、
28、(year%400==0)逻辑表达式的值也是一个逻辑值(非“真”即“假”)。2.逻辑量的真假判定──0和非0C语言用整数“1”表示“逻辑真”、用“0”表示“逻辑假”。但在判断一个数据的“真”或“假”时,却以0和非0为根据:如果为0,则判定为“逻辑假”;如果为非0,则判定为“逻辑真”。例如,假设num=12,则:!num的值,num>=1&&num<=31的值,num
29、
30、num>31的值。011(
31、1)逻辑运算符两侧的操作数,除可以是0和非0的整数外,也可以是其它任何类型的数据,如实型、字符型等。例如:‘a’&&‘b’(2)在计算逻辑表达式时,只有在必须执行下一个表达式才能求解时,才求解该表达式(即并不是所有的表达式都被求解)。换句话说:1)对于逻辑与运算,如果第一个操作数被判定为“假”,系统不再判定或求解第二操作数。2)对于逻辑或运算,如果第一个操作数被判定为“真”,系统不再判定或求解第二操作数。3.说明例如,假设n1、n2、n3、n4、x、y的值分别为1、2、3、4、1、1,则求解表达式“(x=n1>n2)&&(y=
32、n3>n4)”后,x的值变为,而y的值等于!01if(表达式)语句形式:if(表达式)语句组表达式语句假真举例:if(a>b)printf(“%d”,a);main(){inta,b,c,temp;printf("Pleaseinputthreenumbers:");scan
此文档下载收益归作者所有