|
一、单选题(共 30 道试题,共 60 分。)V 1. 要使几个不同数据类型的数据共享同一块内存区域,应使用( ). ~* V% Z+ t7 A7 y! |
A. 数组
! T) W% s/ g7 N$ zB. 结构
/ L" X5 J6 f5 T" z! K5 B( }C. 联合5 @% u- \1 l4 t# s& i
D. 文件
O" C1 F2 D. ~: |" \- I9 y 满分:2 分7 L: l4 m6 E$ w& n
2. 下面程序的结果是什么?Int i=3,j=4;i?i++:j++;printf(“%d %d\n”,i,j);( )
~( [; {" ^' {* ]7 d# DA. 3 3- Q3 {; ?2 B% g: z6 d
B. 4 4+ X# N l9 j" [! c& w; y) ?
C. 3 4% h% W0 @5 ]2 Y
D. 4 36 o' |& D' G& ]6 i% X% A; M
满分:2 分0 e U% ~& |& o
3. 析构函数在什么时间开始调用。( )
8 G1 a8 i6 F' n, w$ D: xA. 类创建) y0 Q7 y% J* ^% K! g9 g
B. 创建对象
3 u' _: \$ F( Y: l& PC. 引用对象' J( w( J U+ t3 t2 M# C/ r$ D; N
D. 释放对象1 e8 [* |% B( v1 j
满分:2 分( x ` C9 B4 g1 G7 s& I
4. 已知:print( )函数是一个类的常成员函数,且无返回值。在下列表示中,正确的是( )5 V6 l* H* ] P
A. void print( ) const;: _/ Q# C! b: j& F* r
B. const void print( );
9 p3 X9 j/ i6 F! ~C. void print( );
# H+ a4 Z9 S$ E# S& |3 xD. void print(const);# f% j* U+ Q# s) P! M
满分:2 分* h, K+ H+ T$ {' F9 y3 @
5. 已知字符'b'的ASCII码为98,语句printf("%d,%c",'b','b'+1 );的输出为( ); v; F( ^) s: n* [# u7 V/ G
A. 98,b) ?, d+ g: u7 B& v
B. 语句不合法+ N3 |- S) c+ U0 |) \8 S1 m( b# x6 x
C. 98,99
" |5 `% f! t: ~) YD. 98,c
3 i8 J$ G1 v1 c5 ~1 ^ 满分:2 分+ y1 T6 |/ _" l; S* d3 }
6. 在下边的二维数组定义中,正确的是( )# f. S4 A* K& L" d! u5 u2 `
A. int a[5][]
! F* _. p0 t7 ~) @0 m0 zB. int a[][5]
8 A) m9 y$ D5 N: pC. int a[][3]={{1,3,5},2}+ N7 a8 m1 u y) _' \+ N# A
D. int a[](10)6 k$ U) O+ d7 j. v
满分:2 分
" D0 C8 Z+ ]' B" i. [9 n/ Y; R7. 下面关于类的对象性质的描述,正确的是( )
: X/ @% l# R& P& _ u& LA. 对象之间不可以相互赋值
8 | V+ P$ J* G% {6 _ \" t- t$ r8 tB. 不可以说明指向对象的指针5 ~: L6 R5 y) m' p
C. 对象不能用作数组元素* A; Q9 o; v% ~: C, H# s
D. 一个对象能用作另一个对象的成员
. ]9 ~6 C( O; C5 w9 x- S4 U 满分:2 分8 f% D1 N- d! S- x8 `6 {/ S1 Z
8. 下面关于new 和delete操作符的说法中,不正确的是( )
0 w+ V+ s I: s6 ]7 g* u& iA. 使用new操作符,可以动态分配全局堆中的内存资源
( k" H$ h. }& Y0 G6 |% T' HB. 若p的类型已由A*强制转换为void *,那么执行语句delete p;时,类A的析构函数不会被调用+ _0 r+ u1 c: V' P: {2 m8 ?
C. 实现全局函数时,new和delete通常成对地出现在由一对匹配的花括号限定的语句块中2 y" Y$ i- X4 b4 i- k
D. 执行语句A * p=new A[100]时,类A的构造函数只会被调用1次
1 K e. I1 W" o2 m$ t p0 D; X 满分:2 分
. B; x! _& h( f& J/ A7 ?4 f9. 下列哪项不是面向对象程序设计的主要特征( )
# J# v: p. B& _! R& }* xA. 封装
1 R& C& L) U7 z8 s# |- [B. 继承
6 y7 [- t2 s9 B q G# \0 G) j3 SC. 多态
: {6 U' a: @% r% L0 _D. 结构8 X9 i( W/ U2 B, s' Q
满分:2 分/ }9 d2 s% A% P9 j
10. 要声明一个有10个int型元素的数组,正确的语句是( )
i, b& E- q" o6 B" jA. int a[10];9 i2 N3 g* k7 x5 A; s# q
B. int a[2,5];& n4 G+ v, E8 z& h
C. int a[];
9 E7 ]& K5 z- R! P2 JD. int *a[10];
Z& E4 J2 y4 N4 V- i5 M( i 满分:2 分, L& O$ r! K, x w" x w
11. 下列函数中,可以为虚函数的是( )3 a f, j- ]6 @7 C0 V* K% I; Y6 A8 x
A. 自定义的构造函数$ G9 b6 f" V, T! G- U: K R
B. 拷贝构造函数: l. N, f& g& }1 F# k% e# ^% [
C. 静态成员函数
1 t# O% F |7 TD. 析构函数
7 p. r6 q* f' ?/ V% P/ r$ W 满分:2 分7 Y8 A7 A" `. K6 ?/ ]
12. 下列的各函数中, 不是类的成员函数的是( )# Z/ L- z! b+ C$ n7 [
A. 构造函数
0 q; V7 B# u: ?. aB. 析构函数
# b/ q1 t# _* h* ? TC. 友元函数
4 _6 S0 y3 O( h+ B- fD. 复制构造函数9 `0 \. Q& Y) W& l3 J& R% j4 ?* V7 X( K
满分:2 分
) `1 h1 |5 H3 Z8 H) Y13. 若用数组名作为函数调用时的实参,则实际上传递给形参的是( )' P9 L5 V0 B+ N# Y7 d: s( ?* n
A. 数组首地址" C1 Q. M# J' |. | R2 l
B. 数组的第一个元素值# q& }2 [+ E B3 O( X
C. 数组中全部元素的值' L: F& @( R' u4 |/ v4 b: m
D. 数组元素的个数( s: S r' C5 S* L
满分:2 分
0 U$ ?- |1 W5 j. o9 ?0 H14. 以下各选项企图说明一种新的类型名,其中正确的是( ); p3 J% z, F. Y- c Y+ I/ P2 Y
A. typedef v1 int;+ o9 V: {5 {% o9 U Z- e
B. typedef v2=int;. ]( f7 @; E- c$ s- l& s% y
C. typedef int v3;
$ y" k4 Q5 [3 e1 nD. typedef v4: int;
Q: M* w1 j! L7 X4 N! u4 V) C: ? 满分:2 分5 R% x; J+ _5 f# y+ d
15. 下列对引用的陈述中,不正确的是( )6 i* F/ V, ?& D X9 W0 N% ^6 `1 ]# G' n0 ]
A. 每一个引用都是其所引用对象的别名,因此必须初始化/ T5 ^2 c) J; Z i# J+ _5 s
B. 形式上针对引用的操作实际上作用于它所引用的对象0 Y7 x% Q$ D8 L! M( T
C. 一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行
1 r) H( W) B" n7 p0 fD. 不需要单独为引用分配存储空间
1 {2 L, L2 [4 X0 W1 b 满分:2 分8 B- l: P0 ?+ d% L% k
16. 下列叙述正确的是( )
8 b3 z0 c% s6 _) YA. 一个程序中可以有多个#include命令行+ {' Y. i' A- K
B. 在#include命令行中,用双引号和用尖括号将被包含的文件名括起来没有区别% [) b) ?8 J W9 }1 |$ b
C. #include命令行只能放在程序开始位置
7 V$ B# ^9 n% ?$ s: ?D. #include命令后也必须以分号结束
5 {; J- g' g; K( ~& Q 满分:2 分
0 w1 f* B; Q, ~$ o0 P% M17. 已知函数test定义为:void test() { ………… } 则函数定义中void的含义是( )* M" g$ T9 L3 f/ f$ D' `+ i
A. 执行函数test后,函数没有返回值4 _, O/ q6 ? ?/ }
B. 执行函数test后,函数不再返回
2 p j' `/ ^) Y+ x9 R4 rC. 执行函数test后,函数返回任意类型值
" G( G) F! t+ L! @D. 以上三个资料都是错误的
9 ~: y3 Q8 [9 M1 o9 ` 满分:2 分
/ K- T! f$ w1 T( e0 p4 t18. 下面有关重载函数的说法中正确的是( )
4 p9 u' u5 }2 K( CA. 重载函数必须具有不同的返回值类型
" c# z! `# ]- U5 R; gB. 重载函数形参个数必须不同1 p4 x; r* l- K# l3 v2 k9 u2 G- V
C. 重载函数必须有不同的形参列表
2 W6 j7 S Q- y# i; ?D. 重载函数名可以不同$ }& A% G& p& |: Z' B2 x6 q
满分:2 分% f6 U6 D$ N% L( ?; p
19. 在下列运算符中,优先级最低的是( )7 c, B8 C7 c) v/ I. A4 v
A. ||
' O) g+ W2 P1 U1 T, L# Q) F( f9 K' z# rB. !=* Y' l+ v: Y9 {7 O7 K+ J! I
C. <& z/ ]7 H9 A# t" o8 I
D. ++ d) B9 G3 _) Q) O$ d6 F) I
满分:2 分
8 @/ r* h! \# ~3 I C o20. 以下哪个不是循环语句( )5 b: ^* K6 z& U) q. E! l y
A. while语句
7 u4 R3 x- a0 K2 ^B. do-while语句
% V& `* t# J3 [+ }/ E+ ~C. for语句
6 I o$ b# X& _7 y# i! l, v$ {D. if-else语句% `* _9 ?& `! W1 V, W |7 N
满分:2 分
- y$ I) `" r: W* ]' h21. 在C++语言中,二维数组元素在内存中的存放顺序是( )- I& m, ]/ ?( b8 l4 t
A. 按行存放
3 E7 G6 n& ]4 @+ A+ @ sB. 按列存放
* b- n" E4 q; p9 h6 i" bC. 由用户自己定义
, i9 p i0 ?' Z5 ? @ i/ @D. 由编译器决定
4 B2 j; V! P1 u 满分:2 分/ ]; t8 K9 l+ G4 Z7 k, l
22. 如果a=1,b=2,c=3,d=4,则条件表达式“a>b?a:c<d?c:d ” 的值为( )0 e$ m6 p' [2 l, {1 Y
A. 2
6 s1 Q' [% m9 YB. 3
; x' q: M3 _' Z, V/ p6 pC. 1# |' [- X* t7 e) j! m9 _
D. 4
( a# x* y$ F1 a. ~% u0 n- [, c. q3 K 满分:2 分
: i3 J- `* ]2 k! S' D) T23. 如要求在if后一对括号中的表达式,表示a不等于0的时候的值为"真",则能正确表示这一关系的表达式为( ); L+ s. H+ \ ~4 ~: G1 E5 [5 ]9 \
A. a<>0
: e9 U7 `# A8 l/ pB. !a: T8 N0 z& G, M* f& ?4 q: q
C. a=0
) u) P+ E' q1 ?# gD. a
9 j* u% F: `1 V% L; \$ G# m; s 满分:2 分5 o$ g/ D2 I# s2 s3 u. ~0 d' }
24. 设B类是由A类继承的。当创建一个B类的对象时,构造函数的调用顺序是( )
2 u% p0 V+ C" o' p" }' f( V4 s* AA. 先调用A类的构造函数,然后调用B类的构造函数
: W; d5 Z5 F" e# R6 H! nB. 先调用B类的构造函数,然后调用A类的构造函数* k/ e& _& J- E0 E
C. 不调用A类的构造函数
: e& c ^+ {' [5 Y( R: mD. 视定义时A类和B类出现的位置
2 p Q( \/ N, F0 o/ Z' r7 J 满分:2 分
2 `8 m' |' t1 _( v% g, ]% d- p* D25. 循环体至少被执行一次的语句为( )
5 s9 o% V$ w0 y$ F) s3 _$ x8 }A. for循环
x- Y! g1 o8 b6 B0 Z$ x0 n9 f) \B. while循环7 T. Z$ U/ l7 s
C. do循环% i% L% k1 A$ n. M9 x' c9 y& q. U
D. 任一种循环
: j" v: Z9 i1 s; O4 O- Z 满分:2 分: r) T! T" X& n- L8 [0 N, B7 y
26. 当说明一个结构变量时,系统分配给它的内存是( )( y i$ z. Y! B2 H
A. 各成员所需内存量的总和
4 e5 u( b( H Z9 xB. 结构中第一个成员所需内存量6 [. _1 P" x+ ?% L
C. 成员中占内存量最大的成员所需的容量% G" H, T/ B1 {' F# V4 W5 T
D. 结构中最后一个成员所需内存量
' W4 }1 ^- ^$ \$ |! o b 满分:2 分 _7 n" f4 f4 t! [7 U+ G# i) u1 t
27. 能正确表示x>=3或者x<1的关系表达式是( )
7 `0 g( [! [% u- w* Z& VA. x>=3 or x<1
2 T# O- j m8 _& |B. x>=3|x<1* O4 |+ l) k& e# Y$ `- V
C. x>=3||x<1
3 C! n- t$ U1 d0 ?& PD. x> =3&&x<1+ t' g! o: h1 T: G4 W0 C e2 Y% m
满分:2 分
$ o4 ?/ F6 R# m28. 下列字符中不能构成标识符的是( )
2 _/ i @1 }- K/ i; H( k @A. 数字字符
- N" x$ s3 [% D; ^% i# c [B. 大写字母" `3 U, Q$ q+ E8 G
C. 下划线字符
" d( c+ o' v9 wD. 连接符# h) w1 z$ ~0 U' O1 u' R5 S
满分:2 分% w4 O$ ~0 E t
29. 下列do-while循环的循环次数是( ): 已知:int i=5 do{ cout<<i--<<endl i-- }while (i!=0)% A8 y* t$ \* `( m$ |" Y5 _3 W" U1 \
A. 0
+ _7 e3 P7 {% I. wB. 20 \, [$ W7 i# q* Z
C. 5
( u6 d+ Y+ K. H2 FD. 无限次
6 S2 a/ N3 e. q& V: y 满分:2 分/ N7 Q* q- F5 j) f
30. 一个类的友元函数或友元类能够通过成员操作符访问该类的( )
. L$ X+ m! L; X4 X( t) aA. 私有成员
1 W4 b$ w% S- x% ^! P7 E( ~6 v) zB. 保护成员
8 X) N7 Q+ g( z8 @3 i) u9 s) I5 ZC. 公有成员
" g6 N$ _7 {3 }3 I& pD. 所有成员
6 f3 f9 ?! N. a: `* @4 Y6 j" a/ _ 满分:2 分 % z0 u% y6 V, l9 Q* m
% Z4 z4 G0 }" X- m/ }9 o/ P- B: O- Y9 C二、判断题(共 20 道试题,共 40 分。)V 1. sizeof运算符用于计算某种类型的对象在内存中所占的字节数。( )5 J# R7 h5 C; Q7 N4 p: d* v5 k
A. 错误
3 y& Y2 Q, ^* E$ T0 W/ O1 P4 ?B. 正确6 p C5 ? { b* P e% \
满分:2 分5 m; l7 F& B9 I5 K+ A j
2. C++程序的开发步骤通常要经过编辑、编译、连接、运行调试这样几个步骤。( )
6 ]/ i' T4 C) I( S7 c% m1 M) AA. 错误/ N6 D ^0 `. I3 }0 o6 E' R
B. 正确
' D8 n5 s4 Y5 N* I7 N0 S 满分:2 分* b8 X; P3 |- \1 i3 Y8 W
3. 定义全局变量要在程序开始时进行,并且放在所有函数的外面,静态局部变量要在函数内部定义,但生命期却随函数的第一次被调用而产生。( )& `# S# m; I6 Z4 m, c5 \0 b
A. 错误
- K4 l. W: {9 Y3 }! ZB. 正确( @" _- F9 s1 Y& S$ N
满分:2 分- S! a% H' Y. o
4. 在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元。( )
/ T7 G' Q. d t( ~A. 错误. t1 I) H# C! r1 l
B. 正确& Y; N6 S( ]# H" B
满分:2 分. w; V& A+ n- O. Z/ E4 K; A; J! U
5. 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是8。( )4 i: C0 ]& M' I/ w$ }/ D& Z( r+ x
A. 错误
, ~* b* }& e- t- RB. 正确
! |1 Q0 w+ w; Z6 N9 l7 h+ E$ N 满分:2 分& s4 @; E0 I: o @! e0 {" M: \
6. C++中,一个函数必须在函数声明后才能使用( )
; Z4 y% W. A6 _( z: t! SA. 错误! r' ~# s. ~8 N
B. 正确
0 u$ W* k1 r: d6 b, S 满分:2 分
$ l7 h- j: [! x2 _6 W7. 字符型数据在内存中的存储形式是ASCII码( )! G/ a) G5 H0 r1 M. }! {; ~% P& [1 {
A. 错误
" \/ U9 V; {5 w) J5 S" J. P& u% o, a; AB. 正确3 L, d1 a0 |+ b( N( Q! ` c y
满分:2 分; h1 A4 S1 P* i8 z9 ]' M, h
8. 一个类的成员函数可以任意被调用( )% t% N1 b# b. v8 e
A. 错误
9 v5 k# e9 C9 `( @% l. qB. 正确
+ X1 p& J6 _! \7 J' [+ Y9 T+ Y 满分:2 分
- J, k& z: t, l) } T9. 一般float类型数据在内存中占4个字节,double型数据占8个字节,long double型数据占8个字节。( )3 a. ?9 s" B7 k1 Q6 v' u. t! H3 V: [
A. 错误3 g+ v8 L1 p) @! j# @5 [- e
B. 正确
/ H# }: b( r1 |2 D$ G 满分:2 分
4 B0 [) P7 X- T1 p" O10. 在程序运行过程中,其值不能被改变的量称为常量( )
3 g8 i! C; _ ?& J8 yA. 错误. M$ n- |. v7 t7 C# L- y+ A
B. 正确' o& j5 y7 c7 @+ t
满分:2 分- J' F& E; d5 M1 l R! e% R6 K- {
11. 声明一个结构并不分配内存,内存分配发生在定义这个新数据类型的变量中。( )# E& d a: | r: j
A. 错误
3 \5 I( s6 Z! k9 r2 o. eB. 正确
3 K8 u' l, ]9 B a* D g" m 满分:2 分; [3 a8 H' g+ J* j e
12. C++语言中,标识符不区分大小写。( )% p/ r: }! W) u/ M
A. 错误/ E8 ?7 G: w% d# r4 P" X# B3 O
B. 正确/ E6 }7 s6 ~/ y2 t1 \. w
满分:2 分
0 p0 W9 j+ V- T7 h3 J13. C++语言程序中,main()函数必须放在程序开始的部分( )
4 }7 b. h0 r4 l' q7 nA. 错误/ e1 J, l; C) J0 d8 h" k
B. 正确
/ c# V! |" W/ }! V0 R 满分:2 分
' `0 [4 U ^9 K$ W2 O/ L14. 自增运算符和自减运算符只能用于变量,不能用于常量或表达式 。( )
8 K) _% k& |) X9 |A. 错误4 s: f4 O) y% `; n
B. 正确
. A% O2 U+ f: R' o1 q' u2 c: C& X 满分:2 分) @3 D/ X( t) Y' q( C
15. 引用的目的主要用于在函数参数传递中,解决大对象的传递效率和空间都不如意的问题。( )
H" [# C0 Z9 G- W2 jA. 错误
9 G9 v0 H& P* S& j9 o# U7 gB. 正确4 ^# M4 P; D$ c& @- [& \
满分:2 分
! W/ E/ Z, ]: n' r( ~2 h# S# H: M' f16. 在使用C语言库函数时,要用预编译命令“#include”将有关的头文件包括到用户源文件中。( )
! h: i1 E, S0 s+ \A. 错误& p( Z0 m8 x4 ~/ z/ s# r+ _
B. 正确
2 K2 o+ s+ ^& Q! J. ?) ^+ i/ ^ 满分:2 分$ T0 r1 O. q G+ E. q) X2 i9 _
17. C++中函数声明就是函数原型。( )( ?7 g c* Z% T% y8 W
A. 错误' n. o! G6 e' N `* I' Q$ O+ p$ s
B. 正确( m6 N! Y' T/ z; v8 o9 U' t
满分:2 分3 x* y* m4 T( r/ w
18. 字符型变量用来存放字符常量,可以存放多个字符。( ). u. J) T3 g/ ]/ o( n
A. 错误+ D! s( ^* N7 Y7 b1 n
B. 正确
; L5 k9 y: R2 E' S( e 满分:2 分, _" u- H' s2 N& w1 ~! J
19. NULL是空指针值,它不指向任何地方。( )" c8 | X0 E$ ?# k- a
A. 错误4 u3 T# P/ \1 }; e# U; N5 d6 ?, G% r3 v" o
B. 正确! l6 b1 r+ E0 X, f1 y
满分:2 分& g7 h2 A, k' P
20. 系统可以提供默认的析构函数。( )+ L& M. f8 E4 D5 ]
A. 错误5 _# @! D- Y C/ E
B. 正确
9 V# U0 e- s2 K i; D5 ` 满分:2 分 |
|