华师15春《C++程序设计》在线作业答案

所属学校:华中师范大学 科目:C++程序设计 2015-04-23 12:21:39
华师15春《C++程序设计》在线作业
+ i7 w& n; c( e( I9 w7 G) p7 h* e# Z/ U% P' g
一、单选题:. H' V+ z7 ^9 q; Z9 ~! Q
1.以下关于函数模板叙述错误的是(    )。          (满分:4)5 ?3 U' e; V' O1 i3 G  j
    A. 函数模板也是一个具体类型的函数7 ]* h' K8 L2 /
    B. 函数模板的定义采用关键字template开始
8 B* h. c- Y) e; V8 J, |6 ]/ |    C. 通过使用不同的类型参数,函数模板可以生成不同类型的函数
$ D; C7 /3 d: /! w    D. 用函数模板定义的函数没有类型. t# F; Q6 // T# k3 u6 T. D' e# d
2.下列说法中正确的是(    )。          (满分:4)" t# V4 M  k, M5 a, n' r* h/ i9 /
    A. 在一个函数中,可以有多条return语句) ^3 S: F/ r) E. l, w
    B. 函数的定义不能嵌套,但函数的调用可以嵌套" }; I$ S, m' w
    C. 函数必须有返回值
% D8 d) q4 D0 h; v$ u: P. m    D. 即使在不同的函数中,也不可以使用相同名字的变量# I! E$ ~. u, l- N* V
3.在下列说法中,不正确的是(    )。          (满分:4)% U& _7 V7 C0 g8 y( M
    A. 静态成员函数不能利用this指针6 a- Y8 o, I" G) X) d* W3 J
    B. 非静态成员可以使用this关键字8 n4 }! x9 {/ l) @' A% H6 r+ Z
    C. 虚机制在构造函数和析构函数中仍然可以很好的工作,以实现多态性
2 K7 o0 y3 P7 c. O$ y2 s  _$ q    D. 构造函数和析构函数不接受任何参数,也不带有任何类型的返回值' r; {3 y8 F) E( ~; F$ f; I
4.假定一条定义语句为“int a[10],x,*pa=a;”,若要把数组a中下标为3的元素值赋给x,则正确的语句为(    )。          (满分:4)
+ e/ z4 E- [1 ~9 ^' [$ J    A. x=pa[3];$ B/ `$ R0 p4 U. {6 k' {
    B. x=*(a+3);
8 R/ W  w3 j) Y: k, E! G    C. x=a[3];
$ Y8 g6 _3 ^4 b- [    D. x=*pa+3;9 E/ ]0 Z+ x, f9 E0 `" c8 t2 h3 ^
5.以下说法中不正确的是(    )。          (满分:4)
5 ^" ~2 ~9 r! }1 c8 ?* ?6 f    A. C++语言程序总是从第一个函数开始执行& p/ h% @0 A; J1 R' t  W3 m1 f5 Z/ d
    B. C++语言程序总是从main(    )函数开始执行. J2 l% N/ e" O
    C. C++语言程序中的main(    )函数必须放在程序的开始部分* g0 T. b, j% [$ |+ d( g! q: j8 P  _
    D. 在C++语言程序中' Q1 r! ^" M3 `
    要调用的函数必须在main(    )函数中定义
. _+ N! n  g  L9 [" h0 ~( /6.下面关于指针变量和引用变量的说法正确的是(    )。          (满分:4)
5 v/ }4 L# |5 O  }    A. 指针变量存放的是内存地址,并且可以置为05 t; n+ D( k" ^2 B) y
    B. 定义引用变量时,必须同时指明具体被引用的对象或变量, Y. g, E0 @4 @: S: j& t* M
    C. 使用取地址操作符,可以取得指针变量自身的地址,但取不到引用变量自身的地址
$ U; v/ _1 W0 [- c0 S    D. 类中的数据成员可以是指针变量,但不能是引用变量
% |) L; G" /- f( S8 g2 b7.下列说法中错误的是(    )。          (满分:4)
: x# Z" I% J3 D" ^; s& i7 W! u9 l    A. C++程序总是从第一个定义的函数开始执行6 o& f( L& C  T
    B. C++程序总是从main函数开始执行
; v3 I, _' S* i0 v9 K( f7 ]2 m$ C    C. C++函数必须有返回值,否则不能使用函数* O' V) }. p8 d: C: h* v
    D. C++程序中有调用关系的所有函数必须放在同一个程序文件中3 j$ z2 u4 b7 y& t% d
8.以下不正确的描述是(    )。          (满分:4)
* d* w: E/ g% _; G, X3 /; z2 d    A. 函数的定义可以嵌套,函数的调用不可以嵌套; H6 T- m$ Y" m- e
    B. 函数的定义不可以嵌套,函数的调用可以嵌套
) J% t, e! K& s9 `' J" X3 H% J' F% a    C. 函数的定义和函数的调用均可以嵌套
4 G, }# V+ c7 c$ O8 l" u: ?: }/ V% _    D. 函数的定义和函数的调用均不可以嵌套
: b/ }7 a9 N1 Q" _' M  ?9.若x是整型变量,pb是基类型为整型的指针变量,则不正确的赋值表达式是(    )。          (满分:4)
+ L. F8 L* x4 D5 F8 d: j    A. *pb=&x;
! Q# n0 K1 L$ y1 V% q    B. pb=&x/ |6 Z3 ?6 t$ ~
    C. pb=x;
* Z( F1 N! {8 p/ j, K$ Z8 q( `    D. *pb=*x
% f7 b7 }' d; s( ^( X% `5 O. Y10.在C++语言中,不合法的字符常量是(    )。          (满分:4)
3 M) V! j/ i/ /: w' Y+ f    A. /x43'
' n0 m! m" A0 e6 r' K- s4 R% f    B. 'ab'
( o2 V' y' ^5 z' a    C. '/084'0 o$ _/ F( S1 }. w: b
    D. "/0"6 p, u/ T7 o9 z) r
二、多选题:
! ], x: V* H* c- P/ o/ t1.在一个被调用函数中,关于return语句使用的描述,错误的是(    )。          (满分:3). q, L; F/ ?) K
    A. 被调用函数中可以不用return语句
* c  m2 _) P7 R4 z0 u  I    B. 被调用函数中可以使用多个return语句5 J; a" ?3 _' D  V& I
    C. 被调用函数中,如果有返回值,就一定要有return语句
' S: P$ h& E8 B    D. 被调用函数中,一个return语句可返回多个值给调用函数+ E$ r$ u% n* j# J3 C
2.当一个函数无返回值时,函数的类型应定义为(    )。          (满分:3)0 W0 z, [# |: C6 [
    A. void& z* D& _. c9 Y/ p$ }9 x/ j
    B. 任意
# E! m: l7 ~. ^, ^    C. int+ P. N1 w3 G- f  E; [
    D. 无
7 z' |& h) f! ^1 L; q8 n3.下述关于break语句的描述中,(    )是不正确的。          (满分:3)
6 f- f+ d% O/ w, w    A. break语句可用于循环体内,它将退出该重循环1 u8 Y% g' |+ D! G% X! j; g
    B. break语句可用于switch语句中,它将退出switch语句
9 F9 n. R& M& n7 w4 V  J% |0 c    C. break 语句可用于if体内,它将退出if 语句+ u$ X) K! D" [7 M8 ]
    D. break语句在一个循环体内只可以出现一次) s* N2 ~8 G! l. e. u
4.关于多继承二义性的描述中,(    )是错误的。          (满分:3)
" A% e4 L4 ~; }5 |& {9 |    A. 一个派生类的两个基类中都有某个同名成员,在派生类中对这个成员的访问可能出现二义性
" B8 s5 l" x1 b; ^2 W. B    B. 解决二义性的最常用的方法是对成员的限定法0 U) w+ _+ O& `! V7 K; X
    C. 基类和派生类同时出现的同名函数,也存在二义性问题9 H, T+ u+ ^) O2 K' p
    D. 一个派生类是从两个基类派生来的,而这两个基类又有一个共同的基类,对该基类成员进行访问时,也可能出现二义性: ]) O2 j3 ]. Q8 R! u
5.派生类的构造函数的成员初始化列表中,不能包含(    )。          (满分:3)
( i( _. [8 z! [" H    A. 基类的构造函数- h$ h1 n/ G2 t, J
    B. 派生类中子对象的初始. ?7 o9 A& /( o* W. q6 l
    C. 基类的子对象初始化
; D3 Q+ u: g8 D% b  U) Y) P+ p    D. 派生类中一般数据成员的初始化
0 [! u# m" ~& b' `' p0 V6.类型修饰符unsignen修饰(    )类型是错误的。          (满分:3)* K2 e8 h. t9 f% {$ V/ W# x7 F
    A. char. v! f5 P- L- h4 @9 t
    B. int/ c2 K, e( g* L
    C. long int
+ w# ^; ?+ A5 /  u  u0 c! p    D. float% a$ A% {1 W0 R3 q6 d% L: p
7.下列关于指针的运算中,( )是非法的。          (满分:3)
, p- P, u0 t% e; p    A. 两个指针在一定条件下,可以进行相等或不相等的运算
: ]4 y) v! {9 G3 w1 m8 p9 }* T    B. 可以用一个空指针赋值给某个指针
+ I  v) ?% Z& P0 x! t( P    C. 一个指针可以加上两个整数之差3 E* x9 m. O4 |  _9 f7 h/ B5 O" e
    D. 两个指针在一定条件下,可以相加* h+ /! H8 h% l$ Q/ x8 t1 y8 q3 k
8.派生类的对象对它的基类成员中(    )是可以访问的。          (满分:3)
' P5 {0 E' m5 N# }; M8 [) P( z* d    A. 公有继承的公有成员
) M, q, Z) [6 m: I% D8 w    B. 公有继承的私有成员: f- f% b: {3 U
    C. 公有继承的保护成员: ^" M' H5 Z3 C1 M4 |: ~: ?2 M
    D. 私有继承遥公有成员, U1 y( `! H: f& f' S: u6 }4 T- T! b
9.在下列关键字中,用以说明类中公有成员的是(    )。          (满分:3)5 z" S# X4 v6 H; n2 Q
    A. public
6 ~0 P9 u1 B1 d# M& a+ G! J    B. private
% f  v- @2 q3 q+ M  p# d    C. protected
- f1 h9 W, w3 g: Y    D. friend0 M/ e; r" L8 `8 g0 H% n
10.以下程序的输出结果是(    )。     #include     main(    )     {      int x=1,y=0,a=0,b=0;           switch(x)           {      case 1:                    switch(y)                    {   case 0:a++;break;                        case 1:b++;break; }          (满分:3)9 Y, U/ f% _1 U. f5 U1 I
    A. 2( ^. S" ?! [0 F0 N, Y. c
    1: s' o  [7 u4 i5 d
    B. 1
5 {/ I$ K# I# /     1: Y- I- {1 ]" J4 N. W/ ]' R8 X
    C. 1
$ ^" d# l4 F2 W8 N- o    0
! k" Y) o4 ~* d! [: z* U7 f/ C    D. 28 Q% l- V! E/ g" u% O
    2! u9 k+ r3 p1 O+ z$ |; ^6 N& [
三、判断题:
7 ?5 X+ ^. F* w" k/ R, _1.C++语言和C语言都是面向对象的程序设计语言。          (满分:3)
) C: z! w( s6 G8 {" E2 c    A. 错误5 K" u3 P2 l8 W" @5 [$ j- Y
    B. 正确
% R/ {, h$ [  s, X2.假定AB为一个类,则执行“AB a(4),b[3],*p[2];”语句时,自动调用该类构造函数3次。          (满分:3)% R3 N* O  _- ~5 r8 {0 _( W
    A. 错误
) ?* l5 V  T  O9 `4 ]  g8 E    B. 正确0 [- p2 v/ F8 `4 l1 N! t
3.若在类Base和派生类Derived中,分别声明一个同名的整型成员变量int x;,那么通过Derived类的实例对象,不可能输出基类Base中的变量x的值。          (满分:3)) S8 K2 a- S: }, _# R5 ^
    A. 错误1 R; |$ L3 i8 b+ x3 s- n
    B. 正确
7 I" x9 ^* o. q4.每个cpp文件是单独编译的,但一个程序中多个cpp文件的编译顺序是不固定的。          (满分:3)
) b9 a, Q5 j, ]/ ~    A. 错误7 s' P- ?& a9 P. S
    B. 正确
7 y# _3 B# g) b$ }& m: x5.系统可以提供默认的析构函数。          (满分:3)
  ]  c3 M% h4 M* N+ ]    A. 错误
) r1 Z( C8 |6 H1 [! H& {+ l    B. 正确7 U' f0 b4 N5 h# y$ A. N
6.运算符重载不能改变原运算符的语义。          (满分:3)! l: P- r, Y' Q& L; Q' S
    A. 错误
3 H& U1 w. C6 o: a: E# x    B. 正确( r0 F; j+ V6 s
7.关键字friend用于声明友元。          (满分:3)" U3 p4 `, H. D* L
    A. 错误
, W% h( e6 g9 G  E    B. 正确0 k& t7 E6 d( s1 q# q
8.输出字符指针就是输出字符串。          (满分:3)6 A3 x4 I# z* H* @( p( Z
    A. 错误! z/ @( D7 b8 E! ]# W
    B. 正确4 s3 y& V4 D1 ^9 b: R' y" y4 S7 D# ]
9.指向一维数组的指针是一个二级指针。          (满分:3)6 g& m0 k: f- U3 N
    A. 错误
$ |! O* H- [% Z( L, p& j    B. 正确
0 x# d- P/ p% q( T+ m8 U9 L0 D10.在C++语言中,非保值转换应用强制类型转换。          (满分:3)) c; m% i2 E0 N7 /0 j6 K- a& b
    A. 错误
0 x6 J( ^/ Y' J+ d    B. 正确- d& `4 y, n5 w
9 n# o9 x0 D) x$ I! D8 b; G2 `
版权声明

声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系本站我们将配合处理!

分享: