欢迎来到天天文库
浏览记录
ID:51966571
大小:730.31 KB
页数:64页
时间:2020-03-26
《C语言选择结构程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五章选择结构程序设计5.1关系运算符和表达式5.2逻辑运算符和表达式5.3if语句5.4条件运算符和表达式5.5switch语句5.1关系表达式由关系运算符、圆括号把两个表达式连接起来的式子。——表示条件若所表示的条件成立、则其值为1(非0)、否则其值为0。关系运算符:<、<=、>、>=、==、!=例:a>=2、3>9、’a’!=(a=8)、x+(y=3)==k*z、(a!=3)>(kb>c>d应表示为a>b&&b>c&&c>d不能顺手也写为a>b>c>d关系运
2、算符都是双目运算符,其结合性均为左结合。关系运算符的优先级低于算术运算符,高于赋值运算符。在六个关系运算符中,<,<=,>,>=的优先级相同,高于==和!=,==和!=的优先级相同。5.2逻辑表达式:由逻辑运算符、圆括号把表达式连接起来的式子——表示条件若所表示的条件成立、其值为1(非0)、否则其值为0逻辑运算符:&&(与)、
3、
4、(或)、!(非)&&和
5、
6、均为双目运算符,具有左结合性。!为单目运算符,具有右结合性。逻辑运算符和其它运算符优先级的关系可表示如下:!(非)→&&(与)→
7、
8、(或)“&&”和“
9、
10、”低于关系运算符,“!”高于算术运
11、算符。按照运算符的优先顺序可以得出:a>b&&c>d等价于(a>b)&&(c>d)!b==c
12、
13、d14、15、(dc&&x+yc)&&((x+y)3&&a==8→2>3&&1→0&&1→02、x+y&&’a’→2&&97→13、x+(y=3)==k*z16、17、!a→0+3==-118、19、!a→020、21、0→04、(x!=7)22、23、’a’→0!=724、25、97→126、27、97→15、!(x+y>3&&a==8)→!(2>3&&1)→28、!(0&&1)→!0→16、!(k*q)→!(-1)→07、!!!x→!!(1)→!(0)→1逻辑表达式的跳跃作第一个,知道结果,后面不作,如:∥∥&&&&非0不算0要算0不算非0要算1、执行inta,b,c;a=b=c=0;++a29、30、++b&&++c;后a、b、c值分别为1、0、02、执行inta=5,b=6,x=1,y=2;(a=x>y)&&(b=x>y);后a、b值分别为0、6a=1停止不算值为0赋给a,停止不算3、执行inta,b,c;a=b=c=-1;++a&&++b31、32、++c;后a、b、c值分别为0、-1、01a=02不算,值为33、03c=04整体为0例1:main(){charc='k';inti=1,j=2,k=3;floatx=3e+5,y=0.85;printf("%d,%d",!x*!y,!!!x);printf("%d,%d",x34、35、i&&j-3,i36、37、i+j+k);}运行结果:0,01,00,10X为非0为非0,后面不算为0,后面不算为1,后面要算判断某一年是否闰年。(闰年的条件是符合下面两个条件之一:1、能被4整除,但不能被100整除;2、能被4整除,又能被38、400整除)。因为能够被400整除一定能被4整除所以第二个条件可以简化为能够被400整除。判断闰年的条件可以用一个逻辑表达式表示:(year%4==0&&year%100!=0)39、40、year%400==0表达式为“真”,闰年条件成立,是闰年,否则非闰年。5.3选择结构(if语句)5.3.1if语句的三种形式1、第一种形式为基本形式:ifif(表达式)语句语义:如果表达式的值为真,则执行其后的语句,否则不执行该语句。其过程可表示为下图。表达式可以是任意合法表达式,后面不能加;例2:voidmain(){inta,b,max;printf("41、ninputtwonumbers:");scanf("%d%d",&a,&b);max=a;if(max42、d%d%d",a,b,c);}输入:1,6,2↙输出:621实现数的互换功能:输入三个数,按照从大到小顺序输出例4:从键盘输入一个字符,判断它是否小写字母。若是,将其转换成大
14、
15、(dc&&x+yc)&&((x+y)3&&a==8→2>3&&1→0&&1→02、x+y&&’a’→2&&97→13、x+(y=3)==k*z
16、
17、!a→0+3==-1
18、
19、!a→0
20、
21、0→04、(x!=7)
22、
23、’a’→0!=7
24、
25、97→1
26、
27、97→15、!(x+y>3&&a==8)→!(2>3&&1)→
28、!(0&&1)→!0→16、!(k*q)→!(-1)→07、!!!x→!!(1)→!(0)→1逻辑表达式的跳跃作第一个,知道结果,后面不作,如:∥∥&&&&非0不算0要算0不算非0要算1、执行inta,b,c;a=b=c=0;++a
29、
30、++b&&++c;后a、b、c值分别为1、0、02、执行inta=5,b=6,x=1,y=2;(a=x>y)&&(b=x>y);后a、b值分别为0、6a=1停止不算值为0赋给a,停止不算3、执行inta,b,c;a=b=c=-1;++a&&++b
31、
32、++c;后a、b、c值分别为0、-1、01a=02不算,值为
33、03c=04整体为0例1:main(){charc='k';inti=1,j=2,k=3;floatx=3e+5,y=0.85;printf("%d,%d",!x*!y,!!!x);printf("%d,%d",x
34、
35、i&&j-3,i36、37、i+j+k);}运行结果:0,01,00,10X为非0为非0,后面不算为0,后面不算为1,后面要算判断某一年是否闰年。(闰年的条件是符合下面两个条件之一:1、能被4整除,但不能被100整除;2、能被4整除,又能被38、400整除)。因为能够被400整除一定能被4整除所以第二个条件可以简化为能够被400整除。判断闰年的条件可以用一个逻辑表达式表示:(year%4==0&&year%100!=0)39、40、year%400==0表达式为“真”,闰年条件成立,是闰年,否则非闰年。5.3选择结构(if语句)5.3.1if语句的三种形式1、第一种形式为基本形式:ifif(表达式)语句语义:如果表达式的值为真,则执行其后的语句,否则不执行该语句。其过程可表示为下图。表达式可以是任意合法表达式,后面不能加;例2:voidmain(){inta,b,max;printf("41、ninputtwonumbers:");scanf("%d%d",&a,&b);max=a;if(max42、d%d%d",a,b,c);}输入:1,6,2↙输出:621实现数的互换功能:输入三个数,按照从大到小顺序输出例4:从键盘输入一个字符,判断它是否小写字母。若是,将其转换成大
36、
37、i+j+k);}运行结果:0,01,00,10X为非0为非0,后面不算为0,后面不算为1,后面要算判断某一年是否闰年。(闰年的条件是符合下面两个条件之一:1、能被4整除,但不能被100整除;2、能被4整除,又能被
38、400整除)。因为能够被400整除一定能被4整除所以第二个条件可以简化为能够被400整除。判断闰年的条件可以用一个逻辑表达式表示:(year%4==0&&year%100!=0)
39、
40、year%400==0表达式为“真”,闰年条件成立,是闰年,否则非闰年。5.3选择结构(if语句)5.3.1if语句的三种形式1、第一种形式为基本形式:ifif(表达式)语句语义:如果表达式的值为真,则执行其后的语句,否则不执行该语句。其过程可表示为下图。表达式可以是任意合法表达式,后面不能加;例2:voidmain(){inta,b,max;printf("
41、ninputtwonumbers:");scanf("%d%d",&a,&b);max=a;if(max
42、d%d%d",a,b,c);}输入:1,6,2↙输出:621实现数的互换功能:输入三个数,按照从大到小顺序输出例4:从键盘输入一个字符,判断它是否小写字母。若是,将其转换成大
此文档下载收益归作者所有