2011年3月计算机水平考试二级C语言笔试9 Z7 l8 L4 I/ w0 D$ b
1.多项选择题
4 z。 v0 v1 O* E( ?(1) 以下关于堆栈的哪些说法是正确的?
' ~0 L& ^( N/ u3 EA) 可以先删除栈顶元素 B) 可以最后删除栈顶元素
0 {$H" K4 W% H# ?C) 栈底元素永远无法删除 D) 以上三种说法都不正确
, d* ^0 X! o# F2 c' Sn9 r6 [(2) 以下哪种说法是正确的?
*P*R; R5 t2 iA) 具有多个根节点的数据结构不一定是非线性结构
7 R0 U0 S6 c% M# i6 t$ h5 T$ x$ tB) 只有一个根节点的数据结构不一定是线性结构 5 X! _p3 W' ~/ {: @
C) 循环链表是一种非线性结构" b( N, X8 `( Y# |( p( `' [" T
d) 双向链表是非线性结构 4 h, H. i4 [8 s4 c5 Y1 `E
(3) 某二叉树共有 7 个节点,其中只有 1 个叶子节点,则该二叉树的深度为(假设根节点位于
! k2 X) s+ F) c9 E1 X$ I1层)/ \( L: s' q1 ~' W3 V
A)3 B)4 C)6 D)7" g- A5 L6 i+ y+ n' S5 W# ^9 s4 E
(4) 在软件开发中,需求分析阶段生成的主要文档有) g, S1 ^9 a$ Y4 ?, i3 ~7 g4 K
A) 软件集成测试计划 B) 软件详细设计规范
9`#k。 D' G' `+ S9 m3 lC) 用户手册 D) 软件需求规格,I( x# J5 Z* B5 T0 f8 Q% Z
(5)结构化程序所需的基本结构不包括
4 Y( e# a& f* o5 fA) 顺序结构 B) GOTO 跳转 C) 选择(分支)结构 D)重复(循环)结构: l7 g7 f, d6 b2 Y4 _
(6)下列描述不正确的是:l3 o,^3 A! ^
A) 系统总体结构图支持软件系统的详细设计
" z# J. o, Z( m+ @1 \: Y. OB)软件设计是将软件需求转换为软件表示的过程0 h$ {4 R' n1 F" A% B& g
C) 数据结构和数据库设计是软件设计的任务之一
- h0 \6 K) t' S& U# DD)PAD图是详细软件设计的表示工具
$ \+ C9 {* ?9 `|(7) 数据库中负责查询操作的数据库语言为1 X6 }。 C2 D3 L5 是! 呃! 五)M
A) 数据定义语言 B) 数据管理语言 C) 数据操作语言 D) 数据控制语言: L* o( }+ n7 {& q/ [- G
(8) 一名教师可以教授多门课程,一门课程可以由多名教师教授。则实体教师与课程的联系为
&]c" q3 I( `A)1:1 接触 B)1:m 接触
% v8 Z& }& u, k9 o+ B0 sC)m:1 联系 D)m:n 联系 e6 e! N:j&_:l
(9) R、S、T有如下三种关系:
3B; m: a2 z8 MJ|( ^& XR
+ y4 N* h1 L8 p5 Z; E6\ABC
0 H6 E* N; w7 x+ i$ ta 1 2
% t7 n. i5 i' b0 c- G/ RB 2 1
; L- F, o, u: z: A, \7 }C 3 1
% F* q* b0 v, F* z9 s6 fS7 T5 j' I: I' k* W" v
AB
+ D/ n/ I5 _% X& @C 3
- }$ R. k9 ~9 x2 {5 X0 t' ?T/ }6 @- u$ }。 H9 U% _4 i2 x7 M
C0 Q:A4 z5 b3 W$ X! {'^
16米! n1 U" qp: L* u
那么从关系R和S得到关系T的操作是。 c# `* {4 E/ K# H! 〜8秒
A) 自然连接 B) 交集 C) 除法 D) 并集
) _% ^- ]7 O1 N(10) 将无符号整数类定义为 UInt。 以下可以用作 UInt 类的实例化值。
,W5升! r&n; T6 XA)-369 B)369 C)0.369 D) 整数集 {1,2,3,4,5}2 R- Y" q, Z, h!
(11)计算机高级语言程序的运行方式有两种:编译执行和解释执行。 以下描述中正确的是 1 fa6 ^J% u9 _( G0 }6 B
a)C语言程序只能编译执行:c9 l/ t* N; y2 E" {# O
B)C语言程序只能解释执行
2 x2 t/ P# c- O- S% L$ \. tC)C语言程序既可以编译执行,也可以解释执行 b' _3 W' @# `3 G: O
D) 以上说法均不正确
5 u7 Q( i2 b, W2 y(12) 下列说法错误的是 d!E% r% h+ y* r0 M; y.z
A)C语言的可执行程序是由一系列机器指令组成的 6 l$ K5 S! Q.Q# K* _( M
B) C语言编写的源程序不能直接在计算机上运行; R6 H+ C(?1 K# E/ S/ ~
C) 编译得到的二进制目标程序需要连接后才能运行。
2 Ql8 y+ W& s; kD) C源程序生成的.exe文件无法在没有安装C语言集成开发环境的机器上运行。
7 G3 E0 m9 r9 L4 f2 j。 x$ h(13) 下列哪个选项不能在 C 程序中用作合法常量?
+ ]( o( x!v: H6 G+ xCA)1,234 B)'123'+ g$ b7 l& y8 m! 米
C)123 D)"\x7G"
' j。 V6 f5 S& L$ v1 b(14) 以下选项中,C 程序中可以使用的合法实数为 3 }}' e5 |) i, ?" T4 ^" _8 Y8 _
A).1e0 B)3.0e0.2
6 D( l8 n* A2 ]C)E9 D)9.12E
' e) {4 {$v* b' r7 H% ?(15) 若有定义语句:int a=3,b=2,c=1;,则下列选项中错误的赋值表达式为(s $ k / V& }6 o+ F
a)a=(b=4)=3; B)a=b=c+1;2 W9 t( K1 m9 I! p2 K, F1 S
c)a=(b=4)+c; D)a=1+(b=c=4);5{)G; H。 e1B
(16) 有如下程序段 5^,t0 S"^;D: Z9 k8 _9 f
字符名称[20];1 l& A5 F5 j1 N* d% j, W}
整数;
1 ?& p" b& q" \3 g7 V& ("name=%s num=%d",name;#);6 j! B&R&`#v3{! A/g5 y
当执行上述程序段并从键盘输入:name=Lili num=1001时,name的值为
* ?$ I# L7 Aq/ v" W) ^: _A)Lili# Q- n6 e& w, O7 A* H
B) 名字=莉莉
1 _& c5 I5 c% d6 n- UC)Lili num=
^# n, w' D+ X5 L6 GR- \! Q: z1 @D)name=Lili num=1001
' _& C2 O.g/ ~" r/ V(17) if 语句的基本形式是:if(表达式)语句。下面“表达式”值的正确描述是 * @" J/ ]7 d ' V2 S4 C%米
A) 必须是逻辑值 B) 必须是整数值 # ~* x" G; v$ h( w4 [* g
C) 必须是正数 D) 可以是任何合法值
/ g2 n5 G( x/ A: J" o1 ^(18) 有以下程序& x3 n2 g$ Z( U6 a! Z
#
' `( H1 e$ ]0 p* ?main()
+ W0 S$ u8 |/ W& x, B{ int x=011;/ f( }6 e" d, [" m% G
("%d\n",++x);
$_#e/P! C) r, F' Z) f}! i' K8 U" ]! ]: ct( L
程序运行后的输出为
2 T1 S1 f+ a, s# t- q8 `A)12 B)11 C)10 D)9
,[:o4 Q/M! @- h4 ~(19) 有如下程序 2 k' K5 ~: A! k
# D( V; V$ \6 K4 z
main()7 e+ G6 d; P$ B8 q3 F# p
{ int s;& u: K/ p1 }% i. d( 小时
scanf("%d",&s);- ~2 X2 k) I: W& m- |' a8a
while(s>0)& V- e" @4 J. P1 R' a$ u
{(s)
" e* G* n1 s/ p{ case1:("%d",s+5);8 Q0 R# b0 w8 K/ B7 u
情况2:("%d",s+4); 中断;& H3 q9 M* W; S! A! 氮
case3:("%d",s+3);: T4 C5 z4 z* O! S
:("%d",s+1);中断;' P) H1 x2 n5 h& E2 Q' l" b; A
- x* U8 p6 y# k- X+ k; Q- y2 ^scanf("%d",&s);
+ S" Z; j0 P: o" o! F! Ø,V}
/ J$ n" c, h" A3 ^. S}, Y8 T6 \% T( S5 o+ l
运行时,如果输入 1 2 3 4 5 0,则输出结果为) I, W, ?/ I, Y* _
A) B)66656 C)66666 D)
& O7 f% `2 a# }. cu: L(20) 有以下程序段
K/ j1 t0 N* y。 Oint i,n;9 W# b* r( E& x' r# Z5 ~6 g
for(i=0;i{ n=rand()%5;
。 J+ _5 S( b!E0 {!Y0 C) (n)0 b. \/ e5 d" U$ C
{ 情况1:
4 \0 C7 Z! n" I/ R/ v+ }情况 3:("%d\n",n);break;X* w.i) n$ t4 W7 O
案例2:
( Y9 c, D* K) L7 B 情况 4:("%d\n",n); ;3升。 p: {& R( k0 g; i
情况 0:退出(0);/ ^. XE%o%P%Gl9[&]/@
}% A$ y2 v9 S8 b* {
("%d\n",n);
* z0 p2 k# f3 C5 p- S% N# x8 N}
+ O/ O( e' W' b下列关于程序段执行的描述正确的是
4 U/ M9 ^0 e2 Q4 C% {A)for 循环语句执行 8 次 6 F6 S$ o5 A8 n* ~2 W
B) 当生成的随机数n为4时,循环操作结束4 U4 G; c0 i2 i% xc
C) 当生成的随机数n为1和2时,不进行任何操作! R) F1 n: z4 t% y1 [, Y3 l
D) 当生成的随机数n为0时结束程序
。 w' S8 m% N0 b. a) g1 T& Q+ X* I(21) 具有以下过程* Z* n{/ g。 j
#
)O-O; b* ~7 n: o$ d# \" r% @" K) kmain()
},w; s2 g$ MV。 O3 E- u% X6 O9 F% O{ char s[]="012xy\";" H' @- d9 E3 j5 O4 r( k
int i,n=0;: p& r8 K1 W) Q) o8 ]
for(i=0;s[i]!=0;i++): ]; `9 \% i) A& o& z
if(s[i]>='0'&&s[i]