资源描述:
《分校C课件第7讲选择结构.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第七讲选择结构第七讲选择结构关系运算if语句if-else语句问号条件运算符逻辑运算switch语句程序设计举例C语言程序设计引例问题:根据输入的x值,计算y值。y=x2+1(x≤2.5)X2-1(x>2.5)选择结构分析情况一:条件x≤2.5满足时情况二:条件x>2.5满足时引例引例源代码(cw0601.c)选择结构#includeintmain(){floatx,y;scanf("%f",&x);if(x<=2.5)y=x*x+1;elsey=x*x-1;printf("y=%.1f"
2、,y);return0;}x≤2.5y=x2+1y=x2-1是否5Y=24.01Y=2.0N—S流程图1.关系运算符及其优先次序<6级(小于)<=6级(小于或等于)>6级(大于)>=6级(大于或等于)==7级(等于)!=7级(不等于)优先级相同(高)左结合性优先级相同(低)左结合性说明:关系运算符的优先级低于算术运算符关系运算符的优先级高于赋值运算符关系运算符高于逻辑运算符吗?关系表达式关系表达式的值是一个逻辑值:“真”或“假”C语言没有逻辑类型的值,因此用整数1表示“真”用整数0表示“假”即关系表达式的值是整
3、数1或0。选择结构关系表达式<表达式1><关系运算符><表达式2>表达式1和表达式2可以是任何表达式。a>ba+b<=c(a>c)==(b>c)‘Y’!=‘y’举例:写出下面各条件的关系表达式x为不小于-5的整数x为非零的数x的平方大于m与n的和若a=1,b=2,c=3x>=-5x!=0!=0可省见P64中部x*x>(m+n)举例:写出下面各条件的关系表达式0111关系表达式的使用选择结构#includeintmain(){inta=1,b=2,c=3,x,m=6,n=7;//下面一句先不加编
4、译连接执行一次,再加上此句执行一次printf("%d%d%d",a>b,a+b<=c,(a>c)==(b>c));printf("%d%d%d",'Y'!='y',x>=-5,x!=0);printf("%d",x*x>(m+n));return0;}0111011Cw0602.cX先不赋值看结果是什么:变量与整形数比较,变量未赋值不确定,再输入x分别为3和4看结果,再输入-7呢。3011111050111111scanf("%d”,&x);if选择结构if选择结构用于在可选择的几
5、个操作之间做出决策。伪代码语句举例:…ifstudent’sgradeisgreaterthanorequalto60Print“Passed”…如果条件满足(学生的课程成绩大于或等于60)那么就打印“Passed”,然后程序按顺序执行下一条伪代码语句否则,即条件不满足(学生的课程成绩小于60)就忽略打印操作,顺序执行下一条伪代码语句选择结构if选择结构if选择结构是单入单出的举例选择结构FalsePrint“Passed”grade>=60Trueif选择结构if(grade>=60)printf(“Pass
6、ed”);条件表达式可以是任何表达式。0(zero):假非0(nonzero):真圆括号不能省略。if子句只能是单条语句。if-else选择结构if选择结构只有在条件满足时,才会执行一个操作;否则就会跳过这个操作。if-else选择结构条件满足时所执行的操作与不满足时所执行的操作不同。伪代码语句举例:…ifstudent’sgradeisgreaterthanorequalto60Print“Passed”elsePrint“Failed”…选择结构if-else选择结构举例选择结构Print“Passed”T
7、ruePrint“Failed”grade>=60Falseif-else选择结构if(grade>=60)printf(“Passed”);elseprintf(“Failed”);if子句else子句如果多打印几个等级怎么办?/*对学生成绩分级:大于等于80为优;低于60为不及格;其他为及格。*/if-else选择结构选择结构Cw0603.c#includeintmain(){intscore;printf("enterascore!");scanf("%d",&score);if(s
8、core>=80)printf("Good!");elseif(score>=60)printf("Passed!");elseprintf("Failed!");return0;}结束1、先处理正常情况,再处理异常情况。要使得正常情况的执行代码清晰。这样对于代码的可读性和性能都很重要。因为,if语句总是需要做判断,而正常情况一般比异常情况发生的概率更大(否则就应该把异常正