



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章 选择结构总结基本知识点: 关系运算符(小于) (大于) =(大于或等于) =(等于) !=(不等于)在语言中,“等于”关系运算符是双等号“=”,而不是单等号“= ”(赋值运算符)。* 优先级(1)在关系运算符中、 的优先级相同,、!的优先级也相同,且前4个的优先级高于后 2个。 (2)与其它种类运算符的优先级关系关系运算符的优先级,低于算术运算符,但高于赋值运算符。 关系表达式1. 关系表达式的概念用关系运算符将两个表达式连接起来,进行关系运算的式子称为关系表达式。 例如,下面的关系表达式都是合法的:ab,a+bc-d,(a=3)=b,(ab)= =(bc)2. 关系表达式的值逻辑值(非“真”即“假”) 由于语言没有逻辑型数据,所以用整数“1”表示“逻辑真”,用整数“0” 表示“逻辑假”。逻辑运算符和逻辑表达式& 逻辑与(相当于“同时”)| 逻辑或(相当于“或者”) ! 逻辑非(相当于“否定”)例如:假定x=5,则(x=0) & (x10)的值为“真”,(x5)的值为“假”。*优先级 ! 算术运算 关系运算 & | 赋值运算* 逻辑表达式:用逻辑运算符将1个或多个表达式连接起来,进行逻辑运算的式子 称逻辑表达式。在C语言中,用逻辑表达式表示多个条件的组合。例如:判断一个年份是否是闰年的逻辑表达式为: (year%4=0)&(year%100!=0)|(year%400=0) 例如:假设num=12,则: !num的值=0 num=1 numy); Bif (x=y) x+=y; Cif (x!=y) scanf(“%d”, &x) else scanf (“%d”, &y); Dif (xy) x+; y+;解析:本题考查的是if语句的结构问题。if语句要求条件表达式后面跟着一条语句,若有多条语句,则用花括号括起来构成一条复合语句,选项ABD均正确, 选项C中 第一个scanf语句后少分号。因此,正确答案为C。1、执行以下程序段后,w的值为 ( )。(全国计算机二级考试题2008年9月) int w=A,x=14,y=15;w=(x|y)&(wa); A -1 B NULL C 1 D 0解析:本题考查的是逻辑表达式的问题。&运算符两边都为真,表达式才为真;|运算符两边有一个为真,表达式就为真。C语言中任何非0数都表示真,0表示假,因此(x|y)值为真,(wa)成立,也为真,整个表达式(x|y)&(wx)&(b=yz);变量a的值为( ),b值为( )。A 5 B 0 C 1 D 2A 6 B 0 C 1 D 4解析:本题考查的是逻辑表达式的问题。&运算符两边都为真,表达式结果才为真。由于()的优先级最高,因此,先算(a=wx),a的值为假用0表示,因此,&运算符左侧结果为假,对于&运算符来说一旦计算出左侧运算量为假,整个表达式的结果就为假,&运算符右侧的表达式就不再进行运算了,因此,正确答案为B和A。4、以下错误的if语句是( )。Aif (xy); Bif (x=y) x+=y; Cif (x!=y) scanf(“%d”, &x) else scanf (“%d”, &y); Dif (xb) a=b; c=a; if(c!=a) c=b; printf(%d,%d,%dn,a,b,c); 其输出结果是 ( )。(全国计算机二级考试题2008年4月)A 程序段有语法错误 B 3,5,3 C 3,5,5 D 3,5,7解析:本题考查的是if语句的结构问题。属于if(ab)的只有一条语句a=b; 如果含有多条语句,必须用大括号 括起来构成一条复合语句,本题35不成立,所以a=b;不执行;执行后面的语句c=a;c的值变为3,if(c!=a)条件不成立,所以不执行c=b;。因此,正确答案为B。6、C语言对嵌套if语句的规定是:else总是与( )配对。A 其之前最近的if B 第一个if C 缩进位置相同的if D 其之前最近的且尚未配对的if 解析:本题考查的是if语句的嵌套问题。C语言规定else总是与其之前最近的且尚未配对if配对。因此,正确答案为D。7、变量a和b均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是( )。A if(a+); B if(ab&b!=0);C if(ab) a- - D if(by) if (yz) printf(%d,+z); else printf(%d,+y); printf(%dn,x+);程序运行结果是 ( )。(全国计算机二级考试题2008年9月)A 331 B 41 C 2 D 1解析:本题考查的是if、if-else结构及if的嵌套问题。本题含有一个if结构,属于if的语句是一个if-else结构,即if(yy不成立,那么属于if(xy)的语句不执行,直接执行后面的语句printf(“%dn”,x+);输出1(本题还有一个考查点就是+前置后置问题,如果题目改为+x,则输出2)。因此,正确答案为D。9、在下面的四个选项中(其中s1和s2为C语言的语句),只有一个在功能上与其它三个语句不等价,它是( )。Aif(a) s1; else s2; B if(a=0) s2; else s1; C if(a!=0) s1; else s2; D if(a=0) s1; else s2;解析:本题考查的是if语句和关系运算符问题。C语言中规定任何非0数都表示真,0表示假,选项ABC均表示a不等于0执行语句s1,否则执行语句s2,选项D与之相反,因此,正确答案为D。10、下列关于switch语句和break语句的结论中,正确的是( )。Abreak语句是switch语句中的一部分B在switch语句中可以根据需要使用或不使用break语句C在switch语句中必须使用break语句D break语句是switch语句的一部分解析:本题考查的是switch语句和break语句问题。break语句的功能是跳出switch结构和循环结构,break语句本身不是switch语句的一部分,在switch语句中可以根据需要使用或不使用break语句,因此,正确答案为B。11、有以下程序 #include “stdio.h” void main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0: a+; break; case 1: b+; break; case 2: a+; b+; break; case 3: a+; b+; printf(“a=%d,b=%dn”,a,b); 程序的运行结果是( )。(全国计算机二级考试题2008年4月) A a=1,b=0 B a=2,b=2 C a=1,b=1 D a=2,b=1解析:本题考查的是switch语句结构问题。x的值为1,首先匹配到case 1,执行其后的语句switch(y) case 0: a+; break; case 1: b+; brea
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 玉米原材料采购合同范本
- 村委建设补偿协议书范本
- 禁止学生喝酒安全协议书
- 浦东同城厂房出租协议书
- 材料商玻璃采购合同范本
- 自建房套间出售合同范本
- 防晒服定制采购合同范本
- 注册人员聘用协议书范本
- 空压机节能方案合同范本
- 股东协议书与代持协议书
- 初中教师坐班管理制度
- 2025贵州省水利投资(集团)有限责任公司招聘84人笔试备考题库附答案详解(综合题)
- 页岩气储层表征评价技术进展及其未来发展趋势分析
- 统编版高中政治必修三《政治与法治》期末复习:选择题刷题练习题(含答案解析)
- 四人合伙养猪合同协议
- 保险公司考核工作方案
- 2024年辽阳职业技术学院单招职业倾向性测试题库附答案
- 配电网建设知识培训课件
- 护理实习生安全教育
- 医德医风警示教育
- 工程项目施工质量突发事件应急措施范例
评论
0/150
提交评论