资源描述:
《选择结构程序设计(C语句)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章选择结构程序设计§5.1关系运算符和关系表达式§5.2逻辑运算符和逻辑表达式§5.3if语句§5.4switch语句§5.5程序举例§5.1关系运算符和关系表达式关系运算实际上是比较运算,两个值进行比较,判断比较的结果是否符合给定的条件,如果符合比较的结果为真,否则结果为假。用将两个表达式(可以是算术表达式、关系表达式、逻辑表达式、赋值表达式、字符表达式)连接起来的式子叫。关系运算符与其它运算符的。关系运算符关系表达式优先次序§5.2逻辑运算符和逻辑表达式用将关系表达式或逻辑量连接起来就是。逻辑运算符与其它运算符的。在逻辑表达式的求解中,并不是所有的逻辑运算
2、都被执行.优先次序逻辑运算符逻辑表达式§5.3if语句①if(表达式)语句if语句是用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一.if语句的三种形式:>③if(表达式1)语句1elseif(表达式2)语句2elseif(表达式3)语句3... ...elseif(表达式n)语句nelse语句n+1②if(表达式)语句1else语句2>>if语句的嵌套if()if()语句1else语句2elseif()语句3else语句4if()if()语句1elseif()语句2else语句3内嵌if内嵌if内嵌ifif(
3、){if()语句1}else{if()语句2else语句3}-1(x<0)例如y=0(x=0)1(x>0)1.main(){intx,y;scanf("%d",&x);if(x<0)y=-1;elseif(x==0)y=0;elsey=1;printf("x=%d,y=%d",x,y);}2.if(x>=0)if(x>0)y=1;elsey=0;elsey=-1;x>=0y=-1x>0y=1y=0x<0Y=-1X==0Y=0Y=1真假真假真真假假{3.y=-1;if(x!=0)if(x>0)y=1;elsey=0;真真假假x>0y=
4、1y=0x>=0y=-14.y=0;if(x>=0)if(x>0)y=1;elsey=-1;真真假假x>0y=1y=-1X!=0y=0真真假假x>0y=1y=-1x!=0y=0y=-1真假假x>0y=1y=0x>=0真5.3.3条件运算符?:表达式1?表达式2:表达式3条件表达式max=(a>b)?a:b相当于if(a>b)max=a;elsemax=b;说明:条件运算符的执行顺序条件运算符的优先级别,仅高于赋值运算条件运算符的结合方向为右结合性条件表达式不能取代一般if语句条件表达式中的表达式类型可以不同§5.4switch语句switch语句是多分支选择
5、语句switch(grade){case'A':printf("85~100");case'B':printf("70~84");case'C':printf("60~79");case'D':printf("<60");default:printf("error");}表达式常量表达式执行语句改为switch(grade){case'A':printf("85~100");break;case'B':printf("70~84");break;case'C':printf("60~79");break;case'D':pr
6、intf("<60");break;default:printf("error");}§5.5程序举例例5.5main(){intyear,leap;scanf("%d",&year);if(year%4==0){if(year%100==0){if(year%400==0)leap=1;elseleap=0;}elseleap=1;}elseleap=0;if(leap)printf("%dis",year);elseprintf("%disnot",year);printf("aleapyear.");}Year被4整除YNYear被100整除Y
7、NYNYear被400整除leap=1leap=0leap=1leap=0leapYN输出闰年输出非闰年例5.7计算运费s<250km没有折扣250<=s<5002%折扣500<=s<10005%折扣1000<=s<20008%折扣2000<=s<300010%折扣3000<=s15%折扣p(price),w(weight),s(distance),d(discount)f=p*w*s*(1-d)c=s/250c<1无折扣1<=c<22%2<=c<45%4<=c<88%8<=c<1210%c>1215%2501000200030002%5%8%10%15%0例5.
8、7main