国家二级(C++)机试模拟试卷299
选择题
1.有如下程序:
int x=3:
do {
x-=2:
cout<<x:
}while(!(--x));
执行这个程序的输出结果是( )。(C)
A. 1
B. 3 0
C. 1-2
D. 死循环
解析:本题考查do…while语句,执行do…while语句时,先执行循环体内的语句,然后判断while中表达式的值,表达式为非零时,返回重新执行循环体语句。在本题中,先执行循环体内的语句,输出1,然后判断表达式,为非零,且此时x为0;再次执行循环体时,输出-2,然后判断表达式为0,不执行,退出,所以答案为C。
2.关于函数重载,下列叙述中错误的是( )。(C)
A. 重载函数的函数名必须相同
B. 重载函数必须在参数个数或类型上有所不同
C. 重载函数的返回值类型必须相同
D. 重载函数的函数体可以有所不同
解析:所谓函数重载是指同一函数名可以对应多个函数实现。进行函数重载时,要求同名函数在参数个数上不同,或者参数类型上不同。但函数的返回类型不能作为判断重载的依据。
3.下面的符号中可以用作C++标识符的是( )。(D)
A. 3test
B. fcc~other
C. else
D. radius
解析:C++标识符是以字母、下划线开头的,由字母、数字及下划线组成的,不与关键字相同的字符串。选项C中else为关键字。
4.数据结构中,与所使用的计算机无关的是数据的( )。(C)
A. 存储结构
B. 物理结构
C. 逻辑结构
D. 线性结构
解析:数据的逻辑结构反映的是数据元素之间的逻辑关系,与使用的计算机无关。
5.下列选项中,不属于数据管理员(DBA)职责的是( )。(D)
A. 数据库维护
B. 数据库设计
C. 改善系统性能,提高系统效率
D. 数据类型转换
解析:数据库管理员(DataBaseAdministrator,DBA)是指对数据库的规划、设计、维护、监视等的人员,其主要工作如下:
?数据库设计。DBA的主要任务之一是数据库设计,具体地说是进行数据模式的设计。
?数据库维护。DBA必须对数据库中的数据安全性、完整性、并发控制及系统恢复、数据定期转储等进行实施与维护。
?改善系统性能,提高系统效率。DBA必须随时监视数据库的运行状态,不断调整内部结构,使系统保持最佳状态与效率。
6.将E—R图转换为关系模式时,实体和联系都可以表示为( )。(C)
A. 属性
B. 键
C. 关系
D. 域
解析:从E—R图到关系模式的转换是比较直接的,实体与联系都可以表示成关系,E—R图中属性也可以转换成关系的属性。
7.下面叙述中错误的是( )。(A)
A. 软件测试的目的是发现错误并改正错误
B. 对被调试的程序进行“错误定位”是程序调试的必要步骤
C. 程序调试通常也称为Debug
D. 软件测试应严格执行测试计划,排除测试的随意性
解析:软件测试的目的是为了发现错误而执行程序的过程,并不涉及改正错误,所以选项A错误。程序调试的基本步骤有:错误定位、修改设计和代码,以排除错误、进行回归测试,防止引进新的错误。程序调试通常称为Debug,即排错。软件测试的基本准则有:所有测试都应追溯到需求、严格执行测试计划,排除测试的随意性、充分注意测试中的群集现象、程序员应避免检查自己的程序、穷举测试不可能、妥善保存测试计划等文件。
8.下列关于类定义的说法中,正确的是( )。(A)
A. 类定义中包括数据成员和函数成员的声明
B. 类成员的缺省访问权限是保护的
C. 数据成员必须被声明为私有的
D. 成员函数只能在类体外进行定义
解析:类的成员的缺省访问权限是私有的,数据成员可以是私有,可以是公用的,也可以是受保护的。类的成员函数可以在类内定义。
9.在数据库系统的内部结构体系中,索引属于( )。(B )
A. 模式
B. 内模式
C. 外模式
D. 概念模式
解析:内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及hash等存取方式与存取路径,内模式的物理性主要体现在操作系统及文件级上,它还未深入到设备级上(如磁盘及磁盘操作)。
10.下列选项中不属于结构化程序设计原则的是( )。(A)
A. 可封装
B. 自顶向下
C. 模块化
D. 逐步求精
解析:结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A)。
11.下列关于对象概念的描述中,正确的是( )。(D)
A. 对象就是C语言中的结构变量
B. 对象代表着正在创建的系统中的一个实体
C. 对象是一个状态和操作(或方法)的封装体
D. 对象之间的信息传递是通过消息进行的
解析:对象之间的信息传递是通过消息进行的。对象=方法(函数)+属性(数据),而C语言的结构体其实就是不同类型数据的组合。并没有处理数据的方法。
12.有如下程序:
#include
using namespace std;
class Base{
public:
void output(){cout<<1;}
virtual void Print(){cout<<’B’;}
};
class Derived:public Base{
public:
void output(){cout<<2;}
void Print(){cout<<’D’;}
};
int main()
{
Base*ptr=new Derived:
ptr->output();
ptr->Print();
delete ptr;
return 0;
}
执行这个程序的输出结果是( )。(B)
A. 1B
B. 1D
C. 2B
D. 2D
解析:在某基类中声明为virtual并在一个或多个派生类中被重新定义的成员函数,本题中定义了一个指向派生类对象的基类指针ptr,执行ptr->output后,会执行基类的output函数,输出1,由于Print是虚函数,所以ptr->Print()会执行派生类的Print,即输出D,所以本题答案为B。
13.下列关于纯虚函数与抽象类的描述中,错误的是( )。(C)
A. 纯虚函数是一种特殊的虚函数,它没有具体的实现
B. 抽象类是指具有纯虚函数的类
C. 一个基类中说明具有纯虚函
本文档预览:3600字符,共16415字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载