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

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

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

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

选择题

1.结构化程序设计的3种结构是( )。(B)

A. 顺序结构,分支结构,跳转结构

B. 顺序结构,选择结构,循环结构

C. 分支结构,选择结构,循环结构

D. 分支结构,跳转结构,循环结构

解析:程序设计语言仅仅使用顺序、选择和重复(循环)三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。遵循程序结构化的设计原则,按结构化程序设计方法设计出的程序易于理解、使用和维护;可以提高编程工作的效率,降低软件的开发成本。

2.有三个关系R、S和T如下:

(D)

A. 并

B. 自然连接

C. 笛卡尔积

D. 交

解析:自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以B错误。笛卡尔积是用R集合中元素为第一元素,S集合中元素为第二元素构成的有序对,所以C错误。根据关系T可以很明显地看出是从关系R与关系S中取得相同的关系组所以取得是交运算,选择D。

3.以下程序的输出的结果是( )。

#include

void main()

{

int a,b,c,d(5);

c=2,c+=10;

a=b=10:

a*=2:

b/=2:

C%=2:

cout<<a<<\\(A)

A. 20,5,0

B. 20,7,0

C. 20,5,1

D. 5,20,0

解析:c+=10使得c=12;a=b=10,a*=2使得a=20;b/=2,b=10/2,使得b=5;c=12%2=0,所以输出值20,5,0。

4.下列关于虚函数的说明中,正确的是( )。(B)

A. 从虚基类继承的函数都是虚函数

B. 虚函数不得是静态成员函数

C. 只能通过指针或引用调用虚函数

D. 抽象类中的成员函数都是虚函数

解析:在某基类中声明为vinual并在一个或多个派生类中被重新定义的成员函数。虚函数必须是基类的非静态成员函数,其访问权限可以是pro-tected或public。如果一个类包含了纯虚函数,称此类为抽象类。所以本题答案为B。

5.下列程序运行后的结果为( )。

#include

void main()

{

int a=1,b=2;

bool c=1:

if<b)||c)cout<<\\(B)

A. false

B. true

C. 2

D. 1

解析:本题考查的是对于逻辑运算符号的理解,“||”运算符的任何一边取值为真,则整个运算结果为真。

6.重载输入流运算符“>>”必须使用的原型为( )。(A)

A. istream&operator>>(istream&,&);

B. istream&operator>>(istream,);

C. istream operator>>(istream,&);

D. operator>>(istream&,&);

解析:C++流的输入运算符“>>”和输出运算符“<>”须使用以下原型:istream&operator>>(istream&,&);。

7.对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是( )。(A )

A. 冒泡排序为n(n一1)/2

B. 简单插入排序为n

C. 希尔排序为n

D. 快速排序为n/2

解析:

8.关于运算符重载,下列表述中正确的是( )。(C)

A. C++已有的任何运算符都可以重载

B. 运算符函数的返回类型不能声明为基本数据类型

C. 在类型转换符函数的定义中不需要声明返回类型

D. 可以通过运算符重载来创建C++中原来没有的运算符

解析:重载运算符的规则如下:①C++不允许用户自己定义新的运算符,只能对已有的C++运算符进行重载;②C++不能重载的运算符只有5个;③重载不能改变运算符运算对象的个数;④重载不能改变运算符的优先级和结合性;⑤重载运算符的函数不能有默认的参数;⑥重载的运算符必须和用户定义的自定义类型的对象一起使用,至少应有一个是类对象,即不允许参数全部是C++的标准类型。故本题答案为C。

9.程序执行后的输出结果是( )。

#include

void main()

{

char flag=’c’;

switch(flag)

{

case ’a’:cout<<\\(C)

A. 12

B. 23

C. 34

D. 45

解析:因为flag=’c’, 所以执行cout<<\\

10.有如下程序:

#include

using namespace std;

class Obj {

static int i;

public:

Obj() { i++; }

~Obj() { i–; }

static int getVal() { return i;}

};

int Obj::i=0;

void f() {Obj ob2; cout<<ob2.getVal(); }

int main() {

Obj ob1;

f();

Obj *ob3=new Obj; cout<getVal();

delete ob3; cout<<Obj::getVal();

return 0;

}

执行这个程序的输出结果是( )。(D)

A. 232

B. 231

C. 222

D. 221

解析:本题考查构造函数和析构函数的调用顺序,调用顺序为先构造的后析构,后构造的先析构。本题中先定义了一个对象ob1,会执行构造函数,那么i就变为了1;再执行函数f后,由于又定义了一个对象ob2,所以再次执行构造函数,i就变为了2,输出了2。函数执行完后执行析构函数,i变为了1,然后又定义了对象指针,i变为了2。释放ob3后,i变为了1,所以答案为D。

11.假定a=3,下列程序的运行结果是( )。

#include

int fun(int n);

voidmain()

{

cout<<“Please input

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号