资源描述:
《C语言程序设计_李学刚_电子课件04单元3 选择结构程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、选择结构程序设计主讲人:杨丹常州信息职业技术学院知识目标1.掌握关系、逻辑运算符的运算规则,能用C语言表达式表达实际问题。2.掌握if语句的三种基本形式、了解if语句的嵌套;3.掌握switch…case语句的使用方法。4.掌握选择结构程序设计方法。能力目标1.能够用C语言正确表达实际问题。2.能够使用if语句编写二分支选择结构的程序。3.能够使用switch语句编写多分支选择结构的程序。4.能够使用C语言进行选择结构程序设计。单元三选择结构程序设计引例描述求三个整数的最大值演示一、关系运算符及其优先次序1、关系运算符:>,>=,<,<=,=
2、=,!=2、优先级别:>,>=,<,<=相同,==,!=相同。前者高、后者低。且都低于算术运算,高于赋值运算。3、结合方向:左结合。3.1条件判断表达式【例3-1】c>a+b等价于c>(a+b);关系运算符的优先级低于算术运算符a>b==c等价于(a>b)==c;“>”优先级高于“==”a==bc等价于a=(b>c);关系运算符的优先级高于赋值运算符二、关系表达式用关系运算符将两个表达式(算术、关系、逻辑、赋值表达式等)连接起来所构成的表达式,称为关系表达式。关系表达式的值有两个,分
3、别是1和0。【示例】a=3,b=2,c=1,则:a>b的值为1。b+cch2的值为0。三、逻辑运算符及其优先次序1、逻辑运算符:&&(逻辑与),
4、
5、(逻辑或),!(逻辑非)2、优先级别:!高于算术运算;&&高于
6、
7、,&&和
8、
9、都低于关系运算,高于赋值运算。3、结合方向:!为右结合;&&,
10、
11、为左结合。四、逻辑表达式用逻辑运算符把表达式连接起来的式子,称为逻辑表达式。逻辑表达式的值也只有两个1和0。1、与表达式设A,B是
12、两个表达式,如果一个表达式通过运算符的优先级别和结合方向最终可归结为A&&B的形式,则称这个表达式为逻辑与表达式,简称与表达式。计算过程:对于与表达式A&&B,先计算A的值,当A的值为0时,不再计算B(此时说明与表达式的值一定为0);当A为非0时,再计算B。2、或表达式设A,B是两个表达式,如果一个表达式通过运算符的优先级别和结合方向最终可归结为A
13、
14、B的形式,则称这个表达式为逻辑或表达式,简称或表达式。计算过程:对于或表达式A
15、
16、B,先计算A,当A值为非0时,不再计算B(此时说明或表达式的值一定为1);当A的值为0时,再计算B。3、非表达式
17、设A是一个表达式,如果某个表达式通过运算符的优先级别和结合方向最终可归结为!A的形式,则称这个表达式为逻辑非表达式,简称非表达式。ABA&&BA
18、
19、B!A000010非0011非00010非0非0110【例3-2】写出下面各逻辑表达式的值,设a=3,b=4,c=5。⑴a+b>c&&b==c⑵a
20、
21、b+c&&b-c⑶!(x=a)&&(y=b)&&0分析:此题共出现三种运算符,算术运算符、逻辑运算符和关系逻辑运算符。由于优先级:逻辑非运算符>算术运算符>关系运算符>逻辑与、或运算符。由于每一小题都出现了&&或
22、
23、运算符,因此可以看做是逻辑表达式。
24、答案:⑴0⑵1⑶0【例3-3】用C语言的表达式表达实际问题。1.x大于等于3小于52.三条线段x,y,z构成一个三角形3.M非04.n为偶数5.永真命题6.k的值为1,3,87.判断某一年是否闰年解答:x>=3&&x<5解答:x+y>z&&x+z>y&&y+z>x解答:M!=0或M解答:n%2==0或n/2*2-n==0或!(n%2)解答:任何恒成立的式子,【示例】1!=0或1分析:闰年的条件是符合下面两个条件之一:①能被4整除,但不能被100整除;②能被4整除,又能被400整除。因为能够被400整除一定能被4整除所以第二个条件可以简化为能够
25、被400整除。判断闰年的条件可以用一个逻辑表达式表示:(year%4==0&&year%100!=0)
26、
27、year%400==0表达式为“真”,闰年条件成立,是闰年,否则非闰年。可以加一个!用来判断非闰年:!((year%4==0&&year%100!=0)
28、
29、year%400==0)解答:k==1
30、
31、k==3
32、
33、k==8做一做【课堂实践3.1】设a=2,b=3,c=4,求下列表达式的值:1.a==32.a=33.a&&b4.a
34、
35、b+c&&b-c5.!((a
36、
37、1)3.2if语句一、不平衡if结构格式:if(表达式)语句其中的
38、表达式是任意表达式,语句可以是复合语句,整个结构是一条语句。执行过程:先判断表达式的值是否非0,如果非0执行语句,否则执行if语句的后继语句,见流程图。表达式语句真