资源描述
2021本科《C++语言程序设计》期末试题及答案(试卷号1075)
一、单选题(每小题2分,共40分)
B. k>o〜bar
D. 3 room
L下列符号中可以用作C++标识符的是《
A. radius
2.下列表达式中,不属于简单表达式的是(
A・—k
C 2050139
C. else
B. f(a.b)
D. my name is zhang Ban
3. 下列表达式中,有副作用的是(
B.i+3
D・ i = = 3
A」+十
C. i>3
4. 若OK是一个逻辑型变量,则在下列语句中,与其他语句输出不同的那个语句是( ).
A. if(OK> cout«*!!"i else cout«H??"i
B. if(OK—^true) cout«* H**> else cout«"??"i
Gif(! OK= = true) coutVV”!!' else cout«M??,,i
D. if( ! OK) cout«"??Hi else cout«"!!"i
5. while 句的语法格式可表示为*
whii“循环条件)循环体 下列关于while®句的表述中,错误的是( ).
A. 循环条件应该是~个遐辑表达式 B.睇还虫暨至少执行一次
C. 得环体是一个表达式 D.搪环体有可能一次都不执行
■
6. 话句"double brm[5]-(1.2t3)r定义了 一个一堆数也.关于此数坦•下列电述中销 俱的是。).
A. 数切的名祢是brm B.数组的类型是双精度实员
a数蛆有5个元素 D.元泰brm[IJ的初值呈I
7. 通句-int dat«[ ][3]-({lt2t3h<h2) 定义了一个二维数坦.关于此ttffl. F
列表述中绍误的是( )•
A.散蜗名称是dm. B. ttfflW 6个元素
C.最大列下板是2 D.元素data[2][l]的值为0
8 .已知fife一个无参有返回值函数.F列对f的调用中,作为俏句通用的是( ).
A. fO-Fh B.
C.cout«K)i af()i
9. 巳知尚数f的原型ft I void Hint xy[]. mt size) j ♦■中sixe表示致tfl xy的元素个数. 且还有如下散姬定义:
int
下列对f的测用中正确的是( ).
A・ B. Ka.6)
C f(xyC ]»6) D. f(xy*6)
10. 要想定义一个拘向字符Hello!M的指针p.且不允许通过p修改所指向的字符申,
则P成定义为( ).
A. char * const p*» **Hello!** i B. const char • HHelloJR i
C. char const p= wHello|M > D. conut char p= "Hello! * I
11. 下列话句定义变量P使用语句“cowVVp产编出纪伺Goodmorning, K中错误的定 义璃句是( ).
A・ chnr p[]— ** Good morning" j
B. char • p="Goodmorning" i
Cchur ・T.将
12. 有如下美声明,
class (
int itji
private!
inc mi
public)
int nt
private i
int pi
)I; .)
其中私有成员的个»&( ).
A. 2 B. 3
Q4 D.5
13, 关于类的御造rfi数.下列次述中铺误的是( ).
A. 每个类至少有网个构造函败
B. 构造雨数的名你与类名相同
C. 可以不捶供实•的构iftsfi数祢为默队的构ifi函散
D. 由造函败可以■钱
14. 关「夏制构造函数.下列取述中销识的足( >.
A. 夏制构造成散*照参数侍来的对象来初始化同类的新对象
B. 侍个类可以有多个国制悔ift函数
C. 如果类中没有声明复制枸ift函数,系统将自动件成一个默认的曜制构造雨数
D. 默从的发制构造函散以内存映像St制的方式来初始化新对象
is.巳知应川呆统中巳声明r如下函数)
inT hlock(double« int^O) i
下列函数声明试图Iftfl block,K中正确的是《 ).
double block(doublct int)i
H. int block(doublet int* chnr1" A ) i
C. int block(duubie> long^O) i
H int block(doublet int* char)i
16. 关于函数核板. F列表述中钳眼的是( ).
A. 函数模板声明以保御字template开头
B. 必须用虚拟类熨参数声明模板瞒数返网值的类型
C. 阀用棋板函数时.模板实参在,定条件下可以有略
D. 在调用模板函数时.根据需要,有可能生成康谒散模板的一个实例
17. 关于基类和源生类.下列艮述中1«误的是( ).
A. 一个病类町以杵若干源生类
B. 一个派生类可以有若干墓美
C基类是它的所有旅生类的共性的体现
D. 派生类继承基类的所宥非私有成员作为口己的成员
18. 关F虚函敬.下列A述中饼俶的是( ).
A.只■用virtual 的通数才是■谒敷
a只有关的成员浙敷才能责明为虚函散
c.在派生员中可以重新定义株类声朗的建*数
D. “杰成的函®(不得…明为由■散
19. 关于类慢板,下列役述中悄保的是( ).
A.卖模板以保御字trnnplm开去
K类模板的旬一个实例就是一个类定义
C. 可以为任意的一个或去个相板参散设置默从俗
D. ftttUfft的实参在一定条件下可以省略
20. 下列怵IH符中,不于C+ +旗操根符的中 ).
A・ delclc B. tctw
Q endl D. rixht
二、填空题I每小题2分,共20分)
2L程序开发过程的四个步骤按正碗的顺序分别称作,
22. 有如下枚举声明,
enum ANIMAL ( DOG. CAT=35, PIG. HEN. DOVE h
其中DOVE所对应的整敷是.
23. 结束所在循并类沿句或switch i»句执行的中断甬句的保留字为・
24. 语句“flom p[5]«( 1.1R2.2L3.3f );”定义了一维数坦p.其元素个数是・
25. 若一函散直接或间接调用丁滨谕数自身.此种类型的调用称为・
26. 有两个不同操作符都用符砂*表示.一个用于乘法,另一个用于・
27. 在定义类对象的语句执行时,系统在建立每个对象的过程中将0动调用该类的 筷其初始化.
28. 的报作符函数的名称是.
29. 只有饨虚函数的类称为・
30. 在C+ +旅中qdjetw.left等用于控制流的输入输出的符号统称为
三、给出下列程序运行后的输出结果(每小题8分,共24分)
31. 有如下程序,
凸 include<io!itream> ujting namespace stdi cluss A (
private:
int n$
publict
BCint i) ( n=ii}
A& operator 十十() <n + + , return ♦ this:)
A operator -|- + (int) ( n+ =21return • this?)
void DisplayC) (coul « "n=” « n « cndl;) }|
void rnatnO {
A a<2>. b(2)i
。+ + |
+ + b,
a. Display O»
b. DisplayC))
I
运行此程序的输出是<
32. 有如下程序,
4 includc<Cio5frcam>
using namespace std;
inx mainO (
inc x[] = (2.4・6.8・10,12), s-0i
forCint i = l > i<6; i+ = 2) a+ = x[iJr
COUt«S|
return 0)
运行此程序的籀出是(
33. 有如下程序, 茸 include<iostream2> using nnmcMpacc stdi int main()(
int x[]= (1.2,3.4.5} • • px=x$ for(int i=0ii<C5» i + + ) cout« * (px+i) > return 0(
> 运行此程序的输出是(
四、写出下列每个函数的功能(每小题8分,共16分)
34. int WDCint a[]. int n) {
int m—aCOji for(int i=lii<nii+ + )
if(H0>m) j
return m> ) 函数功能8
35. double FKint n) ( //n为大于等于1的整数
double x,y=(h do (
cin>>x; y+ = x • xi } while( n) i
return y> ) 函数功能8
试题答案及评分标准
仅供参考
小 H2 分,共 40 分)
h A
2. A
3. A
4.C
5.C
6. I)
7. B
'8. D
9. B
10. B
11.1)
12.C
13. A
14. B
15. D
16. B
17. D
l& A
19. C
20. A
二、埼空每小H2分.共20分)
21.
21. 38
22. hrenk
24.5
25. 通归调用
26. IfQttUIE]
27. 构造两数
28. operator/
29. 抽象卖
30. 楠根符
三, 写出下列llftii行后的输出««(«小・8分.共24分)
31. n・4
n — 3
32.24
33. 12345
四、写出下列擎个谓敝的功能(每小d 8分.共16分)
34・从整型数川,的n个元腐中求出Jft大值井返间.
33.求出从WfllkmA的n个实敷的平方和井讴队
展开阅读全文