本栏目下题库来源于互联网,轻速云承诺对于用户导入平台的题库是严格保密的,不会在此呈现!
轻速云给您提供更好的在线考试系统服务!
2013年9月全国计算机等级《二级C++》上机模考试卷(3)
1、【 单选题
有下列程序:
#include
intb=2:
intfun(int*k)
{b=*k+b;return(b);}
voidmain()
{inta[1O]={1,2,3,4,5,6,7,8},i;
for(i=2;i<4;i++){b=fun(&a[i])+b;printf
("%d",b);}
printf("\n");
}
程序运行后的输出结果是(  )。 [1分]
1012
810
1028
1016
答案:
2、【 单选题
有下列二叉树,对此二叉树中序遍历的结果县(  )。
    [1分]
BDYEACFXZ
DYBEAFCZX
ABCDEFXYZ
ABDYECFXZ
答案:
3、【 单选题
若变量已正确定义,有下列程序段
inta=3,b=5,c=7;
if(a>b)a=b;c=a;
if(C!=a)C=b;
printf(”%d,%d,%d\n”,a,b,c);
其输出的结果是(  )。 [1分]
程序段有语法错
3,5,3
3,5,5
3,5,7
答案:
4、【 单选题
若已定义
inta[]={1,2,3,4,5,6,7,8,9,10},p=a,i=5;
则对数组元素不正确的引用是(  )。 [1分]
a[p-a]
*(&a[i])
p[i]
*(*(a+i))
答案:
5、【 单选题
数据的存储结构是指(  )。 [1分]
数据所占的存储空间
数据的逻辑结构在计算机中的存放形式
数据在计算机中的顺序存储方式
存储在计算机外存中的数据
答案:
6、【 单选题
下列有关模板的叙述中,正确的是(  )。 [1分]
函数模板不能含有常规形参
函数模板的一个实例就是一个函数定义
类模板的成员函数不能是模板函数
用类模板定义对象时,绝对不能省略模板实参
答案:
7、【 单选题
设有表示学生选课的3张表,学生S(学号、姓名、性别、年龄、身份证号)、课程C(课号、课名)、选课SC(学号、课号、成绩),则表SC的关键字(键或码)为(  )。 [1分]
课号、成绩
学号、成绩
学号、课号
学号、姓名、成绩
答案:
8、【 单选题
结构化程序所要求的基本结构不包括(  )。 [1分]
顺序结构
GOT0跳转
选择(分支)结构
重复(循环)结构
答案:
9、【 单选题
已知主函数中通过如下语句序列实觋对函数模板swap的调用:
inta[10],b[1O];
swap(a,b,10);
下列对函数模板swap的声明中,会导致上述语句序列发生编译错误的是(  )。 [1分]
template
voidswap(Ta[],Tb[],intsize);
template
voidswap(intsize,Ta[],Tb[]);
template
voidswap(T1a[],T2b[],intsize);
template
voidswap(T1a[],T2b[],intsize);
答案:
10、【 单选题
定义无符号整数为Uint,下面可以作为类Uint实例化值的是(  )。 [1分]
-369
369
0.369
整数集合{1,2,3,4,5}
答案:
11、【 单选题
下列叙述中,不属于软件需求规格说明书的作用的是(  )。 [1分]
便于用户、开发人员进行理解和交流
反映出用户问题的结构,可以作为软件开发工作的基础和依据
作为确认测试和验收的依据
便于开发人员进行需求分析
答案:
12、【 单选题
下列数据结构中,能够按照“先进后出”原则存取数据的是(  )。 [1分]
循环队列
队列
二叉树
答案:
13、【 单选题
有如下程序:
#include
usingnamespacestd;
classVAC{
public;
intf()const(return3;}
intf(){return5;}
};
Intmain(){
VACv1:
constVACv2;
cout<<v1.f()<
return0;
}
运行时的输出结果是()。 [1分]
53
35
55
33
答案:
14、【 单选题
将E—R图转换为关系模式时,实体和联系都可以表示为(  )。 [1分]
属性
关系
答案:
15、【 单选题
下列关于函数模板的描述中,正确的是(  )。 [1分]
函数模板是一个实例函数
使用函数模板定义的函数没有返回类型
函数模板的类型参数与函数的参数相同
通过使用不同的类型参数,可以从函数模板得到不同的实例函数
答案:
16、【 单选题
下列关于文件流的描述中,正确的是(  )。 [1分]
文件流只能完成针对磁盘文件的输入、输出
建立一个文件流对象时,必须同时打开一个文件
若输入流要打开的文件不存在,将建立一个新文件
若输出流要打开的文件不存在,将建立一个新文件
答案:
17、【 单选题
下列说法正确的是(  )。 [1分]
内联函数在运行时将该函数的目标代码插入每个调用该函数的地方
内联函数在编译时将该函数的目标代码插入每个调用该函数的地方
类的内联函数必须在类体内定义
类的内联函数必须在类体外通过加关键字inline定义
答案:
18、【 单选题
有下列程序:
#include
voidmain(  )
{FILE*pf;
char*s1="China",*s2="Beijing";
pf=fopen("abc.dat","wb+");
fwrite(s2,7,1,pf);
rewind(pf);/*文件位置指针回到文件开头*/
fwrite(s1,5,1,pf);
fclose(pf);
}
以上程序执行后abc.dat文件的内容是(  )。 [1分]
China
Chinang
ChinaBeijing
BeijingChina
答案:
19、【 单选题
下列叙述中正确的是(  )。 [1分]
在面向对象的程序设计中,各个对象之间具有密切的关系
在面向对象的程序设计中,各个对象都是公用的
在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小
上述三种说法都不对
答案:
20、【 单选题
设有定义语句int(*f)(int);,则下列叙述正确的是(  )。 [1分]
f是基类型为int的指针变量
f是指向函数的指针变量,该函数具有一个int类型的形态
f是指向int类型一维数组的指针变量
f是函数名,该函数的返回值是其类型为int类型的地址
答案:
21、【 单选题
为类Matrix重载下列运算符号时,只能作为Matrix类成员函数重载的运算符是(  )。 [1分]
=
<<
++
答案:
22、【 单选题
有两个关系R和T如下所示:
   
则由关系R得到关系T的操作是(  )。 [1分]
选择
投影
答案:
23、【 单选题
下列叙述中错误的是(  )。 [1分]
gets函数用于从终端读入字符串
getchar函数用于从磁盘文件读入字符
fputs函数用于把字符串输出到文件
fwrite函数用于以二进制形式输出数据到文件
答案:
24、【 单选题
下列程序的执行结果是(  )。
#include
classSample
{
intx,y;
public:
Sample(){x=y=0;}
Sample(inta,intb){x=a;y=b;}
~Sample()
{
if(x==y)
cout<<"x=y"<
else
cout<<"x!=y"<
}
voiddisp()
{
cout<<"x="<<x<<",y="<<y<<endl;}
};
voidmain()
{
Samples1(2,3);
s1.disp();
} [1分]
x=2,y=2
x=3,y=3
x=2,y=3
x=3,y=2
答案:
25、【 单选题
有如下程序:
#included
usingnamespqcestd;
classTestClass
{
private;
charC;
public;
TestClass(charn):c(n){}
~TestClass()
{
cout<
}
};
classTestClassl:publicTestClass
{
private:
charC;
public:
TestClassl(charn):TestClass(n+1),c(n){}~TestClassl()
{
cout<
}
};
intmain()
{
TestClasslobj('X');
return0;
}
执行上面的程序将输出(  )。 [1分]
xy
yx
X
y
答案:
26、【 单选题
已知类MyClass的定义如下:
ClassMyClass{
public:
MyClass(intd){data=d;}
~MyClass(){}
private:
intdata;
};
下列对MyClass类对象数组的定义和初始化语句中,正确的是(  )。 [1分]
MyClassarray[2];
MyClassarray[2]={MyClass(5)};
MyClassarray[2]={MyClass(5),Myclass(6)};
MyClass*array=newMyClass[2];
答案:
27、【 单选题
下列关于二叉树的叙述中,正确的是(  )。 [1分]
叶子结点总是比度为2的结点少一个
叶子结点总是比度为2的结点多一个
叶子结点数是度为2的结点数的两倍
度为2的结点数是度为1的结点数的两倍
答案:
28、【 单选题
下列是关于派生类声明的开始部分,其中正确的是(  )。 [1分]
classvirtualB:publicA
virtualclassB:publicA
classB:publicAvirtual
classB:virtualpublicA
答案:
29、【 单选题
针对数组定义intdata[10];,下列表述中错误的是(  )。 [1分]
用*data可访问到数组的首元素
用data[9]可访问到数组的末元素
用data[10]访问数组元素会超出数组边界
data共有10个元素,其首元素是data[1]
答案:
30、【 单选题
下列关于纯虚函数与抽象类的描述中,错误的是(  )。 [1分]
纯虚函数是一种特殊的虚函数,它没有具体的实现
抽象类是指具有纯虚函数的类
一个基类声明了纯虚函数,该基类的派生类一定不是抽象类
抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出
答案:
31、【 单选题
若要对Date类中重载的加法运算符成员函数进行声明,下列选项中正确的是(  )。 [1分]
Data+{Data};
Dataoperator+{Data};
Data+operator{Data};
operator+{Data.Data};
答案:
32、【 单选题
下列关于构造函数和析构函数的描述,错误的是(  )。 [1分]
析构函数中调用虚函数采用静态联编
对虚析构函数的调用可以采用动态联编
当基类的析构函数是虚函数时,其派生类的析构函数也一定是虚函数
构造函数可以声明为虚函数
答案:
33、【 单选题
类模板的使用实际上是将类模板实例化成一个具体的(  )。 [1分]
对象
函数
模扳类
答案:
34、【 单选题
有如下程序:
#included
usingnamespacestd;
classTestClass{
protected:
TestClass(  ){cout<<'X';}
TestClass(charc){cout<
classTestClassl:publicTestClass{
public:
TestClassl(charc){cout<
intmain(  ){
TestClassld1('y');
return0;}
执行这个程序,屏幕上将显示输出(  )。 [1分]
y
yx
xy
yy
答案:
35、【 单选题
下面程序的运行结果是(  )。
#include
classbase{
protected:
inta;
public:
base(){cout<<"0";}
};
classbasel:virtualbase{
public:
basel(){cout<<"1";}
};
classbase2:virtualbase{
public:
base2(){cout<<"2";}
};
classderived:publicbasel,publicbase2{
public:
derived(){cout<<"3";}
};
voidmain()
{
derivedobj;
eout<
} [1分]
0123
3120
O312
3012
答案:
36、【 单选题
下列字符串中可以用作C++语言标识符的是(  )。 [1分]
1234
foo~~bar
virtual
34var
答案:
37、【 单选题
下列有关数据库的叙述,正确的是(  )。 [1分]
数据处理是将信息转化为数据的过程
数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变
关系中的每一列称为元组,一个元组就是一个字段
如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字
答案:
38、【 单选题
下面有关重载函数的描述中正确的是(  )。 [1分]
重载函数必须具有不同的返回值类型
重载函数形参个数必须不同
重载函数必须具有不同的形参列表
重载函数名可以不同
答案:
39、【 简答题
使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错.请改正其中的错误,使程序正常运行,并使程序输出的结果为
Maxis7
提示:max函数用于找出两个数中的最大值,并作为函
数值返回。
注意:错误的语句在//******error******的下面,修改该语句即可。
试题程序:
#include
usingnamespacestd;
//******error******
intmax(inta,intb)
{
if(a<b)
{
intt=a;
a=b:
b=t;
}
returnb;
}
intmain()
{
intm=-3:
intn=7:
//******error******
max(-3,n);
cout<<"Maxis"<<m<
return0;
} [18分]
解析:
(1)应改为“intmAx(int&A,int&B)”。
(2)应改为“mAx(m,n);”。
40、【 简答题
使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码,完成空出部分的程序。实现函数sort(intA[],intn),用冒泡法对数组数据进行排序。所谓冒泡法,就是每次把相邻的两个数交换,较大的数交换到后面。这样下标从0到n-1的数与其后面相邻的数交换,可以把最大的数交换到数组的末端。进行n次下标从0到n-1的交换,则数组变成有序的,并且按由大到小排序。
注意:不能修改和删除程序的其他部分,也不能修改程序的结构。
试题程序:
#include
#defineN10
voidsort(intA[N],intn)
{
}
intmain()
{
intA[N]={1,50,17,69,87,42,90,-6,O,-11};
sort(A,10);
for(inti=0;i<sizeof(a)/sizeof(int);i++)
{
cout<<a[i]<<'';
}
cout<
return0;
} [24分]
解析:
inti,j,k,t;
For(i=0;i(n-1;i++)
{
For(k=i,j=i+1;j<n;j++)
iF(A[k]<A[j])//如果前面的比后面的小则需要交换
k=j;
iF(k!=i)//交换
{
t=AEi3;
A[i]=A[k];
A[k]=t;
}
12 下一页 末页
2页,共41个题库
2页,共41个题库
轻速云给您提供更好的在线考试系统服务!
推荐
推荐题库
众多企事业单位的信赖之选
36万+企事业单位的共同选择
查看更多合作案例
众多企事业单位的信赖之选
开始使用轻速云组织培训考试
四步组织一场考试答题,一键搭建企业培训平台
免费使用 免费使用 预约演示
咨询热线
400-886-8169
周一到周日 8:00-22:00
©2023 轻速云 苏ICP备16049646号-1 轻速云科技提供专业的在线考试系统、在线培训系统
联系我们
客服热线客服热线:400-886-8169 | 周一至周日 8:00-22:00
©2023 轻速云 苏ICP备16049646号-1
轻速云科技提供专业的在线考试系统、在线培训系统
在线咨询 400-886-8169