资源描述:
《第05章 选择结构程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C语言程序设计本章重点:●关系运算符和关系表达式●逻辑运算符和逻辑表达式●if语句●switch语句第五章选择结构程序设计§5.1关系运算符和关系表达式一、关系运算符关系运算就是平常所说的比较运算,比较的结果只有两种,要么成立(真),要么不成立(假)。如:3>5这个关系表达式是成立的,为真。1.C的6种关系运算符关系运算符含义关系运算符含义>大于>=大于等于<小于<=小于等于==等于!=不等于2.优先级>,<,>=,<=四种优先级相同,==和!=优先级相同,但低于前四种关系运算符的优先级低于算术运算符关系运算符的
2、优先级低于赋值运算符如:a=3+5>4二、关系表达式1.概念用关系运算符将两个表达式连接起来的式子,如:3+5<2-62.关系表达式的值C语言没有逻辑类型,C中关系表达式若成立(为真),它的值为1,不成立(为假),它的值为0。如:a=3>4a的值为0a=(2<4)+1a的值为0第5章第12页C语言程序设计§5.2逻辑运算符和逻辑表达式关系表达式只能描述单一条件,例如“x>=0”。如果需要描述“x>=0”、同时“x<10”,就要借助于逻辑表达式了。一、逻辑运算符1.C的三种逻辑运算符&&逻辑与(相当于“同时”或“并
3、且”)
4、
5、逻辑或(相当于“或者”)!逻辑非(相当于“否定”或“不”)2.运算规则和优先级&&都成立,才成立
6、
7、一个成立,就成立!取反优先级顺序:!,&&,
8、
9、二、逻辑表达式1.概念用逻辑运算符将两个表达式连接起来的式子,如:(x>=0)&&(x<10),(x<1)
10、
11、(x>5),!(x==0)2.逻辑表达式的值和关系表达式一样,C中逻辑表达式若成立(为真),它的值为1,不成立(为假),它的值为0。如:a=3>4a的值为0a=(2<4)+1a的值为0但在判断一个量是否为真时,以0代表假,以非0代表真。试比较下面的语
12、句a=3;if(a>0)a--;printf(“%d”,a);a=3;if(-2)a--;printf(“%d”,a);3.说明在计算逻辑表达式时,只有在必须执行下一个表达式才能求解时,才求解该表达式(即并不是所有的表达式都被求解)。(1)第5章第12页C语言程序设计§5.3if语句一、格式格式一:if(条件){//要执行的语句块}格式二:if(条件){//要执行的语句块1}else{//要执行的语句块2}格式三:if(条件1){//要执行的语句块1}elseif(条件2){//要执行的语句块3}elseif(条
13、件3){//要执行的语句块3}......else{//要执行的语句块n}注意:条件为逻辑表达式或数值表达式,对逻辑表达式,成立则值为1,不成立则值为0。对数值表达式非0表示成立,0表示不成立。第5章第12页C语言程序设计二、举例1.[例1]注意执行过程main(){inta=3;if(a>0)a--;if(a>0)a-=2;if(a>0)a=-100;printf(“%d”,a;);}2.[例2]注意语句块必须括起来main(){inta,b,c;intx,y,z;a=65;b=77;c=86;x=74;y=9
14、0;z=45;if(a+b+c>x+y+z){printf(“%d”,a;);printf(“%d”,b;);printf(“%d”,c;);}else{printf(“%d”,x;);printf(“%d”,y;);printf(“%d”,z;);}}3.[例3]输入一个圆的半径,求周长和面积。main(){floatr,l,s;第5章第12页C语言程序设计clrscr();printf("pleaseinputr:");scanf("%f",&r);if(r>=0){l=2*3.14*r;s=3.14*r*r
15、;printf(“l=%f”,l);printf(“s=%f”,s);}else{printf(“inputerror!!”);printf(“r<0!!”);}getch();}4.[例4]出键盘输入三个数,输出最大数程序/*编程方法一*/main(){inta,b,c,max;clrscr();printf("pleaseinputa,b,c:");scanf("%d,%d,%d",&a,&b,&c);if(a>b&&a>c)max=a;if(b>a&&b>c)max=b;if(c>a&&c>b)max=c;
16、printf("max=%d",max);}/*编程方法二*/main(){inta,b,c,maxclrscr();第5章第12页C语言程序设计printf("pleaseinputa,b,c:");scanf("%d,%d,%d",&a,&b,&c);if(a>b){max=a;}else{max=b;}if(max