二级C++模拟题2018年(12)
(总分67,考试时间90分钟)
一、选择题
1. 下列叙述中错误的是____。
A. 一种数据的逻辑结构可以有多种存储结构
B. 数据的存储结构与数据的处理效率无关
C. 数据的存储结构与数据的处理效率密切相关
D. 数据的存储结构在计算机中所占的空间不一定是连续的
2. 对下列二叉树进行前序遍历的结果为______。
A. ABCDEFGH        B. ABDGEHCF
C. GDBEHACF        D. GDHEBFCA
3. 有如下程序:
#include <iostream>
using namespace std;
class BASE{
public:
~BASE(){cout<<"BASE";}
};
class DERIVED: public BASE{
public:
~DERIVED(){ cout<<"DERIVED"; }
int main() { DERIVED x; return 0; }
执行后的输出结果是____。
A. BASE        B. DERIVED
C. BASEDERIVED        D. DERIVEDBASE
4. 将下列程序写成三目运算表达式是____。
if(x<y)min=x;
else min=y;
A. min=(x>y)?x:y        B. min=(x<y)?x:y
C. min=(x<y)x:y        D. min=(x<y)?x,y
5. 若已定义int a=256,执行语句cout<<hex<<a;的结果是
A. 100        B. 256
C. ffe        D. ff
6. 在C++语言中,形参的缺省存储类型是____。
A. auto        B. register
C. static        D. extern
7. 结构化分析方法是面向____的自顶向下、逐步求精进行需求分析的方法。
A. 对象        B. 数据结构
C. 数据流        D. 目标
8. 下列各函数的说明中,表示纯虚函数的是____。
A. virtual int fuc(int);
B. void fuc(int)=0;
C. virtual void fuc()=0;
D. virtual void fuc(int){}
9. 下列描述中,错误的是____。
A. 公有继承时基类中的公有成员在派生类中仍是公有成员
B. 公有继承时基类中的保护成员在派生类中仍是保护成员
C. 保护继承时基类中的公有成员在派生类中仍是公有成员
D. 保护继承时基类中的保护成员在派生类中仍是保护成员
10. 对长度为n的线性表进行顺序查,在最坏情况下需要比较的次数为______。
A. 125        B. n/2
C. .n        D. n+1
11. 有下列程序:
#include <stdio.h>
void main()
(int a[]={1,2,3,4),y,*p=&a[3];
--p;y=*p;printf("y=%d\n",y);
}
程序的运行结果是____,
A. y=0        B. y=1
C. y=2        D. y=3
12. 对于switch(c) 中的变量c不能定义为的类型是____。
A. unsigned        B. int
C. char        D. float
13. 当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为______
A. ios::in        B. ios::out
C. ios::in | ios::out        D. 以上都不对
14. 有以下程序:
void main()
{ int a=5,b=4,c=3,d=2;
if(a>b>c)
cout<<d<<end1;
else if((c-1)=d)==1)
cout<<d+1<<end1;
else
cout<<d+2<<end1;
}
A. 2        B. 3
C. 4        D. 编译时有错,无结果
15. 如果表达式x*y+z中,“*”是作为友元函数重载的,“+”是作为友元函数重载的,则该表达式还可为
A. operator+(operator*(x,y),z)
B. operator+(operator*(x,y),Z)
C. operator*(operator+(x,y),z)
D. operator+(operator*(x,y))
16. 每个类 ______ 构造函数。
A. 只能有一个        B. 只可有公有的
C. 可以有多个        D. 只可有缺省的
17. 下列语句中,正确的是____。
A. char*myString="Hello-World!";
B. char myString="Hello-World!";
C. char myString[11]="Hello-World!";
D. char myString[12]="Hello-World!";
18. 有如下程序:
#include<iostream>
using namespaee std;
class Base{
protected:
Base( ){tout<<"A";}
Base(char C) {cout<<c;}
};
class Derived:public Base{
public:
Derived(char C) {eout<<c;}
};
int lnaiD( ){
Derived dl("B");
return 0;
}
执行这个程序屏幕上将显示输出
A. .B        B. BA
C. AB        D. BB
19. 有如下类定义:
class Foo
{
public:
Foo(intv):value(v){} //①
~Foo(){} //②
pnvate:
Foo(){} //③
int value=0; //④
};
其中存在语法错误的行是____
A. ①        B. ②
C. ③        D. ④
20. 所有在函数中定义的变量,连同形式参数,都属于
A. 全局变量        B. 局部变量
多态性与虚函数C. 静态变量        D. 寄存器变量
二、填空题
1. 多态具体体现运行和编译两个方面,在程序运行时的多态性通过继承和 ______ 来体现,而程序编译时多态性体现函数和运符的重载上。
2. 下列程序运行后的输出结果是______。
#include <iostream.h>
void fun(int,int,int*);
void main()
{
int x,y,z;
fun(5,6,&x);
fun(7,x,&y);
fun(x,y,&z);
cout<<x<<","<<y<<","<<z<<endl;
}
void fun(int a,int b,int *c)
{
b+=a;
*c=b-a;
}
3. C++程序第1条语句是从______函数开始执行的。
4. 在类中,______成员为类的所有对象所共享。
5. 派生类中的成员不能直接访问基类中的________成员。
6. 假定A为一个类,则语句A(A &a);为该类______函数的原型说明。
7. 由关系数据库系统支持的完整性约束是指 ______ 和参照完整性。
8. 下列程序的输出结果是______。
#include <iostream.h>
#include <cstring.h>
using namespace std;
void fun(const char*s,char &C) {c=s[strlen (s)/2];}
int main {)
{
char str [] ="ABCDE";
char ch=str[1];
fun(str,sh);
cout<<Ch;
return 0;
}
9. 下面是用来计算n的阶乘的递归函数,请将该函数的定义补充完整。(注:阶乘的定义是n!=n*(n-1)*...*2*1)
unsigned fact (unsigned n)
{
if(n<=1)
retum 1;
return________;
}
10. 有下列程序:
#include<iostream>
using namespace std;
class Con
{
char ID;
public:
Con():ID("A"){cout<<1;}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。