|
资料来源:谋学网(www.mouxue.com)C++程序设计-[东北师范大学]《C++程序设计》2023年秋学期在线作业2
) c# E' |6 H1 o/ ^% T试卷总分:100 得分:100- H8 K- d7 n! K6 R9 q+ m
第1题,假定指针变量p定义"int *p=new int(100);",要释放p所指向的动态内存,应使用语句()。7 h9 v) ?. P# n
A、delete *p;7 `6 l5 C; r0 O: ]+ d; R
B、delete &p;
4 a+ i. p, d/ u2 L fC、delete p;; q1 T8 d7 E9 _; p5 G
D、delete []p;
' d! A3 l/ p' g- W5 ~正确答案:
4 L7 x! E; j2 H3 q
7 G+ c$ |) D5 z3 _1 q! {/ h: s4 A2 b+ j, I4 S9 p W
第2题,下面关于运算符重载的描述错误的是()。' {8 i# ]' {* f, N9 g8 u! P- E
A、重载不能改变操作数的个数、运算符的优先级、运算符的结合性和运算符的语法结构* c! S, g/ [- m% Z7 m5 E3 |( B
B、不是所有的运算符都可以进行重载
7 i8 E& x0 x0 I7 K+ X5 sC、运算符函数的调用必须使用关键字operator
, A9 B$ q2 l8 ~+ H9 |D、在C++语言中不可通过运算符重载创造出新的运算符
! i4 F- f$ i b+ N4 m' H正确答案:" X) z4 u7 C$ Y6 N- r% S- i1 k1 r
0 _" z9 @' v. F' u% O
) f' H; u N/ E; q! a第3题,类中定义的成员默认为()访问属性。
1 D7 a- l9 |- n) ]2 L# @A、public
/ Q0 W* M9 l$ x" P4 ~) h" dB、private3 |5 B& k( g& z# j6 M
C、protected- b4 |, j+ ^. h. H/ d, G! H8 ]
D、friend0 ?. s/ ?# s$ K2 k8 u3 B# x. H
正确答案:
; C6 u2 `, X! U2 S
- J9 F& M y( [0 X4 w/ [
. }6 G# y5 o9 s8 c/ O0 Z第4题,下列选项中,()是istream类的对象。& g# A, R. o8 f
A、cin
3 \( ?* N4 A, d( w& \B、cout
5 F6 P S' o/ B2 B N/ ~7 nC、cerr. S5 s, D& A2 Q% Q0 J
D、clog7 q$ }+ c" |# Q" L" m
正确答案:A9 D9 b8 y. e+ _: A& Z
0 B8 z5 x# Y C* j, q5 k2 {/ P- ]
& j. Y5 C9 B; L: J
资料来源:谋学网(www.mouxue.com),析构函数是一种特殊的成员函数,显式定义时其访问属性应被定义为()。
' b. A0 p# l2 h# F7 x0 @! a: ^A、public) @* B. v8 Y4 s7 ~6 r
B、private
+ E! T) j' O) i, d9 r; D& {C、protected5 d1 W3 K I6 G) @+ }+ E. a
D、static
* a6 y! U7 ^) s4 q3 G W正确答案:A
3 h' V8 I, h: z7 _9 ~ B. n% X3 k0 [4 M" i1 r4 z7 H0 w* @. b* K
3 `2 F7 g0 `% p9 c* U' q
第6题,关于函数模板,描述错误的是()。
; n; @9 K2 D/ L2 JA、函数模板必须由程序员实例化" ]: f' c* E1 h3 T- w
B、函数模板的实例化由编译器实现
0 ~3 a; z/ v" y+ h6 v1 S# iC、一个类定义中,只要有一个函数模板,则这个类是类模板
6 p6 B. \" E& n" G7 h+ m& @3 rD、若类模板的成员函数是函数模板,则类模板实例化后,成员函数也随之实例化; y& P" k- ^ ?$ x. c' e
正确答案:A! d& Z. P7 t+ d# r8 P* g( P, H
7 w8 [5 R% X' p, x0 v+ {, a* m( @% r. U/ s) q
第7题,下列关于运算符重载的描述中,正确的是()。# d$ x9 z; o) b4 P
A、可以改变运算符的目数$ e# }6 Q# S1 h% [0 l1 ?% t2 D
B、可以改变运算符的优先级
% E0 S B$ v8 o: KC、可以改变运算符的结合性 F5 G2 d \6 |( S t- R# ]
D、可以改变运算符的功能9 Q2 a. Y) V" z7 N! ?/ N4 c
正确答案:
" h0 F! e2 W9 f. }% F8 g* b. S: {9 d, h( {* \2 m
9 h) u1 B$ [) E2 @9 @, P6 r
第8题,面向对象程序设计将数据与()放在一起,作为一个相互依存、不可分割的整体来处理。" L+ j$ P' j L2 e' Q* z: }9 _
A、对数据的操作
% }0 T6 D/ v9 R8 H+ UB、信息
5 E5 k- W2 F+ e, d! TC、数据隐藏, A1 @* N* n% K9 Z0 H* z
D、数据抽象
) ^" A1 F$ E+ F: O7 C9 w正确答案:A
) ]. n- Q1 R5 D6 V3 F
" ]& ^3 z6 t, M' I: T% _- @
8 q8 f6 s1 h7 v( W: ?' Y第9题,在C++中,编写一个内联函数Fun,使用int类型的参数,求其平方并返回,返回值也为int类型,下列定义正确的是()。6 Y5 h; ~& m3 v2 L9 e$ F, O; R
A、int Fun(int x){return x*x;}
& c" l. c* O6 i) s9 Y9 }" a* @B、inline int Fun(int x){return x*x;} V* g0 W; T7 z m
C、int inline Fun(int x){return x*x;}
% A6 }# u. d; Y2 BD、int Fun(int x){inline return x*x;}8 ?/ [9 j+ H" Z- u$ P0 Q
正确答案:
+ @( R: h; _* s `6 S" E) s/ }; G' c
' ?' x, h$ V; C& c% H$ Y
3 f( C: X, L. _( Q8 S# v0 X资料来源:谋学网(www.mouxue.com),定义类模板时要使用关键字()。
' Y1 C2 ?4 o* t c* BA、const4 S$ W& T/ Y" a' R7 x( {* a# m. u
B、new
) t% N2 k9 a6 N9 GC、delete, ?# l4 h5 l, d) {$ n/ K' }
D、template
; y. I/ U3 X& s- F5 o5 @正确答案:
. d3 {% f" k% o$ ?+ ?" _0 a/ a' a2 ?& |
$ a$ {6 w4 l+ [* n, E4 w1 J, N k第11题,要将类A说明是类B的虚基类,正确的描述是()。" G E, V1 G$ [9 J6 v, A- C: ?! R
A、class virtual B:public A! s- ^% j: d8 Z# R( p1 F
B、class B:virtual public A- T2 I4 u# I+ ]% Y1 g& ~
C、virtual class B:public A% L! J) c! y" m, ?0 h6 h, l
D、class B:public A virtual: i9 {5 ^; o5 T8 X$ g" X
正确答案:# ]: y, Z% K, U3 X# U) @1 g+ O( L
2 x9 L, v+ s4 O$ W" b; C4 o* ?% y9 y8 Y# S" v( Z% |$ v; Z
资料来源:谋学网(www.mouxue.com),下列格式控制符中不是定义于iostream.h中的是()。; A7 L: {3 ~8 N: m; ]
A、endl
! B$ J! R. s/ W3 v2 \) tB、hex+ f& |+ K9 h9 a& |
C、flush
/ a1 M3 @0 o- e1 j. P5 v# i. _D、setw5 j% C9 n# c0 o! y3 l# s0 T
正确答案:* ]8 m2 }! Q* ` C
% A( N8 Y* N0 m' A8 M
, F( z5 T5 M/ K6 ]$ a$ g( t0 m3 t0 P
第13题,对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是()。7 D' Y$ h9 C3 Q; f
A、公有类型
m' i3 P8 H" C# hB、私有类型0 k9 l& ^0 c$ W' q
C、保护类型# @, [ X1 u v; w8 t/ B
D、友元类型6 @" @3 ?$ I9 }* O6 Y1 V
正确答案:8 ?" J4 c. w- G- j8 Q2 O
& d, @2 \; ]0 B9 T* _
. G3 L: W- H1 T
第14题,()不是构造函数的特征。: |3 k5 L4 M7 p! I, j# U7 G
A、构造函数的函数名与类名相同
5 r, r/ ~- C0 G+ r3 bB、构造函数可以重载' V0 J, S, X# C" _
C、构造函数可以设置缺省参数" ~4 {4 _$ g+ i2 m( T
D、构造函数必须指定类型说明' B8 X8 N! x3 E% j
正确答案:
$ V1 A( ?: C% d' B! M* I2 h& {& X" q+ j! ^- x6 J2 X2 K A
4 Q- l" i6 Q( a资料来源:谋学网(www.mouxue.com),当将一个类A说明为另一个类B的友元后,类A能够直接访问类B的()。. K7 g- c4 O0 o' {/ j9 k/ z1 E
A、只能是公有成员+ A3 d! `: K# `, Y
B、只能是保护成员
6 Q& J7 C$ n6 ~0 v# ^ l# G- P' rC、只能是除私有成员之外的任何成员
: _# O( M( b2 j! uD、具有任何权限的成员* z8 @4 _2 o2 ]# e1 Q
正确答案:
/ K' C/ n$ ~8 `" M F- ]- l2 {7 C: ~' D
$ Q, Z' ^- M" u, c
第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
- S u' z$ q- P% `% Z& Z( U' ^8 FA、A::func2( )和B::func1( )都是虚函数
. _0 b4 u/ ]" X9 }9 r7 RB、A::func2( )和B::func1( )都不是虚函数9 x; c6 P7 P2 E+ }7 t6 `
C、B::func1( )是虚函数,而A::func2( )不是虚函数
; d5 v+ o. o4 \D、B::func1( )不是虚函数,而A::func2( )是虚函数3 }7 |8 o1 m" I2 W7 Y2 q# {
正确答案:
5 s4 ~7 B5 o6 w
: t6 |, Q7 p5 k# @$ R
3 [) L$ q8 W b+ u第17题,在关键字public后面定义的成员为类的()成员。# d* d$ Q, o" K
A、公有
9 i) E. o4 [& x' N4 I) Y4 H' NB、保护4 Q/ A/ A, @& w" E% @
C、私有9 C; _/ \, k2 g1 m4 E* e' n
D、任何
# e3 E- k2 p( h' d% e* ]( D- G) X# Q正确答案:A
/ L7 F" R) D; O& x7 m& O* k
6 q3 ^+ B. O9 b" L9 {* E
: I, h/ R! L- K+ W& s7 T第18题,在一个类的定义中,包含有数据成员和()的定义。
3 O: O& a" m z8 c3 B, ]A、数据6 W7 @1 ~( A) P0 U5 @; ^+ G
B、函数4 R/ |) A c8 c5 L& E
C、成员函数
4 _* q1 R8 a3 T5 p/ uD、友元 y) b& W; c0 H! _
正确答案:) N2 j7 H+ x6 X) [' H( ^
, j) E0 j8 m/ ~- J/ S! T
w9 R" L/ H8 L$ o/ J3 s4 h
第19题,当使用ifstream流类定义一个流对象并打开一个磁盘文件时,隐含的打开方式为()。
! z% X6 [5 G- p- [, e2 VA、ios::in
" v7 q- m: W0 V! \4 x" p- hB、ios:ut
4 a0 x1 H z* T# a9 Z" Z& {2 fC、ios::in|ios:ut% _* f% t- m1 y9 H" p
D、ios::binary: {" o: \1 g- d
正确答案:A
& j* T! }- M( ?
% M1 a" S4 O$ H% ]+ u y9 D: w8 H2 M
资料来源:谋学网(www.mouxue.com),类模板的模板参数()。, Q3 H! f& H& T( X/ D
A、只可作为数据成员的类型2 d0 h: U2 @) V) `! P6 R7 p
B、只可作用成员函数的返回类型0 g$ T) L/ H( k' d h0 U; T( X7 X
C、只可作为成员函数的参数类型
2 K6 y1 I4 ]+ R n( z5 ]. m! OD、以上三者皆可9 I, w! n: e3 _& a/ O+ q" ^1 a" t
正确答案:
! h! l( H5 [/ |2 w- X& X; \ N0 k+ ?% [5 T3 ~/ _4 k+ W( V$ O6 X
: _, j2 E% R' L$ O( j
第21题,C++利用类来实现面向对象程序设计的继承性。; I( [* j4 n8 k& `& y
A、错误
6 G6 v6 k/ t% @1 K OB、正确& `: P" r4 w" _- _2 u7 b
正确答案:A
9 U' k* X2 O* L5 K8 O) L' ~- T8 ?* _, y" a9 K
& ` d$ q z% L第22题,如果一个类至少有一个虚函数,那么该类就被称为抽象类。
, k8 {% ^6 i ~A、错误
6 i7 X* H! z( C# y' f4 @B、正确
: c/ w1 }7 F& P) e" P正确答案:A
4 h* F, a X/ R5 _5 m! [% R, U; o; Z I% z; h' Q) K
; c1 W6 v# U# h5 K- ~4 s第23题,类中含有指针数据成员时,若不定义拷贝构造函数则会产生指针悬挂问题。: e1 @0 o, z7 `4 X3 H
A、错误: N) a7 [; Y" _4 Q3 g: f
B、正确0 U2 r% D& U/ U
正确答案:, ^" c$ v8 p! p
: z! ~% S5 s& N/ I
0 M- l7 i! [- R' q, |5 @) }8 v5 i/ [第24题,成员函数体写在类的外部时一定要在类的内部保留函数声明。9 k4 f1 ]5 E0 ]/ x4 `
A、错误' r1 }* h0 Q' o( ^1 G# ]
B、正确& v$ K. b9 c) I
正确答案:2 B. ~3 x" F6 w! j( @
+ w3 k% T, }5 } t0 R2 }
7 o2 @1 q9 s4 B
资料来源:谋学网(www.mouxue.com),创建派生类对象时,先调用基类的构造函数,再调用派生类的构造函数,当销毁这个对象时顺序正好相反,先调用派生类的析构函数,再调用基类的析构函数。- L9 o9 e) W) I, k2 J
A、错误
8 s1 U0 \* C! b" l/ ^/ X# \+ OB、正确+ ?) @) b) h' n2 E7 A5 V
正确答案:
5 l" s' p8 q% y/ h) a! e$ _! G3 Y
6 ~+ a& Y+ ~& w/ s _
& a/ t% {) {5 X4 {$ D第26题,操纵符hex、oct、dec只对下一个输出有效。
- F; ~$ B; |, v) r0 UA、错误
; A6 E, ?+ t; S& q; Y! tB、正确; X: j( z- i; W0 G7 G+ T
正确答案:A7 C3 }: [% j! I" i
t0 C; e/ ?" e. E1 g* |. @9 ~- f2 o; ?! V- m! c
第27题,构造函数和析构函数既可以由程序员调用,也可以由系统自动调用。! ~+ B$ f, f! r& T$ ?
A、错误
4 b4 N* i" B" R- g# I& eB、正确. N- I# E9 A" F0 |# T
正确答案:A
8 W+ p9 V2 z$ V! A1 Z, e' q' m" P" T7 X. f* d, V8 _! X+ x
$ x$ H4 V3 G7 u6 H. Y" _7 E! j
第28题,拷贝构造函数使用本类对象的引用作为参数初始化新创建的对象。
5 g/ ?0 u( Y7 {A、错误
* W6 v% U7 }4 z3 ~& {" YB、正确
; e. }, ~( U7 @- j' V- U正确答案:4 N2 a) ]! L! F5 t9 g. X
5 Z. i$ I, g( Z( r" Y8 |; G2 P: {( Y) V2 l w6 x' @1 w
第29题,在文件操作结束时,可以用close()成员函数关闭该文件。
' B2 h& a2 i3 h X( JA、错误) | _! Z# [( J
B、正确; e0 d+ J5 w! i3 {0 X: P8 {
正确答案:" J1 W* _: o! o' Z9 o
5 q8 Q7 Q5 i Y) }5 K* r/ P) g- L! o) V A
资料来源:谋学网(www.mouxue.com),当基类含有带参数的构造函数时,派生类可以不定义构造函数。
# ?5 ?8 U( @- ~: |/ g/ D9 hA、错误
% `9 u: Q* h8 c7 IB、正确
: ] K% }' y2 q9 o5 X正确答案:A
# }6 y/ h5 n; `6 ~, m6 W( y1 L( H
9 n7 N" R ~% d4 G8 R G: J6 W
5 z3 Y7 E! v4 s' O第31题,new和delete运算符不可以被重载。
5 y, W* Z4 `8 }! F: W+ V% vA、错误, S( p, S. V- q r2 ~
B、正确3 J ?4 x8 j& e1 Y+ Q( L0 B
正确答案:A$ Z, c% p7 l9 O
; [6 W G3 S' t- x W" B
3 u# c' s# U0 }- [0 J& d第32题,构造函数和析构函数都不可以由程序员调用,只能由系统自动调用。
5 Z6 y, M% O7 f# G! R; tA、错误
! h+ Y/ G1 ]! d4 @B、正确
3 g7 f: _& g' n1 n正确答案:- _' [% d" c( C+ K
- J" N- J3 j( H1 E3 N
+ r2 K- y5 M; w7 F' G第33题,私有静态数据成员不能被类外部函数访问,也不能用对象进行访问。# R. e8 X6 u5 y; K) m' U
A、错误. K3 e" W" S* o) s
B、正确
, U2 i2 a& g% n9 n1 ~$ h/ L3 ?. v# D) E正确答案:. M% a4 ]7 H- }9 r( Q2 f
" \ U# z8 i; r! V$ l6 X
5 F3 }2 o3 X% Y( j5 c% d; j第34题,指针是个变量,占有单独的内存空间,而引用本身不是变量,不单独占用内存空间。8 ^; `$ i7 ~" m' w$ N5 f
A、错误
9 X3 n% L' K/ d0 O+ D {, N5 [B、正确
8 Z9 G8 [* f5 ?: h+ U2 t正确答案:/ [0 Z* _7 ]9 C, G7 L3 l
5 Q( U9 o, \1 o$ A
) l' l' `3 e0 m6 v# `* I第35题,文件流创建方式是打开二进制文件的是ios::binary。
3 t& I9 _& r8 T0 J1 |. nA、错误
8 S4 s% h! P; gB、正确
4 x' t' \) v( T正确答案:* g6 b) [6 o7 b2 O* }2 O. T: g: ?
: M3 B. k4 p. @3 Z1 N- ]: A
7 d( i9 Y; }4 d; J& W. S- l第36题,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象成员的值在程序运行期间是不可改变的。
4 c( D9 a' a7 K& O# Z# q4 aA、错误) P. e* k, m/ K' }# \. ?
B、正确
# u8 @% _; G9 l/ B- Q0 Z+ W2 r F正确答案:
- p6 g& P8 X, N+ m9 t# ] k5 C0 t/ n/ w, n# G0 ? p) k
" |1 |2 w9 |. Y4 A+ x
第37题,可以在类的构造函数中对静态数据成员进行初始化。
* h8 o3 k% M: Y$ o4 L+ d ^( x4 _A、错误
0 s7 L9 a: r' l3 l7 l* ^& N& iB、正确1 }2 P% V& L' k- W& G
正确答案:A# T; y4 M- e+ k9 r4 x( h
+ R; g1 \* e4 s; K
( h8 O4 G0 _8 O, _* Y4 \- \9 i
第38题,this指针是一个const指针,不能在程序中修改它或给它赋值。
9 j! \( W- b$ i8 L2 N" |8 UA、错误8 A& Z4 X/ ~, F v) |' ?" S: j
B、正确
' P7 M% u, y, X/ \" N, j正确答案:
1 [" m$ @7 v. C. d' |3 w2 g
) x+ s- U; v$ L% q7 D
]- s$ H: _- U1 V% m' A4 k: X- v第39题,多态性是指不同的对象收到相同的消息时产生多种不同的行为方式。6 X; a4 \$ r* f# f
A、错误
* K0 b' [8 n# N9 U+ O4 J# wB、正确
* } L1 C7 v; @7 \! [" k$ B) E正确答案:
0 w7 ?! m; K5 x3 ?, P* r6 V9 z: Z$ P' L* U
) _9 @/ ]# L; J$ q9 m: q) g+ ]% S第40题,二进制文件结束标志为EOF(即-1)。
0 j t: [8 q2 O" _( G2 b. Z3 UA、错误) _# s0 g+ n. ?1 b4 r
B、正确9 y/ O) M4 ]9 Y* K9 H; V! ?/ i9 m
正确答案:A
+ Q( O7 H3 v' u/ ^
0 Y4 v+ e/ r* ?3 e7 o9 }/ F, o# d9 \; h
$ S! t6 K( C! h
: L, m- l- ~. U
$ S. \' ?; T) ~1 O
# z3 ^4 A' E& T2 i" `* i7 K# p0 ?8 n' }" r
" B: V) p2 b% N& [& D
) u) c6 x9 ~" u
- R8 e5 @; `' L s! t) ?. u. t9 A5 p( K7 K! U
, g# I- _# C1 g4 ^( P! ~+ C8 e! W# L/ t+ l; F/ t
8 n3 H. _8 q& y# H* m8 q
|
|