首页 > 全部 > 二级C++ > 国家二级(C++)机试模拟试卷278

国家二级(C++)机试模拟试卷278

本单篇文档共21189字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C++ 模拟试卷 1297人下载
价格: 0.80 原价:¥9.00
收藏

国家二级(C++)机试模拟试卷278

选择题

1.下列方法中,不属于软件调试方法的是( )。(C)

A. 回溯法

B. 强行排错法

C. 集成测试法

D. 原因排除法

解析:软件调试主要采用以下三种方法:

强行排错法:作为传统的调试方法,其过程可概括为设置断点、程序暂停、观察程序状态、继续运行程序。

回溯法:该方法适合于小规模程序的排错、即一旦发现了错误,先分析错误征兆,确定最先发现“症状”的位置。

原因排除法:原因排除法是通过演绎和归纳,以及二分法来实现。

2.当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为( )。(A)

A. ios_base::in

B. ios_base::in | ios_base::out

C. ios_base::out

D. ios_base::in & ios_base::out

解析:本题考查对文件输入流的操作,ifstream流类为输入流类,默认的文件输入流打开方式为ios::in。故答案为A。

3.有如下程序:

#include

using namespace std;

class TestClass{

static int i;

public:

TestClass (){i++;}

~TestClass (){i–;}

stmic int getVal(){return i;}

};

int TestClass::i=0;

void fO{TestClass obj2;cout<<obj2.getVal();}

int main(){

TestClass obj1;

f0;

TestClass*obj3=new TestClass;cout<getVal();

delete obj3;cout<<TestClass::getVal();

return 0:

}

程序的输出结果是( )。(B)

A. 232

B. 221

C. 222

D. 231

解析:由于i是类TestClass的静态成员,该成员被类的所有实例共享。当定义objl时,系统自动调用构造函数TestClass(),i的值将加1;调用函数f()时,在定义obj2时系统会自动调用构造函数TestClass(),i的值将再加1:调用obj2.getVal();后,将i的值输出,输出值为2;当调用函数f()即将结束时,系统自动调用析构函数~TestClass(),i的值将减1;当定义obj3时,系统自动调用构造函数TestClass(),i的值将加1,调用coutgetVal();后,将j的值输出,输出值为2;调用delete obj3后将执行TestClass的析构函数~TestClass(),执行后,i的值将减1,TestClass::getVal()为类的一个静态成员函数,其作用是返回私有静态成员变量i的值l。

4.必须用一对大括号括起来的程序段是( )。(D)

A. switch语句中的case标号语句

B. if语句的分支

C. 循环语句的循环体

D. 函数的函数体

解析:本题考查C++基本控制结构,A、B、C三个选项中的大括号不是必须的,而D选项中的函数体必须使用大括号。

5.在C++中,实现封装性需借助于( )。(B)

A. 枚举

B. 类

C. 数组

D. 函数

解析:此题考查的是C++语言中对象概念的理解。所谓封装性是指将数据和算法捆绑成一个整体,这个整体就是对象。C++语言通过建立用户定义类型“类”来支持封装性和信息隐藏。

6.C++中的模板包括( )。(C)

A. 对象模板和函数模板

B. 对象模板和类模板

C. 函数模板和类模板

D. 变量模板和对象模板

解析:本题考查函数模板和类模板,所以答案为C。

7.在软件开发中,需求分析阶段产生的主要文档是( )。(D )

A. 数据字典

B. 详细设计说明书

C. 数据流图说明书

D. 软件需求规格说明书

解析:需求分析的最终结果是生成软件需要规格说明书,可以为用户、分析人员和设计人员之间的交流提供方便。

8.下列有关模板的叙述中,正确的是( )。(B)

A. 函数模板不能含有常规形参

B. 函数模板的一个实例就是一个函数定义

C. 类模板的成员函数不能是模板函数

D. 用类模板定义对象时,绝对不能省略模板实参

解析:本题考查函数模板和类模板的基础知识,所以本题答案为B。

9.下面是一个模板声明的开始部分:

tempiatedouble…

由此可知( )。(A)

A. 这可能是一个函数模板的声明

B. 这可能是一个类模板的声明

C. 这既可能是一个函数模板的声明,也可能是一个类模板的声明

D. 这肯定是一个错误的模板声明

解析:本题考查函数模板和类模板的基础知识,从templatedouble这里就可以看出这是一个函数模板的声明。

10.下列关于多态性的描述,错误的是( )。(C)

A. C++语言中的多态性分为编译时的多态性和运行时的多态性

B. 编译时的多态性可通过函数重载实现

C. 运行时的多态性可通过模板和虚函数实现

D. 实现运行时多态性的机制称为动态绑定

解析:编译时的多态性是通过函数重载和模板体实现的,运行时的多态性是通过虚函数体实现的。

11.有如下类定义和变量定义:

class A{

public:

A(){data=0;}

A(int x){data=x;}

~A(){}

void outData(){cout<<data;}

int getData(int n)const{return data*n;}

private:

int data;

};

A a(5);

const A b(8);

下列函数调用中错误的是( )。(B)

A. a.outData();

B. b.outData();

C. a.getData(10);

D. b.getData(10);

解析:常对象是指对象的所有成员的值都不能被修改,常成员函数是指只能引用本类的数据成员,而不能修改它们的成员函数;常成员函数可以被常对象调用,也可以被普通对象调用,而普通成员函数只能被普通对象调用,不能被常对象调用,题意中对象a是普通对象,b是常对象,outData()是普通成员函数,getData()是常成员函数,所以选项B中通过常对象

本文档预览:3600字符,共21189字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级(C++)机试模拟试卷278

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号