|
谋学网: www.mouxue.com 主要提供奥鹏作业资料,奥鹏在线作业资料,奥鹏离线作业资料以及奥鹏毕业论文,致力打造中国最专业远程教育辅导社区。
# W4 n9 \( E$ v! |; E
# M4 i4 I7 c2 o8 n' e一、单选题(共 20 道试题,共 60 分。)V 1. 要想以读方式打开文件“D:\File.txt”,以下不能实现目的的语句是()。- f8 M' d8 k" @
A. ifstream inf("D:\\File txt",ios::in);
% Y5 Y- f% r+ |/ b/ A1 fB. ifstream inf("D:\\File.txt");
X* z5 g! ~' u1 YC. ofstream inf("D:\\File.txt",ios: ut);
) v# V6 X8 [% @D. fstream inf("D:\\File.txt",ios::in|ios: ut);7 m/ u- W; \; J+ @9 g" q# ^5 H
满分:3 分
( B3 K& |8 b6 q9 G1 c; X2. 下列运算符中,在C++语言中不能重载的是()。5 u2 \( I5 {+ A
A. *
! z3 l( ]6 J) h/ tB. >=: |/ f/ S# ^' _
C. ::
+ w6 }4 m: G3 W( d1 ?- t' yD. /$ B4 B7 f% M' t! ?6 W
满分:3 分
) H9 M2 L0 m: A* K1 X$ B3. 当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为()。
0 m2 c8 E! g4 r5 uA. ios::in. x# f! W/ r+ d' L. |9 @
B. ios::out
q& G/ y/ Z9 x [C. ios::in|ios::out. U9 g& M8 y. F/ q" g/ W
D. 以上都不对3 q. W) d9 J8 Y M/ L5 V& C
满分:3 分
7 v0 s3 m: ^$ q/ {; _: R7 f$ t6 x4. 若已知char str[20],有语句 cin>>str;,当输入为:This is a cat,则str中的内容为()。6 p }2 J* _* H- r" Q, z W) K
A. This is a cat1 S( z9 G; u8 C+ x! ~. C
B. This
1 J! B; o- L2 p v) \C. This is; p% @! E* m" j, y9 y
D. This is a
a/ H$ H0 F+ H# s1 w3 F4 S 满分:3 分
4 @2 a+ f8 _3 h; W* c8 F" |9 _5. 当使用ifstream流类定义一个流对象并打开一个磁盘文件时,隐含的打开方式为()。
_! V" G( c/ P: I; _! x! OA. ios::in1 x( X% ^- H0 w: I9 z
B. ios: ut' B( U9 u$ s; } V* K% I& F1 Z
C. ios::in|ios: ut
+ Z: E9 n* B- G$ o# e& SD. ios::binary8 O) v: |& l, t
满分:3 分
: }$ V% G# X" |6. 关于函数模板,描述错误的是()。
7 [0 [4 E9 Q# q/ b, Z% p9 y jA. 函数模板必须由程序员实例化
4 S9 x. N3 m) \- d7 |& rB. 函数模板的实例化由编译器实现4 M. M) u5 O* N$ a) Y& Z
C. 一个类定义中,只要有一个函数模板,则这个类是类模板
$ P9 m& M! T& ~D. 若类模板的成员函数是函数模板,则类模板实例化后,成员函数也随之实例化( g! _; B Z" Q% P) `
满分:3 分) \6 v4 ~4 C; T5 Z
7. 在C++中继承方式有几种()。
9 U, K- ~( H4 aA. 1
+ E+ F F$ I' y( vB. 2+ }) F9 i; h( @% P+ ?+ F8 }/ i1 @
C. 39 K! D+ w7 g; U( X( Q4 q
D. 4
3 e4 O) u) y6 ]$ [ 满分:3 分' [2 `5 b, Y9 I. `; _1 f
8. 如果一个类至少有一个纯虚函数,那么该类就被称为()。
3 ~7 t& ^; W3 FA. 抽象类
+ X6 @& ^" y$ B; ]3 G, `6 [1 NB. 纯基类
+ S& c8 C3 a) H. ~* t+ X' bC. 基类8 g' h$ \, q+ P6 n/ E; m- [
D. 虚基类- A6 H5 L+ e3 C' W" s' J! y$ K1 T
满分:3 分
% J7 E$ i: `$ a' \+ ~9. 在ios流类中提供格式控制的标志位中,()是转换为十六进制的标志位。
l1 c; r4 f, L. h* O6 {A. oct; r$ H3 @3 X: ?, j% T$ ^5 b
B. dec
4 f- _7 \* Z4 p' VC. hex
9 U3 v9 J K4 V1 F1 p+ ^/ u0 ]D. left
8 m9 |. y# p; J# p1 ~ 满分:3 分
! y: z! e' W! P( ~# U& q10. 实现运行时的多态性需要使用()。9 U! E& [# e. u* m
A. 重载函数
2 a2 _! F: w0 z! F4 `" ?B. 构造函数7 O5 b: l1 F$ `% {$ }( k. w
C. 析构函数
% b) J: _/ r% Q9 J! i2 cD. 虚函数0 L* z O# d. i$ _1 e
满分:3 分
$ G+ ?# m3 d; w7 w8 ]& _$ z11. 关于虚函数的描述中,()是正确的。0 c, U1 |8 Q% V- R8 D' B
A. 虚函数是一个static类型的成员函数
( B; G+ k5 I* F7 w5 bB. 虚函数是一个非成员函数5 G1 a' ^% E2 @- [- G" Y/ [+ z
C. 基类中说明了虚函数后,派生类中将其对应的函数可不必说明为虚函数8 ^3 J/ U' P, h4 z# g
D. 派生类的虚函数与基类的虚函数具有不同的参数个数和类型
8 C# Z+ D" u7 c& p 满分:3 分! {. a4 V; @' Q5 E3 D. }
12. 下列函数中,()是对文件进行写操作的。
! U* @. _' u* I& e( | Z$ sA. get()
$ B! _6 x7 q6 P2 }: O; gB. read()
& d9 l8 y7 }! u- @C. seekg()
* J1 i0 }) p% q" U& k: a$ m6 N& ]0 gD. put(); W( H* Z7 Q! w8 l4 N5 y8 E
满分:3 分! @" ~2 e& {, V5 g4 Z3 P1 i8 {* T
13. 当派生类中有和基类一样名字的成员时,如果没有使用类名加以限制,则()。
" x' v; L9 ~& E2 a6 s1 J1 kA. 基类的同名成员将覆盖派生类的成员
/ ?% ]& |) j4 VB. 将产生二义性( O: r+ i5 w9 ^2 d2 A
C. 派生类的同名成员将覆盖基类的成员
( E1 L6 v2 Q+ m' CD. 是不允许的; o4 q/ r$ e- o$ O- E. D! w
满分:3 分
( d8 G/ ]7 E# `* N: _14. 如果在类A中用友元函数的方式重载了前缀自增运算符++,又定义了类A的一个对象a,则以下用法正确的是()。2 Y h* M+ w8 H1 R6 ]. U
A. operator++(a);3 @4 f6 J" G; z' L
B. a.operator++();
; f2 h+ z7 r7 R" ]; IC. a.operator++(0);
3 h/ z9 j& v2 f' ND. a++;) f7 ]1 h U2 w4 ~8 x6 n
满分:3 分& z/ u2 n0 H- e* i' Q
15. 派生类的对象对它的基类成员中什么是可访问的()?
8 R( i0 I+ Z) XA. 公有继承的公有成员
- x$ z# l" ?$ B- q( l' R! {5 qB. 公有继承的私有成员$ ^$ a3 j( c1 j' P* P
C. 公有继承的保护成员1 {' p) R" |" D0 y( @" p
D. 私有继承的公有成员$ d2 _: \, C+ C: _
满分:3 分2 _ x' e7 v8 M7 j$ W- G
16. 下面叙述不正确的是()。- g4 P, L! ~! ^) N9 x
A. 基类的保护成员在保护派生类中仍然是保护的 L" k) q: h, |5 c& _6 h
B. 基类的保护成员在公有派生类中仍然是保护的
. Z* G6 z) t9 F3 y) ?C. 基类的保护成员在私有派生类中仍然是保护的
+ U, I7 h& `# Q, t+ t3 rD. 对基类成员的访问必须是无二义性的
* v/ s$ A( \ K# N2 a2 r( K' w 满分:3 分
! F N" x+ w: O7 b) n& @17. 对虚函数的调用()。+ b# \& n8 J* ]- b
A. 一定使用动态联编
- o5 ^; F+ j7 N9 TB. 一定使用静态联编
8 F+ T+ A, O: C7 |9 x) W# _( dC. 一定使用指针4 i( @ e: |3 H5 \
D. 不一定使用动态联编4 J& B- N# H0 P& j+ L U3 Y
满分:3 分
2 c: @, ^# u o; I9 s2 ~18. 定义类模板时要使用关键字()。4 ]4 b+ ]; a5 u
A. const: ?7 |2 y Q3 p
B. new* R" }; R; k- k6 s
C. delete7 ]8 F- J0 `9 v. |) z- |1 p
D. template* t- b# Q! J6 T! I1 I( H0 o
满分:3 分0 b; ~6 n# e& C7 Z) R+ T' N- U
19. 在定义派生类时,若无继承方式说明,则默认的继承方式为()。3 V- U* E9 l) Z# Q
A. 私有继承
% b% q/ {+ s( a' r% @9 K) NB. 公有继承1 D* ~+ Z0 q: V3 A0 f
C. 保护继承3 X1 F2 T6 L9 h2 O/ v+ A
D. 虚拟继承
/ }$ W6 L5 \' ?( @/ [6 H 满分:3 分
8 E" @( v9 R8 _ p20. cout是I/O流库中预定义的()。0 ~+ `( W" X0 `) A3 s
A. 类
4 y g8 e( {, U* Q) F$ tB. 对象# }5 j* c. v" m
C. 文件# A& }6 z5 e5 B0 X q
D. 常量& k/ R+ N& u1 v$ p" `! Z
满分:3 分
5 `7 V" ^7 N0 ^* X2 u/ Z) [) }$ ~- g+ {+ _) j
二、判断题(共 20 道试题,共 40 分。)V 1. 函数模板不可以重载。
% z& O4 Q- `- ^6 u: O& x WA. 错误. [* U1 f# t, m
B. 正确; i( K; N# L) O* p4 b$ H+ s# X
满分:2 分2 x5 _4 i D K! f6 T( T8 H; H- S7 H
2. 创建派生类对象时,先调用基类的构造函数,再调用派生类的构造函数,当销毁这个对象时顺序正好相反,先调用派生类的析构函数,再调用基类的析构函数。8 i; [& Q$ P& f! O7 |8 z
A. 错误2 p t% y- H) z- ~
B. 正确
# f+ u% C; w. K* L! c1 e4 ^1 { 满分:2 分
0 X+ s. }9 a. a# @/ P3. 二进制文件结束标志为EOF(即-1)。
. I+ X1 {; R: A S1 O5 E0 P; Y$ _A. 错误
! b; N6 I! L" {5 u, E: ?8 IB. 正确9 R0 E; n. k4 T; T y# d
满分:2 分7 q9 x' [9 f8 w3 P# m
4. 在文件操作结束时,可以用eof()成员函数关闭该文件。6 t+ _/ U& s6 l7 Q% b6 _( U' ]8 ^* D
A. 错误% v7 _3 s: o4 B: z$ l1 T3 o4 g1 h
B. 正确/ F4 r9 u. y) ^
满分:2 分
1 n% o# c3 v s L5. 基类的公有成员在派生类中的访问权限由派生方式决定。
. w4 T6 U# M( X" X, U3 ~( iA. 错误
/ x X+ V Q$ ^. j; A0 S1 LB. 正确
6 W5 I* I6 ?4 \2 _% M 满分:2 分0 S3 O; j* ]* \
6. C++标准库提供了控制输入输出格式的操作符,所有不带形参的操作符都定义在头文件iomanip.h中,而带形参的操作符则定义在头文件iostream.h中
" }( F' p7 b- Z; U. N8 j R' ^# K- aA. 错误
& C" t/ `* i7 O& ]7 Y8 ^2 qB. 正确) K1 ^! i2 l+ }5 ~) K% s
满分:2 分' c/ g8 p, ]- C9 H5 @9 I
7. 函数模板是模板函数的实例化。
/ Y: k/ b" v/ N6 uA. 错误) j9 d' }! T; E8 |" p
B. 正确
- `3 u. f- Z# Z$ ~- M 满分:2 分
# A, k& M5 ]9 B. b& X- ?8. 编译时的多态是通过动态联编来实现的,运行时的多态是通过静态联编实现的。 W& j# ?7 D" e$ C9 a$ o* h0 b
A. 错误
# b9 L2 Y: Y: b5 GB. 正确& E4 N$ n+ |% j8 `% @
满分:2 分
# K, E) y4 h* R: j9. ifstream是用于读文件的文件流。4 j/ w" a( j" T
A. 错误
/ @, x# p# Z5 R' \* }2 x. i7 O! [B. 正确' R: N [ W6 Z5 f5 l
满分:2 分
' R" q2 ?! l$ Z$ s5 |10. 只有类中全部函数都为纯虚函数时,该类才被称为抽象类。
3 j, i) z* B4 P! cA. 错误
1 f+ I' [6 c7 q5 q6 w1 cB. 正确
4 _/ A! e' d% v% n$ f! H 满分:2 分
a6 V) n* Y" } m5 p1 A H3 d11. fstream是既可用于写文件又可用于读文件的文件流。
4 J) Y2 y/ a2 OA. 错误
3 |0 t$ Q/ T! F L5 rB. 正确/ W. b }( D2 c. ^( o, h
满分:2 分$ S3 O+ @1 f; X- M7 j$ {
12. 测试二进制文件是否结束应调用eof()成员函数。
: I. Q: e) Q9 l& Q e5 h4 ~0 HA. 错误' L1 g! _2 t% z( J d$ y
B. 正确% D% P( W3 G8 P9 k; p
满分:2 分/ M0 B/ L) t6 L B5 p/ b5 Y, _; r* I
13. 使用重载运算符既可以用运算符的方式又可以用函数调用的方式。, e v6 f/ @; n' b1 O
A. 错误. M% n* h [" G; L
B. 正确
3 y$ m, q) i" U. v2 f5 z2 Q: b 满分:2 分! E" N1 ?- Q. r8 k, J6 Z
14. 公有继承方式下,基类成员的访问权限在派生类中保持不变。
% Z$ e3 D/ \. b: FA. 错误
/ q& ` l' `) B( kB. 正确
" s- O, ]& @% b 满分:2 分& ]! U, F- A# j9 `. O" Z" |
15. get()和put()函数的功能是一次读写一个数据块,而read()和write()函数是一次读写一个字符。
- H3 a* m, V- Z8 L) |A. 错误$ G( J, g* T. U" v6 o( y
B. 正确
. \4 Z. J, P2 [) ~4 g 满分:2 分( Z6 J$ X8 i U! ~/ t
16. 在文件操作结束时,可以用close()成员函数关闭该文件。
- R; ?$ A4 }$ r7 x1 K1 F7 D6 S0 V" aA. 错误
8 S: s; S. S' t: u7 \( u! ~% d5 S+ _B. 正确
5 z4 |; ?$ d/ X. V/ l 满分:2 分7 J( Z1 d$ B" T. E
17. 类对象的输入输出需在类中定义重载的提取运算符“>>”和插入运算符“<<”。
( l4 `% C( h1 LA. 错误
6 `, P% [( k/ X, S8 b: jB. 正确1 x* T# `/ d6 O, }0 ?! J7 o! s
满分:2 分/ c+ O+ H2 n$ t- e# v6 H1 L( q
18. 要对文件进行读写操作,必须在文件开头包含头文件fstream.h2 E% F! e1 V2 P4 z& A
A. 错误
9 a0 o! Y4 w% e! LB. 正确# P! r" K" b; d0 ~: \
满分:2 分0 i3 k; R+ [' f5 l- \) M
19. C++流类库是用继承方法建立起来的,它具有两个平行的基类,即istream类和ostream类,所有其他的流类都是从它们直接或间接地派生出来的。( y& S6 b" f, X
A. 错误
: b# d7 ^% l% |" |B. 正确
' ^% F; w: Q) j( S 满分:2 分
4 l. N* R8 D5 c; L. Q1 z20. IO流库重载的插入和析取运算符能处理所有的数据类型(包括自定义类型)。3 R" R V, ^% R0 e7 w1 x
A. 错误5 ?9 U5 ?! j! `# o# C) H# j
B. 正确1 K/ ?! {! E/ O6 a6 l; f2 Q
满分:2 分
* y, @, i5 Y Y0 |0 d5 i# ]5 A6 H
& Q0 j9 Q% y6 f9 r2 y, W1 ]) F+ ?谋学网: www.mouxue.com 主要提供奥鹏作业资料,奥鹏在线作业资料,奥鹏离线作业资料以及奥鹏毕业论文,致力打造中国最专业远程教育辅导社区。 |
|