《高级语言程序设计教学课件第3章选择结构.ppt》由会员分享,可在线阅读,更多相关《高级语言程序设计教学课件第3章选择结构.ppt(50页珍藏版)》请在优知文库上搜索。
1、0002xxxyif(x0)y=x*x;else y=0;#include void main(void)int x,y;printf(请输入请输入x的值:的值:);if(x0)y=x*x;else y=0;printf(y=%dn,y);请输入请输入x的值:的值:0y=0Press any key to continuen学习运算符应注意的问题学习运算符应注意的问题 功能功能要求运算量要求运算量(单目运算符?双目运算符?)(单目运算符?双目运算符?)要求运算量要求运算量(整型?实型?其它类型?)(整型?实型?其它类型?)(优先级高?优先级低?)(优先级高?优先级低?)(从左向右?从右向左?)
2、(从左向右?从右向左?)结果的类型结果的类型=!=优先级优先级7(高)(高)优先级优先级8(低)(低)ca+b ab!=ca=bc c(a+b)(ab)!=c a=(bc)/x不等于不等于1/3x 等于等于1/3!(1)&(10)|(11)高高低低!:从右向左从右向左&:从左向右从左向右|:从左向右从左向右 a=x&xb&xy a=b|x=y !a|ab a&b&c /只在只在a为真时,才判别为真时,才判别b的值;只在的值;只在a、b都为真时,才判别都为真时,才判别 c的值的值 a|b|c /只在只在a为假时,才判别为假时,才判别b的值;只在的值;只在a、b都为假时,才判别都为假时,才判别 c
3、的值的值 a=1;b=2;c=3;d=4;m=1;n=1;(m=ab)&(n=cd)/结果结果m=0,n=1-5,02,1,11,0,0【常用的条件判断表达式】【常用的条件判断表达式】(1)int x;判断判断x是偶数:是偶数:(2)char c;判断判断 c 是否为数字是否为数字:(3)char c;判断判断 c 是否为英文字母是否为英文字母:(4)float x,y;或或double x,y;判断判断 x=y:(5)float x,y;或或double x,y;判断判断 x!=y:nifelse语句的基本形式语句的基本形式 格式格式 执行过程执行过程Ferror C2181:illegal
4、 else without matching ifinput two numbers:0 33 是最大数是最大数Press any key to continue)()()(21cpbpappscbap)()()(21cpbpappscbap三角形三边定理及推论:三角形三边定理及推论:三角形任意两边之和大于第三边,任意两三角形任意两边之和大于第三边,任意两边之差小于第三边。边之差小于第三边。请输入三角形的三边:请输入三角形的三边:3 4 5area=6.000000Press any key to continue请输入三角形的三边:请输入三角形的三边:1 2 3输入数据错误!输入数据错误!P
5、ress any key to continuenif语句语句 格式格式 执行过程执行过程TFmaxmaxmax输入三个数输入三个数:3 5 88 是最大数是最大数Press any key to continue a ab bc cA AB BT T输入三个数输入三个数:3 5 77,5,3Press any key to continueASCII码表码表 0 9为数字为数字 A Z为大写字母为大写字母 a z为小写字母为小写字母0c9 48c57AcZ 65c90acz 97c122请输入一个字符请输入一个字符:bb是小写字母是小写字母Press any key to continue
6、scanf(“%c”,&c);3.6 if语句的嵌套语句的嵌套n在在if语句中又包含一个或多个语句中又包含一个或多个if语句,称语句,称为为if语句嵌套语句嵌套n一般形式一般形式nif.else配对原则配对原则 当缺省当缺省时,时,else总是与总是与 if配对配对if(exp1)if(exp2)statement1 else statement2if(exp1)if(exp2)statement1else statement2if(exp1)if(exp2)statement1else statement2 y=0;if(b!=0)if(a!=0)y=a/b;else printf(数据错误
7、数据错误b=0!);y=0;if(b!=0)if(a!=0)y=a/b;else printf(数据错误数据错误b=0!);y=0;if(b!=0)if(a!=0)y=a/b;else printf(数据错误数据错误b=0!);计算机理解为计算机理解为改改写写为为书写程序的缩进规则书写程序的缩进规则1.同一级别的语句要对齐同一级别的语句要对齐2.else语句应与其配对的语句应与其配对的if语句垂直对齐。语句垂直对齐。3.大括号放在单独的一行中,以表明其包含的语大括号放在单独的一行中,以表明其包含的语句是一个语句块。句是一个语句块。4.每行只放一条语句。每行只放一条语句。总结总结nif语句的语法
8、规则语句的语法规则 表达式表达式必须用必须用括起来括起来通常是逻辑表达式或关系表达式,但也可以是其它通常是逻辑表达式或关系表达式,但也可以是其它。即为即为则为则为 else子句,必须与子句,必须与if使用使用可以为五种语句中的任何一种可以为五种语句中的任何一种If语句常见的编程错误语句常见的编程错误n在不该出现分号的地方加了分号在不该出现分号的地方加了分号n复合语句的花括号后不应再加分号,否则复合语句的花括号后不应再加分号,否则将会画蛇添足将会画蛇添足n对于复合语句,忘记加花括号。对于复合语句,忘记加花括号。if语句格式小结语句格式小结n两个分支两个分支n一个分支一个分支n多分支多分支swit
9、ch(score)case 5:printf(Very good!);case 4:printf(Good!);case 3:printf(Pass!);case 2:printf(Fail!);default :printf(data error!);score为为5时,输出:时,输出:Very good!Good!Pass!Fail!data error!switch(score)case 5:printf(Very good!);break;case 4:printf(Good!);break;case 3:printf(Pass!);break;case 2:printf(Fail!)
10、;break;default :printf(data error!);break;score为为5时,输出:时,输出:Very good!case A:case B:case C:printf(score=60n);break;.switch(a)case:printf(Mondayn);case:printf(Tuesdayn);case:printf(Wednesdayn);case:printf(Thursdayn);case:printf(Fridayn);case:printf(Saturdayn);case:printf(Sundayn);default:printf(Error
11、n);input integer number:5FridaySaturdaySundayErrorinput integer number:5Friday输入表达式输入表达式:运算数运算数运算数运算数3.5+5.69.100000输入表达式输入表达式:运算数运算数运算数运算数10%3运算符只能是运算符只能是+,-,*,/!输入表达式输入表达式:运算数运算数运算数运算数2.5/0数据错误,除数不能为数据错误,除数不能为0!输入表达式输入表达式:运算数运算数运算数运算数5/2.52.000000方案一:方案一:方案二:方案二:请输入学生的成绩请输入学生的成绩:96优秀优秀Press any ke
12、y to continue3.8 小结小结n1关系运算符和关系表达式关系运算符和关系表达式 关系运算符:关系运算符:,=,=,=高于高于=和和!=和其他运算符比较:算术运算符和其他运算符比较:算术运算符 关系运算符关系运算符 赋值赋值运算符运算符n2逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式 逻辑运算符:逻辑运算符:&,|,!结合方向:结合方向:&和和|从左至右,从左至右,!从右至左从右至左 运算结果:逻辑值(运算结果:逻辑值(0为假,为假,1为真)为真)逻辑运算的优先级逻辑运算的优先级 逻辑运算符中:逻辑运算符中:!&|和其他运算符比较:和其他运算符比较:!算术运算符算术运算符 关系运算符关系运算符&|赋值运算符赋值运算符if语句和语句和switch语句语句