华师15春《C++程序设计》在线作业
) 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开始
C. 通过使用不同的类型参数,函数模板可以生成不同类型的函数
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. 函数必须有返回值
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. 虚机制在构造函数和析构函数中仍然可以很好的工作,以实现多态性
D. 构造函数和析构函数不接受任何参数,也不带有任何类型的返回值' r; {3 y8 F) E( ~; F$ f; I
4.假定一条定义语句为“int a[10],x,*pa=a;”,若要把数组a中下标为3的元素值赋给x,则正确的语句为( )。 (满分:4)
A. x=pa[3];$ B/ `$ R0 p4 U. {6 k' {
B. x=*(a+3);
C. x=a[3];
D. x=*pa+3;9 E/ ]0 Z+ x, f9 E0 `" c8 t2 h3 ^
5.以下说法中不正确的是( )。 (满分:4)
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( )函数中定义
6.下面关于指针变量和引用变量的说法正确的是( )。 (满分:4)
A. 指针变量存放的是内存地址,并且可以置为05 t; n+ D( k" ^2 B) y
B. 定义引用变量时,必须同时指明具体被引用的对象或变量, Y. g, E0 @4 @: S: j& t* M
C. 使用取地址操作符,可以取得指针变量自身的地址,但取不到引用变量自身的地址
D. 类中的数据成员可以是指针变量,但不能是引用变量
7.下列说法中错误的是( )。 (满分:4)
A. C++程序总是从第一个定义的函数开始执行6 o& f( L& C T
B. C++程序总是从main函数开始执行
C. C++函数必须有返回值,否则不能使用函数* O' V) }. p8 d: C: h* v
D. C++程序中有调用关系的所有函数必须放在同一个程序文件中3 j$ z2 u4 b7 y& t% d
8.以下不正确的描述是( )。 (满分:4)
A. 函数的定义可以嵌套,函数的调用不可以嵌套; H6 T- m$ Y" m- e
B. 函数的定义不可以嵌套,函数的调用可以嵌套
C. 函数的定义和函数的调用均可以嵌套
D. 函数的定义和函数的调用均不可以嵌套
9.若x是整型变量,pb是基类型为整型的指针变量,则不正确的赋值表达式是( )。 (满分:4)
A. *pb=&x;
B. pb=&x/ |6 Z3 ?6 t$ ~
C. pb=x;
D. *pb=*x
10.在C++语言中,不合法的字符常量是( )。 (满分:4)
A. /x43'
B. 'ab'
C. '/084'0 o$ _/ F( S1 }. w: b
D. "/0"6 p, u/ T7 o9 z) r
二、多选题:
1.在一个被调用函数中,关于return语句使用的描述,错误的是( )。 (满分:3). q, L; F/ ?) K
A. 被调用函数中可以不用return语句
B. 被调用函数中可以使用多个return语句5 J; a" ?3 _' D V& I
C. 被调用函数中,如果有返回值,就一定要有return语句
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. 任意
C. int+ P. N1 w3 G- f E; [
D. 无
3.下述关于break语句的描述中,( )是不正确的。 (满分:3)
A. break语句可用于循环体内,它将退出该重循环1 u8 Y% g' |+ D! G% X! j; g
B. break语句可用于switch语句中,它将退出switch语句
C. break 语句可用于if体内,它将退出if 语句+ u$ X) K! D" [7 M8 ]
D. break语句在一个循环体内只可以出现一次) s* N2 ~8 G! l. e. u
4.关于多继承二义性的描述中,( )是错误的。 (满分:3)
A. 一个派生类的两个基类中都有某个同名成员,在派生类中对这个成员的访问可能出现二义性
B. 解决二义性的最常用的方法是对成员的限定法0 U) w+ _+ O& `! V7 K; X
C. 基类和派生类同时出现的同名函数,也存在二义性问题9 H, T+ u+ ^) O2 K' p
D. 一个派生类是从两个基类派生来的,而这两个基类又有一个共同的基类,对该基类成员进行访问时,也可能出现二义性: ]) O2 j3 ]. Q8 R! u
5.派生类的构造函数的成员初始化列表中,不能包含( )。 (满分:3)
A. 基类的构造函数- h$ h1 n/ G2 t, J
B. 派生类中子对象的初始. ?7 o9 A& /( o* W. q6 l
C. 基类的子对象初始化
D. 派生类中一般数据成员的初始化
6.类型修饰符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
D. float% a$ A% {1 W0 R3 q6 d% L: p
7.下列关于指针的运算中,( )是非法的。 (满分:3)
A. 两个指针在一定条件下,可以进行相等或不相等的运算
B. 可以用一个空指针赋值给某个指针
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)
A. 公有继承的公有成员
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
B. private
C. protected
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
1: Y- I- {1 ]" J4 N. W/ ]' R8 X
C. 1
0
D. 28 Q% l- V! E/ g" u% O
2! u9 k+ r3 p1 O+ z$ |; ^6 N& [
三、判断题:
1.C++语言和C语言都是面向对象的程序设计语言。 (满分:3)
A. 错误5 K" u3 P2 l8 W" @5 [$ j- Y
B. 正确
2.假定AB为一个类,则执行“AB a(4),b[3],*p[2];”语句时,自动调用该类构造函数3次。 (满分:3)% R3 N* O _- ~5 r8 {0 _( W
A. 错误
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. 正确
4.每个cpp文件是单独编译的,但一个程序中多个cpp文件的编译顺序是不固定的。 (满分:3)
A. 错误7 s' P- ?& a9 P. S
B. 正确
5.系统可以提供默认的析构函数。 (满分:3)
A. 错误
B. 正确7 U' f0 b4 N5 h# y$ A. N
6.运算符重载不能改变原运算符的语义。 (满分:3)! l: P- r, Y' Q& L; Q' S
A. 错误
B. 正确( r0 F; j+ V6 s
7.关键字friend用于声明友元。 (满分:3)" U3 p4 `, H. D* L
A. 错误
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. 错误
B. 正确
10.在C++语言中,非保值转换应用强制类型转换。 (满分:3)) c; m% i2 E0 N7 /0 j6 K- a& b
A. 错误
B. 正确- d& `4 y, n5 w
9 n# o9 x0 D) x$ I! D8 b; G2 `
) 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开始
C. 通过使用不同的类型参数,函数模板可以生成不同类型的函数
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. 函数必须有返回值
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. 虚机制在构造函数和析构函数中仍然可以很好的工作,以实现多态性
D. 构造函数和析构函数不接受任何参数,也不带有任何类型的返回值' r; {3 y8 F) E( ~; F$ f; I
4.假定一条定义语句为“int a[10],x,*pa=a;”,若要把数组a中下标为3的元素值赋给x,则正确的语句为( )。 (满分:4)
A. x=pa[3];$ B/ `$ R0 p4 U. {6 k' {
B. x=*(a+3);
C. x=a[3];
D. x=*pa+3;9 E/ ]0 Z+ x, f9 E0 `" c8 t2 h3 ^
5.以下说法中不正确的是( )。 (满分:4)
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( )函数中定义
6.下面关于指针变量和引用变量的说法正确的是( )。 (满分:4)
A. 指针变量存放的是内存地址,并且可以置为05 t; n+ D( k" ^2 B) y
B. 定义引用变量时,必须同时指明具体被引用的对象或变量, Y. g, E0 @4 @: S: j& t* M
C. 使用取地址操作符,可以取得指针变量自身的地址,但取不到引用变量自身的地址
D. 类中的数据成员可以是指针变量,但不能是引用变量
7.下列说法中错误的是( )。 (满分:4)
A. C++程序总是从第一个定义的函数开始执行6 o& f( L& C T
B. C++程序总是从main函数开始执行
C. C++函数必须有返回值,否则不能使用函数* O' V) }. p8 d: C: h* v
D. C++程序中有调用关系的所有函数必须放在同一个程序文件中3 j$ z2 u4 b7 y& t% d
8.以下不正确的描述是( )。 (满分:4)
A. 函数的定义可以嵌套,函数的调用不可以嵌套; H6 T- m$ Y" m- e
B. 函数的定义不可以嵌套,函数的调用可以嵌套
C. 函数的定义和函数的调用均可以嵌套
D. 函数的定义和函数的调用均不可以嵌套
9.若x是整型变量,pb是基类型为整型的指针变量,则不正确的赋值表达式是( )。 (满分:4)
A. *pb=&x;
B. pb=&x/ |6 Z3 ?6 t$ ~
C. pb=x;
D. *pb=*x
10.在C++语言中,不合法的字符常量是( )。 (满分:4)
A. /x43'
B. 'ab'
C. '/084'0 o$ _/ F( S1 }. w: b
D. "/0"6 p, u/ T7 o9 z) r
二、多选题:
1.在一个被调用函数中,关于return语句使用的描述,错误的是( )。 (满分:3). q, L; F/ ?) K
A. 被调用函数中可以不用return语句
B. 被调用函数中可以使用多个return语句5 J; a" ?3 _' D V& I
C. 被调用函数中,如果有返回值,就一定要有return语句
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. 任意
C. int+ P. N1 w3 G- f E; [
D. 无
3.下述关于break语句的描述中,( )是不正确的。 (满分:3)
A. break语句可用于循环体内,它将退出该重循环1 u8 Y% g' |+ D! G% X! j; g
B. break语句可用于switch语句中,它将退出switch语句
C. break 语句可用于if体内,它将退出if 语句+ u$ X) K! D" [7 M8 ]
D. break语句在一个循环体内只可以出现一次) s* N2 ~8 G! l. e. u
4.关于多继承二义性的描述中,( )是错误的。 (满分:3)
A. 一个派生类的两个基类中都有某个同名成员,在派生类中对这个成员的访问可能出现二义性
B. 解决二义性的最常用的方法是对成员的限定法0 U) w+ _+ O& `! V7 K; X
C. 基类和派生类同时出现的同名函数,也存在二义性问题9 H, T+ u+ ^) O2 K' p
D. 一个派生类是从两个基类派生来的,而这两个基类又有一个共同的基类,对该基类成员进行访问时,也可能出现二义性: ]) O2 j3 ]. Q8 R! u
5.派生类的构造函数的成员初始化列表中,不能包含( )。 (满分:3)
A. 基类的构造函数- h$ h1 n/ G2 t, J
B. 派生类中子对象的初始. ?7 o9 A& /( o* W. q6 l
C. 基类的子对象初始化
D. 派生类中一般数据成员的初始化
6.类型修饰符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
D. float% a$ A% {1 W0 R3 q6 d% L: p
7.下列关于指针的运算中,( )是非法的。 (满分:3)
A. 两个指针在一定条件下,可以进行相等或不相等的运算
B. 可以用一个空指针赋值给某个指针
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)
A. 公有继承的公有成员
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
B. private
C. protected
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
1: Y- I- {1 ]" J4 N. W/ ]' R8 X
C. 1
0
D. 28 Q% l- V! E/ g" u% O
2! u9 k+ r3 p1 O+ z$ |; ^6 N& [
三、判断题:
1.C++语言和C语言都是面向对象的程序设计语言。 (满分:3)
A. 错误5 K" u3 P2 l8 W" @5 [$ j- Y
B. 正确
2.假定AB为一个类,则执行“AB a(4),b[3],*p[2];”语句时,自动调用该类构造函数3次。 (满分:3)% R3 N* O _- ~5 r8 {0 _( W
A. 错误
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. 正确
4.每个cpp文件是单独编译的,但一个程序中多个cpp文件的编译顺序是不固定的。 (满分:3)
A. 错误7 s' P- ?& a9 P. S
B. 正确
5.系统可以提供默认的析构函数。 (满分:3)
A. 错误
B. 正确7 U' f0 b4 N5 h# y$ A. N
6.运算符重载不能改变原运算符的语义。 (满分:3)! l: P- r, Y' Q& L; Q' S
A. 错误
B. 正确( r0 F; j+ V6 s
7.关键字friend用于声明友元。 (满分:3)" U3 p4 `, H. D* L
A. 错误
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. 错误
B. 正确
10.在C++语言中,非保值转换应用强制类型转换。 (满分:3)) c; m% i2 E0 N7 /0 j6 K- a& b
A. 错误
B. 正确- d& `4 y, n5 w
9 n# o9 x0 D) x$ I! D8 b; G2 `
版权声明
声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益
请联系本站我们将配合处理!
上一篇 : 华师15春《财务分析》在线作业答案
下一篇 :东财15春《财务管理》在线作业答案