欢迎来到天天文库
浏览记录
ID:56971750
大小:561.00 KB
页数:65页
时间:2020-07-24
《谢丽聪老师C语言课件-5分支结构程序-2009.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五章分支结构程序设计5.1关系运算符和表达式5.2逻辑运算符和表达式5.3逻辑表达式的跳跃5.4if语句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、”低于关系运算符,“!”高于算术运算符。按照运算符的优先顺序可以得出:a>b&&c>d等
11、价于(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)→!(0&&1)→!0→16、!(k*q)→!(-1)→07、!!!x→!!(1)28、→!(0)→15.3逻辑表达式的跳跃作第一个,知道结果,后面不作,如:∥∥&&&&非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不算,值为03c=04整体为0例1:main(){charc='k';inti=1,j=2,k=3;float33、x=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,后面要算5.4选择结构(if语句)5.4.1if语句的三种形式1、第一种形式为基本形式:ifif(表达式)语句语义:如果表达式的值为真,则执行其后的语句,否则不执行该语句。其过程可表示为下图。表达式可以是任意合法表达式,后面不能加;例2:voidm38、ain(){inta,b,max;printf("inputtwonumbers:");scanf("%d%d",&a,&b);max=a;if(max39、;}printf("%d%d%d",a,b,c);}输入:1,6,2↙输出:621实现数的互换功能:输入三个数,按照从大到小顺序输出例4:从键盘输入一个字符,判断它是否小写字母。若是,将其转换成大写字母,否则不进行转换,作后输出该字母。#includemain(){charc,a;c=getchar();if(c<‘a’40、41、c>‘z’)a=c;/*判断非小写字母情况*/if(c<=‘z’&&c>=‘a’)a=c-32;*判断是否是小写字母情况*/printf("%c",a);}main(){charc;c=getchar();if(c<
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)→!(0&&1)→!0→16、!(k*q)→!(-1)→07、!!!x→!!(1)
28、→!(0)→15.3逻辑表达式的跳跃作第一个,知道结果,后面不作,如:∥∥&&&&非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不算,值为03c=04整体为0例1:main(){charc='k';inti=1,j=2,k=3;float
33、x=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,后面要算5.4选择结构(if语句)5.4.1if语句的三种形式1、第一种形式为基本形式:ifif(表达式)语句语义:如果表达式的值为真,则执行其后的语句,否则不执行该语句。其过程可表示为下图。表达式可以是任意合法表达式,后面不能加;例2:voidm38、ain(){inta,b,max;printf("inputtwonumbers:");scanf("%d%d",&a,&b);max=a;if(max39、;}printf("%d%d%d",a,b,c);}输入:1,6,2↙输出:621实现数的互换功能:输入三个数,按照从大到小顺序输出例4:从键盘输入一个字符,判断它是否小写字母。若是,将其转换成大写字母,否则不进行转换,作后输出该字母。#includemain(){charc,a;c=getchar();if(c<‘a’40、41、c>‘z’)a=c;/*判断非小写字母情况*/if(c<=‘z’&&c>=‘a’)a=c-32;*判断是否是小写字母情况*/printf("%c",a);}main(){charc;c=getchar();if(c<
36、
37、i+j+k);}运行结果:0,01,00,10X为非0为非0,后面不算为0,后面不算为1,后面要算5.4选择结构(if语句)5.4.1if语句的三种形式1、第一种形式为基本形式:ifif(表达式)语句语义:如果表达式的值为真,则执行其后的语句,否则不执行该语句。其过程可表示为下图。表达式可以是任意合法表达式,后面不能加;例2:voidm
38、ain(){inta,b,max;printf("inputtwonumbers:");scanf("%d%d",&a,&b);max=a;if(max
39、;}printf("%d%d%d",a,b,c);}输入:1,6,2↙输出:621实现数的互换功能:输入三个数,按照从大到小顺序输出例4:从键盘输入一个字符,判断它是否小写字母。若是,将其转换成大写字母,否则不进行转换,作后输出该字母。#includemain(){charc,a;c=getchar();if(c<‘a’
40、
41、c>‘z’)a=c;/*判断非小写字母情况*/if(c<=‘z’&&c>=‘a’)a=c-32;*判断是否是小写字母情况*/printf("%c",a);}main(){charc;c=getchar();if(c<
此文档下载收益归作者所有