报名本机构合作学校,赠送复习资料,复习课程,确保录取。并且可以申请学校奖学金500元~1500元不等!

试卷代号:1075
百年教育职业培训中心2022年春季学期期末统一考试
C++语言程序设计试题
2022年7月
一、单选题(每小题2分,共40分)
1.执行下列语句后,不可能出现的情况是( )。
cin>>k;
if(k>100)cout<<'G';
if(k<100)cout<<'L';
A.显示GB.显示L
C.显示GLD.无任何显示
2.执行语句序列
int a=23.3
cout<<(a+=32.15);
后,屏幕显示的是( )。
A.55.45B.55.3
C.55.15D.55
3.下列表达式中,无副作用的是( )。
A.i++B.i+3
C.i+=3D.cout<<i
4.有如下语句:
switch(n){
case0:
case1:n+=l;break;
case2:n+=2;
default:n+=3;
}
若一开始n的值为O,则执行此语句后,n的值是( )。
A.OB.1
C.3D.6
5.do...le语句的语法格式可表示为:
do循环体while(循环条件);
下列关于do... while语句的表述中,错误的是( )。
A.循环体有可能一次都不执行
B.循环体是一个语句或一组复合语句
C.循环体和循环条件执行的次数相同
D.循环条件是一个逻辑表达式或关系表达式
6.语句“int crm[7]={1,2,3};”定义了一个一维数组。关于此数组,下列表述中错误的是( )。
A.数组的名称是crmB.数组的类型是整型
C.数组有3个元素D.数组的最大下标6
7.若要定义一个整型二维数组data,使其元素的初始值排列如下:
1 2 3
1 2 0
1 0 0
则下列定义语句中错误的是( )。
A.int data[3][]={{1,2,3},{1,2},{1}};
B.int data[3][3]={{1,2,3},{1,2,0},{1,O,O}};
C.int data[][3]={{1,2,3},{1,2,O},{1,0,0}};
D.int data[3][3]={{1,2,3},{1,2},{1}};
8.下列原型声明中的函数,不可作为表达式调用的是( )。
A.int af(char);B.double bf(void);
C.void cf(double);D.long df(int i,long n);
9.关于函数定义中的形参声明,下列表述中正确的是( )。
A.每个形参声明定义一个常量B.每个形参声明定义一个变量
C.每个形参声明定义一个类型修饰符D.每个形参声明定义一个表达式
10.关于地址,下列表述错误的是( )。
A.数据可以存放在从任何地址开始的若干连续的存储单元中
B.程序中的每个变量都对应一个地址
C.每个单元占用一个字节,对应一个唯一的地址
D.地址本身也可以作为数据来处理
11.下列语句试图定义指针p,使之指向一个动态空间中的int型二维数组,其中正确的是( )。
A.int*p[][5]=new int[6][5];B.int*p[5]=new int[6][5];
C.int(*P)[][5]=new int[6][5];D.int(*p)[5]=new int[6][5];
12.class的默认访问属性是( )。
A.privateB.protected
C.publicD.static
13.若有一个名为XY的类,则下列关于该类构造函数和析构函数的表述中,错误的是( )。
A.类XY的构造函数名为XYB.类XY的析构函数名为~XY
C类XY可以有多个构造函数D.类XY可以有多个析构函数
14.已知类AA的类体中有如下成员函数定义:
int Double(intn)const{return n+n;}
要在类BB中将其声明为友元,正确的是( )。
A.friend int Double(int n);B.friend int Double(int n)const;
C.friend int AA::Double(int n);D.friend int AA::Double(int)const;
15.已知在类体外有如下操作符重载声明:
AA operator+(AA,AA);
其中的AA是类名。若x、y是两个AA的对象,下列表达式欲求x、y之和,其中正确的是( )。
A.X.operator+(y)B.y.operator+(x)
C.x operator+yD.operator+(x,y)
16.关于函数模板,下列表述中错误的是( )。
A.要声明虚拟类型参数,必须使用保留字typename
B.函数模板的参数表必须用<>括起来
C.函数模板可以有多个参数
D.可以为函数模板的参数设置默认值
17.关于继承成员的访问属性,下列表述中错误的是( )。
A.在公有继承方式下,所有继承成员的访问属性保持不变
B.在保护继承方式下,原来的公有属性变为保护属性
C.在私有继承方式下,原来的公有、保护属性变为私有属性
D.在任何继承方式下,原来的私有属性变为继承的私有属性
18.关于纯虚函数和抽象类,下列表述中错误的是( )。
A.以“=0;”结尾的虚函数声明,所声明的即为纯虚函数
B.据有纯虚函数的类称为抽象类,不能用于定义对象
C.纯虚函数没有实现版本
D.派生类给出实现版本后,不再是纯虚函数,但仍然是虚函数
19.有如下类模板定义:
template<int ize=10,typename T=int>classMG{public:T data[size];};
下面的语句试图定义模板类MG的对象,其中错误的是( )。
A.MG<>obj;B.MG<20>obj;
C.MG<double>obj;D.MG<20,double>obj;
20.C++流的下列函数(只列函数名)中,完成输出操作的函数是( )。
A.putB.get
C.readD.ignore
二、填空题(每小题2分,共20分)
21.C++源程序文件的缺省扩展名为 。
22.简单表达式包括常量、变量和 。
23.关系表达式x<5的相反表达式为 。
24.语句“int d[][3]={{1,2,3},{1,2},{1}};”定义了二维数组的,其元素个数是
。
25.函数被调用时,实参向形参的传送分为引用传送和 传送两种方式。
26.假定指针p所指对象的值为25,p+l所指对象的值为46,则*++p的值为 。
27.假定指针px指向一个类的动态分配的对象,则执行“deletepx.”语句时,将自动调用该类的 。
28.根据一函数模板生成的函数定义称为该模板的 。
29.对虚函数的调用分为两种情况:多态调用和 。
30.对于一个C++输入流,当输入到达流尾时,函数good的值是 。
三、写出下列程序运行后的输出结果(每小题8分,共24分)
31.有如下程序:
#include<iostream>
using namespace std;
classAA{
public:
static in tn,
AA(){n++;}
};
int AA::n=0;
void main(){
cout<<"AA::n="<<AA.n<<endl;
AAdl,
Cout<<dl.n<<endl;
AAd2,
cout<<d2.n<<endl;
AAd3,d4;
cut<<d3.n<<endl;
cut<<d4.n<<endl;}
运行此程序的输出是( )
32.有如下程序:
#include<iostream>
Using namespace std;
int main(){
int X[][4]={{1,2,3,4},{5,6,7},{8,9}},s=O;
int i=O:
while(i<3){
for(int j=O;j<3;j++)s+=x[i][j];
i++;
}
Cout<<s;
return O;
}
运行此程序的输出是( )。
33.有如下程序:
#include<iostream>
using namespace std;
int main(){
int x[]={1,2,3,4,5},*px=x;
int s=*(px+l);
*(px+1)=*(px+3);
*(px+3)=s;
for(inti=0;i<5;i++)cout<<x[i];
return O:
}
运行此程序的输出是( )。
四、写出下列每个函数的功能(每小题8分,共16分)
34.int LK(inta[],intn){
double s=0;
int i,m=0;
for(i=0;i<++=)s+=a[i];
s=s/n;
for(i=0;i<++=)if(a[i]>=s)m++;
return m;
}
函数功能:
35.doubleFI(int n){//n为大于等于1的整数
double x,y=0;
do{
cin>>x;
y+=x;
}while(--n);
return y;
}
函数功能:
报名联系方式
1、报名热线:13662661040(微信),0755-21017149,QQ:2864330758 郭老师
2、报名地址:深圳市龙华新区工业西路68号中顺商务大厦B704
微信扫码添加好友
如二维码无法识别,可拨打 13662661040 咨询。