|
资料来源:谋学网(www.mouxue.com)C++程序设计-[东北师范大学]《C++程序设计》2023年秋学期在线作业22 K9 |5 Q5 s% J0 t% d0 e
试卷总分:100 得分:100/ Z+ I5 U8 h% x$ K4 a8 Y6 ~. P; H
第1题,假定指针变量p定义"int *p=new int(100);",要释放p所指向的动态内存,应使用语句()。
$ p, r% M9 x9 z$ _: nA、delete *p;# U% L" B8 o9 w& @. Q
B、delete &p;/ a1 i1 o' e5 [9 a
C、delete p;
) b3 o' ~- F2 vD、delete []p;
! w4 w$ d* ^* l6 b8 H/ N- D5 j2 Q正确答案:7 H: ?5 P" `( t& B0 E
* G6 w$ g, k+ J9 C' B
% M9 O0 j4 F' j; P6 c4 q k* F6 }. o
第2题,下面关于运算符重载的描述错误的是()。; S/ p5 M% F M$ z
A、重载不能改变操作数的个数、运算符的优先级、运算符的结合性和运算符的语法结构
% W0 S5 S0 d$ }% p9 p) bB、不是所有的运算符都可以进行重载0 [0 `+ R( S) m+ d: B3 @
C、运算符函数的调用必须使用关键字operator
7 A1 d& }! M C7 ZD、在C++语言中不可通过运算符重载创造出新的运算符
% M) t7 V" j1 o1 J$ t正确答案:
1 @5 h, L" x5 ^2 s1 ~
+ P7 E3 N# _$ R0 q/ _) j" A% g7 H8 N% P' o! g% L
第3题,类中定义的成员默认为()访问属性。; R: j" ?8 a- s* ?3 }
A、public8 w1 I2 e. B/ k+ V, o x
B、private
% M4 N, F" W: {. b7 d: S) oC、protected' g! o4 h/ d v
D、friend
2 d7 E) \, i. P% P正确答案:6 J+ G" c" X2 `( q& f* g% B
+ o6 x) t8 G+ o( M- \! @1 R
: G: t- h6 K( Y6 s1 {2 U$ Z
第4题,下列选项中,()是istream类的对象。
' s0 Y3 Y: X% T! a& {A、cin
# l$ K5 q9 s5 \8 o; t# Q8 N' s% G1 JB、cout( G: L8 t+ `+ ?$ Z+ h$ @$ V( r& u2 ]
C、cerr7 h3 \( ?. f! S+ V; Z
D、clog8 T% K- B$ `5 E0 A: n+ J! I
正确答案:A
) o+ k" w, ^. O6 l& ^, M+ ^! ^3 Z* |" n1 H& }- Q# r% n+ t
0 m! B% |6 x- U6 y- E6 P资料来源:谋学网(www.mouxue.com),析构函数是一种特殊的成员函数,显式定义时其访问属性应被定义为()。! R& y$ C# C0 U L' B; z
A、public; k# |+ B2 Y, w4 P4 C4 ]
B、private
4 o' M0 b* ?" }4 t0 c9 B- eC、protected
% Z1 C* B& z s# C# t( a+ r; `D、static
; T# [+ v: x. V9 {正确答案:A
; J$ q4 g5 N- X: r4 U
- V7 j8 r v$ i/ B" Y# H3 ^
2 m' s# }4 \! ?9 Q6 u& \. q第6题,关于函数模板,描述错误的是()。
- D8 A2 b2 J' {$ t' tA、函数模板必须由程序员实例化& w. D0 h, I" g& f7 t
B、函数模板的实例化由编译器实现
( u, r; E' X% M6 ~; f% xC、一个类定义中,只要有一个函数模板,则这个类是类模板 O0 l$ e" U6 A, m* i
D、若类模板的成员函数是函数模板,则类模板实例化后,成员函数也随之实例化
/ C! B$ ]3 V" C" l: I- `& B正确答案:A" | d7 _) h' {8 P. W o+ D0 g7 J
: v; j0 f* d Y, I8 b2 B! y, p6 y h. ?+ D* _
第7题,下列关于运算符重载的描述中,正确的是()。' Y% W, v! O8 E# G4 A8 Y. p: A& s
A、可以改变运算符的目数/ O7 w2 B& s; G( g* ^; i
B、可以改变运算符的优先级: Q6 J; @, F1 ~8 F
C、可以改变运算符的结合性4 j5 U( A/ K# X/ Y7 |% ~- z
D、可以改变运算符的功能" i4 D4 T( `7 I5 C
正确答案:
& @. z8 U- o& \! K/ h- H! h5 X* P( p9 k1 ?% A4 C d
5 R' o& e$ A' f
第8题,面向对象程序设计将数据与()放在一起,作为一个相互依存、不可分割的整体来处理。- g. O4 E$ |. y) e) X
A、对数据的操作2 o$ p* T1 J- R8 y& h* c: X
B、信息
4 K* q* _- h! \: uC、数据隐藏 b3 L- k* |/ T4 a
D、数据抽象
# {, f Z2 s5 Q正确答案:A! J& j; q: l3 e4 j$ q1 U4 c
* H* g- ]1 r; ?/ D3 N. X" s
4 l; O1 o5 Q1 a Q& y+ x第9题,在C++中,编写一个内联函数Fun,使用int类型的参数,求其平方并返回,返回值也为int类型,下列定义正确的是()。1 r' v4 c4 R; s0 u' d* V# d, l7 ~
A、int Fun(int x){return x*x;}( p( d, _2 N& J, b; x i, [
B、inline int Fun(int x){return x*x;}
# m/ A$ [8 ]$ H0 e( q6 l) uC、int inline Fun(int x){return x*x;}, l6 x3 i7 i4 T8 o$ k
D、int Fun(int x){inline return x*x;}
3 l. r, E! @5 d# b! Z4 n正确答案:
2 w1 [0 ?5 K! Q1 F/ H
& w: [2 [) `# ~7 ?7 u+ k3 Z( B) \: N9 N3 [1 |7 N
资料来源:谋学网(www.mouxue.com),定义类模板时要使用关键字()。
A3 r, C) @( O0 F" rA、const
$ b1 @6 A. F* X/ P% j( LB、new" x2 `5 t: \, f4 Z% ?0 p
C、delete/ R) J* l- a+ w6 W+ F Z# i
D、template: {* \. S6 N8 t# X% h/ c
正确答案:, F8 c" y* s, g# F! h" k
& T9 d6 `! t9 G/ d! G P' D! j& q/ G4 j
第11题,要将类A说明是类B的虚基类,正确的描述是()。
- Q1 w- {4 x- g# b& v7 EA、class virtual B:public A. y7 Q) `# W9 H5 J
B、class B:virtual public A$ V+ L* M2 N* S N% p
C、virtual class B:public A. A7 V7 O$ {1 n6 v3 e; P$ R
D、class B:public A virtual
9 O) }( @5 h7 i) c正确答案:8 i5 c- V3 s' W& N) g/ j
% C' B1 x& D/ D
( D) J5 Y/ I! c' }资料来源:谋学网(www.mouxue.com),下列格式控制符中不是定义于iostream.h中的是()。
7 ?7 I. S1 `. g) i- x7 c) X5 h8 }A、endl( S% }) q9 O4 |
B、hex
- ?3 F8 P9 D: A& D/ X/ _2 B _C、flush
" k* X9 w1 O8 |+ Q4 q( |, W% a9 ]D、setw( J, D( a+ D1 E& U8 }
正确答案: t9 i+ o9 E1 k2 A
1 S W. [7 b. V3 f2 `$ V
6 m! `. F) r5 m0 @第13题,对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是()。7 P& V3 r+ M: t: ~
A、公有类型
" { i, g# u0 z* q( g) `% }B、私有类型
) ]7 e( J8 I3 m4 l( Z! hC、保护类型: v, U$ U6 M. [" }
D、友元类型
4 N3 e* z; k J" }; Q9 v: D V! w正确答案:6 o2 e2 F, Z; P9 d& Z4 I
# j7 T' R$ s% D
6 `! H5 ~0 n1 w. j第14题,()不是构造函数的特征。4 x/ G) o2 o" ^2 W9 z4 R8 v& w! W
A、构造函数的函数名与类名相同
- `+ S+ I$ g5 s5 |# kB、构造函数可以重载
: f6 U! O7 R* ]& {C、构造函数可以设置缺省参数1 ~1 i5 @, n8 n+ R' q7 s: I
D、构造函数必须指定类型说明
+ V4 N9 W0 m0 T9 M; H$ e正确答案:6 V6 F. N; o" P+ m0 g
% l; k! Z& f* t5 J/ v6 y6 Z, v0 P& ?2 c4 t4 C- X# v
资料来源:谋学网(www.mouxue.com),当将一个类A说明为另一个类B的友元后,类A能够直接访问类B的()。; ^2 v) U/ _/ k
A、只能是公有成员
3 }7 B7 D( u* \+ @9 bB、只能是保护成员
/ q5 W8 ]! H: L% h: d' cC、只能是除私有成员之外的任何成员1 ~# ]$ |/ l6 B
D、具有任何权限的成员0 j, k7 p. N( x. c6 U' b* `! p2 A
正确答案:
& q; f6 S7 Q u& H2 e2 G1 U
% B5 A7 j, H" l/ z( H' g6 C& o; m2 K
第16题,对于类定义class A{public:virtual void func1( ){ }void func2( ){ }};class B:public A{public:void func1( ){cout″class B func 1″end1;}virtual void func2( ){cout″class B f( ?3 Q. p1 @5 w
A、A::func2( )和B::func1( )都是虚函数9 N1 e) U( z. m, G% F
B、A::func2( )和B::func1( )都不是虚函数
" `' i. h; J$ U. M8 S7 zC、B::func1( )是虚函数,而A::func2( )不是虚函数6 D+ E$ |7 ]* B2 H. r# b3 k- l4 G
D、B::func1( )不是虚函数,而A::func2( )是虚函数7 d( ^" k( M" ~$ _
正确答案:
5 C: f* j" J+ n# ~& K9 a5 {2 B
1 y) E+ \3 |. f; O3 g' \- y- E7 o6 W! r$ Z, [5 J
第17题,在关键字public后面定义的成员为类的()成员。 T# p3 s, k0 v( p8 `# Y
A、公有. z* B0 A, v0 d8 T$ Y1 m+ y+ z
B、保护
4 W/ W/ g5 ~5 h# G: @C、私有' l' K# }" K' b9 P8 [
D、任何
: T+ B7 F; T- R; P% A* D, w8 V正确答案:A1 P2 ?/ p. R; M$ Y. B
" v+ }4 a) [: [0 Z! v% a- Q
0 V2 d- p: P- ?2 K2 C3 ^& w
第18题,在一个类的定义中,包含有数据成员和()的定义。( n9 S1 p# ?: f
A、数据
/ \) C- Z' H. |" q7 _B、函数) B. `, `/ m" \
C、成员函数
) d' I6 ?( x2 H4 g& RD、友元
8 }3 a5 p% y* \* q正确答案:* C3 u- S z- L
3 d& l5 ]" D% ^' v+ ]) I
3 O0 j# i' o: t第19题,当使用ifstream流类定义一个流对象并打开一个磁盘文件时,隐含的打开方式为()。4 F6 p9 X: p# g* Y
A、ios::in
2 W* Q/ n D2 t0 N3 D/ f HB、ios: ut7 V3 Y: j# c4 l+ f3 b, N. G; H
C、ios::in|ios: ut
, N1 F, R8 o2 h! i: a) K- z6 qD、ios::binary
* I e' a6 {* p7 y5 v# w/ j" Z正确答案:A E: J7 I6 S( R1 e L
, B+ c! ~/ \0 M- P
* x9 d0 i; \% t资料来源:谋学网(www.mouxue.com),类模板的模板参数()。. q" R0 ?8 o- G2 w2 k
A、只可作为数据成员的类型% ]0 Y" u7 R1 y# n! k
B、只可作用成员函数的返回类型/ C5 @% s- C4 r0 {" I
C、只可作为成员函数的参数类型) i/ ]" T/ v" W& J4 }
D、以上三者皆可
% n9 t9 \* t9 a( x正确答案:* s$ c& _5 f/ i/ _$ H
; |* o% b' w3 w3 g
) w9 c9 d8 Z) A! S1 g5 w第21题,C++利用类来实现面向对象程序设计的继承性。% T* i4 v& F. s2 O
A、错误
. }/ n4 O4 G$ ~. F) K0 CB、正确
+ L+ h( f/ W/ x; D% W% Q/ K正确答案:A# _* H$ a; [ A' e
. y. w" ~/ e; g O N0 Z& M
6 x3 ~$ K, G& A1 o! b第22题,如果一个类至少有一个虚函数,那么该类就被称为抽象类。
" _1 U$ m, {6 A* u' _A、错误% {5 I/ i- n9 [/ I$ o
B、正确
: X) g. |+ t* u1 B/ [) H3 t正确答案:A
" T9 M7 W& ?# {7 R9 ^- f6 R A" P1 s% Y4 f( C3 k9 j$ t1 f( E* w
+ E7 ~9 f' f/ l, s第23题,类中含有指针数据成员时,若不定义拷贝构造函数则会产生指针悬挂问题。7 k% D) w$ i- b7 W* v
A、错误; V% D: X6 p I$ L9 Y
B、正确8 d) E' y1 {( v$ `. X* ^1 ^
正确答案:+ Z, _3 A/ e" y6 z. e* M
+ Q: ^1 C9 k/ [" G, I! \$ Z
8 p/ Z: k5 N0 f' Z第24题,成员函数体写在类的外部时一定要在类的内部保留函数声明。* N1 W( C) }- J
A、错误
4 y7 P/ |+ y& eB、正确
5 T% l& t+ m# ]$ Z' r正确答案:
+ A3 O( ~+ B. K. ]# w. L1 s0 O: l4 Z1 y/ p9 F+ I6 G
9 U$ I: ~$ g' A1 M! }( f资料来源:谋学网(www.mouxue.com),创建派生类对象时,先调用基类的构造函数,再调用派生类的构造函数,当销毁这个对象时顺序正好相反,先调用派生类的析构函数,再调用基类的析构函数。
' ^8 a. x, h8 o' XA、错误
& ^3 m+ k/ t9 S+ W! W6 BB、正确
& a3 T2 _: X$ z4 I6 D, o: {1 U正确答案:" F/ D5 b. ~- ]8 ~( @$ q" Z- _
# P" ?: Q, U9 @- q$ o2 b4 {( K' h+ s! b* n; I5 l+ L }
第26题,操纵符hex、oct、dec只对下一个输出有效。
2 S7 ^2 y3 w+ q, z( U9 Q, WA、错误
' [( Z0 Q5 |5 x3 q. {3 c s8 HB、正确. L: s; H1 i) a: j5 S
正确答案:A
7 y% a% g" |* }# L$ j
% J+ @3 s* r; E7 M+ \
% f) @) y; P) B4 t第27题,构造函数和析构函数既可以由程序员调用,也可以由系统自动调用。
- t9 H5 r$ X# h2 y1 CA、错误
3 }: I0 l1 m+ F6 m6 YB、正确
* w' W3 y- c* A, L/ o5 X正确答案:A
" s6 x6 j9 Q# v6 d2 E5 [/ n: i+ M$ S" }
/ m0 ^. s. P* k; S* |: \* ^第28题,拷贝构造函数使用本类对象的引用作为参数初始化新创建的对象。
/ u) E6 U# a* _( `; N6 xA、错误
* G! X F7 w+ K% D) o$ j) [B、正确
: c" ?* t1 k- K+ z正确答案:3 T) r6 M e: }' B9 G
, a6 V0 n- r4 D. F7 q
' W4 v# P& L' j/ z
第29题,在文件操作结束时,可以用close()成员函数关闭该文件。2 H' I# `! F5 b7 B0 v. O
A、错误: U4 ^ z- ^& ^ x# X
B、正确
- Y. V7 J6 Y+ C* o+ a正确答案:) `0 `5 G% _+ v6 {6 Y" `3 C& f
4 z3 N5 N! H* a; C
& ^3 P/ p) a. _5 H8 r7 n资料来源:谋学网(www.mouxue.com),当基类含有带参数的构造函数时,派生类可以不定义构造函数。, w4 ]/ P K% `8 m3 Y7 H, {
A、错误/ R) B; Y! l7 b' |3 ~7 B \: F
B、正确
: G7 h* {0 ]: l: J# U正确答案:A
! `& _2 ^) c" m ~- a% _8 `6 Y+ R- l8 u' y# U
% y9 v& V$ @3 D6 \7 |第31题,new和delete运算符不可以被重载。
! A* X5 H& B& v5 Z; E, z) g# l: M5 k; QA、错误
% v0 ]4 ]: h- I4 z; @: H& {2 HB、正确) V6 ]7 l6 O: i! W
正确答案:A- }1 X" |: u" }- X
* Y9 t# M& s1 w* m0 o
3 m* ?8 ]5 i) N8 y# f1 `/ E H$ W第32题,构造函数和析构函数都不可以由程序员调用,只能由系统自动调用。( q( J# o+ k1 U$ S
A、错误& S$ U) w* I3 R2 I; B& D
B、正确. V& m" v _! t, r. a+ q
正确答案:
2 \" M/ X: Q3 B- Q# R U$ G3 K
7 Y p% l' n" \2 f. m5 I2 m% a) G4 _: b. [
第33题,私有静态数据成员不能被类外部函数访问,也不能用对象进行访问。 t% O! R: |: R5 E4 C) O
A、错误
! \. K& _ o% U( M7 W1 }B、正确9 F1 Y8 e3 j& m0 N
正确答案:
& g8 x* z% g( X( ]% Q U& Y3 a f! e4 \8 I& z
7 s7 \6 R5 E0 T4 I2 H6 }$ H第34题,指针是个变量,占有单独的内存空间,而引用本身不是变量,不单独占用内存空间。) g9 E' f2 L9 \4 E
A、错误
9 x! w4 h8 L. r1 s/ LB、正确6 X3 ~1 C2 Y5 g) B
正确答案:
/ W# x9 e; a9 y6 n) D6 k- I7 V. b" Z$ e4 i) }, Y p
. ?# ]' n8 J4 V' }5 b, B第35题,文件流创建方式是打开二进制文件的是ios::binary。
# O) P7 O1 k9 V/ ], @/ w4 IA、错误
$ P+ x+ N- S, j2 w, X) cB、正确 s, F7 s4 J g- h5 `( `& Z$ s+ u
正确答案:
# y5 V' {0 m" b L2 [% }0 s8 y# b
* s2 ~* X$ @5 f" s
; {& H/ d6 x- d L第36题,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象成员的值在程序运行期间是不可改变的。8 Y) H: g' f2 Z4 N+ G2 L8 M: c
A、错误6 f" \ p& f( u) S4 }$ H" Q( p
B、正确4 L& k8 U- z, C, Z: u( {" d
正确答案:
1 i6 I4 D3 o& A. r h3 `! e# d9 N6 `' Z
& {4 X6 V8 u# F第37题,可以在类的构造函数中对静态数据成员进行初始化。
1 u8 A; s: G* R5 s* w; LA、错误
9 m" P/ f( N7 r5 u5 Z) p5 BB、正确1 g$ K/ o8 G2 P
正确答案:A
5 e" l5 f5 N# Z% q4 ]# Z$ x: y# z
* d- Q: d& \; P7 l0 z+ P4 Y0 R
+ m; _0 \/ ^. r. |第38题,this指针是一个const指针,不能在程序中修改它或给它赋值。
; M F+ v8 T1 ?3 PA、错误
0 L s% x6 j" V% j9 O( jB、正确) M( v$ J1 g% H& X' \4 ~' y. F) R
正确答案:
9 |, c8 M, t0 |- Z
1 e( u) W" B" g3 h; X+ R5 ~0 O4 S5 C, u% c7 E- j! O9 D, e5 @, P$ s3 C% z3 x
第39题,多态性是指不同的对象收到相同的消息时产生多种不同的行为方式。
* N5 o- F) d* f( m {8 M" Z7 j) F. MA、错误" `1 M& S& a' y* m
B、正确
# ` r( F& [3 g9 A* l正确答案:
- {+ \0 u9 |& m' A0 Q# X2 u* d" `; ^% j9 l, k: W* g" ^$ I
; c8 ^, c4 [- f第40题,二进制文件结束标志为EOF(即-1)。5 x4 ^# r1 L1 W# s0 p2 g
A、错误; f; P9 ~! ^1 _7 `( @) f% B( f+ ^, h
B、正确
) v$ o- g5 |& W9 d" o4 @6 i正确答案:A s/ T/ F, o$ F% J* v
) X) z% i- a8 T+ ?, r* d( t
! A# X- Y4 z% ~) p
6 V6 ]5 C8 U3 N6 r q% t: M; q: R2 V! h
' @4 ?0 j' j+ ?2 g/ Y8 i8 j. ~
. c- }1 g% v, C m9 H- p6 o. ?0 l4 D! H. y
" y6 ]1 ]0 I; @2 ?! I; z
5 \' s% n7 ?4 D7 d7 T( R$ Q
5 i9 a2 l; L& l% c
: |% c7 U9 [# m) k, r* E e( T7 O. c" o) g5 X' c
- y9 K5 T' t8 y2 [( M# g% ?: Z9 @
, F6 m$ s: y+ M( p9 D' W8 c |
|