|
谋学网: www.mouxue.com 主要提供奥鹏作业资料,奥鹏在线作业资料,奥鹏离线作业资料以及奥鹏毕业论文,致力打造中国最专业远程教育辅导社区。( L" N* q% Z& J }5 X, @/ V
8 p& }" Y* u+ X4 d& W* L
一、单选题(共 20 道试题,共 60 分。)V 1. 在下面有关静态成员函数的描述中,正确的是()。
3 q/ V e6 ]0 L" o( SA. 在静态成员函数中可以使用this指针
! Z2 H3 K$ G; a" MB. 在建立对象前,就可以为静态数据成员赋值$ w- h' T" P; a$ O. L& K& c
C. 静态成员函数在类外定义时,要用static前缀& c8 Y; k' g8 M) e* }; t7 L
D. 静态成员函数只能在类外定义: @4 f& r5 J6 O* d7 F" \5 m) [2 h L
满分:3 分
8 r X. R- h0 t: H; }- k2. 以下叙述正确的是()。
5 H8 p- t* f( i# i; yA. 函数的定义和函数的调用都可以嵌套
8 e) z% |( e6 H2 MB. 函数的定义和函数的调用均不可以嵌套
! F7 g5 M* H. N# b KC. 函数的定义不可以嵌套,函数的调用可以嵌套
* O" d8 |2 ^5 U0 K9 zD. 函数的定义可以嵌套,函数的调用不可以嵌套1 C5 }( s- q% B/ }8 q
满分:3 分- s0 ?! b: ^" Z) |: E3 b) {
3. 假定C为一个类,则执行“C a[5];”语句时,调用该类无参构造函数的次数为()。
2 a' [6 Y8 Y3 F8 hA. 0
& z. _ R% J5 z' E: v3 UB. 1, _6 ?+ g4 w; t. `3 F* n
C. 4: U; t* M% [0 N: c2 w* J
D. 5
6 g! Z0 B! i& X. A, l _5 P! [ 满分:3 分
# _+ c' c$ U0 n4. 在下面有关对构造函数的描述中,正确的是()。
4 {$ c. b& A1 a eA. 构造函数可以带有返回值: S4 w2 X7 W3 s- J+ x
B. 构造函数的名字与类名完全相同
* ?: N, M4 Y& a1 {9 uC. 构造函数必须带有参数
( _2 X1 m, ^) d5 A7 A @; }, X7 X3 F4 xD. 构造函数必须定义,不能缺省2 ]% M% R' `: L8 B
满分:3 分! L# T/ }' i8 h4 J& Z3 _' h
5. 定义p并使p指向动态空间中的包含10个整数的数组所使用的定义语句为()。
! w) }' j7 [) g' T2 AA. int *p=new[10];
: ]* ?" q4 E% k4 H2 y$ [B. int *p=new int(10);' O2 L* Y' Q: D5 a
C. *p=new int[10];
+ X+ x) Z# I5 U; h+ r$ ^, cD. int *p=new int[10];. R* {4 L: [1 ^0 r$ Q7 E, I
满分:3 分: }6 p+ o) v& ]9 X$ J M& u1 q
6. 不能作为重载函数的调用依据的是()。
9 I4 P* ^9 R8 e- ]2 x: @" E7 ]A. 参数个数2 r8 w0 ]) D7 O4 K- k, i9 \; n
B. 参数类型
8 U+ Q8 w5 |4 _C. 返回值类型
! c" P0 T \6 JD. 函数名称- `$ l0 \0 h @. S4 Z/ n$ N+ G
满分:3 分
# r, q; ~- p7 e/ d7. 类的析构函数的作用是()。
- H: F/ G& V# h3 H4 dA. 一般成员函数的初始化
9 c! t8 |! V. C @B. 类的初始化7 D7 K4 \0 Q( `
C. 对象的初始化
% K& u( b% t! W% k; m0 o9 | Q- @D. 删除类创建的对象! t3 _ k' |1 P2 K% B4 Y1 k
满分:3 分
; m; ?9 U( L) V6 v, |8. 为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为()。: z2 n% h$ i( I6 p3 K4 E: Z5 w3 r
A. public% ^5 f1 x6 ~) }% l" [" B# ?
B. protected1 @) g+ E3 ^5 l0 l K1 |/ `# T
C. private- H, H/ F/ Y0 ~1 ~5 ]4 D' j
D. static3 C' g, I- R% K) ~
满分:3 分
: N6 c6 Q/ ` B' [- |9. 已知类A是类B的友元,类B是类C的友元,则()。
' m+ U ]8 q' K. V$ XA. 类A一定是类C的友元
1 i% A, ?9 E: O2 `5 M) j0 FB. 类C一定是类A的友元& J8 {4 f, P" |+ }, [6 `: X
C. 类C的成员函数可以访问类B的对象的任何成员! V9 L6 q$ ]( f: ]* w2 {
D. 类A的成员函数可以访问类B的对象的任何成员/ v' j% }9 ^& B$ \8 F7 t0 d
满分:3 分8 Y6 N1 E5 e. A
10. C++利用()实现面向对象程序设计的继承性。
0 |' T M. b* [! fA. 构造数据类型—类3 @% E( I, @# ^. N2 g
B. 类的派生机制$ B& E$ t" c5 ~( g8 M+ y
C. 构造数据类型—枚举9 V8 e7 U/ C! R7 V0 x6 \
D. 函数重载与运算符重载
4 c" C8 d- O- C2 @8 D 满分:3 分- \. H; U3 {& b
11. C++中引入友元的作用是()。
4 Y7 C8 K) L# IA. 提高程序的运用效率
+ a4 S+ E% x) H8 f6 p5 q- pB. 加强类的封装性% b1 v i9 b3 `$ a( N
C. 实现数据的隐藏性* J. o' Z6 M/ q
D. 增加成员函数的种类, D* v* w1 ]; O
满分:3 分
; O0 q5 Q* n% j/ q. s" o% k2 [12. 假定classA为一个类,则执行“classA x;”语句时将自动调用该类的()。
- J, ]: `) N6 A) o* O; r3 DA. 无参构造函数
4 d* o5 v* U( H0 ~5 ~; VB. 带参构造函数
, S7 {% X/ I0 o: W/ CC. 复制构造函数. r, D. w) h" U5 c( I/ t* P& B
D. 赋值重载函数
. t6 z# ^8 N2 f" B. H, k 满分:3 分
; p1 j. G' a/ K13. 已知:类A中一个成员函数说明如下:void Set(A&a);其中,A&的含义是()。
: T0 g5 }8 `6 v) [& I( ^6 dA. 指向类A的指针为a+ J+ H* X. H# X( N; x- p% a$ G
B. 将a的地址值赋给变量Set
B/ ?$ h7 y; M f! \8 [4 VC. a是类A对象的引用,用来作函数Set()的参数
# N% H0 J4 t1 ]9 v" [D. 变量A与a按位与作为函数Set( )的参数1 e3 }# V0 j" l" y& J8 u
满分:3 分
+ A0 |( {5 u# e h0 \" C8 d* g14. 类MyA的拷贝初始化构造函数是()。- I. L& h8 e3 a3 u7 w7 w
A. MyA()& X0 ~ ^" [& y4 F
B. MyA(MyA*)
+ b! K" \7 t) A+ n3 F. |" IC. MyA(MyA&), U# z7 o0 I& Y `& E& h3 d
D. MyA(MyA)8 q- T8 H* f% z5 m
满分:3 分
/ D- c: l4 Z0 Y15. 下列各种高级语言中,不是面向对象的程序设计语言的是()。
3 I! g" x' t- _9 E" ~3 T. ^# ~A. C++! X* L- C1 j3 z! z7 O* v s
B. Java
8 H9 H1 o9 U' U! K: q% @# J4 RC. VB
+ w; B9 d2 w+ ?7 ], i( f- gD. C. H$ w6 d) s/ P8 I6 R2 @
满分:3 分
, \$ k# Y* t0 I& a2 N/ V16. 在 C++ 中,数据与操作的封装是借助于()达到的。- W2 O- ?! `" U. G! t
A. 指针3 E' y" f( Z" U% R, u: o
B. 类
1 y# \) p. p9 ?, j% d( nC. 数组! M0 M3 d r, Y3 {5 S$ J8 g. e
D. 函数
+ X, O' g6 |& \( [ 满分:3 分. n @5 ^5 d2 @7 L8 q9 M' e4 a
17. 假定一个类的构造函数为“A(int aa=1, int bb=0) {a=aa; b=aa*bb;}”, 则执行“A x(3,6);”语句后,x.a和x.b的值分别为()。
+ P7 T* F3 s! J; U9 ~+ H1 o1 dA. 3和6, r8 `8 l5 |: Z! N0 p T- p' a
B. 6和3- p$ [+ p# F0 g0 v
C. 3和18, S+ K( U: c' k7 y
D. 6和18
- b8 b3 [- N3 m/ b. U2 j7 r: W% ^ 满分:3 分
% F4 L) l$ @0 j3 g. H5 q+ `' p8 K& H18. C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是()。
, H4 R2 o' \7 u& R& D, U: t: uA. 增加了一些新的运算符: m9 o- }/ r& j9 o! R5 V
B. 允许函数重载,并允许设置缺省参数
. D x: N, C9 `. e! g, yC. 规定函数说明符必须用原型6 T, ^. B0 s. M8 }
D. 引进了类和对象的概念
5 o F2 D2 W+ {% ^ 满分:3 分; }1 r9 \7 O! H1 T
19. 假定classA为一个类,如果用户未定义析构函数,则系统为该类定义的默认析构函数为()。# J. ~; g- l& v2 F: c
A. classA::~classA(){}* \7 r4 Y( h1 q" F; Z' n
B. classA::classA(){}
$ o" q! p& a, v' TC. classA::~classA(int=0){}; |/ l/ G8 w9 Q4 }0 P& r
D. void classA::~classA(){}
% s" K+ \$ `$ u) }3 w 满分:3 分& P# d1 W' w2 W% e2 \) U( I& ]
20. 构造函数是一种特殊的成员函数,显式定义时其访问属性应被定义为()。2 d- M: U: q: B- f7 r
A. public, @: q- Q( ~" N" @
B. private
9 E/ u s2 W% b* I& p0 q+ DC. protected
) i+ M m" U/ w1 u. F; ~D. static
* [2 {& H5 B7 Y9 F! v 满分:3 分 7 z" p! H" ^/ }% ?
# ~+ h m7 l; Z二、判断题(共 20 道试题,共 40 分。)V 1. C++中,对象保存在内存中,栈内存是自动分配和释放的,而堆内存需要用户自己申请和释放。
2 U0 x- t. }0 A0 ^: W6 Y# l# uA. 错误6 p4 A( _( T) X1 C! z
B. 正确
8 m( B3 F) L7 C6 m 满分:2 分" ^: E+ d/ l; m: r1 h% e
2. C++既支持面向过程程序设计又支持面向对象程序设计。
, ]! D( P2 ]0 _* t6 HA. 错误
+ l; a9 o0 C; y9 C. ~B. 正确! L* C3 x9 y- B. _* y
满分:2 分
/ z/ w/ r& {& B3. 成员函数体写在类的外部时不必在类的内部保留函数声明。+ x. s; L* I |8 a1 Y2 c" {' ]) ?3 Z
A. 错误
/ l/ n+ E' j# @$ L6 K" H" RB. 正确
# ~) a+ Z+ m" A2 `+ N+ ]9 x 满分:2 分
) Z& N* w- y, _4. 常类型是指使用类型修饰符const说明的类型,常类型的变量或对象成员的值在程序运行期间是不可改变的。
2 ~" E8 `. q. v- @8 { dA. 错误
; W6 A4 L% E2 b1 c" \( \B. 正确
, }/ Y; g7 l2 i0 w1 Q$ a3 ^& z 满分:2 分
4 C; t {' p/ l* K$ |" q5. 类是C++中自定义的数据类型。) _0 m3 q; k) y4 t/ D% ?
A. 错误
: G! q; C7 N* w/ y! SB. 正确0 q1 s4 C& K& E8 |6 t( E3 t
满分:2 分& J! N+ K P3 R' l) c, l
6. C++语言对同一字母的大小写将认为是同一字符。' s. x R" g4 y4 X9 H
A. 错误
! A; w! Y( J) g- U& Q( YB. 正确- H( f5 r+ D2 l
满分:2 分8 |! Z- e' U" u3 o( }9 y5 Q
7. 类和对象之间的关系是具体和抽象的关系。
" p5 v* N$ ?. k* wA. 错误
* K, E- N' T3 N4 kB. 正确
) f Y a6 V0 C8 o# w6 `( e5 I/ n9 | 满分:2 分! r0 i3 M# J' K( Q( v( T
8. 用对象访问成员时应使用运算符“.",用指向对象的指针访问成员时应使用运算符“->"。
6 I; ^7 ^( @: F) ^A. 错误0 H: S. R7 I# @$ N% g9 S1 x% F# d a
B. 正确- I% _! r9 R& l: c
满分:2 分3 `; `! W% n: N9 o* Y1 x; A
9. 对于类中的对象成员既可以在构造函数的初始化列表中初始化也可以在构造函数体中初始化。
$ |7 c! x5 |' U: K* D* o4 hA. 错误
; ~6 y% E! s n) q' S% J; ~; k8 GB. 正确
/ ? ~9 \. W3 Q* @, E4 D7 u4 N9 S 满分:2 分! [6 I# p) H' d6 X* b% d$ V
10. 数组中的每个元素它们的类型可以是不同的。4 q2 ?3 D* q' e
A. 错误
4 A! L! i' H1 t& wB. 正确" |! F7 g2 O+ N% a; R
满分:2 分
9 q) s0 S/ M& D2 a% Z11. 常量和引用在声明时必须初始化。2 y: ]5 A$ V+ C, h
A. 错误1 U3 Q: O0 y" N; P- z
B. 正确3 U: E6 X- J* [, l: w, \# o; g* b3 o2 A
满分:2 分3 I4 J% a/ o3 x! g
12. 拷贝构造函数使用本类对象的指针作为参数初始化新创建的对象。
( N: R" z6 F' c# V/ [1 {- kA. 错误
! X9 g) l5 j# }- v R% {B. 正确. _5 x$ a6 U# L8 E0 j, W- H ?
满分:2 分8 ~3 @; j, ] Y) w. H3 L) B
13. 构造函数和析构函数都与类同名。3 B j' ?0 G. c' o& A. Y0 G! N1 |/ |
A. 错误$ b* Y: \( A/ V0 j- u" E4 X) {
B. 正确& E& }4 R2 K2 w" a# K1 A+ P3 T
满分:2 分- I1 P7 R! s1 l* L
14. 多态性是指相同的对象收到不同的消息时产生多种不同的行为方式。9 K) o! q" Q' X: [. e
A. 错误5 W, [( L- J" R* X
B. 正确
: f) y" F6 C K0 y6 t& g8 G 满分:2 分
1 R* Q3 e0 B2 F/ F) R+ ]15. 构造函数和析构函数既可以由程序员调用,也可以由系统自动调用。
" s y% B' b3 }$ SA. 错误
. [, R) B% _! SB. 正确3 T5 s, u' A5 _& k4 Q; D5 o- k6 D9 a
满分:2 分1 @5 n6 L) G$ _- E# C: K7 g
16. new和delete运算符可以被重载。
. |4 a2 U8 i. t& ]: NA. 错误
$ J5 m7 T% |) _B. 正确
% t; W k1 \, [* V3 f" H2 u 满分:2 分
% h% H+ q" y1 L$ c: Q/ a" r17. this指针是一个const指针,不能在程序中000它或给它赋值。
& z3 _ c Q- x6 d5 SA. 错误
* v. A9 k- X+ F# ^) B1 d2 p2 m2 SB. 正确
: u* z4 c/ E2 ^! e 满分:2 分7 a+ m0 R5 X4 }1 j( o
18. C++的变量声明非常灵活,它允许变量声明与可执行语句在程序中交替出现。
8 U9 u" q" C& k; t: ~A. 错误
6 C; K- F8 b. j, @7 ~2 {B. 正确
( D1 M2 k4 m$ L1 }4 e 满分:2 分
+ X; m: ~& M& ]5 q3 U19. C++利用类来实现面向对象程序设计的封装性。
7 Q6 Q1 D7 v/ ?; QA. 错误
8 l. g r( U3 {/ G9 ZB. 正确; ]4 z1 u0 D H0 ?# [& T. A
满分:2 分* J! ^/ K1 l! W* T1 s: @+ ?! M
20. 构造函数和析构函数都不能带参数。
' T% u8 L0 W. f5 ^- dA. 错误' s3 }/ F) c4 w/ \ {
B. 正确
% z6 L1 @" X" r 满分:2 分 7 J1 m8 J5 ~+ Y9 x! w( t
0 a+ e' b: ~& C* l- Z9 I谋学网: www.mouxue.com 主要提供奥鹏作业资料,奥鹏在线作业资料,奥鹏离线作业资料以及奥鹏毕业论文,致力打造中国最专业远程教育辅导社区。 |
|