资源描述:
《char05.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、选择结构程序设计2010.10目录关系运算符和关系表达式逻辑运算符和逻辑表达式if语句switch语句程序举例5.1关系运算符<(小于)<=(小于或等于)>(大于)>=(大于或等于)==(等于)!=(不等于)关系运算符优先级<,<=,>,>=优先级别相同。==,!=优先级也相同。前4种高于后2种。关系运算符优先级低于算术运算符。关系运算符优先级高于赋值运算符。关系运算符优先级例如:c>a+b等效于c>(a+b)a>b==c等效于(a>b)==ca==bc等效于a=(b>c)5.1关系表达式用关系运算符将两个表
2、达式连接起来的式子,称关系表达式。连接的表达式可以是算术表达式或关系表达式、逻辑表达式、赋值表达式、字符表达式。例如,下面都是合法的关系表达式:a>ba+b>b+c'a‘<'b'(a=3)>(b=5)(a>b)>(b>c)5.1关系表达式关系表达式的值:“真”或“假”。以1代表“真”,以“0”代表“假”。例如:5==3的值5>=0的值2+3>4的值2>3>2<=1的值5.2逻辑运算符&&逻辑与
3、
4、逻辑或!逻辑非“&&”和“
5、
6、”是“双目运算符”,它要求有两个运算量(操作数)。“!”是“一目运算符”。5.2逻辑运算符a&&b若a、b都为真,则a
7、&&b为真。a
8、
9、b若a、b其中之一为真,则a
10、
11、b为真。!a若a为真,则!a为假。若a为假,则!a为真。逻辑运算符优先级!(非)→&&(与)→(或)逻辑运算符中的“&&”和“
12、
13、”低于关系运算符。“!”高于算术运算符。例如:(a>b)&&(x>y)可写成a>b&&x>y(a==b)
14、
15、(x==y)可写成a==b
16、
17、x==y(!a)
18、
19、(a>b)可写成!a
20、
21、a>b5.2逻辑表达式用逻辑运算符将关系表达式或逻辑量连接起来的式子就是逻辑表达式。逻辑表达的值:以数值“1”代表“真”,以“0”代表“假”。以非0代表“真”。5.2逻辑表达式例如:若a
22、=4,b=5!a的值为0。a&&b的值为1。a
23、
24、b的值为1。!a
25、
26、b的值为1。5.2逻辑表达式‘c’&&‘d‘的值为1。5>3&&8<4-!0的值为0。4&&0
27、
28、2的值为1。5.2逻辑表达式a&&b&&c只有a为真(非0)时,才需要判别b的值,只有a和b都为真的情况下才需要判别c的值。a
29、
30、b
31、
32、c只要a为真(非0),就不必判断b和c;只有a为假,才判别b;a和b都为假才判别c。5.2逻辑表达式要判别某一年year是否闰年。①能被4整除,但不能被100整除。②能被4整除,又能被400整除。可以用一个逻辑表达式来表示:(year%4==0
33、&&year%100!=0)
34、
35、year%400==05.3if语句if(表达式)语句if(表达式)语句1else语句2if(表达式1)语句1elseif(表达式2)语句2…elseif(表达式m)语句melse语句n5.3if语句——1main(){inta,b,max;scanf("%d%d",&a,&b);max=a;if(maxb)printf("max=%
36、d",a);elseprintf("max=%d",b);}5.3if语句——25.3if语句——3例如:if(number>500)cost=0.15;elseif(number>300)cost=0.10;elseif(number>100)cost=0.075;elseif(number>50)cost=0.05;elsecost=0;5.3if语句——3main(){charc;c=getchar();if(c<32)printf("Thisisacontrolcharacter");elseif(c>='0'&&c<='
37、9')printf("Thisisadigit");elseif(c>='A'&&c<='Z')printf("Thisisacapitalletter");elseif(c>='a'&&c<='z')printf("Thisisasmallletter");elseprintf("Thisisanothercharacter");}5.3if语句——35.3if语句说明表达式:一般为关系表达式或逻辑表达式。表达式的值为0按假处理,非0按真处理。例如:if(3)printf(“ok”);if('a')printf("%d",'
38、a');5.3if语句说明第二、第三种形式的if语句中,在每个else前面有一分号,整个语句结束处有一分号。if(x>0)Print("%f",x);else各有一