2008年9月全国计算机等级考试二级C语言笔试试卷及解析(2)

2019-03-10 19:26

A) 二进制 B) 八进制 C) 十进制 D) 十六进制 答案:A

详细解答:本题考查了整型常量的三种表示形式

整型常量分为十进制整型常量、八进制整型常量、十六进制整型常量,唯独没有二进制整形常量,所以源程序中不能表示二进制

17) 若有表达式(w)?(--x):(++y),则其中与w等价的表达式是 ( ) A)w==1 B) w==0 C) w! =1 D) w! =0 答案:D

详细解答:本题考查了逻辑表达式的真假

题目中w为1,表达式w表示真,w为0,表达式w表示假,这类题目的做法,把1,0代入选项,找出与w真假条件相符的即可

比如:D选项, w为1时,1!=0成立,表达式值为真w为0时,0!=0部成立,表达式值为假

18) 执行以下程序段后,w的值为 ( ) int w=’A’,x=14,y=15; w=((x||y)&&(w<’a’)); A)-1 B)NULL C) 1 D)0 答案:C

详细解答:本题考查了逻辑表达式的判断

&&两边都为真,表达式才为真;||两边有一个为真就为真.(x||y)值为真,(w<’a’)成立,也为真,整个表达式((x||y)&&(w<’a’))值为1,把1赋值给w, w的值为1

19) 若变量已正确定义为int型,要通过语句scanf(“%d,%d,%d”,&a,&b,&c);给a赋值1,给b赋值2,给c赋值3,以下输入形式中错误的是(ㄩ代表一个空格符)()

A)ㄩㄩㄩ1,2,3<回车> B)1ㄩ2ㄩ3<回车> C) 1,ㄩㄩㄩ2,ㄩㄩㄩ3<回车> D)1,2,3<回车> 答案:B

详细解答:本题考查了scanf输入函数的格式说明知识

输入函数的输入控制(双引号之间的内容),除 %* 外,如果含有其它字符,则在输入数据时一定要一一对应输入这些字符,此题双引号之间含有逗号,那么输入数据之间必须输入逗号,B选项错误.此类型的题目还要注意逗号不是分隔符,如果双引号之间没有逗号,输入数据时不能用逗号 20) 有以下程序段 int a,b,c; a=10;b=50;c=30; if(a>b) a=b,b=c; c=a;

printf(“a=%d b=%d c=%d”,a,b,c); 程序的输出结果是 ( )

A)a=10 b=50 c=10 B)a=10 b=50 c=30 C) a=10 b=30 c=10 D) a=50 b=30 c=50 答案:A

详细解答:本题目学员应该注意逗号表达式语句,及if语句的结构 属于if(a>b)的只有一条语句a=b,b=c;(逗号表达式语句)

咱们强调如果含有多条语句,必须用大括号{ }括起,eg:if(a>b) { a=b,b=c; c=a;} 如果没有用 { }括起,那么只有一条语句,10>50不成立,所以a=b,b=c;不执行;执行后面的语句c=a;此时c的值变为10,所以输出为A选项 21) 若有定义语句:int

m[ ]={5,4,3,2,1},i=4;则下面对m数组元素的引用中错误的是( ) A)m[--i] B)m[2*2] C) m[m[0]] D)m[m[i]] 答案:C

详细解答:本题考查了数组的下标不能越界,数组长度由{ }中的数据个数默认为5,那含有5个数组元素分别为m[0]、m[1]、m[2]、m[3]、m[4],C)选项为m[5],下标越界

A) 选项对应m[3] B) 选项对应m[4] D)选项对应m[1] 22) 下面的函数调用语句中func函数的是实参个数是 ( ) func( f2(v1,v2)), (v3,v4,v5),(v6,max(v7,v8))); A)3 B)4 C) 5 D)8 答案:A

详细解答:函数的参数列表,不同参数之间用逗号隔开, func函数的参数个数为3,分别为f2(v1,v2)),(v3,v4,v5),(v6,max(v7,v8))。大家可以简单的理解为以外层逗号间隔为准,其中每个参数又含有函数和多个参数,超出本题查考的内容

23) 若有定义语句:double x[5]={1.0, 2..0, 3.0, 4.0, 5.0},*p=x; 则错误引用x数组元素的是 ( )

A)*p B)x[5] C)*(p+1) D)*x 答案:B

详细解答:本题考查数组的下标是否越界,以及指针对变量的引用

B)选项x[5],下标越界。一维数组名是地址常量(数组首地址),始终指向第一个数组元素,进行赋值p=x,指针变量p也指向第一个数组元素如下图:

A)选项 *p表示p所指向单元的数据即x[0] 值为1.0 C)选项 *(p+1)表示p+1所指向单元的数据即x[1] 值为2.0 D)选项 *x表示x所指向单元的数据即x[0] 值为1.0

24)若有定义语句: char s[10]=”1234567\\0\\0”; ,则strlen(s)的值是 ( ) A)7 B)8 C) 9 D)10

答案:A

详细解答:本题目考查字符串结束标志’\\0’。字符串从第一个字符开始,遇到第一个结束符’\\0’为止,注意’\\0’不占字符串长度,所以此题选A 25) 以下叙述中错误的是 ( )

A)用户定义的函数中可以没有return 语句

B) 用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值

C) 用户定义的函数中若没有return语句,则应当定义函数为void类型 D)函数的return语句中可以没有表达式 答案:B 详细解答:

1、如果函数返回值类型为void,则可以不用return语句,所以A正确; 2、如果函数没有return语句,函数返回值类型必须是void

3、如果函数没有返回值,可以用return语句,此时表达式应该为空,D正确 4、函数可以根据需要返回一个确定的值,程序中可以出现多个return语句,但当程序执行到第一个return语句时,就会结束当前函数的运行,不会执行后面的语句,所以用return语句只能返回一个函数值,B错误 26) 以下关于宏的叙述中正确的是 ( ) A)宏名必须用大写字母表示

B) 宏定义必须位于源程序中所有语句之前 C) 宏替换没有数据类型限制


2008年9月全国计算机等级考试二级C语言笔试试卷及解析(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:第三方检测工作管理办法

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: