欢迎来到天天文库
浏览记录
ID:39963243
大小:512.31 KB
页数:33页
时间:2019-07-16
《c语言c选择结构》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五章选择结构程序设计PAB真假PBA10选择结构的流程图本章主要内容第1节逻辑量第2节if第3节switch第1节逻辑量1.逻辑量的概念某条件的结果用逻辑量表示。条件的结果只有成立和不成立两种可能。成立表示为1(真);不成立表示为0(假)。如:3>5,x<0,a+b>c2.逻辑量的c语言表示任意确定的值•如:3,a,sqrt(3.0),a*b/c•什么时候是逻辑量?由其所参与运算的运算符及其所在的位置有关。关系表达式•关系运算符种类:<<===>=>!=类型:双目,运算对象:数据结合方向:自左向右优先级别:<<=>>===!=优先级6(高)优先级7(低)
2、•关系表达式表达式结果:逻辑量。举例和注意事项例inta=3,b=2,c=1,d,f;a>b(a>b)==cb+cba=c>b==c例注意区分“=”与“==”inta;a=1;a==1;区分:a==33==a例应避免对实数作相等或不等的判断如1.0/3.0*3.0==1.0可改写为:fabs(1.0/3.0*3.0-1.0)<1e-6例63、4、!类型:&&5、6、双目!单目,前缀运算对象:逻辑量(任意确定的值参与逻辑运算都是按逻辑量处理的)优先级:结合方向:!(2)&&(11)7、8、(12)高低!:从右向左&9、&:从左向右10、11、:从左向右001101101000ab!a!ba&&ba12、13、b101000111101•逻辑表达式表达式结果:逻辑量。逻辑运算真值表举例例a<=x&&x<=ba>b&&x>ya==b14、15、x==y!a16、17、a>b例a=4;b=5;!aa&&ba18、19、b!a20、21、b4&&022、23、25>3&&224、25、8<4-!0‘c’&&‘d’a=3>4&&5闰年问题假定闰年为year,判定是否闰年的标准为:如果该年能被4整除且不能被100整除,或者该年能被400整除,则都为闰年。能被4整除且不能被100整除,可表示为year%4==0&&year%100!=0;能被40026、整除可表示为year%400==0。两者只要有一者成立即为闰年,是逻辑或关系,闰年问题的表达式为year%4==0&&year%100!=027、28、year%400==0,也可表示为!(year%4)&&year%10029、30、!(year%400)。d)短路问题例a&&b&&c//只在a为真时,才判别b的值;只在a、b都为真时,才判别c的值例a31、32、b33、34、c//只在a为假时,才判别b的值;只在a、b都为假时,才判别c的值例a=1;b=2;c=3;d=4;m=1;n=1;(m=a>b)&&(n=c>d)inta=-1,b=4,k;k=(a++<=0)&&(!(b--<35、=0));x=y=z=1;t=++x36、37、++y&&++z;一般形式:expr1?expr2:expr3类型三目,expr1(逻辑量)、expr2(数据)、expr3(数据),优先级:13结合方向:自右向左如a>b?a:c>d?c:da>b?a:(c>d?c:d)执行过程(表达式值expr2和expr3中较高的类型,2.4?4,4.5)举例expr1取expr2值取expr3值10例(a==b)?'Y':'N'(x%2==1)?1:0(x>=0)?x:-x(c>='a'&&c<='z')?c-'a'+'A':c3.条件表达式条件表达式的短路:main(){i38、ntx=1,y=1,z=1;y=y+z;x=x+y;printf("%d,",x39、按位或运算^按位异或运算~按位取反运算<<按位左移运算>>按位右移运算~运算符是单目运算符,其余的都是双目运算符。位运算的运算对象只能是整型和字符型数据,不能是浮点型数据。~(2)》《(5)(低于算术,高于关系)&(8^(9)40、(10)(低于算术、关系)位运算的结果是整数&运算的含义是对参与运算的两个运算对象的机器码的41、对应位进行与运算。inta=3,b=-1;charc='A'1)按位与运算(1)a&b,值为3。(2)a&c,值为1。a:0000000000000011b:1111111111111111c:(00000000)0100000142、运算的含义是对参与运算的两个运算对象的机器码的对应位进行或运算。inta=3,b=-1;charc='A'2)按位或运算(1)表达式a43、6的值是7。(2)有表达式c=a44、b,则c为ASCII码值为255的字符。(3)表达式a=c45、b,则a的值为-1。a:0000000000000011b:1111111111111111c:(0046、000000)01000001^运算的含义是对参与运
3、
4、!类型:&&
5、
6、双目!单目,前缀运算对象:逻辑量(任意确定的值参与逻辑运算都是按逻辑量处理的)优先级:结合方向:!(2)&&(11)
7、
8、(12)高低!:从右向左&
9、&:从左向右
10、
11、:从左向右001101101000ab!a!ba&&ba
12、
13、b101000111101•逻辑表达式表达式结果:逻辑量。逻辑运算真值表举例例a<=x&&x<=ba>b&&x>ya==b
14、
15、x==y!a
16、
17、a>b例a=4;b=5;!aa&&ba
18、
19、b!a
20、
21、b4&&0
22、
23、25>3&&2
24、
25、8<4-!0‘c’&&‘d’a=3>4&&5闰年问题假定闰年为year,判定是否闰年的标准为:如果该年能被4整除且不能被100整除,或者该年能被400整除,则都为闰年。能被4整除且不能被100整除,可表示为year%4==0&&year%100!=0;能被400
26、整除可表示为year%400==0。两者只要有一者成立即为闰年,是逻辑或关系,闰年问题的表达式为year%4==0&&year%100!=0
27、
28、year%400==0,也可表示为!(year%4)&&year%100
29、
30、!(year%400)。d)短路问题例a&&b&&c//只在a为真时,才判别b的值;只在a、b都为真时,才判别c的值例a
31、
32、b
33、
34、c//只在a为假时,才判别b的值;只在a、b都为假时,才判别c的值例a=1;b=2;c=3;d=4;m=1;n=1;(m=a>b)&&(n=c>d)inta=-1,b=4,k;k=(a++<=0)&&(!(b--<
35、=0));x=y=z=1;t=++x
36、
37、++y&&++z;一般形式:expr1?expr2:expr3类型三目,expr1(逻辑量)、expr2(数据)、expr3(数据),优先级:13结合方向:自右向左如a>b?a:c>d?c:da>b?a:(c>d?c:d)执行过程(表达式值expr2和expr3中较高的类型,2.4?4,4.5)举例expr1取expr2值取expr3值10例(a==b)?'Y':'N'(x%2==1)?1:0(x>=0)?x:-x(c>='a'&&c<='z')?c-'a'+'A':c3.条件表达式条件表达式的短路:main(){i
38、ntx=1,y=1,z=1;y=y+z;x=x+y;printf("%d,",x39、按位或运算^按位异或运算~按位取反运算<<按位左移运算>>按位右移运算~运算符是单目运算符,其余的都是双目运算符。位运算的运算对象只能是整型和字符型数据,不能是浮点型数据。~(2)》《(5)(低于算术,高于关系)&(8^(9)40、(10)(低于算术、关系)位运算的结果是整数&运算的含义是对参与运算的两个运算对象的机器码的41、对应位进行与运算。inta=3,b=-1;charc='A'1)按位与运算(1)a&b,值为3。(2)a&c,值为1。a:0000000000000011b:1111111111111111c:(00000000)0100000142、运算的含义是对参与运算的两个运算对象的机器码的对应位进行或运算。inta=3,b=-1;charc='A'2)按位或运算(1)表达式a43、6的值是7。(2)有表达式c=a44、b,则c为ASCII码值为255的字符。(3)表达式a=c45、b,则a的值为-1。a:0000000000000011b:1111111111111111c:(0046、000000)01000001^运算的含义是对参与运
39、按位或运算^按位异或运算~按位取反运算<<按位左移运算>>按位右移运算~运算符是单目运算符,其余的都是双目运算符。位运算的运算对象只能是整型和字符型数据,不能是浮点型数据。~(2)》《(5)(低于算术,高于关系)&(8^(9)
40、(10)(低于算术、关系)位运算的结果是整数&运算的含义是对参与运算的两个运算对象的机器码的
41、对应位进行与运算。inta=3,b=-1;charc='A'1)按位与运算(1)a&b,值为3。(2)a&c,值为1。a:0000000000000011b:1111111111111111c:(00000000)01000001
42、运算的含义是对参与运算的两个运算对象的机器码的对应位进行或运算。inta=3,b=-1;charc='A'2)按位或运算(1)表达式a
43、6的值是7。(2)有表达式c=a
44、b,则c为ASCII码值为255的字符。(3)表达式a=c
45、b,则a的值为-1。a:0000000000000011b:1111111111111111c:(00
46、000000)01000001^运算的含义是对参与运
此文档下载收益归作者所有