资源描述:
《程序的三种结构关系运算符和关系表达式逻辑运算符和逻辑表》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、程序的三种结构关系运算符和关系表达式逻辑运算符和逻辑表达式if语句三元条件表达式switch语句第五章选择结构的程序设计1一程序的三种基本结构结构化程序设计基本思想:任何程序都可以用三种基本结构表示,限制使用无条件转移语句(goto)结构化程序:三种基本结构反复嵌套构成的程序优点:结构清晰,易读,提高程序设计质量和效率三种基本结构顺序结构ABAB流程图N-S图2PAB真假PBA真假选择结构kA1A2AiAnk=k2k=k1k=knk=ki......二分支选择结构多分支选择结构3循环结构当型循环结构直到型循环结构PA假真当P为真AA
2、P真假A直到P为真注:A,B,A1….An可以是一个简单语句,也可以是一个基本结构4二、关系运算符和关系表达式1、关系运算符:<、<=、>、>=:优先级高于==、!=例如:C>a+b即C>(a+b)说明:算术运算符的优先级高于关系运算符a==bc即a=(b>c)2、关系表达式的值:013、运算符的优先级和结合规则参见教材附录5三、逻辑运算符和逻辑表达式1、逻辑运算符:&&:与
3、
4、:或!:非(注意:三个运算符之间的优先级)注意特例:!0!22
5、
6、32&&32、逻辑表达式举例:判断一年为润年的条件是:年数可
7、以被4整除但不能被100整除或者年数可以被400整除。(year%4==0&&year%100!=0)
8、
9、(year%400==0)例如:判断2005年和2008年。6四、选择型程序设计if语句(条件选择语句)if语句的三种形式形式一:格式:if(expression)statement执行过程:exprstatement非0=0例:if(x>y)printf(“%d”,x);exprstatement1statement2非0=0形式二:格式:if(expression)statement1elsestatement2执行过程:例
10、:if(x>y)max=x;elsemax=y;7形式三:格式:if(expr1)statement1elseif(expr2)statement2elseif(expr3)statement3…...[elsestatementn]expr1statemnt1非0=0expr2expr3statemntnstatemnt3statemnt2非0非0=0=0执行过程:例:if(salary>1000)index=0.4;elseif(salary>800)index=0.3;elseif(salary>600)index=0.2;e
11、lseif(salary>400)index=0.1;elseindex=0;8再看一个例子:根据学生的成绩百分制划分为优、良、中、及格、不及格等级。main(){intscore;chargrade;scanf("%d",&score);if(score>=90)grade='A';elseif(score>=80)grade='B';elseif(score>=70)grade='C';elseif(score>=60)grade='D';elsegrade='E';printf("%d:%c",score,grade);}
12、9如:if(a==b&&x==y)printf(“a=b,x=y”);if(3)printf(“OK”);if(‘a’)printf(“%d”,’a’);说明:if后面的表达式类型任意语句可以是复合语句if(x)if(x!=0)if(!x)if(x==0)例考虑下面程序的输出结果:#includemain(){intx,y;scanf(“%d,%d”,&x,&y);if(x>y)x=y;y=x;elsex++;y++;printf(“%d,%d”,x,y);}CompileError!10嵌套在if语句之中
13、。if()if()if();else;else;else;注意:层次关系。例如:判断下列程序输出的结果形式四:11例:if(a==b)if(b==c)printf(“a==b==c”);elseprintf(“a!=b”);修改:if(a==b){if(b==c)printf(“a==b==c”);}elseprintf(“a!=b”);实现if~else正确配对方法
14、:加{}12例考虑下面程序输出结果:main(){intx=100,a=10,b=20;intv1=5,v2=0;if(a