试卷详情
-
二级C++笔试-379
-
[单项选择]下列运算符中,不能重载的是
A. :
B. +
C. -
D. <=
-
[填空题]下列程序中需要清理动态分配的数组,划线处应有的语句是_______。
#include<iostream.h>
class person
int age,tall;
public:
person( )age=0;tall=40;cout<<"A baby is born."<<endl;
person(int i)age=i;tall=40;cout<<"A old person."<<endl;
person(int i,int j)age=i;tall=j;cout<<"a old person with tall."<<endl;)
~person( )cout<<"person dead."<<endl;
void show( )
cout<<"age="<<age<<",tall="<<tall<<endl;
;
void main( )
person*ptr;
ptr=new person[3];
ptr[0]=person( );
ptr[1]=person(18);
ptr[2]=person(20,120);
for(int i=0;i<3;i++)
ptr[i].show( );
______
-
[单项选择]实现运行时的多态性用
A. 重载函数
B. 构造函数
C. 析构函数
D. 虚函数
-
[单项选择]下列数据结构中,按先进后出原则组织数据的是
A. 线性链表
B. 栈
C. 循环链表
D. 顺序表
-
[单项选择]在设计程序时,应采纳的原则之一是
A. 不限制goto语句的使用
B. 减少或取消注解行
C. 程序越短越好
D. 程序结构应有助于读者理解
-
[单项选择]有以下程序
void f(int x,int y)
int t;
if(x<y)t=x;x=y;y=t;
main( )
int a=4,b=3,c=5;
f(a,b); f(a,c); f(b,c);
cout<<a<<","<<b<<","<<c<<endl;
执行后输出结果是
A. 3,4,5
B. 5,3,4
C. 5,4,3
D. 4,3,5
-
[单项选择]使用静态数据成员的好处不包括
A. 可以节省内存空间
B. 是为了解决数据共享问题
C. 可以直接用类名来引用
D. 可以提高运算速度
-
[填空题]下列程序的执行结果是______。
#include<iostream.h>
class Student
public:
Student(int xx)x=xx;
virtual float calcTuition( );
protected:
int x;
;
float Studertt::calcTuition( )
return float(x*x);
class GraduateStudent:public Student
public:
GraduateStudent(int xx):Student(xx)
float calcTuition( );
;
float Graduatestudent::calcTuition( )
return float(x*2);
void main( )
Student s(20);
GraduateStudent gs(30);
cout<<s.calcTuition( )<<" "<<gs.calcTuition( )<<endl;
//计算学生s和研究生gs的学费
-
[填空题]下列程序的输出结果为______。
#include<iostream.h>
int&max(int&x,int&y)
return(x>y x:y);)
void main( )
int n=3,m=12;
max(m,n)++;
cout<<"m="<<m<<",n=<<n<<endl;
-
[单项选择]设char型变量x中的值为10100111,则表达式(2+x)^(~3)的值是
A. 10101001
B. 10101000
C. 11111101
D. 01010101
-
[填空题]在数据库的外模式、模式和内模式3级模式的体系结构中,存在两级映射:外模式到模式的映射定义了外模式与模式之间的对应关系;模式到内模式的映射定义了数据库的逻辑结构与______之间的对应关系。
-
[单项选择]若有以下程序:
main( )
int k=2,i=2,m;
m=(k+=i*=k);
cout<<m<<","<<i<<endl;
执行后的输出结果是
A. 8,6
B. 8,3
C. 6,4
D. 7,4
-
[单项选择]以下关于私有和保护成员的叙述中,不正确的是
A. 私有成员不能被外界引用,保护成员可以
B. 私有成员不能被派生类引用,保护成员在公有继承下可以
C. 私有成员不能被派生类引用,保护成员在保护继承下可以
D. 私有成员不能被派生类引用,保护成员在私有继承下可以
-
[单项选择]分布式数据库系统不具有的特点是
A. 数据分布性和逻辑整体性
B. 位置透明性和复制透明性
C. 分布性
D. 数据冗余
-
[单项选择]若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是
A. bdgcefha
B. gdbecfha
C. bdgaechf
D. gdbehfca
-
[填空题]软件概要设计的成果是______。
-
[填空题]在面向对象方法中,属性与操作相似的一组对象称为______。
-
[单项选择]下列叙述中,不属于测试的特征的是
A. 测试的挑剔性
B. 完全测试的不可能性
C. 测试的可靠性
D. 测试的经济性
-
[单项选择]将E-R图转换到关系模式时,实体与联系都可以表示成
A. 属性
B. 关系
C. 键
D. 域
-
[单项选择]以下不能正确创建输出文件对象并使其与磁盘文件相关联的语句是
A. ofstream myfile;myfile.open("d:ofile.txt");
B. ofstream*myfile=new ofstream;myfile->open("d:ofile.txt");
C. ofstream myfile("d:ofile.txt");
D. ofstream*myfile=new("d:ofile.txt");
-
[单项选择]线性表L=(a1,a2,a3,…ai,…an),下列说法正确的是
A. 每个元素都有一个直接前件和直接后件
B. 线性表中至少要有一个元素
C. 表中诸元素的排列顺序必须是由小到大或由大到小
D. 除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件
-
[填空题]设一棵二叉树的中序遍历结果为ABCDEFG,前序遍历结果为DBACFEG,则后序遍历结果为______。
-
[填空题]下列程序的输出结果是______。
#include<iostream.h>
void main( ) char a[]="abcdabcabfgacd";
int i1=0,i2=0,i=0;
while(a[i])
if(a[i]=="a")i1++;
if(a[i]=="b")i2++;
i++;
cout<<i1<<""<<i2<<endl;
-
[填空题]下列程序的输出结果是______。
#include<iostream.h>
class base
int x,y;
public:
base(int i,int j)x=i;y=j;
virtual int add( )return x+y;
;
class three:public base
int z;
public:
three(int i,int j,int k):base(i,j)z=k;)
int add( )return(base::add( )+z);
;
void main( )
three*q=new three(10,20,30);
cout<<q->add( )<<endl;
-
[单项选择]磁盘文件操作中,打开磁盘文件的访问方式中以追加方式打开文件的
A. in
B. out
C. app
D. ate
-
[单项选择]有以下程序
int f1(int x,int y)
return x>y x:y;
int f2(int x,int y)
return x>y y:x;
main( )
int a=4,b=3,c=5,d,e,f;
d=f1(a,b);d=f1(d,c);
e=f2(a,b);e=f2(e,c);
f=a+b+c-d-e;
cout<<d<<","<<f<<","<<e<<endl;
执行后输出结果是
A. 3,4,5
B. 5,3,4
C. 5,4,3
D. 3,5,4
-
[填空题]下列程序的运行结果是______。
#include<iomanip.h>
int Func(int*a,int n)
int s=1:
for(int i=0;i<n;i++)
s*=*a++;
return s;
void main( )
int a[]=l,2,3,4,5,6,7,8;
int b=Func(a,6)+Func(&a[5],2);
cout<<"b="<<b<<endl;
-
[单项选择]已知类A中有公用数据成员B*b;其中B为类名。则下列语句错误的是
A. A( ):d(new
B. A(const A &oo):d(newr B)*d=*oo.d;
C. ~A(d)
D. ~A( )delete d;
-
[单项选择]假定AB为一个类,则执行AB x;语句时将自动调用该类的
A. 有参构造函数
B. 无参构造函数
C. 拷贝构造函数
D. 赋值重载函数
-
[单项选择]设有定义:
class person
int num;
char name[10];
public:
void init(int n,char*m);
…
;
person std[30]
则以下叙述不正确的是
A. std是一个含有30个元素的对象数组
B. std数组中的每个元素都是person类的对象
C. std数组中的每个元素都有自己的私有变量num和name
D. std数组中的每个元素都有各自的成员函数init
-
[单项选择]友元函数的作用是
A. 提高程序的效率
B. 加强类的封装性
C. 实现数据的隐蔽性
D. 增加成员函数的种类
-
[单项选择]下列虚基类的声明中正确的是
A. class virtual B:public A
B. virtual class B:public A
C. class B:public A virtual
D. class B:virtual public A
-
[单项选择]下面程序的输出结果是
main( )
int a=15,b=21,m=0;
switch(a%3)
case 0:m++;break;
case 1:m++;
switch(b%2)
default:m++;
case 0:m++;break;
cout<<m<<endl;
A. 1
B. 2
C. 3
D. 4
-
[单项选择]在C++语言程序中
A. 函数的定义可以嵌套,但函数的调用不可以嵌套
B. 函数的定义和调用均可以嵌套
C. 函数的定义和调用均不可以嵌套
D. 函数的定义不可以嵌套,但函数的调用可以嵌套
-
[单项选择]以下叙述中不正确的是
A. 在类的定义中通常是用数据成员描述对象的属性,用成员函数描述对象的行为
B. 类的一个成员只能具有一种访问控制属性
C. 构造函数和析构函数是特殊的成员函数,因此不允许重载
D. 通过对象只能访问类的公有成员
-
[单项选择]数据处理的最小单位是
A. 数据
B. 数据元素
C. 数据项
D. 数据结构
-
[单项选择]实体是信息世界中广泛使用的一个术语,它用于表示
A. 有生命的事物
B. 无生命的事物
C. 实际存在的事物
D. 一切事物
-
[单项选择]有关析构函数的说法中错误的是
A. 析构函数有且只有一个
B. 析构函数无任何函数类型
C. 析构函数和构造函数一样可以有形参
D. 析构函数的作用是在对象被撤销时做清理工作
-
[单项选择]模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的
A. 抽象和信息隐蔽
B. 局部化和封装化
C. 内聚性和耦合性
D. 激活机制和控制方法
-
[填空题]如下程序编译时发生错误,错误的原因是show函数实现语句错误,则正确的语句应该为______。
#include<iostream.h>
class test
private:
int hum;
public:
test(int);
void show( );
;
test::test(int n)num=n;
test::show( )cout<<num<<endl;
void main( )
test T(10):
T.show( );
-
[单项选择]通常初始化拷贝构造函数的参数是
A. 某个对象名
B. 某个对象的成员名
C. 某个对象的引用名
D. 某个对象的指针名
-
[单项选择]若已定义int a=256,执行语句cout<<hex<<a;的结果是
A. 100n
B. 256
C. ffe
D. ff
-
[单项选择]执行下列程序的结果是
main( )
float x=1,y;
y=++x*++x;
cout<<y<<endl;
A. 9.000000
B. 6.000000
C. 1.000000
D. 程序有错误
-
[填空题]下面程序编译时发现ma[3]=9错误,其原因是______。
#include<iostream.h>
class FunArray
int*pa; //指向一个数组空问
int size; //数组元素个数
public:
FunArray(int a[],int thesize):pa(a),size(thesize)
int Size( )return size;
;
void main( )
int s[]=3,7,2,1,5,4;
FunArray ma(s,sizeof(s)/sizeof(int));
ma[3]=9;
cout<<ma[3]<<endl;
-
[填空题]在任何类中都有三种访问权限的数据成员,这三种权限是public、private和_______。
-
[填空题]下列程序完成从文件读取文件显示的同时写入第二个文件,则在程序中划线部分应该出现的语句是______。
#include<iostream.h>
#include<fstream.h>
void main( )
fstream filel,file2;
char fn1[10],fn2[10],ch;
cout<<"输入源文件名";
cin>>fn1;
cout<<"输入目标文件名";
cin>>fn2;
filel.open(fn1,ios::in);
while((ch=filel.get( ))!=EOF)
cout<<ch;
file2.put(oh);
filel.close( );
file2.close( );
-
[填空题]在结构化设计方法中,数据流图表达了问题中的数据流与加工之间的关系,并且,每一个______实际上对应一个处理模块。