|
资料来源:谋学网(www.mouxue.com)C++程序设计-[东北师范大学]《C++程序设计》2023年秋学期在线作业2! M% f. m D- @
试卷总分:100 得分:100
# \( K. Z6 f B# m/ G; X9 D7 x% Z% S第1题,应在下列程序划线处填入的正确语句是+ Q1 U, B# X! ` A, p
include2 }" {5 ?3 R. v& q
classBase# Q( [$ q1 D% \9 I1 x
{ public
2 f6 A& }4 V0 a0 Yvoidfun{cout"Basefun"ENDL}
' e$ C: O( ?" x5 p6 q5 A}
: m0 f, X7 a$ D7 P, PclassDerivedpublicBase
0 h k# t" p6 ~5 z5 R* D- J{ voidfun{//显示调用基类的函数funcout"Derivedfun"ENDL}' O1 H/ L/ I) {! n" O$ a
}; J0 I' S X6 X3 h
A、fun();
+ V' M m! d2 [% `5 A- yB、Base.fun();- ]! ?; V: ^& f- g
C、Base::fun();7 h+ k, M9 H* e: J- e, j
D、Base-fun();
: H7 J1 ~' O+ y* j" w) e, y正确答案:3 ~1 d- |+ K" C, H2 P
; }* Y. Q6 i2 k3 {4 k( ?$ ~' }0 O3 Q, S o- b. D f. q3 |- Z! j8 J: o+ j. B
第2题,不能作为重载函数的调用依据的是
4 }% A2 ^) @8 }. L {/ uA、参数个数
: e- V, I4 B! Z/ ^5 ~" oB、参数类型
/ ~# q& L$ {' \% b6 Y( x, N s, t& o( kC、返回值类型0 R; D, e( l, J4 W+ B
D、函数名称 e3 {0 E) I& [& u& \, c) ~
正确答案:# Z9 R7 [: G$ y8 X
1 T; H" ?. D9 K3 m6 p
; N1 T: ^- [. k1 t7 ^' ~8 a第3题,当将一个函数f说明为另一个类B的友元后函数f能够直接访问类B的5 {! R6 ?- P% K! W
A、只能是公有成员" [ y& g( u7 o8 s
B、只能是保护成员9 B+ U: F% D* q
C、只能是除私有成员之外的任何成员3 m8 s H5 M- j7 b
D、具有任何权限的成员( i3 K3 c' J$ k( M, e
正确答案:) `; U* D1 t; t) t1 P- k% R, i# H* x
: H! @, A; l0 M3 p P
. T* R% b. N" l" g! t: R
第4题,若已知charstr[20]有语句cinstr当输入为Thisisacat则str中的内容为9 P( _( e9 d6 R$ f
A、This is a cat
2 b; E2 J9 A ^8 ?2 vB、This# Q+ P/ Q7 _/ X# i+ _# t5 g
C、This is
8 A3 F& E5 q& }6 qD、This is a. E5 ]8 M) p$ _5 G& `& h
正确答案:, y8 F: ^0 @9 C5 V: K5 Z" }
: q) d3 W: L2 x
4 {+ J+ V9 q0 s资料来源:谋学网(www.mouxue.com),要想以读方式打开文件"DFiletxt"以下不能实现目的的语句是
7 z2 M0 k% [' mA、ifstream inf("D:\\File txt",ios::in);- k% T1 }/ W* V
B、ifstream inf("D:\\File.txt");
- A$ z! |( E$ `0 Z3 G- p( t% SC、ofstream inf("D:\\File.txt",ios: ut);4 X6 W' l# I+ ?- c+ |
D、fstream inf("D:\\File.txt",ios::in|ios: ut);
0 {/ Q# E9 u6 s; U( o7 P正确答案:6 y6 p6 ~7 s: j0 H- F# Q. V
4 m; n2 \% V- ^) c, g# e4 x
8 _* t* _" t1 P8 ?, m* j$ o( v第6题,如果表达式++j*k中的"++"和"*"都是重载的友元运算符则采用运算符函数调用格式该表达式还可以表示为
- T2 B. X. U. l* ^* r9 xA、operator*(j,operator++(),k)6 O& d/ G4 R* N' x6 Z2 v. U
B、operator*(operator++(j),k)/ _: X0 u& c6 X) U
C、j.operator++().operator*(k)
/ l/ M P0 A$ M2 e* ?! q; BD、k.operator*(operator++(j))1 H, C/ A4 t3 v* N) M4 ]
正确答案:5 M8 b) d) m, a
+ j+ b" S4 Z5 m5 W7 S% V( Q, G& D. {* h% B, k" [ ^9 r
第7题,如果类B在类A的基础上构造那么就称* m7 O/ A* n) H3 P0 g E
A、类A为基类或父类,类B为超类或子类
& _" F; m% v9 ]3 T% QB、类A为基类、父类或超类,类B为派生类或子类
: T9 y$ b+ @1 S: U* l) o, ~) |% s" zC、类A为派生类,类B为基类
1 }# s3 Y# o6 v$ S2 l: N3 B' HD、类A为派生类或子类,类B为基类、父类或超类4 c5 s4 g+ p% z
正确答案:
2 b1 H/ T1 C: N9 L- [
2 R! J+ p; P2 r5 k# `- ?4 i
( u2 w f$ Q* t+ J/ D+ @第8题,对于一个类可以利用关键字将其他类声明为该类的友元
( h7 w. E1 N' ]- X# G/ MA、public5 r: P7 q1 p/ P
B、private
/ Y, N) V6 T( g* V! JC、protected
3 a) `& ~, K( H5 H5 N, OD、friend
9 ?! B' M6 i, Q( U+ O正确答案:, z- u8 M6 l# m2 m/ _& q5 f$ i
# U( z# _8 q4 Q# B& f |
* u! i. s! H% H+ h2 a第9题,下列可以是虚函数
- e$ ~0 C7 V5 aA、构造函数
% l2 x' O+ w* ?/ s, M& vB、拷贝构造函数
& I6 U4 n5 N/ {C、静态成员函数
% k* g& E0 Z' `0 l1 {D、析构函数
3 Y0 ^" \" A8 d5 D( F8 r正确答案:
( T. C) n, l0 e1 ^" v; }( t8 @2 c; b4 L0 N6 t
5 R _ t9 t e8 w资料来源:谋学网(www.mouxue.com),C++程序的执行总是从开始的 s& a( M( v" h# f% q
A、main函数
3 O" E. ^. B. ~: UB、第一行# u) }8 u" u8 \. I* s7 _
C、头文件
8 G0 B8 ~" x* ]$ jD、函数注释& \9 i3 p/ c% x; N; f3 @1 t
正确答案:
. D9 [* |; i: _# v$ K7 \- {& {8 x/ I2 V" a3 u+ }" V/ h* |4 o! T# G
8 R' N1 U8 o( R2 W第11题,当需要使用ostream流类定义一个流对象并联系一个字符串时应在文件开头使用include命令使之包含文件* t# Y' ]' `! N* t0 h" {2 ~, |4 P
A、iostream.h
9 }. X- z2 b$ }. v+ zB、stdlib.h
5 D8 r1 L d* a$ lC、strstream.h5 C8 H1 O( S3 |
D、fstream.h+ o9 t! A% E6 @, K$ }1 B) W. N! A
正确答案:) ~8 X; L X8 r! J( E2 V
& e8 O) w u/ b& _( a
( A; S/ S) X4 i
资料来源:谋学网(www.mouxue.com),假定classA为一个类f为该类公有的数据成员x为该类的一个对象则访问x对象中成员函数f的格式为
9 P2 O$ c6 S& `* o( \1 nA、x.f+ f! `, ^1 v1 N1 }8 r: Z
B、x.f()
8 p* F; |1 T- }! D. O2 d! T0 ZC、x-f
1 J9 @5 {/ A; w$ i# qD、x-f()
+ E" a. Z3 b/ ~1 w正确答案:
8 ]' a7 b5 ^% t) q1 H7 R* _& B2 c
: G2 n; D" H: U6 P4 [, H
第13题,下列语句中不存在类型转换的是# F' n+ o4 u) `; Y. f+ v
A、int(1.1);! d6 ]3 I# e9 K/ \' {
B、(double)2.2;1 {( J: s6 k$ {! C T, @
C、int i=1;
7 I' R. {; {. _1 ]# j4 f2 u. rD、char c=97;
9 y8 T* E$ Y7 ]2 i6 ?7 ?正确答案:+ K# s. {5 l: C, R3 }* V, K: c+ z; `
; c/ h5 K( R( P+ r0 c) j
0 F/ s! }2 E' `, ~) c7 U4 [" N第14题,考虑函数原型voidtestintaintb=7char="*"下面的函数调用中属于不合法调用的是
( `; B* e0 c5 ^ h+ z, J6 gA、test(5);. `4 i$ w8 A0 G) ]5 Q* \8 l6 u. z
B、test(5,8);
# C _5 k, G3 N2 RC、test(6,"#")0 k, E' w, ?% t: r3 H9 W# B
D、test(0,0,"*");4 V# Y& t, L. Q1 O
正确答案:3 k2 ^* U2 Q; g: X& l
. Y9 L. L) g' s& e
8 @0 i) M" a- Z
资料来源:谋学网(www.mouxue.com),实现运行时的多态性需要使用
* o2 H8 L6 ~% X: F# jA、重载函数
9 [7 J8 Q U) v, X! P2 f, c8 `B、构造函数; m9 U8 ~% c2 N/ q% ?5 V& n: i
C、析构函数9 ?6 b" ~7 M9 M/ u: e$ G9 Y3 `$ A1 I
D、虚函数/ l6 Z& P2 l H3 P* u f7 a; B
正确答案:9 i0 D5 c( l* k# V- d0 `
, a* b/ b7 L9 m( |* @" g) ^ ?
- ^* [$ u$ a6 {. F3 h- W第16题,C++流类库预定义的与标准输入设备相关联的是
' b1 t$ G/ @: w/ e1 |; k2 `A、cin
0 x- ?' X. O7 [+ KB、cout
, Q0 A, i( L+ [% r3 B( E! OC、cerr
9 P5 \) n4 v2 ^3 P1 ^# nD、clog/ E3 l8 _( @* D/ Q/ l
正确答案:+ X2 ?9 i% Q+ D. ^: P; x/ u2 S0 l5 H
# c" ^5 A% ?; y: `) Y4 D5 M2 r4 e" V5 p& D
第17题,析构函数是一种特殊的成员函数显式定义时其访问属性应被定义为4 H( S6 k1 P+ s3 Z
A、public9 |2 L7 N1 V2 C1 B/ ?% o' U# ]
B、private
# l' K& `) c: w( nC、protected
6 ?( S5 k8 q3 n4 aD、static# l5 l0 T" V* Y
正确答案:
) }' Q4 z" V# i1 f
6 C0 ~/ e' r" ^' T9 `
6 `0 c4 y, _" Y第18题,类的析构函数的作用是( |: C8 z1 M/ d5 z) b' w/ N
A、一般成员函数的初始化% }8 _& h- l) g4 i4 }
B、类的初始化
. \, m! b( o" V" r _9 |7 ^C、对象的初始化: S$ F( }/ }6 U1 [
D、删除类创建的对象, x1 W/ i* l( d, K& X& g; y
正确答案:
9 y2 A3 Z/ A1 M0 ]9 s* [' k9 }1 l( m/ V
( O. p8 J7 C9 A8 }! [第19题,运算符重载函数必须以特殊的关键字开始: F! |) w% A: q# A% z
A、virtual' ]4 [' W9 I8 P( m
B、operator
7 ~2 z1 `8 K: X! O) C$ KC、template- L# i3 l( o0 m: p d- S" K V
D、static4 B& m: j) F! d
正确答案:
% Y& t, n' H2 b, D# o- \
4 ~& O( i2 c7 ]% O* ?" e6 h
/ l9 s, O& ~; U1 x5 p& q$ O" @资料来源:谋学网(www.mouxue.com),如果编程者没有显式定义构造函数包括复制构造函数C++编译器就+ s" d8 ~, q! E% F3 H
A、出现编译错误# J5 b; e+ T4 g" z4 ^5 z5 h
B、没有构造函数; g& R7 O5 Q; W0 M0 j
C、必须显示定义$ c2 i' d3 B% n: A
D、隐式定义缺省的构造函数; s w9 i" D7 U2 t5 ~+ ]
正确答案:+ V2 R' a+ T0 F% I9 J
7 ]1 ?! r/ o) K2 e' v e5 Y* u. \3 T
第21题,在删除一个动态对象时将自动调用该动态对象所属类的析构函数
( S+ X' }2 f: `5 dA、错误+ q7 N4 m( z4 y2 `1 Z8 H
B、正确
; n4 y4 i/ D; O; l/ E- r正确答案:
L# E% L" L, ~2 e& x$ |& y( d A8 q4 a- S& T* R' B0 Q$ q
/ B! X( A: f% F I4 C5 |1 h' X* H第22题,cout通常与显示器相连cin通常与键盘相连6 J; H p8 X& s) O, ]4 B
A、错误
" c; ?8 W' l {) wB、正确0 d! @' {& H+ E$ `0 E
正确答案:; e6 T: M! |2 Q4 a" M
2 P5 G4 @ _* e- W3 j# p( a: K& I4 R& b% i6 q
第23题,类和对象之间的关系是具体和抽象的关系
" X% T5 h5 Y1 x! EA、错误
4 W8 l7 z2 ~4 C- c7 YB、正确
# h6 \' i8 q) k( ^正确答案:8 [8 c4 `$ `' _( \9 ^
5 F5 K3 A7 ^, U; b* W% H0 ^
% r: ]8 l+ L8 \% Q
第24题,用对象访问成员时应使用运算符""用指向对象的指针访问成员时应使用运算符""! B/ Y" l5 G+ f3 w- g9 u" s% g
A、错误* G6 I! ?5 g1 F, Y* k
B、正确 y% ?2 b5 C, x" G5 p
正确答案:$ v# k3 \6 y& ^! v2 d5 e
6 k( @. e4 }: w3 X5 Y' V u
k9 t6 _+ O3 U+ ^资料来源:谋学网(www.mouxue.com),在默认参数函数的原型中所有取缺省值的参数都必须出现在不取缺省值的参数的右边( N- v n+ T7 I5 U
A、错误7 X+ \) C6 L$ w. g! n0 K& ?
B、正确
/ p3 ?( W! J- ^1 L Z. r5 N正确答案:0 |) I/ y! {$ C" ^
( w7 O3 Y& ]8 @# D0 s' n* f$ z9 x& \' o) d! s0 j8 I
第26题,通过类对象可以访问类中所有的成员) b' G$ M- s' x; g4 Z7 [
A、错误
0 M* G$ N' e' v1 O3 A) CB、正确
) L0 \6 s' \: V1 V, v8 |正确答案:/ ?$ V3 y' n2 Y. R2 x% @/ F
; `7 ]& x: Z* i0 ~9 {8 t! S: y
/ R( K7 O9 E9 n6 b* w, _! P' B第27题,类模板必须由程序员实例化成模板类, o& x! c4 @9 |- K6 s! j3 s
A、错误
) Q7 ?6 R6 z8 ^B、正确
9 h! R6 h" q/ u/ h. n, v正确答案: ]7 l# W4 F5 b" T1 @8 R' X
" J! N7 V' Z$ A2 j. J! s
! _. G' [2 I0 \5 T2 B; F4 N
第28题,使用setw函数时需包含iomaniph头文件而使用width函数时需包含iostreamh头文件
: O. @) p; | P7 A) z5 DA、错误# L! n3 c& L/ B) F- j9 d3 T
B、正确
# X6 F h; C/ j正确答案:% x, ~0 d Z1 x! [
5 ]# w) v- i& I
% i7 m0 [" X6 N2 F- i X" F, U第29题,拷贝构造函数是重载的构造函数
5 m. N& v/ S2 s/ b* W P, ?# ^4 _A、错误2 r3 M) M$ R* C l7 n
B、正确
. a+ K H# D+ v# |正确答案:0 w4 P& P1 A: Z% b; z
8 ~; ^: ?0 t5 A8 I! ^" R& }
& @. ~& R$ a: k资料来源:谋学网(www.mouxue.com),文本文件结束标志为EOF即1, p5 P; q$ b" y6 o, N) a
A、错误7 l1 o! j6 E# L. _/ q1 `
B、正确, E% j8 b( G- U) v `# W0 h: S
正确答案:
+ L0 s5 s; ~! s, U, X
9 m$ J) q1 d1 l, N4 ~9 p
3 b2 w, c9 ?) {$ g3 m: ^8 Y7 C第31题,我们不能用抽象类定义对象但可以定义对象的指针. |7 T/ T, ~0 b1 T5 \, H
A、错误
9 @9 F. Y# ~) k/ b2 VB、正确7 C1 S8 ?. B, |+ g5 A: `- V
正确答案:# m# u6 Y7 C# N ~( y
3 c+ j7 I3 d/ l# g- U
# }% }( w/ Q9 Z/ z- O- J0 s {; g
第32题,类成员是按照它们在成员初始化表中列出的顺序进行初始化的与它们在类里被声明的顺序无关8 p1 |4 d# D4 U6 C3 k: r8 r" @ `) p
A、错误
, b+ d( n! C2 u% U, ~) t( [B、正确
% `( P, d6 W0 {8 Z/ k正确答案:$ y& s: u3 I; D* J- f
8 w/ @6 z, ~' x' v
1 Y* G! Z: \/ x. g第33题,C++利用函数重载实现面向对象程序设计的封装性2 {: D7 O6 {" x5 X6 F6 ?- g
A、错误
0 h" x$ `* ~9 b, o3 wB、正确 a& |( s/ r0 |, E. O
正确答案:
2 y* D$ p% O3 z1 i& a
4 S3 m! Q, y5 R s) c* X; `3 C6 N2 c/ F2 r
第34题,若左操作数为基本数据类型或其它类对象时此运算符应以友元函数的方式重载
" d8 c3 E. I7 V0 kA、错误 s: |" H4 L/ Z$ E2 I3 v# k9 A
B、正确7 T2 o7 d+ L& `2 V9 [/ c, _
正确答案:& l% Y+ X8 M% P+ |
1 P4 B7 A# I6 e# Y# A* R/ m) D9 l, }+ g
第35题,类中含有指针数据成员时若不定义拷贝构造函数则会产生指针悬挂问题: i$ w* j3 K& g( @% @
A、错误- l5 {7 W/ j0 x4 `
B、正确% N; Q7 o4 ?; P0 E
正确答案:
/ Z% O3 y7 W& R" ?
8 Z& ^. C' W3 I1 }+ |
, `# O" P, j8 E0 ^8 A6 l+ b x第36题,类中可以包含各种数据类型的数据成员但不能有其他类对象
- B# S0 E2 f+ ?A、错误: _" P6 ~6 m# h
B、正确
. K+ `- F8 ~6 v5 W正确答案:8 ]' n# e, F8 K
3 h& a2 u) Z6 z& ]! \- U
# [1 O& ]( }6 S' g& J第37题,类是C++中预定义的数据类型# E1 {' I5 k0 D1 ?' {
A、错误; \( B& [& s2 Z8 E v/ r0 D
B、正确9 `8 ~3 o4 d/ u7 v
正确答案:
. M. G& z3 P3 K5 n' O$ `. D6 X% a) |
! z8 x4 x9 y$ A8 b3 Q! j1 D8 x
第38题,当基类的构造函数没有参数或没有显式定义构造函数时派生类可以不定义构造函数- ~7 g) ~# A6 e- f- j- T
A、错误: Q/ N4 ?" \' c1 Y! A
B、正确. B8 w3 t& {' c! i5 j
正确答案:
1 {) M- U# ~; A8 j- ^% O0 \' M3 i t. N9 ~
/ @0 o+ p0 {: U# P+ z第39题,ofstream是用于写文件的文件流
. s) j# j& F! t: p. o# U6 eA、错误8 Q ?4 M$ o4 a. ~
B、正确
1 F9 P0 _8 C i) i( g9 ~正确答案:
! }9 z, u4 [' ~1 q& @' ^
. c, ~( j3 Q- i% y7 }/ I
5 t8 P' k/ `6 x* a* ]8 x第40题,操纵符函数setwn只对下一个输出有效" B3 B7 z' X3 B# W* C1 }- v6 s1 k' W
A、错误+ ?) a4 s5 u! P
B、正确
* }% }8 Q5 \* f; @8 A0 {& ] j正确答案:
) M4 P, Y: |5 y, n7 F' V
* y7 K& O5 \6 @. U0 ?' C+ }! T, P/ [8 ^/ g1 W8 w
% k5 `/ X1 g7 l! u8 t4 h$ C$ Y: i/ M, e# {5 X2 [8 U
3 f3 C1 E4 K. W
( t8 |: W& g o( [9 @4 Q
- y, g% k/ c9 J; q7 m% f S6 n* o2 M o0 \
+ M: B9 Q: x: F7 v2 e- l$ e4 u
8 {1 O. M; s; B$ s! Q! M H+ F
1 Z% F0 A1 d6 P. x, O' k+ K+ w: M9 v. q# T7 e
4 q3 U9 d7 N9 S2 C4 u/ q% v4 @
- W, r+ j, V9 V$ s! ^ |
|