机密★启用前
2008 年 9 月全国计算机等级考试二级笔试试卷
C 语言程序设计
24
注意事项
一、考生应严格遵守考场规则,得到监考人员指令后方可作答。
二、考生拿到试卷后应首先将自己的姓名、准考证号等内容涂写在答题卡的相应位置上。
三、选择题答案必须用铅笔填涂在答题卡的相应位置上,填空题的答案必须用蓝、黑色钢
笔或圆珠笔写在答题卡的相应位置上,答案写在试卷上无效。
四、注意字迹清楚,保持卷面整洁。
五、考试结束将试卷和答题卡放在桌上,不得带走。待监考人员收毕清点后,方可离场。
* * * 版权所有,任何单位或个人不得保留、复制和出版,违者必究 * * *
教育部考试中心
二 00 八年七月制
2008 年 9 月全国计算机等级考试笔试试卷
二级公共基础知识和 C 语言程序设计
(考试时间 90 分钟,满分 100 分)
一、选择题((1)~(10)、(21)~(40)每题 2 分,(11)~(20)每题 1 分,70 分) 下列各题 A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在 答题卡相应位置上,答在试卷上不得分。
( 1)一个栈的初始状态为空。现将元素 1、2、3、4、5、A、B、C、D、E 依次入栈,然后
再依次出栈,则元素出栈的顺序是( )。 A)12345ABCDE ( 2)下列叙述中正确的是(
B)EDCBA54321 )。
C)ABCDE12345
D)54321EDCBA
A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构 B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况 C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况 D)循环队列中元素的个数是由队头指针和队尾指针共同决定
( 3)在长度为 n 的有序线性表中进行二分查找,最坏情况下需要比较的次数是(
A)O(n)
( 4)下列叙述中正确的是(
B)O(n )
2
)。
)。
A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的 B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构 C)顺序存储结构能存储有序表,链式存储结构不能存储有序表 D)链式存储结构比顺序存储结构节省存储空间
C)O(log n)
2
D)O(nlog 2n)
( 5)数据流图中带有箭头的线段表示的是(
A)控制流 A)N-S 图 A)一致性 A)一对一 A)人工管理阶段 R A m n
B 1 2
B)事件驱动 B)DFD 图 B)分类性 B)一对多
)。
C)模块调用
)。
D)数据流
( 6)在软件开发中,需求分析阶段可以使用的工具是( ( 7)在面向对象方法中,不属于\对象\基本特点的是(
D)程序流程图 D)标识唯一性 )。 D)多对多 )。
C)PAD 图
)。
C)多态性 C)多对一
( 8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( ( 9)在数据管理技术发展的三个阶段中,数据共享最好的是( (10)有三个关系 R、S 和 T 如下:
S B 1 3
C 3 5
T A m
B 1
C 3
B)文件系统阶段 C)数据库系统阶段 D)三个阶段相同
由关系 R 和 S 通过运算得到关系 T,则所使用的运算为( A)笛卡尔积
(11)以下叙述中正确的是(
B)交
)。
C)并
)。
D)自然连接
A)C 程序的基本组成单位是语句 B)C 程序中的每一行只能写一条语句
二级 C 语言程序设计试卷 第 1 页(共 9 页)
C)简单 C 语句必须以分号结束
(12)计算机能直接执行的程序是(
A)源程序 A)'cd'
)。
B)目标程序 B)0.1e+6
)。
D)C 语句必须在一行内写完 C)汇编程序
)。 C)\
D)可执行程序
(13)以下选项中不能作为 C 语言合法常量的是( (14)以下选项中正确的定义语句是(
A)double a; b; B)
cd
D)'\\011'
a=b=7; C)double a=7, b=7; D)double, a, b;
double 2ab
(15)以下不能正确表示代数式 的 C 语言表达式是(
A)2*a*b/c/d A)二进制
B)a*b/c/d*2
)。
B)八进制
)。
D)2*a*b/c*d
C)a/c/d*b*2
(16)C 源程序中不能表示的数制是(
C)十进制
D)十六进制 )。 D)w!=0
(17)若有表达式(w)?(--x):(++y),则其中与 w 等价的表达式是(
A)w==l B)w==0
C)w!=l
(18)执行以下程序段后,w 的值为( )。
w=((x || y)&&(w<'a')); int w='A', x=14, y=15; A)-1
B)NULL
C)l
D)0
(19)若变量已正确定义为 int 型,要通过语句 scanf(\;给 a 赋值
1、给 b 赋值 2、给 c 赋值 3,以下输入形式中错误的是( ò 代表一个空格符)( )。 A) ò ò ò 1,2,3<回车> C)1, ò ò ò 2, ò ò ò 3<回车> (20)有以下程序段
int a, b, c; a=10; b=50; c=30;
if (a>b) a=b, b=c; c=a; printf(\ 程序的输出结果是( A)a=10 b=50 c=10 ( )。 A)m[--i]
B)m[2*2]
C)m[m[0]]
)。
D)8 D)m[m[i]]
(22)下面的函数调用语句中 func 函数的实参个数是(
func (f2(v1, v2), (v3, v4, v5), (v6, max(v7, v8))); A)3
(23)若有定义语句:double
( )。 A)*p
(24)若有定义语句:char
A)7
(25)以下叙述中错误的是(
B)x[5] B)8
)。
C)*(p+1) C)9
D)*x
)。 D)10
s[10]=\,则 strlen(s)的值是( B)4
C)5
x[5]={1.0,2.0,3.0,4.0,5.0}, *p=x;则错误引用 x 数组元素的是 )。
B)a=10 b=50 c=30 C)a=10 b=30 c=10 D)a=50 b=30 c=50
B)1 ò 2 ò 3<回车> D)1,2,3<回车>
(21)若有定义语句:int m[]={5,4,3,2,1},i=4;,则下面对 m 数组元素的引用中错误的是
A)用户定义的函数中可以没有 return 语句
B)用户定义的函数中可以有多个 return 语句,以便可以调用一次返回多个函数值 C)用户定义的函数中若没有 return 语句,则应当定义函数为 void 类型
二级 C 语言程序设计试卷 第 2 页(共 9 页)
D)函数的 return 语句中可以没有表达式
(26)以下关于宏的叙述中正确的是(
)。
A)宏名必须用大写字母表示
B)宏定义必须位于源程序中所有语句之前 C)宏替换没有数据类型限制 D)宏调用比函数调用耗费时间
(27)有以下程序
#include
{ int i, j;
for(i=3; i>=l; i--) { for(j=1; j<=2; j++)
printf(\
printf(\
} }
程序的运行结果是( )。
A)2 3 4
B)4 3 2
3 4 5 5 4 3 C)2 3
D)4 5
3 4 3 4 4 5
2 3
(28)有以下程序
#include
{ int x=l, y=2, z=3;
if(x>y)
if(y } 程序的运行结果是( )。 A)331 B)41 C)2 (29)有以下程序 # include do { if (i%3=1) if (i%5==2) { printf(\break;} i); } i++; printf(\while(i!=0); } 二级 C 语言程序设计试卷 第 3 页(共 9 页)D)1

