|
资料来源:谋学网(www.mouxue.com)C++程序设计-[东北师范大学]《C++程序设计》2023年秋学期在线作业29 \! H; n7 v3 F
试卷总分:100 得分:1008 P# J, D% ~+ c2 W# x' ^
第1题,假定指针变量p定义"int*p=newint100"要释放p所指向的动态内存应使用语句: H3 b/ p- g) P. e2 \
A、delete *p;
1 W+ j4 u+ m8 R' C$ ~6 hB、delete &p;
7 Q1 X+ i( O0 Q2 Z% aC、delete p;
# o0 t& `+ ~$ m6 L, }' r w4 zD、delete []p;* L) i3 G! O3 I, Z$ K. D) P& M C
正确答案:
* ^1 n( V2 z" W, K( Y8 A
' b4 G7 B7 M$ ~ T" l
6 c- b" d+ N* A! k! p第2题,下面关于运算符重载的描述错误的是
f' C# D& n$ H$ ^7 B3 {5 W8 \A、重载不能改变操作数的个数、运算符的优先级、运算符的结合性和运算符的语法结构8 Z: A7 w: r0 P/ i2 l% v7 F. G
B、不是所有的运算符都可以进行重载% y7 Q p7 P% J$ p) \
C、运算符函数的调用必须使用关键字operator
- _% \7 U4 ^* j" G1 ED、在C++语言中不可通过运算符重载创造出新的运算符, `! u% v5 O1 ]4 {
正确答案:, P" h5 C0 D) A7 _4 k
) R& e. @! U8 w l6 B5 l! j% X
1 d& }2 ]0 h( @: C! W" r4 y第3题,类中定义的成员默认为访问属性
; @5 t0 @) c: @( i4 HA、public
* `8 j" g" H( QB、private$ r- S7 y# } f( p
C、protected
: O+ D( ^5 b( q" E" t% aD、friend( h2 ]( V# P% E; A
正确答案:
6 a S# n9 { N% _
3 @) e* h1 }: G" C. n0 h7 X* n8 r
第4题,下列选项中是istream类的对象
& I: N# g( m5 W6 G; y7 f9 CA、cin
5 V5 t2 N0 t; g/ T c0 I7 Z+ NB、cout( \; {+ k: ^; c: T$ s5 d- Y! E
C、cerr
6 w* x+ K1 e% n+ a, rD、clog
/ T/ {1 I1 c+ a! I; k& J( w正确答案:+ l. t1 ]" N) \) ]$ l9 X$ o
`9 x# U5 T3 T; j" p1 w) y9 {' B2 J4 p3 m0 Z! B) P7 T
资料来源:谋学网(www.mouxue.com),析构函数是一种特殊的成员函数显式定义时其访问属性应被定义为3 T; V- ]! T2 a, y! G% j
A、public( B0 I. @" Z( K; s0 Q; k* Q
B、private
8 O/ i' V( F1 l1 \% nC、protected2 v: K' w/ k+ q( _
D、static1 Z" ^5 c3 A, D$ `; G' X, i
正确答案:6 N; ]/ \6 X2 W
: l& N- S: J) e/ x9 a
) m1 y8 P2 W$ K) B6 u- U; i4 }第6题,关于函数模板描述错误的是7 [& _; T) | W7 G1 W& z9 r$ t
A、函数模板必须由程序员实例化; a* o/ h( Z) x9 a
B、函数模板的实例化由编译器实现& Q& Y1 a }5 h
C、一个类定义中,只要有一个函数模板,则这个类是类模板
* U1 X8 x7 ^+ h: ~. m' p* q) iD、若类模板的成员函数是函数模板,则类模板实例化后,成员函数也随之实例化
3 [# m7 j4 I% C. {/ G正确答案:2 R- E1 Y+ [% ~9 B9 d
) k( ]6 J( o- b) \# G4 x- }* d; ~- B' ?/ [- Z$ }2 I4 o
第7题,下列关于运算符重载的描述中正确的是
' y1 p# y4 w( L" ^; {A、可以改变运算符的目数; v. }& r5 ]" Q2 ~# Q# e
B、可以改变运算符的优先级
/ c' m o" @ B$ JC、可以改变运算符的结合性' a4 r3 I4 u0 x8 ?" A0 A
D、可以改变运算符的功能! `- b/ |" N0 q. ~, C$ s( r; K
正确答案:) w2 M) c6 k, H% w# ]7 l+ N
) R- z4 F A! O& R; ]$ f2 }# p& D; F. N3 [7 \" N5 g$ _$ W2 b* |9 M+ t8 v) i
第8题,面向对象程序设计将数据与放在一起作为一个相互依存、不可分割的整体来处理5 J y4 g5 T( ?8 ]
A、对数据的操作
5 J0 I8 s2 Y: ]) L" A) iB、信息) N- h. {, \ P8 b1 V
C、数据隐藏
% R9 \% e" z# V5 \D、数据抽象
) ~1 k; ~. N1 D5 l) r正确答案: E/ Z+ T' S- c& a
6 c: o/ o+ `5 s- |# J" h$ K6 ?" w% x
/ D* N7 _% R$ u第9题,在C++中编写一个内联函数Fun使用int类型的参数求其平方并返回返回值也为int类型下列定义正确的是7 i+ D" k4 T9 U" O
A、int Fun(int x){return x*x;}; X3 h+ W3 `) e. u& K
B、inline int Fun(int x){return x*x;}. `# }: J x, i- y; E
C、int inline Fun(int x){return x*x;}5 _! u, f/ }7 C% T6 N/ w, \3 [" H
D、int Fun(int x){inline return x*x;}' S! w% s; f+ l. Q3 c$ E& d
正确答案:
' C, |8 H% c/ o/ j3 N1 V ^+ `
; o0 S! ~% z( c4 d! g7 J5 c% n! ^3 ^5 A) ~1 U
资料来源:谋学网(www.mouxue.com),定义类模板时要使用关键字: k* u. F! f$ [2 ~$ ?+ \0 `
A、const2 i5 o$ |& S( O9 W- @) L; \
B、new+ Q+ x4 z! k& b! K5 w& v, c- T
C、delete
7 X# a8 }. b$ f. V* wD、template
, `- u5 ]9 O5 J, @$ J' J& X正确答案:0 d% ~ z4 E8 t! m8 u% J& F3 A4 I
8 k# Y5 a8 I8 A0 A1 H& w3 ^2 K' o9 g+ M- _3 A) Z# z& u
第11题,要将类A说明是类B的虚基类正确的描述是; m [* u+ u1 H0 s9 f3 H
A、class virtual B:public A
. f: b+ N; x8 h4 ^, CB、class B:virtual public A
6 G5 ?0 P) {4 `* [9 d1 ~ K2 z* TC、virtual class B:public A
$ X: s2 ~& P% l$ yD、class B:public A virtual
3 ~: }% ^2 D# t9 O% k正确答案:5 ~4 x6 {9 y# n, u' n7 c6 z
! G; l* P4 ]4 L* X* i% a4 X6 r
7 `! {/ ?2 m5 f4 \3 t
资料来源:谋学网(www.mouxue.com),下列格式控制符中不是定义于iostreamh中的是, o! Y( ^, I9 I& J4 s
A、endl9 K* E% _& t/ L3 }7 n
B、hex5 b+ l4 V+ g8 M' F g2 }4 k$ Z) i
C、flush) d8 S+ G+ P1 G9 E
D、setw
- H5 E4 t/ ^7 q* B正确答案:
/ w+ X( L* K* }3 D1 _2 q- z' B
u) H" t* t; k3 g3 n% ]- }3 A
- K6 f, `' G- u$ p/ N0 r第13题,对类成员访问权限的控制是通过设置成员的访问控制属性实现的下列不是访问控制属性的是
# ?5 Y* N( F0 g; tA、公有类型
8 S% M/ Y- T0 F1 X. P% [, \B、私有类型
6 p* o$ c8 `4 tC、保护类型
0 U% }$ G8 c$ J" gD、友元类型# D0 B$ J0 ~- E8 F( E/ |
正确答案:8 o' Y, [9 c9 a" M
* ?3 f1 s( @4 Z t2 ~2 }
6 G; b# r' s+ M( T! ]- t" v2 k第14题,不是构造函数的特征
9 R$ L( _$ y1 L" r* H+ ]A、构造函数的函数名与类名相同 o) I& Z9 c: t8 V/ u! D6 z* A3 m
B、构造函数可以重载
5 K" h% t/ [4 d8 u1 ZC、构造函数可以设置缺省参数1 K+ _( P/ m/ W
D、构造函数必须指定类型说明3 O* j, O/ ~! b& Y$ z3 u: q
正确答案:9 s! S% l! ]# [2 h
; Q9 g$ e) {! W) O0 {5 {/ m
/ x! b6 ]1 @% Q, v" C) y/ X资料来源:谋学网(www.mouxue.com),当将一个类A说明为另一个类B的友元后类A能够直接访问类B的
6 L0 H% X; G- s* SA、只能是公有成员! S( v- Q9 u* A1 B
B、只能是保护成员/ c5 Q+ J0 [+ B |$ O+ u" C% j+ H0 ]
C、只能是除私有成员之外的任何成员
( C- R) w% [' E. i3 c% eD、具有任何权限的成员3 _9 }- e, h- p2 i3 W# R/ ]
正确答案:6 `* c$ b3 P0 ~
' }$ ]6 G l k+ [
! b, g3 v0 E2 `2 j% ^4 s) o# R
第16题,对于类定义classA{publicvirtualvoidfunc1{}voidfunc2{}}classBpublicA{publicvoidfunc1{cout″classBfunc1″end1}virtualvoidfunc2{cout″classBf' C* G, @2 g3 {8 l7 ]
A、A::func2( )和B::func1( )都是虚函数( j i' v8 C! Q( g& h, r# m
B、A::func2( )和B::func1( )都不是虚函数0 b* P, G" G% b4 W
C、B::func1( )是虚函数,而A::func2( )不是虚函数3 t. E" D* }; F N' B
D、B::func1( )不是虚函数,而A::func2( )是虚函数( A! p' ^. V' {$ W1 m
正确答案:
6 q _5 w$ c$ p" S* S' e0 e# R, r7 J1 O: C2 }+ Y% G5 O
' w* [; U0 S9 ]. v: U' W. Y第17题,在关键字public后面定义的成员为类的成员2 z+ [+ L8 p; S
A、公有# L9 ~+ y$ o) D4 J D+ ~9 d: G
B、保护$ z+ b4 l. D2 z5 l4 |
C、私有, K* K7 _7 `/ B4 |2 L/ T5 N
D、任何
' ~' ?& p2 m& D& W正确答案:
/ ?) T* d1 C, \
4 A5 v- z, E4 {
7 f S" w+ {6 E( v1 M第18题,在一个类的定义中包含有数据成员和的定义
. E4 j& N' ~6 i8 q' d4 {0 VA、数据2 d& y2 K) c: m4 T
B、函数
' D# ~1 g6 `/ m& GC、成员函数
- D& ~) A# e' V- hD、友元
! ^( Q( {3 ~0 T5 e2 z正确答案:& L% g+ `$ A0 G
* T$ l E' x6 E6 n" L; i! c7 w9 r; x3 N$ N9 m
第19题,当使用ifstream流类定义一个流对象并打开一个磁盘文件时隐含的打开方式为
$ A' n+ i& f/ c3 l8 ~; }$ \5 dA、ios::in
3 m6 `( F2 R' v1 i( tB、ios: ut
9 M$ L6 C g3 ]C、ios::in|ios: ut: Y) N4 v: i/ c8 }4 M0 e
D、ios::binary
/ C: x# q, |- G( c2 A正确答案:4 @6 D0 M6 a9 I' @& G! R
3 H: [; o. ]/ E% w5 b( T5 U' M/ W& Y. `, K# ^
资料来源:谋学网(www.mouxue.com),类模板的模板参数9 \3 W" Z; C& b8 t
A、只可作为数据成员的类型
' k1 E6 @- [- Y% ?4 tB、只可作用成员函数的返回类型% Y$ e" S; u4 b, y; N( t
C、只可作为成员函数的参数类型
, V6 a0 _- A- W/ ] U: }% sD、以上三者皆可( Z& f; u- e7 c1 O+ {2 Z
正确答案:0 Y. D9 \5 `3 M) P
4 B9 t% {2 o# M
, ~8 R' z# u$ g+ }( }
第21题,C++利用类来实现面向对象程序设计的继承性9 t {9 m( X+ h( d
A、错误( s* W6 D& _2 s0 y
B、正确
+ [! }3 _% c: a; S+ ?6 l4 k正确答案:
+ [5 m* U c% i% [5 h# ^
7 V% E& o2 i. k1 J2 _
6 k" Q/ T. q5 P第22题,如果一个类至少有一个虚函数那么该类就被称为抽象类) x: T% k# q7 v q& y
A、错误
5 T( U) i# ], k9 h2 w8 iB、正确: Q8 a7 c1 g" G2 ~- C# h7 q: C
正确答案:
( ]+ S/ D/ L6 v. ]4 K# m- ]" S5 D- F) g3 m9 r1 k( m$ [
" V( `- ^- O) m+ C% ?第23题,类中含有指针数据成员时若不定义拷贝构造函数则会产生指针悬挂问题
- n. x+ \* ^) YA、错误* x; ~0 g9 D8 X! ~* I
B、正确
1 r" y) X" ?6 q7 {正确答案:
" X, p8 j( A7 ~$ l
4 m) @ o% ]( m$ x. R* ]3 M# M0 u; f, ~1 M
第24题,成员函数体写在类的外部时一定要在类的内部保留函数声明) t; }: D5 e( q, }) ~3 ^
A、错误
( ]0 v8 l/ k6 I& mB、正确% D6 n; N; V& a$ F$ j
正确答案:8 |' B# [$ w# g/ V
6 w- [) t$ y, p
0 T8 h. B6 f: p- |0 F: b# l- H' w) t资料来源:谋学网(www.mouxue.com),创建派生类对象时先调用基类的构造函数再调用派生类的构造函数当销毁这个对象时顺序正好相反先调用派生类的析构函数再调用基类的析构函数) L8 ?" K* U9 P/ n
A、错误5 l1 {+ q- y5 M5 p) r, v: G- W
B、正确
+ Q4 n* {- F. R& [+ ]- l/ q9 X正确答案:' T/ |5 H; J1 P( A0 ]
' Q( _7 t2 B' n3 F i2 O, t, ~- W: j
第26题,操纵符hex、oct、dec只对下一个输出有效
; G5 |2 p: t' U2 ?/ GA、错误
9 Y4 O/ H7 F& W# u" ?B、正确
! M+ E5 d1 V N# B$ ]- l3 S正确答案:5 S4 B3 c! U+ G
) j8 Q8 H/ J3 E2 Q
) U: p$ }+ ? W; y' S7 T第27题,构造函数和析构函数既可以由程序员调用也可以由系统自动调用
3 f: e( ^7 U j( A8 h! MA、错误* J# A+ l; d% ^2 D( w9 l3 A+ W8 [' @
B、正确
% a( T: j+ s! t4 j4 K- |正确答案:
}1 ]. b% {4 {! |! c9 m( G+ w
: q' ~& M6 b J5 S. d8 W7 \- f$ p6 V3 ]" [
第28题,拷贝构造函数使用本类对象的引用作为参数初始化新创建的对象
R. h: h N8 r& c% M$ A: IA、错误% H" u2 G) Z* Y% F0 ?
B、正确
6 ^2 {. Q( c, X* ~3 ?; L; P2 Q正确答案:
, s6 X* }, g( ?# _8 s
. E. i" V4 Z! B# [: m
& g" H1 A( X* R# l, v+ v第29题,在文件操作结束时可以用close成员函数关闭该文件6 i8 v/ X" f2 s8 @: ]
A、错误" o5 h/ y% I J
B、正确' {& W; M' _& d1 J& C( S
正确答案:
! w; A: I( M) ^/ }
0 F( X: H+ a0 Z N
7 E7 C# t; j x7 C/ O资料来源:谋学网(www.mouxue.com),当基类含有带参数的构造函数时派生类可以不定义构造函数# P6 q9 h8 m3 |0 C8 X
A、错误+ H/ a" \. M9 \: b
B、正确, y! Z! A3 t: n8 y
正确答案:. T0 u! I+ `7 }9 J1 r
0 m, C+ W1 b+ S8 S
% b; ]5 _1 h8 ? |第31题,new和delete运算符不可以被重载6 v H- {8 h6 ?* ]+ A& p( Z
A、错误
2 \7 V4 i7 a# P s0 z/ cB、正确$ B/ @9 O7 C O9 a k) x
正确答案:
0 _5 S. a# s, ~* w% I3 x. [
/ @% e0 @$ d3 v
" N. F. O( S7 x+ L第32题,构造函数和析构函数都不可以由程序员调用只能由系统自动调用
0 V; s+ F% t( k% K2 Y3 ]A、错误# Y F0 @! l7 ^# n
B、正确
. \2 h+ o0 s4 M5 G9 n. G& N" `正确答案:
0 Z% Y' v3 ~# ~2 [; a
& `0 @% Y7 @# k, g3 _$ C) F- E; q$ ^; X9 z& n
第33题,私有静态数据成员不能被类外部函数访问也不能用对象进行访问: H" t! e5 w: W! _/ C) F, k& \6 V
A、错误) r0 i* H) C! l. S. D
B、正确 j3 S# a" l% f
正确答案:
% a3 K: B5 I/ z# B
7 e3 Y7 `4 q1 g
+ G) q. I) i2 K第34题,指针是个变量占有单独的内存空间而引用本身不是变量不单独占用内存空间( u9 H2 Q6 N; {
A、错误
! x% I7 K( K: H) J! uB、正确
S& ^9 z8 |1 A% {8 c正确答案:( v3 i+ G; T" o9 r- a! G4 P
' i; s) @" i/ _
0 R4 I3 l/ u+ S0 q7 B( e/ w; Z第35题,文件流创建方式是打开二进制文件的是iosbinary& M& K' Z( i( F* `1 a& R N* z/ N
A、错误
8 @6 L" x& f/ `! S1 xB、正确6 {! O5 n1 P7 H9 J
正确答案:. U" Q t g& i% g, I3 N5 @
- ]1 o. C% M; O/ u" @. P. B" f' m. s5 c6 a# b2 A% |9 | _
第36题,常类型是指使用类型修饰符const说明的类型常类型的变量或对象成员的值在程序运行期间是不可改变的- \4 r$ i7 u: q
A、错误
; x. s# P4 Z. A. J: d7 X) l: {B、正确
' V4 |* f8 M7 t. c; v; @" G正确答案:
- k" B6 e3 q7 \6 @$ l) p M% n+ h! H* W6 q
) i8 c& t6 [) w1 X
第37题,可以在类的构造函数中对静态数据成员进行初始化0 W2 O2 @7 H: y4 ?
A、错误
$ n7 O; U: Q9 w+ {B、正确
( }; P' M7 B5 G9 y正确答案:
9 }: B7 a3 P2 ?1 V( t4 [% p
: D6 b( j. E1 ]
: m" f) [* t$ Y- w R6 t$ o第38题,this指针是一个const指针不能在程序中修改它或给它赋值8 O6 A% z. M/ _. e3 P
A、错误; L+ Y7 T" E! u& N
B、正确! x; }% q4 m2 A, L' s- `
正确答案:
' X$ d1 ]4 S# o/ M+ L6 X! U3 f8 O" Y5 Z. Y8 ?
9 s% e3 d8 @5 v. o8 G7 v( J第39题,多态性是指不同的对象收到相同的消息时产生多种不同的行为方式
/ `1 n- |2 F5 tA、错误
B5 g% |9 X+ B- {% mB、正确; N0 ]1 v8 I6 e: G0 g0 s( T
正确答案:4 @- n* k" m8 L; A
% t6 L# c. n1 h( V
% k9 K, [8 W9 M2 ]
第40题,二进制文件结束标志为EOF即1
/ e! l" K+ q: |A、错误+ X9 r/ C2 c9 Z0 t
B、正确% h4 z: h+ Q% _1 s ^" ~
正确答案:3 o9 w& I- `' g7 Z
: a6 u: _7 j7 d4 B) z
4 K+ Q+ ^- n. m6 |. W& ~ w
: z- D4 v5 S- t" {& s V4 p. w+ u7 G& k1 l( M' ^
; g. ]6 ~/ ^! W
; E# j6 t- j8 Q0 s' v
/ v, C2 E9 W j, o* [
, x# B' j+ o' f/ ^ W
# A0 T4 }6 j. b* v& ^0 W% z1 K3 E0 N" o; L& ^7 l7 F M9 t
7 U6 k2 R6 Q. p# B9 \' t9 S8 x& P/ `/ Q
. W+ Q! D, g3 ^6 |; N( D) z
8 J$ _+ B$ S7 z. W; ~8 k3 ] |
|