二级C++笔试411.docx

上传人:b****2 文档编号:2323995 上传时间:2022-10-28 格式:DOCX 页数:20 大小:25.40KB
下载 相关 举报
二级C++笔试411.docx_第1页
第1页 / 共20页
二级C++笔试411.docx_第2页
第2页 / 共20页
二级C++笔试411.docx_第3页
第3页 / 共20页
二级C++笔试411.docx_第4页
第4页 / 共20页
二级C++笔试411.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

二级C++笔试411.docx

《二级C++笔试411.docx》由会员分享,可在线阅读,更多相关《二级C++笔试411.docx(20页珍藏版)》请在冰豆网上搜索。

二级C++笔试411.docx

二级C++笔试411

二级C++笔试-411

(总分:

83.00,做题时间:

90分钟)

一、选择题(总题数:

35,分数:

59.00)

1.下列程序的执行结果为

#include<iostream.h>

voidmain()

inta=3,b=0;

int*p=&a;

b=+a++;

cout<<*p<<","<<b<<endl;

A)3,4B)4,3C)3,4D)4,4

(分数:

2.00)

 A.

 B. √

 C.

 D.

解析:

[解析]*p为所指对象a的值,语句“b=+a++;”等价于“b=b+a;a=a+1;”。

2.下列叙述中正确的是

A)软件测试应该由程序开发者来完成

B)程序经调试后一般不需要再测试

C)软件维护只包括对程序代码的维护

D)以上三种说法都不对

(分数:

1.00)

 A.

 B.

 C.

 D. √

解析:

[解析]本题考核软件测试、软件调试和软件维护的概念。

软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序可靠性的鉴定。

软件测试具有挑剔性,测试不是为了证明程序是正确的,而是在设想程序有错误的前提下进行的,其目的是设法暴露程序中的错误和缺陷,就是说,测试是程序执行的过程,目的在于发现错误;一个好的测试在于能发现至今未发现的错误;一个成功的测试是发现了至今未发现的错误。

由于测试的这一特征,一般应当避免由开发者测试自己的程序。

所以,选项A的说法错误。

调试也称排错,目的是发现错误的位置,并改正错误,经测试发现错误后,可以立即进行调试并改正错误:

经过调试后的程序还需进行回归测试,以检查调试的效果,同时也可防止在调试过程中引进新的错误。

所以,选项B的说法错误。

软件维护通常有4类:

为纠正使用中出现的错误而进行的改正性维护;为适应环境变化而进行的适应性维护;为改进原有软件而进行的完善性维护;为将来的可维护和可靠而进行的预防性维护。

软件维护不仅包括程序代码的维护,还包括文档的维护。

文档可以分为用户文档和系统文档两类。

但无论是哪类文档,都必须与程序代码同时维护。

只有与程序代码完全一致的文档才有意义和价值。

所以,选项C的说法错误。

综上所述,选项A、B、C的说法都错误,所以,选项D为正确答案。

3.应在下面程序下划线中填写的正确的语句是()。

#include<iostream>

usingnamespacestd;

classA

public:

voidtest()cout<<"thisisA!

";

classB:

publicA

voidtest()

______//显示调用基类函数test()

cout<<"thisisB!

";

voidmain()

A)A:

test()B)test()C)B:

test()D)this->test()

(分数:

2.00)

 A. √

 B.

 C.

 D.

解析:

[解析]A:

表示A的作用域。

4.设计数据库的存储结构属于()。

A)需求分析B)概念设计

C)逻辑设计D)物理设计

(分数:

2.00)

 A.

 B.

 C.

 D. √

解析:

[解析]物理设计阶段主要解决选择文件存储结构和确定文件存取方法的问题,包括:

选择存储结构、确定存取方法、选择存取路径、确定数据的存放位置。

5.若需要利用形参直接访问实参,则应把形参变量说明为()参数。

A)指针B)引用C)传值D)常值

(分数:

2.00)

 A.

 B. √

 C.

 D.

解析:

[解析]在进行参数传递时,引用参数是利用形参直接访问实参,形参的变化直接影响实参的变化,而传值参数不会影响实参变量。

6.假定MyClass为一个类,执行“MyClassa[3],*p[2];”语句时会自动调用给类的构造函数()次。

A)2B)3

C)4D)5

(分数:

1.00)

 A.

 B. √

 C.

 D.

解析:

[解析]C++在创建一个对象时,会自动调用类的构造函数,在构造函数中可以执行初始化成员变量的操作。

语句“MyClassa[3],*p[2];”创建了三个对象a[0]、a[1]、a[2]和2个对象指针。

在创建对象数组a时系统会调用类的构造函数。

但在创建对象指针p时,不调用类的构造函数,因为指针p本身不定义类对象,而是定义了p可以指向一个MyClass的对象。

7.下面关于面向对象的程序设计方法中,正确的是()。

A)“多态性”是指对象的状态根据运行的要求进行变化

B)“封装性”是指将不同类型的数据结合在一起作为一个整体来处理

C)在面向对象的程序设计中,结构化程序设计方法仍有着重要作用

D)基类的私有成员在派生类的对象中不可访问,也不占内存空间

(分数:

2.00)

 A.

 B.

 C. √

 D.

解析:

[解析]面向对象中的多态性是指当多种事物继承自一种事物时,同一种操作在它们之间表现出不同的行为;而封装性是指将数据和算法捆绑成一个整体,这个整体就是对象,描述对象的数据被封装在其内部。

C++是起源于C语言的一种面向对象的程序设计语言,因此C++语言既保留了传统的结构化程序设计方法,又支持面向对象程序设计方法;派生类不可访问基类中的私有成员,因此在派生类中直接引用基类的私有变量成员是不允许的,但可以通过基类的公用成员函数来引用基类的私有变量成员。

8.要定义数组a,使得其中每个元素的数据依次为3,9,4,8,0,0,0,错误的定义语句是()。

A)inta[]=3,9,4,8,0,0,0;B)inta[9]=3,9,4,8,0,0,0;

C)inta[]=3,9,4,8;D)inta[7]=3,9,4,8,0,0,0;

(分数:

2.00)

 A.

 B.

 C. √

 D.

解析:

[解析]选项C的定义方式中,a数组只包含4个元素,因此选项C不符合题意要求。

而其他3个选项中的定义方式都可以实现题目的要求。

9.关于虚函数下面说的正确的是

A)若在重定义虚函数时使用了virtual,则该重定义函数还是虚函数

B)虚函数不能声明为友元

C)子类必须重定义父类的虚函数

D)虚函数不能是static的

(分数:

1.00)

 A.

 B.

 C.

 D. √

解析:

解析:

虚函数一定不能定义为静态的。

虚函数可以声明为友元,子类也不是必须重定义父类的虚函数,若在重定义虚函数时使用了virtual,则该重定义函数不一定还是虚函数。

10.下列定义中,x是一个类,______是定义指向对象数组的指针p。

A)X*p[4]B)X(*p)[4]

C)(X*)p[4]D)X*p[]

(分数:

2.00)

 A.

 B. √

 C.

 D.

解析:

11.在一棵二叉树上第5层的结点数最多是

A)8B)16

C)32D)15

(分数:

1.00)

 A.

 B. √

 C.

 D.

解析:

[解析]根据二叉树的性质,在二叉树的第K层上,最多有2的k-1次方个结点。

所以,第五层的结点数最多为16。

12.对于语句cout<<setfill('*')<<setw(10)<<1<<setfill('*')<<setw

(2)

<<2;的输出结果是

A)*********1*2B)********12

C)*******1*2D)12********

(分数:

2.00)

 A. √

 B.

 C.

 D.

解析:

[解析]C++语言中setfill的意思是在空格的地方填上serfill函数中的参数字符,setw的意思是设置整个输出字符串的字符个数,本题中用。

来代替空格。

13.表达式10>5&&6%3的值是

A)-1

B)非零值

C)0

D)1

(分数:

1.00)

 A.

 B.

 C. √

 D.

解析:

[解析]考查/和%运算符的意义。

[解题要点]逻辑与运算符为真的前提是两边的表达式都为真,本题中6%3的值为0,显然该表达式的值应该为0。

[考点链接]/是整除运算符,当两个操作数都为整数时,结果为整型,将小数部分舍去。

14.对虚函数的调用()。

A)一定使用动态联编B)必须使用动态联编

C)一定使用静态联编D)不一定使用动态联编

(分数:

1.00)

 A.

 B.

 C.

 D. √

解析:

15.以下各选项组中,均是C++语言关键字的组是

A)publicoperatorthisB)shodstringstatic

C)itwhile>=D)privatecoutprintf

(分数:

1.00)

 A. √

 B.

 C.

 D.

解析:

[解析]关键字是系统已预定义的单词,在程序中有不同的用途,考生应该熟记。

16.下列程序的输出结果为

#include<iostream.h>

voidmain()

char*a[]="hello,"the","world";

char**pa=a;

pa++;

cout<<*pa<<endl;

A)helloB)theC)worldD)hellotheworld

(分数:

2.00)

 A.

 B. √

 C.

 D.

解析:

[解析]本题主要考查的是指针数组和指向指针的指针之间的关系,其中a是指针数组,pa是指向指针数组行的指针,所以pa自加1相当于指向下一行。

17.下列叙述中错误的是()。

A)一种数据的逻辑结构可以有多种存储结构

B)数据的存储结构与数据处理的效率无关

C)数据的存储结构与数据处理的效率密切相关

D)数据的存储结构在计算机中所占的空间不一定是连续的

(分数:

2.00)

 A.

 B. √

 C.

 D.

解析:

18.下列叙述中正确的是

A)数据库系统是一个独立的系统,不需要操作系统的支持

B)数据库技术的根本目的是解决数据的共享问题

C)数据库管理系统就是数据库系统

D)以上3种说法都不对

(分数:

2.00)

 A.

 B. √

 C.

 D.

解析:

[解析]数据库技术的根本目的是要解决数据的共享问题;数据库需要操作系统的支持;数据库管理系统(DatabaseManagementSystem,DBMS),对数据库进行统一地管理和控制,以保证数据库的安全性和完整性。

它是数据库系统的核心软件。

19.下列数据模型中,具有坚实理论基础的是

A)层次模型

B)网状模型

C)关系模型

D)以上3个都是

(分数:

1.00)

 A.

 B.

 C. √

 D.

解析:

解析:

关系模型较之格式化模型(网状模型和层次模型)有以下方面的优点,即数据结构比较简单、具有很高的数据独立性、可以直接处理多对多的联系,以及有坚实的理论基础。

20.this指针是C++语言实现什么的一种机制?

A)抽象B)封装C)继承D)重载

(分数:

2.00)

 A.

 B. √

 C.

 D.

解析:

[解析]this指针是C++语言实现封装的一种机制

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1