|
一、单选题(共 30 道试题,共 60 分。)V 1. 下列各种高级语言中,______是面向对象编程语言。( )6 A6 m7 P M- g# J: M
A. BASIC$ |' B# v8 v7 f) V# I
B. C语言% D9 p. C; E) n- {, _+ n& ~
C. C++语言
# S1 G; d6 w4 [/ A! l* f/ OD. Pascal语言
9 ~+ s' p8 h9 `: F( Q 满分:2 分
& H' i P) e- a/ a |* a0 k `' |% ^2. 下面说法中,正确的是( )3 J9 K3 ^3 }- @9 ]) ^
A. 公有派生类的成员函数可以访问基类的私有成员
' Z& \3 F2 p7 T& z0 i |B. 私有派生类的成员函数可以访问基类的私有成员) ~# R" S1 [9 \& [9 I
C. 无论公有派生还是私有派生,派生类的成员函数均可以访问基类的公有成员
: S- g n' A5 z/ T3 {3 t" {" ]D. 无论公有派生还是私有派生,派生类的成员函数均可以访问基类的私有成员
- M+ [1 M7 T c7 V 满分:2 分1 k5 b7 F$ a) s6 }7 U( E! R; T! ]. B
3. 以下哪个不是循环语句( )5 C. d) F# i) [: g! c8 P# B) D. i) Q
A. while语句
: k( e2 U+ I6 s- ]& j' VB. do-while语句7 [) X* ]) ?$ f1 q4 k- M/ o
C. for语句
/ F4 `! E$ Q1 ^; N: ?- h/ OD. if-else语句
; n! e c6 o c' I2 A 满分:2 分
1 L' ?# |9 ?( o, Z/ s9 I4. 表达式9!=10的值为( )1 j B8 m3 Y& X: m3 y5 T
A. 非零值" O& v. \3 M2 Y J
B. true
0 e+ t- L! \: w) j1 dC. 08 w5 W( u3 k7 L7 {/ }
D. 1
/ e+ X1 T" K @9 b/ E2 _! O1 Y! Z 满分:2 分
# @6 x* E. R8 [$ S n2 S4 g5. 若用数组名作为函数调用时的实参,则实际上传递给形参的是( ); m8 H V6 C* X9 l5 w j, @* i
A. 数组首地址/ t9 ?& D5 `1 u0 c2 K
B. 数组的第一个元素值, g" X8 f9 z( |3 |6 z
C. 数组中全部元素的值$ ~9 U- {+ G! s4 G* I' U2 H$ S
D. 数组元素的个数) N Y$ Q( H1 U8 c% W+ A5 H" L# T
满分:2 分+ D7 ~7 l1 m$ a% S5 z6 ^1 b4 {
6. 循环体至少被执行一次的语句为( )
& Z4 b( C$ X3 }A. for循环* }5 T' c5 H3 o, ]8 [2 v
B. while循环
! G: G& m% I4 v& j0 Q* F8 _" p8 NC. do循环, q" Q" {9 ^3 x' C; k/ o: L, a
D. 任一种循环
9 P; ] A8 k6 C 满分:2 分! Y8 w' {( e$ f% Z$ z& g
7. 以下各选项企图说明一种新的类型名,其中正确的是( )
1 V3 y6 k$ v: a6 Z9 `; u0 M0 k' S* wA. typedef v1 int;: l; L4 t! Y" R, c! X
B. typedef v2=int;6 }2 V& M3 i+ g8 j! i) p
C. typedef int v3;4 N7 M0 ?+ v6 |+ K# M
D. typedef v4: int;
3 K2 k( H+ Z, a, L P 满分:2 分9 X6 F! j9 T. K3 t" R# S- z D
8. 下列的各函数中, 不是类的成员函数的是( )) R' Y% W H$ m5 @5 @1 @3 q3 w
A. 构造函数# |# Y, U6 t8 @5 t0 @4 O
B. 析构函数6 R" t! h" B/ j7 w& Q: z/ h% a
C. 友元函数4 {. H2 _) i3 k" V8 L
D. 复制构造函数
; z# T# U% k# ` X8 Z% q 满分:2 分
' C) M3 t. Z7 o; i9. 在下边的二维数组定义中,正确的是( )
: ]+ P. F% m8 \A. int a[5][]
0 \3 ?) Z3 ?3 ~7 B8 _B. int a[][5]0 C) l* o" K* ?" n; W) X+ n
C. int a[][3]={{1,3,5},2}
2 L; f- t/ N' b: c- HD. int a[](10)* r( f, W* z9 J6 t( e6 Z
满分:2 分
0 r3 d/ t* \- d1 B6 q. Q2 s10. 在一个源文件中定义的全局变量的作用域为( )
& {* D9 \5 L( w. M" h& E# {" VA. 本程序的全部范围3 x9 t6 ~, x0 X& `
B. 本函数的全部范围* s6 Q" L" }) |" D- ~5 \5 }0 }! a+ g
C. 从定义该变量的位置开始到本文件结束& H/ G0 j- }! o; z$ Q& X
D. 以上说法都不正确
0 P* `* J7 F* n; s% f 满分:2 分7 g. P. M! G" B4 t; T
11. 下面不能正确表示a*b/(c*d)的表达式是( )
, w9 o4 K" R5 eA. (a*b)/c*d
% Z6 a. J) A/ W$ s; }5 |# jB. a*b/(c*d): S* o; T9 x( X' S
C. a/c/d*b
' S0 v) T% _# }9 LD. a*b/c/d
- n6 q& q, I- H! \ 满分:2 分
& L* i& q% H( B! O4 V l# Q, `$ E& I12. 下列字符中不能构成标识符的是( )) c% Y/ [% J0 c, S2 o& E" o! K
A. 数字字符
- |9 J1 i# s7 @" Y4 lB. 大写字母
% d+ z. m2 K* W9 V* D% ?( s1 w" Z4 \* \C. 下划线字符% t; H/ O5 _7 n
D. 连接符& U* w! z" c0 v2 y) u- b
满分:2 分
2 [4 A1 `( d& l' ~6 J% ?# U) C13. 如果a=1,b=2,c=3,d=4,则条件表达式“a>b?a:c<d?c:d ” 的值为( )5 R( }# Z( b% F3 y6 _* l
A. 2
) W8 ^) b% ^* uB. 35 O2 O; H& t; m) L
C. 1' B; v( |: c+ f
D. 4
+ a2 L9 L- T7 e2 d" e8 ?* P2 B 满分:2 分
9 L1 Z$ i* _' l& ]9 S14. 当说明一个结构变量时,系统分配给它的内存是( )
0 [5 k( X5 S4 V$ l! h2 ]A. 各成员所需内存量的总和
. J5 ]' H. ^4 r) A* |B. 结构中第一个成员所需内存量
2 a% e2 L2 A; O& }3 {% B: _C. 成员中占内存量最大的成员所需的容量
+ d( w& A1 H) ~+ qD. 结构中最后一个成员所需内存量4 _+ [: F3 _. W! K% W
满分:2 分, v# g4 W, Z* l$ ~' d' d
15. 已知下列语句中的x和y都是int型变量,其中不正确的语句是( )
0 e }# ^+ _; \$ }8 r1 ~ NA. y+=++x;
8 b/ x* H, i. x4 T$ VB. ++x+=y;' m: l# _- B& ^3 |$ Q
C. y=x++;
# w7 U8 W% V4 j5 T2 CD. x++=y;
$ S4 H6 I. d& [5 M) _) H* {0 v 满分:2 分0 E# E i8 v; z9 X( z2 s- l' Z
16. 函数重载体现了面向对象的( )
|3 f% _0 z7 J3 H7 V4 ]A. 封装性
c/ d9 H$ L1 m JB. 多态性
$ t0 h7 I4 C, y' r( e! r& E, }' [C. 继承性
8 p; ^ v- o8 k& t1 sD. 抽象性
$ `6 ^ M9 _; `9 C7 z0 g2 W* [ 满分:2 分
9 P8 b. Z1 r% I$ |9 E17. 虚函数使用关键字( )
; K" E/ W; d% b$ ~ E9 I3 m. E: xA. virtual
9 v6 B8 r3 m0 f9 k* QB. static
' u3 j$ R6 Z; q/ |7 l, a& ]( TC. public H0 Y/ @7 h m; h3 y
D. private
7 l3 y9 I$ w2 B2 a3 f1 A2 ?; L' E 满分:2 分
3 B6 V! t( g+ ^& \% G18. 能正确表示x>=3或者x<1的关系表达式是( )4 f2 l. ^6 @" B& }: [* Z# I
A. x>=3 or x<1* x5 X/ \/ ~/ r' M& h' t) w
B. x>=3|x<1* M( C8 o" U! V) Y! Q4 z( E4 O6 Z
C. x>=3||x<1
. R, `* w2 D9 i! vD. x> =3&&x<13 A9 b7 b9 y# D) o
满分:2 分
7 n, ~7 g7 | B+ x, m19. 在下列运算符中,优先级最低的是( ) L3 o y+ A# b2 s4 e
A. ||
4 H( f( c4 M5 K' p; HB. !=
9 C2 z% s0 m. V0 [+ u# M6 AC. <, t7 ?; G! C' }1 `
D. +
, \3 l3 w- U- z- T% v& p4 N3 B 满分:2 分; o: t( ]4 y' Q7 ?' W
20. 下列对基类和派生类关系的描述中,错误的是( ); M0 \! C r& h2 R0 ?' H% f
A. 派生类是基类的具体化
' p9 o3 w; [, Y$ CB. 派生类是基类的子集
: z' _- U7 U4 nC. 派生类是基类定义的延续& {2 s5 C7 y; q2 E! R
D. 派生类是基类的组合+ e; z* t0 w r9 ?) y3 W" K
满分:2 分
; |$ {; U: F4 R: x' i4 P21. 静态成员函数仅能访问( )* s' c1 ]$ ~' r. I# t. }
A. 静态的数据成员
2 h* `% N4 u6 A$ U, S L8 }1 xB. 非静态的成员函数: { K6 z& u% n0 }
C. 非静态的数据成员+ B" @. W. Y; o6 ~! _6 Z4 m
D. 以上都不对
* d4 y1 H4 ~& e, |( j 满分:2 分9 h4 U4 [ X/ i1 z) J) T6 `
22. 如要求在if后一对括号中的表达式,表示a不等于0的时候的值为"真",则能正确表示这一关系的表达式为( )
0 i+ `% ?( @; a$ E: jA. a<>0
- d7 T! C# {( Z2 w. {B. !a
- W) j& P# a$ V7 M( F8 bC. a=04 D( m" A' g) }9 j9 `# i- I, }
D. a
2 U' ^+ @ m3 y2 {% \ 满分:2 分5 F3 i9 R2 g6 U$ b6 R
23. 已知字符'b'的ASCII码为98,语句printf("%d,%c",'b','b'+1 );的输出为( )$ q# X$ ?- e: w% }2 j8 C2 ?+ S
A. 98,b
& f/ E/ G& e1 y3 iB. 语句不合法* t5 j* q' `) N. r: \: t
C. 98,99
9 V, @$ o! k, U5 L& }- xD. 98,c% g, O1 \+ U }
满分:2 分
- X! b# ^( W0 ~) e8 m6 ^% [* S5 ?, n24. 下列运算符中,运算对象必须是整型的是( )
0 t9 Z: ^9 _" W$ Z bA. /( [# e- S& o7 j7 y. g7 l
B. %
$ `9 s, x0 R, L2 OC. =
( d% H6 [- q" P' q$ K" {D. &: f% A7 D# S8 Y4 }: ^0 E& n
满分:2 分 q0 n* @0 r7 g5 i+ g) t
25. 派生类公有继承基类时,基类中的所有公有成员成为派生类的______。( )/ a Z3 E: u5 j8 F$ R3 }
A. public 成员5 P/ b9 J5 s9 k
B. 友员
# |" ^! Q$ }7 {( n- {. d1 AC. protected成员
p6 U* @# z, q- \/ z; eD. private成员
4 W1 d5 n% T7 Y 满分:2 分
$ s! r1 i/ K4 n26. 下列关于C++语言类的描述中错误的是( )
7 K2 j e2 ~, r* Y5 fA. 类用于描述事物的属性和对事物的操作: G2 F9 i4 x9 I' X! S5 y
B. 类与类之间通过封装而具有明确的独立性/ w( F; X; w6 x' K" {9 V
C. 类与类之间必须是平等的关系,而不能组成层次结构
# O* m& c8 i* C% |+ E5 {D. 类与类之间可以通过一些方法进行通信和联络& O9 F" ~* n. f: _9 H
满分:2 分
3 Q3 h, m a& _% t7 s2 w. L% ]- m27. 下列各个成员函数中,纯虚函数是( )% [9 P* i8 o' \% ~
A. void fun(int)=0
4 O A* h9 d$ H' t; VB. virtual void fun(int)
7 v! P' q1 O" v1 X2 nC. virtual void fun(int){ }
( ?- N; H4 K4 v4 k. \! BD. virtual void fun(int)=0
# h+ U4 ] o; g! M3 K' Z+ f 满分:2 分
: S8 n7 _9 q/ m# n28. 下面关于new 和delete操作符的说法中,不正确的是( )2 o% L- A. ~, \3 @! q
A. 使用new操作符,可以动态分配全局堆中的内存资源
* a3 ?' k- C9 c* M% D' ?B. 若p的类型已由A*强制转换为void *,那么执行语句delete p;时,类A的析构函数不会被调用) Y6 ^! t, d# A6 X2 P4 i6 w
C. 实现全局函数时,new和delete通常成对地出现在由一对匹配的花括号限定的语句块中5 { K/ Q& ~9 v5 C& g
D. 执行语句A * p=new A[100]时,类A的构造函数只会被调用1次3 ~+ k5 i& z+ \4 X/ W9 @- C
满分:2 分$ ~, E1 g1 {( b8 c' f
29. 以下函数的返回结果是( )int function(char *x) { char *p=x; while(*p++); return(p-x-1); } S+ I3 e. h6 A9 g" |9 F |2 i8 x
A. 求字符串的长度3 V) a- B' M9 l% K* O1 _4 l* _
B. 将字符串x连接到字符串p后面" }6 f$ [8 r4 @) l+ C! E: Q
C. 将字符串x复制到字符串p中
4 d2 }* o4 v# p- W5 m& Q- I7 @5 DD. 将字符串x反向存放
+ p( y( Y: v7 G0 c4 }) t, g 满分:2 分
! Y, h- V# ]2 c* p: o! B5 {30. 下列关于函数模板和模板函数的描述,错误的是( )
2 u, p4 p5 V. o2 r8 M: ?A. 函数模板是一组函数的模板1 u" |2 c5 d3 l) k$ ?: i
B. 模板函数是一个实在的函数
) s7 z. m* J5 U9 r; S1 q5 ^C. 函数模板是定义重载函数的一种工具
) A- l! K3 w/ H6 n- wD. 模板函数在编译时不生成可执行代码& E' d% i& L" N4 ]% M& T$ `
满分:2 分
( [# g- d" _/ [( o
4 i0 @ c0 B, f0 n( t& _6 I/ }二、判断题(共 20 道试题,共 40 分。)V 1. C++语言中,标识符不区分大小写。( )+ j# V/ _- u. T; x L
A. 错误
9 M9 {# x- I2 f$ @" c" WB. 正确
5 @+ G( y1 y2 T6 [& f2 Y5 y 满分:2 分
$ t* I9 }, {0 j# a5 w( C2. NULL与void *是不同的概念,NULL是一个指针值,任何类型的指针都可赋予该值。而void *是一种类型,是一种无任何类型的指针。( )( ^4 T; B! J/ x& f: W8 A
A. 错误- K( R- g5 C# U, M
B. 正确- I6 N) g" p& t- g# h
满分:2 分
0 ~% j5 U# U% h+ v, E8 |8 L o3. 字符型数据在内存中的存储形式是ASCII码( )
2 |; R# r/ z% c4 P! G6 |# wA. 错误% ^; C4 L& q+ }/ h2 z8 l
B. 正确5 h, `- ~2 J" K
满分:2 分3 g; H* l. t" @; \. n4 h& w* T: V
4. NULL是空指针值,它不指向任何地方。( ). `1 ]* m; k/ A, G
A. 错误
6 C H+ T' _' ? a" LB. 正确$ g; W$ e6 x- V4 N+ o1 T- U8 q# m
满分:2 分% ]. q7 @0 @2 a. f: w
5. 系统可以提供默认的析构函数。( ), H( m( M8 _; \% p( m
A. 错误
- l. g( A8 |5 Y2 N D! K# x TB. 正确1 B/ H% F% R# E* Q0 b
满分:2 分
F& J+ E2 m, R' H6. 定义全局变量要在程序开始时进行,并且放在所有函数的外面,静态局部变量要在函数内部定义,但生命期却随函数的第一次被调用而产生。( )
7 R6 r% Y) S) T5 S% FA. 错误
2 V7 F1 N1 k2 \' P+ z' T7 U/ H4 hB. 正确6 k& ?" v0 E' H. { x
满分:2 分
, ]; U2 v" g7 J" ?% \; m# U5 M7. 静态就是让变量和函数在生命的区域内成为私有。( )
5 i& A- j2 U0 F0 o* C# Y* h' RA. 错误0 z! p- `2 z8 \, }
B. 正确
) q' m- B2 o3 d4 P# J 满分:2 分3 W/ s+ \! U" q
8. C语言程序总是从主函数开始执行,在主函数结束。( )7 y2 a$ ?' I5 c: N2 g- W7 L
A. 错误! Y E, X& b% a- }. N4 h5 ?
B. 正确+ s0 x+ f: G5 ]& i* p
满分:2 分
/ H0 e8 ]" [/ v% U' O, n9. 字符型变量用来存放字符常量,可以存放多个字符。( )2 i3 B3 T2 e4 P4 l/ k1 [: A
A. 错误
w2 L) Q& @5 W& C7 U# uB. 正确
& ^2 z, ~& l, C; y" f; `3 N1 ?! H 满分:2 分* g) w+ v0 s4 P
10. 自增运算符和自减运算符只能用于变量,不能用于常量或表达式 。( )' X: U) I" b- ? L) x
A. 错误: o) n I- t+ ~+ w; j8 k
B. 正确
/ R" w3 d9 V& Z 满分:2 分% t% T$ |) g$ N8 a+ U
11. 声明一个结构并不分配内存,内存分配发生在定义这个新数据类型的变量中。( )) Q' g9 b: H: Q. ^- \( B
A. 错误6 @1 v6 T2 ~4 g) _/ z
B. 正确
: t# Q/ u! b' U& I0 Q4 Y3 t 满分:2 分- B3 o8 C) `% f3 ?8 F
12. sizeof运算符用于计算某种类型的对象在内存中所占的字节数。( )4 S# N' O& X& w8 }7 _/ M
A. 错误/ V) V+ R) }' c/ W
B. 正确
# B* Y. a9 q( D$ K T 满分:2 分
! F0 B' I6 J5 ~13. 一个类的成员函数可以任意被调用( )# V. z! {+ \& P$ K; j0 o) L. A
A. 错误1 G( y6 W: Y6 F) |+ ~7 w; C" G
B. 正确1 E& G- v2 X( }
满分:2 分$ T- N( w( c) N1 m+ A
14. 在使用C语言库函数时,要用预编译命令“#include”将有关的头文件包括到用户源文件中。( )& C. W% [/ Z$ l
A. 错误
$ ]0 _- L% Y) z$ V8 j5 }B. 正确) X" h9 ?& R. z. V; [# Y
满分:2 分
3 g9 l3 c4 P" a; U) |" ^/ _) n/ g15. 一般float类型数据在内存中占4个字节,double型数据占8个字节,long double型数据占8个字节。( )
0 l/ C2 P# b( X+ k2 m2 {A. 错误0 i' V; o- N1 T0 p! ^5 A
B. 正确
+ B7 f2 D3 o7 ^6 v# Z; W) v/ w 满分:2 分" h+ L9 k$ i( c: r+ T
16. 指针在使用前可以不进行初始化( )
/ t/ G7 j2 n) f1 F7 |A. 错误6 |! } A# A% C/ {8 K7 G0 Q1 P2 A$ R
B. 正确
5 i y# a% e( t) [0 J5 C 满分:2 分
6 E5 `) r% _$ `6 C# ]17. 引用的目的主要用于在函数参数传递中,解决大对象的传递效率和空间都不如意的问题。( )
: l9 ^0 }3 \& z; ^5 ?# k8 a" o# |A. 错误/ e; u) ^# ?9 Q* R
B. 正确
6 j" U1 ~9 ]0 `* a$ ?+ C" w 满分:2 分
, d ?9 |' x9 B* O- Q# b9 n18. 在程序运行过程中,其值不能被改变的量称为常量( )2 J4 g# B! {' U
A. 错误
' [" K9 C: }7 ~: yB. 正确) C; W4 ?$ B% n+ {& @+ r! T2 {
满分:2 分
1 m: t7 E' z3 x8 r, ]3 O19. C++中函数声明就是函数原型。( ); v2 k4 ?2 `# L7 o. H. K& w
A. 错误
0 r5 E) R9 h1 @" X1 K. N0 gB. 正确6 P/ P1 q. N2 \- L
满分:2 分
/ I: ~. }" o( w& Z- P5 M0 @20. 用一个标识符代表一个常量的称为符号常量,符号常量不同于变量,它的值在其作用域内不能改变,也不能再被赋值。( )
4 H, m; A! a' k; o h, W& E& BA. 错误
( \6 `* s4 _( k. X i% m9 DB. 正确
# M7 m$ V' A" j. ~5 X; } 满分:2 分 |
|