国家二级C++机试(选择题)模拟试卷462
选择题
1.字面常量42、4.2、42L的数据类型分别是( )。(C)
A. long,double,int
B. long,float,int
C. int,double,long
D. int,float,long
解析:此题考查的知识点是字面常量。对于整型字面常量,要没有超过C++中整数所能表示的范围,C+十将自动按整数来存储此数,也可以通过在整型字面常量后添加u或1来指定无符号整数或长整数来存储;对于实型字面常量,C++将自动按照双精度数来存储,也可以通过在实型字而常量后添加f来指定按单精度数存储。
2.有如下程序段:
int i=5;
while(int i=0){cout<<‘*’;i~;)
运行时输出“*”的个数是( )。(A)
A. 0
B. 1
C. 5
D. 无穷
解析:冈为while循环中,冈为i的值等于0,所以while循环体一次也不执行。冈而运行时输出“*”的个数是0。
3.下列选项中不属于结构化程序设计方法的是( )。(D)
A. 自顶向下
B. 逐步求精
C. 模块化
D. 可复用
解析:结构化程序设计方法的主要原则可以概括为:自项向下,逐步求精,模块化,限制使用goto语句。自顶向下是指程序设计时应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。逐步求精是指对复杂问题应设计一些子目标过渡,逐步细化。模块化是把程序要解决的总目标先分解成分目标,再进一步分解成具体的小目标,把每个小目标称为一个模块。可复用性是指软件元素不加修改成稍加修改便可在不同的软件开发过程中重复使用的性质。软件可复用性是软件工程追求的目标之一,是提高软件生产效率的最主要力法,不属于结构化程序设计方法。
4.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于系统软件的是( )。(B)
A. 编辑软件
B. 操作系统
C. 教务管理系统
D. 浏览器
解析:软件根据应用目标的不同,是多种多样的。软件按功能可以分为:应用软件、系统软件、支撑软件(或工具软件)。应用软件是为解决特定领域的应用而开发的软件。系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具性软件,包括辅助和支持开发和维护应用软件的工具软件,还包括辅助管理人员控制开发进程和项目管理的工具软件。
5.下面不能作为结构化方法软件需求分析工具的是( )。(A)
A. 系统结构图
B. 数据字典(D)
C. 数据流程图(DFD图)
D. 判定表
解析:按照DeMarco的定义,“结构化分析就是使用数据流图(DFD图)、数据字典(DD)、结构化英语、判定表和判定树等工具,来建立一种新的、称为结构化规格说明的目标文档。”系统结构图不能作为结构化方法软件需求分析工具。
6.有如下程序:
#include
using namespace std;
class Base{
public:
Base(int x=0){cout<<x;)
};
class Derived:public Base{
public:
Derived(int x=0){cout<<x;)
private:
Base val;
);
int main(){
Derived d(1);
return 0:
}
程序的输出结果是( )。(D)
A. 0
B. 1
C. 01
D. 001
解析:此题考查的是类的构造。建立类的对象时,构造函数的执行顺序如下:执行基类的构造函数,调用顺序按照各个基类被继承时声明的顺序(自左向右).>执行成员对象的构造函数,调用顺序按照各个成员对象在类中声明的顺序.>执行自身的构造函数。本题中,首先会构造基类Base,调用Base类的构造函数,输出0;然后还定义了一个Base类的对象,再次调用Base类的默认构造函数输出0;最后构造自身,因主函数中传入了构造参数l,所以输出1。故最后输出结果是:001。
7.一个工作人员可使用多台计算机,而一台计算机被多个人使用,则实体工作人员与实体计算机之间的联系是( )。(C)
A. 一对一
B. 一对多
C. 多对多
D. 多对一
解析:如果一个工作人员只能使用一台计算机且一台计算机只能被一个工作人员使用,则关系为一对一;如果一个工作人员可以使用多台计算机,但是一台计算机只能被一个工作人员使用,则关系为一对多;如果一个工作人员可以使用多台计算机,一台计算机也可以被多个工作人员使用,则关系为多对多。
8.由于常对象不能被更新,因此( )。(A)
A. 通过常对象只能调用它的常成员函数
B. 通过常对象只能调用静态成员函数
C. 常对象的成员都是常成员
D. 通过常对象可以调用任何不改变对象值的成员函数
解析:此题考查的是常对象与常成员函数的概念。使用const关键字修饰的对象称为常对象,它不能被更新,所以常对象只能调用常成员函数而不能调用其它成员函数;使用const关键字声明的成员函数是常成员函数,它也不能被更新,常成员函数只能调用常成员函数而不能调用其它函数。
9.有如下类定义和变量定义:
class A{
public:
AO{data=O;}
~A() {)
int GetData0 const { return data;)
void SetData(int n) {data=n; )
private:
int data;
);
const A a:
A b;
下列函数调用中错误的是( )。(B)
A. a.GetData0;
B. a.SetData(10);
C. b.GetData();
D. b.SetData(1 0);
解析:由题意可知a为常对象,因为常对象不能被更新,所以通过这个常对象只能调用它的常成员函数GetData(),而不能调用其他成员函数SetData(10),因而选项B为本题的正确答案。
10.在下面的类定义中,错误的语句是( )。
class Sample
{
public:
Sample(intval);∥①
~Sample();∥②
private:
int a=2.5:∥③
Sample();∥④
};(C)
A. ①②③④
B. ②
C. ③
D. ①②③
解析:③是错误的,因为在类体内,不允许对所定义的数据成员进行初始化;其他语句构造和析构函数的定义都是
本文档预览:3600字符,共9646字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载