还剩5页未读,继续阅读
文本内容:
国家开放大学年春季学期期末统一考试2022语言程序设计试题答案及评分标准C++(供参考)年月20227-、单选题(每小题分,共分)
2401.C
2.D
3.B
4.B
5.A
6.C
7.A
8.C
9.B
10.A
11.D
12.A
13.D
14.D
15.D
16.A
17.A
18.C
19.C
20.A
二、填空题(每小题分,共分)
22021.cpp函数调用
22.
23.x=
524.9值
25.
26.46析构函数
27.实例
28.非多态调用29,
30.false
三、写出下列程序运行后的输出结果(每小题分,共分)
82431.AA:n=
0124432.
4133.14325
四、写出下列每个函数的功能(每小题分,共分)816统计出数组中大于等于其平均值的元素个数并作为函数值返回
34.a[n]求出从键盘上输入的个实数的和并返回
35.n试卷(弋号1075年月20227国家开放大学年春季学期期末统一考试2022
一、单选题(每小题分,共分)240执行下列语句后,不可能出现的情况是1,()cin k;if(k100)cout/G;if(k100)cout.I;显示显示A.G B.L显不无任何显示C.GL D.执行语句序列2,int a=
23.3后,屏幕显示的是(cout(a+=32,15);)oB.
55.3A.
55.45D.55C.
55.15o下列表达式中,无副作用的是(3,B.i+3A.i++D.cout«iC.i+=34,有如下语句switch(n)n+=2default:n+=3语言程序设计试题C++若一开始的值为则执行此语句后,的值是(n0,nA.0B.C.31语句的语法格式可表示
5.do...le为(循环条件)dowhi le;下列关于语句的表述中,错误的是(do…while循环体有可能一次都不执行A,循环体是一个语句或一组复合语句B,循环体和循环条件执行的次数相同C,循环条件是一个逻辑表达式或关系表达D,.语句〃表式6int crm
[7]={1,2,3};述中错误的是()”定义了一个一维数组关于此数组,下列数组的名称是A.erm数组有个元素数组的类型是整型C3B,数组的最大下标.D.6若要定义一个整型二维数组使其元素的初始值排列如下7,data,则下列定义语句中错误的是oA.intdata
[3]{1,2,3},{1,2},{1}};B.intdata
[3]
[3]={{1,2,3},{1,2,0},{1,0,0}};C.intdatao
[3]={{1,2,3},1,2,0},1,0,0}};D.intdata
[3]
[3]={1,2,3},{1,2},{1}};下列原型声明中的8,函数,不可作为表达式调用的是A.int afchar;B.double bfvoid;C.void cfdouble;D.long dfint i,long n;关于函数定义中的形参声明,下列表述中正确的是9,o每个形参声明定义一个常量每个形参声明定义一个变量A,B.每个形参声明定义一个类型修饰符.每个形参声明定义一个表达式C.D关于地址,下列表述错误的是
10.o数据可以存放在从任何地址开始的若干连续的存储单元中A,程序中的每个变量都对应一个地址B,每个单元占用一个字节,对应一个唯一的地址C,地址本身也可以作为数据来处理D,下列语句试图定义指针使之指向一个动态空间中的型二维数组,其中正
11.P,intA.int*p[]
[5]=new int
[6]
[5];B.int*p
[5]=new int
[6]
[5];口D.int*p
[5]new int
[6]
[5];C.int*P
[5]=new int
[6]
[5]二确的是的默认访问属性是o B.protected
12.classA.privateD.staticC.public若有一个名为的类,则下列关于错误的是
13.XY o该类构造函数和析构函数的表述中,类的构造函数名为类的析构函数名为~乂丫A.XY XYB.XY类可以有多个构造函数类可以有多个析构函数C XYD.XY已知类的类体中有如下成员函数定义_
14.AA要在类中将其声明为友兀,正确的是int Doubleinto const{return n+n;}BB oA.friend intDoubleint n:B.friend intDoubleint nconst;C.friend int AADoubleint n:D.friend intAADoubleintconst;已知在类体外有如下操作符重载声明15,AA operator+AA,AA;其中的是类名若、是两个的对象,下列表达式欲求、之和,其AA X y AAXy中正确的是oA.X.operator+y B.y.operator+xC.x operator+y D.operator+x,y关于函数模板,下列表述中错误的是()
16.要声明虚拟类型参数,必须使用保留字A.typename函数模板的参数表必须用括起来B,V>函数模板可以有多个参数C,可以为函数模板的参数设置默认值D,关于继承成员的访问属性,下列表述中错误的是()
17.在公有继承方式下,所有继承成员的访问属性保持不变A,在保护继承方式下,原来的公有属性变为保护属性B,在私有继承方式下,原来的公有、保护属性变为私有属性C,在任何继承方式下,原来的私有属性变为继承的私有属性D,关于纯虚函数和抽象类,下列表述中错误的是
18.().以“二结尾的虚函数声明,所声明的即为纯虚函数A.0;”据有纯虚函数的类称为抽象类,不能用于定义对象B.纯虚函数没有实现版本C.派生类给出实现版本后,不再是纯虚函数,但仍然是虚函数D,有如下类模板定乂
19.templateint ize=10,typename T=intclassMG(public:data[size]*J*下面的语句试图定义模板类的对象,其中错误的是(MGA.MGOobj;B.MG20obj;中,完成输出操作的C.MGdoubleobj;D.MG20,doubleobj;函数是(流的下列函数(只列函数名)
20.C++A.put B.getC.read D.i gnore
二、填空题(每小题分,共分)220源程序文件的缺省扩展名为
21.C++o简单表达式包括常量、变量和
22.o关系表达式的相反表达式为
23.x5o语句”定义了二维数组的,其元
24.“intd[]
[3]={{h2,3},{1,2},{1});素个数是函数被调用时,实参向形参的传送分为引用传送和__________传送两种方
25.式假定指针所指对象的值为所指对象的值为则*++的值
26.p25,p+146,[3为O_假定指针指向一个类的动态分配的对象,则执行.〃语句时,将自
27.px“deletepx动调用该类的o根据一函数模板生成的函数定义称为该模板的
28.o对虚函数的调用分为两种情况多态调用和
29.对于一个输入流,当输入到达流尾时,函数的值是
30.C++good o
三、写出下列程序运行后的输出结果(每小题分,共分)824有如下程序
31.#included iostreamusing namespace std;classAA{public:static intn,AA{n++;;intAA::n=0;void main{coutV V〃AA::n=〃V VAA.nendl;AAdl,Coutdl.nendl;AAd2,coutVVd
2.nV Vendl;AAd3,d4;cutd
3.nendl;cutd
4.nendl;}运行此程序的输出是有如下程序
32.#include iostreamUsingnamespace std;int mainintX[]
[4]={{1,2,3,4},{5,6,7},{8,9},s=0;int i=0whilei3forint j=0;jV3;j++s+=x[i][j];i++;Couts;return0;运行此程序的输出是o有如下程序
33.#include iostreamusingnamespacestd;int mainint x[]={1,2,3,4,5},*px=x;int s=*px+l;*px+l=*px+3;*px+3=s;forinti=O;iV5;i++coutVVx[i];return01运行此程序的输出是o
四、写出下列每个函数的功能每小题分,共分
81634.int LKinta[],intndouble s=0;int i,m=0;for i=0;i V++=s+=a[i];s=s/n;for i=0;i++=if a[i]=sm++;return m;函数功能为大于等于的整数
35.doubleFl(int n)(//n1double x,y0;二do)cinx;y+=x;}while(n);一return y;)函数功能。