|
谋学网: www.mouxue.com 主要提供奥鹏作业资料,奥鹏在线作业资料,奥鹏离线作业资料以及奥鹏毕业论文,致力打造中国最专业远程教育辅导社区。2 ]- _- L/ M& x# I5 Y ^) z' N1 p6 _
0 U4 H2 h* p+ u+ P
一、单选题(共 20 道试题,共 60 分。)V 1. 在一个类的定义中,包含有数据成员和()的定义。
; ~0 C2 M/ Y" r: y! gA. 数据
* l/ d* M# W1 ]9 F/ n% `9 GB. 函数
: W m( } Q* q% s- sC. 成员函数" X: @3 Q# y, `* z
D. 友元
9 f8 c0 V. }" z, V 满分:3 分$ W1 H" n! o3 L# B# D
2. 类MyA的拷贝初始化构造函数是()。4 k) k( l) }+ O% f& ?$ s+ F
A. MyA()3 O" X% [$ l" Q- F6 A& b4 ?
B. MyA(MyA*)
% g( S n: X) n; K2 {- _C. MyA(MyA&)
0 i. _3 c, l; ~8 O- Y* E0 ?; e; SD. MyA(MyA)
1 `: G6 l9 ^0 @5 C& s7 G$ H 满分:3 分' x1 [! W. ?1 ?$ |
3. 下列()的调用方式是引用调用。
9 C, T( x1 Q! L3 \6 t9 M. @4 qA. 形参是引用,实参是变量
" C* p4 v i/ U4 S7 }B. 形参和实参都是变量/ H( Z W1 ~+ ^1 r2 L
C. 形参是变量,实参是地址值
, `6 l. B% K! F2 LD. 形参是指针,实参是地址值
8 z7 N, J: Y3 ?! }# S) c @3 _4 d 满分:3 分# |# a: }, N& q0 p2 b
4. 在函数定义前加上关键字"inline",表示该函数被定义为()。
) L/ R, h9 U( \; ]% ~ u9 oA. 重载函数8 n. A" B4 b- q4 L; h4 D
B. 友元函数
5 o- o# z5 {4 dC. 内联函数
3 S# X/ a6 ]( a4 X- f4 S3 _: iD. 成员函数
# o- Z( w j6 m" y 满分:3 分+ Z# J* t: V$ I0 x% b
5. 假定classA为一个类,如果用户未定义析构函数,则系统为该类定义的默认析构函数为()。 W0 R# p7 Y9 I
A. classA::~classA(){}
: ?6 L, w8 A+ L5 NB. classA::classA(){}' J: k1 C G+ T2 i: M6 T
C. classA::~classA(int=0){}( Q* u$ b" d* v) a9 ]! N! q
D. void classA::~classA(){}* A8 N* o) w7 Q+ b; R
满分:3 分3 D' y8 z, s" r
6. 在函数声明中,()是不必要的。0 e* D0 G9 o" w9 P
A. 函数名
$ ^3 E9 K+ g. B7 b4 T+ kB. 函数类型
( P! k0 ]5 p; h' M. U; T9 tC. 参数的名称2 g1 q5 c0 d- S# _' I: B0 n
D. 参数类型
: k* D3 \. T& ?+ |8 z% m 满分:3 分" I( l+ Q( B1 q9 s/ E
7. 下面对类的构造函数的定义是() 。
7 M. T5 {+ O9 U; u6 {9 M M" {A. void X::X( 参数 )# [& {* K1 r- }5 [% u) K
B. X::X( 参数 )9 _! C, J/ {% _2 {) D
C. int X::X( 参数 )5 B0 H( N, m% w; E/ n( H# j
D. float X::X( 参数 )
B5 u, ~6 _4 e) X2 P 满分:3 分
7 u4 t4 U8 I1 Q' ~8. C++利用()实现面向对象程序设计的多态性。+ o; Y9 e$ k) Q9 K
A. 类的派生机制0 Z% u. C: C, F' c; |6 ?" D
B. 构造数据类型—类
$ t- c `7 K1 o1 m- ?4 s3 }C. 构造数据类型—枚举
" o% e' i* @! h: y- ~D. 函数重载或运算符重载8 ~5 m" d: I& Z; M, D8 K$ [
满分:3 分
5 |1 A6 j1 ]! `' z4 P4 K7 J9. ()不是构造函数的特征。
8 J0 b6 |! f3 T1 _5 A3 d4 ?7 HA. 构造函数的函数名与类名相同
( f# e/ f2 f, qB. 构造函数可以重载& x5 J& T' F- N+ p
C. 构造函数可以设置缺省参数
) c3 V2 k) p+ _3 R8 H2 `D. 构造函数必须指定类型说明
6 f) \7 ?( \- X; D- B& A: L 满分:3 分
0 a: c# t, p6 ?6 Q9 p7 ]10. 假设已经有定义const char*name="chen"; 下面的语句中错误的是()。
1 N! N# F) a7 @+ } D2 WA. name[3]= 'q';5 T0 D9 W0 O% W" V# [: [! }0 A3 D
B. name="lin";
' G. c' h! R% ^, t) |( ZC. name=new char[5];- Z& r$ G$ x" x: J# d( W! \# G
D. name=new char('q');1 F8 o1 ?& B1 V: {+ A2 P4 M! S
满分:3 分4 ^- K* B1 `( Y, X/ j" o- @0 }, a" n b7 Q
11. C++程序的执行总是从()开始的。' e$ Z8 b! Q: S( d3 H
A. main函数' _9 ~- H3 O; I9 Q$ ^# b
B. 第一行; z$ r5 i" G; L& `
C. 头文件8 O) N5 h6 x/ v0 W8 }
D. 函数注释
. {, T" g; M8 |! g6 h 满分:3 分- T5 b6 _" o' m' p1 g! M$ Y
12. 说明一个成员为静态成员的关键字为()。
, z% {! y( t8 ~; O) V n/ [. [A. static1 H" W4 w7 d& a& c
B. extern
5 R9 }' b" r! V" x2 {% W2 N5 V7 s/ ]C. inline
( u; Z. i# l" fD. friend: |2 j! T# z: Q- Q! f0 v- W5 y" q
满分:3 分
! L1 K% P& ^" L" `13. 当将一个函数f()说明为另一个类B的友元后,函数f()能够直接访问类B的()。
' m# x6 J; v4 ]' V" t0 sA. 只能是公有成员4 M \! f% n8 x! f: q/ v% E
B. 只能是保护成员
$ Y, O3 L& [! w& Q$ S" D& CC. 只能是除私有成员之外的任何成员! B9 H2 r T9 p6 y
D. 具有任何权限的成员6 @8 W" l! n" F% [! j
满分:3 分# e" o- w7 w' L8 y0 u) ?1 d+ e
14. 假定classA为一个类,f()为该类公有的数据成员,x为该类的一个对象,则访问x对象中成员函数f()的格式为()。
) R) s3 K8 w- j$ A& Z% c* kA. x.f- w, j# i7 \- z9 ^
B. x.f()
' l) g1 h/ q: ]. xC. x->f
# P: L/ v4 m% F, d6 G' _, T% tD. x->f()
9 c& P. ?3 K Z" N 满分:3 分
) @' D: s( c% X5 V- ?15. 下面的类型声明中正确的是()。* U. T. J% `* M a$ D
A. int &a[4];
+ F) i6 n, n P5 k1 y" [B. int &*p;
( j+ ^7 E& \ x" TC. int & &q;; L7 V$ j5 `$ s
D. int I,*pp=&I;. v; ? ?+ f, { c; s
满分:3 分& ~5 I8 }# I& t) [) F8 f9 m$ Y) W
16. 假定classA为一个类,a为该类公有的数据成员,x为该类的一个对象,则访问x对象中数据成员a的格式为()。6 `. g0 E0 T& F, C
A. x(a)' P7 O- Y1 R( G
B. x[a]! ]0 C! G& R, D+ d( M+ k
C. x->a
6 Z: i' j8 \8 U. x% HD. x.a
& g, o6 W6 s8 I6 r7 q$ v! z& C; ? 满分:3 分# Q, L# S8 r1 w
17. 下面对于指针的描述不正确的是()。* E# P0 E# L: E
A. 指针是地址变量
, a5 D9 t3 D2 Z7 D6 I: N3 {B. 指针不能用除0以外的常量赋值' F* I( u! C# l5 O3 B
C. 两个指针变量的加减法无意义: h `% Z2 ]! {. N
D. 指针指向不同基类型的变量长度不同. U+ R. X7 N. R" }- |
满分:3 分
. y. q0 t! K F2 }+ ~& O18. 一个函数功能不太复杂但要求被频繁调用,应选用()。
5 [/ Y! b" l$ xA. 内联函数
. P4 {3 N7 [1 F: ^% O9 b9 |) VB. 重载函数
1 r& q; _4 y' k9 |9 [C. 递归函数1 Y& X& v& J1 n) j/ P
D. 嵌套函数
$ L1 O& Y% l) z" ^ 满分:3 分
5 o7 I( p" e! z5 Z8 d i) i6 L19. 在C++中,编写一个内联函数Fun,使用int类型的参数,求其平方并返回,返回值也为int类型,下列定义正确的是()。. v' p0 t, L8 f0 u
A. int Fun(int x){return x*x;}
* G) i+ Z$ e9 a0 j( ]B. inline int Fun(int x){return x*x;}& L" ~1 @1 E$ D! h
C. int inline Fun(int x){return x*x;}1 A5 Y7 e1 \9 d* c6 i3 J2 [
D. int Fun(int x){inline return x*x;}
: q. _) @+ ]; b4 a* ~; H 满分:3 分3 D$ W( X, |5 z$ j+ [& ?; S2 X+ p
20. 对于一个类,可以利用关键字()将一般函数、其他类的成员函数声明为该类的友元。
% P: t( R4 ^! @1 M' U8 i. k0 cA. public) }6 t% t2 n* B1 ?7 ^; q
B. private6 g! |7 I8 v9 u2 x
C. protected+ ~ T& p* X; d
D. friend& O1 i+ [" R8 P0 y, Q [% }5 K
满分:3 分 % W- p" R/ p0 T5 {
2 V; Z: r8 V } d6 m/ p+ ^+ i& f$ q
二、判断题(共 20 道试题,共 40 分。)V 1. 如果一个类只定义了一个带参的构造函数,则系统会给它提供缺省的无参构造函数。
( Z d, g$ U. ]% I PA. 错误8 A# O" E) {2 G3 k* l
B. 正确
$ i. U# e% I: e5 D ]7 G 满分:2 分
8 W' U( k' o: j; _% \. N; z+ f8 H2. C++的变量声明非常灵活,它允许变量声明与可执行语句在程序中交替出现。
7 s7 { E% k' s" B& x0 ]. }A. 错误- b* M' L& v& z7 R0 A1 U$ ^; q. X
B. 正确
+ I3 r# N8 m& E 满分:2 分& Q6 I9 \( h- x0 B* d7 z
3. 构造函数和析构函数都不能带参数。
. I7 s7 }3 n- TA. 错误
: j% g8 x6 A7 y9 u2 g# HB. 正确
& ^- T( n0 B/ H* a+ ` 满分:2 分6 p. J# |. P2 y
4. 成员函数体写在类外部的一定不是内联函数,写在类内部的一定是内联函数。
$ p. E% D" ^ @4 p" f: s% sA. 错误 B j$ I/ M3 a+ E" i0 r2 c' V
B. 正确% J N9 i* P8 x$ h
满分:2 分
, A2 P% z# `, Y9 o- @5. 拷贝构造函数是重载的构造函数。, l3 m* r- @& p' Z* ~
A. 错误- ?0 `4 U* Q+ X3 v
B. 正确0 e5 S* P8 D, I" D
满分:2 分7 q* _* Q$ C3 ~9 [2 D/ F
6. 类和对象之间的关系是具体和抽象的关系。' [3 q4 d1 g- F4 p; q1 N y1 M
A. 错误# g2 Y6 C Y+ r- d$ G
B. 正确0 k+ |! V' @- j3 d8 n% t
满分:2 分7 q( ^. j0 R% N% s8 P
7. 拷贝构造函数使用本类对象的指针作为参数初始化新创建的对象。' @$ G( @3 q6 ]) h
A. 错误
' ?) N1 e; J" l6 R+ u! _0 FB. 正确& m- p+ v* @ s: \/ N
满分:2 分8 T- ?7 T4 V" X
8. 静态数据成员属于类,因此可以使用“类名::”访问静态的数据成员。) Z, H7 K7 V; r2 g3 K. R3 e
A. 错误8 N0 l1 t$ L6 \; O, v; I
B. 正确
% e/ p$ _1 `% @5 T2 K1 W. G4 \ 满分:2 分
: j: j3 D3 ~4 k% f& ^& M2 f9. 若将函数说明为返回一个引用,则该函数可以用在赋值运算符的左边。
5 e+ U/ G* g! l& m5 gA. 错误$ b! |% \8 S" ^
B. 正确
# h4 y% X/ G' m$ B4 J 满分:2 分" X$ ~! M$ X" V; T3 j- }
10. 赋值号两边的数据类型不一致时,将无法进行赋值运算。! I* X3 H6 l6 M: s- {9 x1 Z) a. b( V o
A. 错误
- ^1 i. r# b2 D1 q' e8 @B. 正确
, [% ]. J* E4 V4 U/ H+ a2 {2 ~, d 满分:2 分, M6 c2 F6 B6 R" q, g3 e0 c( l
11. 常量和引用在声明时必须初始化。
2 ^ t3 s( ?/ @+ c8 k. ]A. 错误
+ A- i) ?$ J6 y& r+ x" r8 [B. 正确' M& y0 `0 B2 s% j% D5 _2 u
满分:2 分7 V9 g7 D5 k, V& d
12. 类中可以包含各种数据类型的数据成员,但不能有其他类对象。
" b1 L0 G% Y8 E* L6 pA. 错误0 ?: c3 W9 o: R
B. 正确: t6 P- z% t3 q% q
满分:2 分' V8 L$ H- H- G
13. 类中成员的默认访问属性为公有,结构中成员的默认访问属性为私有。
# x! h2 M7 O# G9 `4 c. B2 W: l% R8 W4 KA. 错误; \ r9 o5 r+ ~7 c- C
B. 正确
9 ?3 P6 {) D0 _3 t) l 满分:2 分
6 l$ e; }0 d# G14. 成员函数体写在类的外部时一定要在类的内部保留函数声明。
o7 ?- H9 U; `" X& x+ L! zA. 错误 q7 C; e. h; L6 i% y
B. 正确# `" x0 K9 j+ s' a2 f) W
满分:2 分
' r' H+ B* d5 B9 T6 ~/ |15. 成员函数体写在类的外部时不必在类的内部保留函数声明。
/ R+ A0 ^2 y# e3 }' M" LA. 错误& `: q1 F: ]- F$ u' C% L
B. 正确
9 `- l7 b! u/ P8 L4 _ 满分:2 分* B$ b0 K. m$ U( e8 v0 l) B
16. 不能在类声明中给数据成员赋初值。
5 u% G. v' y5 [" C |2 pA. 错误8 A K# g9 r3 z5 g$ x t
B. 正确. v/ ?6 T/ a& T7 w9 t5 ~, I/ a
满分:2 分
# m$ A6 L: f' ?( O& c- I$ K' }17. C++编译器不能够区分重载的无参函数和缺省参数的函数。
9 C8 |; K9 C K# l3 w& Y/ _A. 错误
* d* `+ F* K0 }# u0 KB. 正确, a7 u4 o! @% R \" q
满分:2 分
* k3 K: C- r# U$ o, N' k7 K3 g18. 使用inline说明内联函数时,必须使函数体和inline说明结合在一起,否则编译器将它作为普通函数处理。
+ i: C3 J/ j# D {) [, S5 OA. 错误9 w5 Y w% ?( \- d/ q3 T q! O. M
B. 正确; b3 ?7 @) C, C- M/ y' c
满分:2 分
1 n( y" |3 q/ ^* I/ g19. 通过类对象可以访问类中所有的成员。) @7 M+ f% _" F6 ^9 h; z
A. 错误
- Q3 T2 B3 y( U/ o) w [B. 正确
7 \* j" a! m U4 C7 g2 ]1 W) f i 满分:2 分
7 v, G2 c) ^1 e20. this指针是一个const指针,不能在程序中000它或给它赋值。
/ N$ i# i m* N- K% PA. 错误% A6 p- q O: @9 e
B. 正确
9 I4 b B, G; U. x 满分:2 分
- o$ `# e1 j' V Y3 A" B" n0 z. S0 u. L% h, |& y
谋学网: www.mouxue.com 主要提供奥鹏作业资料,奥鹏在线作业资料,奥鹏离线作业资料以及奥鹏毕业论文,致力打造中国最专业远程教育辅导社区。 |
|