- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2000年9月全国计算机等级考试二级C笔试试题详解
一、选择题(16)若变量已正确定义并赋值,以下符合C语言语法的表达式是 A)a:=b+1 B)a=b=c+2 C)int 18.5%3 D)a=a+7=c+b
希希讲解(16):用排除法。A)中包含一个不合法的运算符“:=”,错;C)明显错;D)可分解为两个表达式:a+7=c+b和a=a+7,其中第一个是错的,因为C规定:赋值号的左面只能是单个变量,不能是表达式或常量等。因此,正确答案是B),它实际上相当于:a=(b=c+2),进而可分解为两个表达式:b=c+2和a=b。
(17)C语言中运算对象必须是整型的运算符是 A) %= B) / C) = D) =
希希讲解(17):前几年曾经考过类似的题目,很简单,正确答案是A)。C规定:取余运算符的运算对象必须是整型,复合运算符“%=”中包含%运算,它的运算对象也必须是整型。
(18)若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是 A) 1 B)2 C)2.0 D)2.5
希希讲解(18):该题的解答请参阅本站的“整数除法的注意事项”和“逗号表达式”两个主题讲座,那里有详细的分析。正确答案是C)。
(19)若变量a,i已正确定义,且i已正确赋值,合法的语句是 A) a==1 B)++i; C)a=a++=5; D)a=int(i);
希希讲解(19):(A)中是一个表达式,因为缺少分号,所以不是语句;(C)的错误同(16)题(D)的错误一样;(D)若改为a=(int)i;则是合法的语句,小括号写错了位置,从另一个角度理解,(D)的写法应该是一个函数调用语句,函数名是int,小括号中的i是实参,这样的话,函数名int又是不合法的,因为C规定:用户标识符(包括函数名)不能是关键字,而int是一个关键字。所以,正确答案是(B),它相当于语句i=i+1;(20)若有以下程序段 int c1=1,c2=2,c3; c3=1.0/c2*c1; 则执行后c3中的值是 A)0 B)0.5 C)1 D)2
希希讲解(20):因为运算表达式中有一个浮点型数据1.0,所以,运算结果应该也是一个浮点类型,只有(B)符合这一条件,仅根据这一点就可以确定(B)是正确答案。该语句的执行过程(1)先将c2的值2转换为2.0;(2)计算1.0/2.0,得到中间结果0.5;(3)将c1的值1转换为1.0;(4)计算0.5*1.0,得到结果0.5;(5)将0.5赋值给变量c3。(21)有如下程序 main() { int y=3,x=3,z=1; printf(%d %d\n,(++x,y++),z+2); } 运行该程序的输出结果是 A)3 4 B)4 2 C)4 3 D)3 3
希希讲解(21):printf函数输出两个表达式的值,第一个是(++x,y++),它是逗号表达式,它的值应该就是y++的值3(关于逗号表达式,请参阅本站“二级C常考题型”中的一个专题的内容);第二个表达式是z+2,它的值为3。所以,正确答案是(D)。(22)能正确表达逻辑关系a≥10或a≤0的C语言表达式是 A)a=10ora=0 B)a=0|a=10 C)a=10a=0 D)a=10||a=0
希希讲解(22):题目要求很明确,两个关系式a≥10和a≤0之间是“或”的关系,C语言中,逻辑“或”用运算符“||”,四个选项中只有(D)满足这一条件,它就是正确答案。(23)有如下程序 main() { int x=1,a=0,b=0; switch(x){ case 0: b++; case 1: a++; case 2: a++;b++; } printf(a=%d,b=%d\n,a,b); } 该程序的输出结果是 A)a=2,b=1 B)a=1,b=1 C)a=1,b=0 D)a=2,b=2
希希讲解(23):该题目的关键是要搞清楚该程序执行了哪几条语句。由于x的值等于1,所以switch结构中,程序从case 1后面的语句开始执行,又因为case 1后面的语句没有以break结束,所以程序要继续往下执行case 2后面的语句。所以,该程序共执行了这三条语句:a++;a++;b++;因此,变量a和b最后的值应该为2和1,正确答案为(A)。(24)有如下程序 main() { float x=2.0,y; if(x0.0) y=0.0; else if(x10.0) y=1.0/x; else y=1.0; prin
您可能关注的文档
最近下载
- 2025电动航空器电推进系统动力电机技术规范.docx VIP
- DB37╱T 3655-2019 化工园区大气环境风险监控预警系统技术指南(试行).pdf VIP
- 百灵达FLOW-8快速使用说明书.pptx VIP
- 化工园区危险品运输车辆停车场建设标准.pdf VIP
- 《党政机关厉行节约反对浪费条例》专题党课PPT课件模板.pptx VIP
- T/HGJ 10600-2019 烧碱装置安全设计标准.docx VIP
- 最新清晰版ISO50001(中word版).docx VIP
- 临床医学 《门静脉高压症》教学课件.ppt VIP
- 最新:机械通气患者转运课件.pptx VIP
- (高清版)DB44∕T 2598-2024 《省级体育社会团体建设规范》.pdf VIP
文档评论(0)