二级C++笔试374
(总分100, 做题时间90分钟)
一、选择题
1. 
以下叙述中不正确的是
A C++语言中的文本文件以ASCII码形式存储数据
B C++语言中,对二进制文件的访问速度比文本文件快
C C++语言中,随机读写方式不适用于文本文件
D C++语言中,顺序读写方式不适用于二进制文件
    分值: 2
答案:C
[解析] 本题考查C++语言中文件的概念,包括二进制文件和文本文件,对不同的文件类型采用不同的读写方式。
2. 
分布式数据库系统不具有的特点是
A 数据分布性和逻辑整体性
B 位置透明性和复制透明性
C 分布性
D 数据冗余
    分值: 2
答案:D
[解析] 分布式数据库系统具有数据分布性、逻辑整体性、位置透明性和复制透明性的特点,其数据也是分布的;但分布式数据库系统中数据经常重复存储。数据也并非必须重复存储,主要视数据的分配模式而定。若分配模式是一对多,即一个片段分配到多个场地存放,则是冗余的数据库,否则是非冗余的数据库。
3. 
将E-R图转换到关系模式时,实体与联系都可以表示成
A 属性
B 关系
C 键
D 域
    分值: 2
答案:B
[解析] 数据库逻辑设计的主要工作是将E-R图转换成指定RDBMS中的关系模式。首先,从E-R图到关系模式的转换是比较直接的,实体与联系都可以表示成关系,E-R图中属性也可以转换成关系的属性。实体集也可以转换成关系。
4. 
假定AB为一个类,则执行AB x;语句时将自动调用该类的
A 有参构造函数
B 无参构造函数
C 拷贝构造函数
D 赋值重载函数
    分值: 2
答案:B
[解析] 当没有显式调用指定形式的构造函数,则系统自动调用无参构造函数,如果没有为类指定此构造函数,则系统自动为其生成一个最简单的无参构造函数。
5. 
若有以下程序:
   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
    分值: 2
答案:C
[解析] 首先进行括号内的运算,注意赋值表达式是从右向左进行的。i=1*k,k=k+i,m= k,所以计算得m=6,i=4。
6. 
下面程序的输出结果是
   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
    分值: 2
答案:A
[解析] 本题考查switch语句的嵌套。实际上,只要按照顺序进行分析可以发现里层嵌套的 switch语句根本不用分析,因为执行流程根本不能到达那里。
7. 
下列运算符中,不能重载的是
A ?:
B +
C -
D <=
    分值: 2
答案:A
[解析] 在C++中,?:是唯一个三目运算符,不能被重载。
8. 
模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的
A 抽象和信息隐蔽
B 局部化和封装化
C 内聚性和耦合性
D 激活机制和控制方法
    分值: 2
答案:C
[解析] 模块的独立程序是评价设计好坏的重要度量标准。衡量软件的模块独立性使用耦合性和内聚性这两个定性的度量标准。
9. 
与数学式子对应的C++语言表达式是
多态性与虚函数
A 3*x^n/(2*x-1)
B 3*x**n/(2*x-1)
C 3*pow(x,*(1/(2*x-1))
D 3*pow(n,/(2*x-1)
    分值: 2
答案:C

[解析] 本题考查将数学表达式翻译为C++语句,其中pow(x,n)用于求xn的值。
10. 
实现运行时的多态性用
A 重载函数
B 构造函数
C 析构函数
D 虚函数
    分值: 2
答案:D
[解析] 多态性是通过虚函数来完成的,不同类层次上的类通过虚函数,可以做到运行时根据指针的指向确定调用哪个对象的成员函数。
11. 
以下不能正确创建输出文件对象并使其与磁盘文件相关联的语句是
A ofstream myfile;myfilopen("d:ofiltxt");
B ofstream*myfile=new ofstream;myfile->open("d:ofiltxt");
C ofstream myfile("d:ofiltxt");
D ofstream*myfile=new("d:ofiltxt");
    分值: 2
答案:D
[解析] 本题考查文件对象的创建方法。可以直接定义文件对象,也可以用new来动态生成。很明显,选项D中使用new的方式是错误的。
12. 
下列虚基类的声明中正确的是
A class virtual B:public A
B virtual class B:public A
C class B:public A virtual
D class B:virtual public A
    分值: 2
答案:D
[解析] 本题考核虚基类的声明方式。虚基类说明格式如下:
   Virtual<继承方式><基类名>
   其中,Virtual是虚基类的关键词。虚基类的说明是用在定义派生类时,写在派生类名的后面。即:
   class<派生类名>:Virtual<继承方式><基类名>。
13. 
数据处理的最小单位是
A 数据
B 数据元素
C 数据项
D 数据结构
    分值: 2
答案:C
[解析] 数据处理的最小单位是数据项;由若干数据项组成数据元素;而数据是指能够被计算机识别、存储和加工处理的信息载体;数据结构是指数据之间的相互关系和数据运算。故正确答案为选项C。
14. 
有以下程序
   int f1(int x,int y)
   {  return x>y? x:y;}

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