预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共22页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

四、选择结构程序设计 本章概述: 本章主要考查选择结构设计方法,其中包括关系运算符、逻辑运算符、条件运算符以及最常见的if条件判断语句。选择结构程序属于3种基本的程序设计方法之一。通过对历年试卷内容的分析,本章考核内容约占6%,属于一般考查内容。 年份2007.42007.92008.42008.9分值7267 大纲要求: 1.用if语句实现选择结构。2.用switch语句实现多分支选择结构。3.选择结构的嵌套。 重点难点: 逻辑运算符的短路原理 if语句的嵌套 switch语句的使用 考点1 考点分析: 关系运算符及其优先次序 关系运算是逻辑运算中比较简单的一种,“关系运算”就是“比较运算”。将两个值进行比较,判断是否符合或满足给定的条件。如果符合或满足给定的条件,则称关系运算的结果为“真”;如果不符合或不满足给定的条件,则称关系运算的结果为“假”。 C语言提供6种关系运算符: 【特别提醒】:关系运算符是双目运算符,由两个字符组成的关系运算符之间不能有空格。 关于优先次序和结合性: 前4种关系运算符的优先级别相同,后两种也相同。前4种高于后两种。 关系运算符的优先级低于算术运算符,高于赋值运算符。 结合性是自左向右。 试题解析 1.已有定义:charc;,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是()[2007年9月第23题] A.isupper(c)B.’A’<=c<=’Z’C.’A’<=c&&c<=’Z’D.c<=(‘2’-32)&&(‘a’-32)<=c 解析:答案A是利用库函数,C和D分别用关系运算符来判断是否是大小写,B不能判 断,应为’A’<=c的结果只能是0或1,永远小于’Z’,答案永远为真,不能判断是否为大小写。答案为B。考点2 关系表达式 用关系运算符将两个表达式(算术、关系、逻辑、赋值表达式等)连接起来所构成的表达式,称为关系表达式。 关系表达式的值是一个逻辑值,即“真”或“假”。C语言没有逻辑型数据,以1代表“真”,以0代表“假”。 【特别提醒】:当关系运算符的两边的类型不一致时,系统自动会进行类型转换。 试题解析 1.已知字母A的ASCⅡ代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是()[2008年4月第17题] A.kk>='A'&&kk<='Z'B.!(kk>='A'‖kk<='Z')C.(kk+32)>='a'&&(kk+32)<='z'D.isalpha(kk)&&(kk<91) 解析:答案A和C都是利用关系运算符来判断是否是大小写,B中如果满足了kk>='A'就不会判断后面的kk<='Z'(短路),所以不能判断,D利用函数。答案为B。 逻辑运算符及其优先考点3 级 C语言提供三种逻辑运算符: (1)&&逻辑与(相当日常生活中:而且,并且,只在两条件同时成立时为“真”) (2)||逻辑或(相当日常生活中:或,两个条件只要有一个成立时即为“真”) (3)!逻辑非(条件为真,运算后为假,条件为假,运算后为真) aba&&ba||b真真真真真假假真假真假真假假假假a!a真假假真 【特别提醒】:“&&”,“||”是双目运算符,“!”是单目运算符。 关于优先次序和结合性: (1)!(非)-&&(与)-||(或),“!”为三者中最高。 (2)逻辑运算符中的&&和||低于关系运算符,!高于算术运算符。 (3)结合性是自左向右。 试题解析 1.当变量c的值不为2、4、6时,值也为“真”的表达式是()[2008年4月第18题] A.(c==2)‖(c==4)‖(c==6)B.(c>=2&&c<=6)‖(c!=3)‖(c!=5)C.(c>=2&&c<=6)&&!(c%2)D.(c>=2&&c<=6)&&(c%2!=1) 解析:逻辑与&&所有的表达式都为真,才为真。,逻辑或||只要有一个为真值即为真。答案为B。 考点4 逻辑表达式 用逻辑运算符(逻辑与、逻辑或、逻辑非)将关系表达式或逻辑量连接起来构成逻辑表达式。 逻辑表达式的值是一个逻辑值“真”或“假”。逻辑运算结果,以1代表“真”,以0代表“假”,但在判断一个量是否为“真”时,以0代表“假”,以非0代表“真”(即认为一个非0的数值是“真”)。 【特别提醒】: 在数学中关系式是可以使用的,但是在C语言中不可以用,必须用&&。 由&&和||组成的逻辑表达式,在某种情况下可以发生“短路现象”: (1),只有当x为真时,才需要判别y的值,只有x和y都为真时,才要判别z的值;只要x为假,y和z不必判别,整个表达式的值就为0。 (2),只要x的值为真,就不必判别y和z的值,整个表达式的值为1,只有x的值为假,才需要判别y的值,只有x和y的值同时为假,才需要判别z的值