二级C++笔试-294
(总分98, 做题时间90分钟)
一、选择题
1.
数据的存储结构是指( )。
A 存储在外存中的数据
B 数据所占的存储空间量
C 数据在计算机中的顺序存储方式
D 数据的逻辑结构在计算机中的表示
分值: 2
答案:D
[解析] 数据的逻辑结果在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构)。
2.
下列关于break语句的描述,不正确的是( )。
A break语句可用在循环体内,它将使执行流程跳出本层循环体
B break语句可用在switch语句中,它将使执行流程跳出当前switch语句
C break语句可用在订语句中,它将使执行流程跳出当前if语句
D break语句在一层循环体中可以出现多次
分值: 2
答案:C
[解析] break语句只能用在switch语句和循环语句中。在switch语句中,break用来使执行流程跳出switch语句,而继续执行switch后面的语句。在循环语句中,break用来使执行流程无条件地跳出本层循环体。
3.
每个C++程序都必须有且仅有一个( )。
A 预处理命令
B 函数
C 语句
D 主函数
分值: 2
答案:D
[解析] 一个C++程序一般由预处理命令、输入输出、函数、语句、变量这几个基本部分组成。但是,每个C++程序都必须有且仅有一个主程序。
4.
下面不属于软件工程3个要素的是( )。
A 工具
B 过程
C 方法
D 环境
分值: 2
答案:D
[解析] 软件工程包括三个要素,即方法、工具和过程。方法是完成软件工程项目的技术手段;工程要能支持软件的开发、管理、文档生成;过程是支持软件开发的各个环节的控制、管理。因此,环境不属于软件工程三要素之一。正确答案选D。
5.
结构化程序设计所规定的三种基本控制结构是( )。
A 输入、输出、处理
B 顺序结构、选择结构、循环结构
C for、while、switch
D 主程序、子程序、函数
分值: 2
答案:B
[解析] 结构化程序有三种基本结构组成,分别是顺序结构、选择结构和循环结构。
6.
下列关于多态性的描述,错误的是( )。
A C++语言的多态性分为编译时的多态性和运行时的多态性
B 编译时的多态性可通过函数重载实现
C 运行时的多态性可通过模板和虚函数实现
D 实现运行时多态性的机制称为动态绑定
分值: 2
答案:C
[解析] C++中的多态性分为两类:编译时的多态性和运行时的多态性。编译时的多态性是通过函数重载和模板体现的,其实现机制称为静态绑定;运行时的多态性是通过虚函数体现的,其实现机制称为动态绑定。
7.
考虑函数原型void fuc(int x,int y=5,char z='*'),下面函数调用不合法的是( )。
A fuc(3);
B fuc(3,6);
C fuc(3,'*');
D fuc(3,6,'*');
分值: 2
答案:C
[解析] 在函数调用时,系统按照从左至右的顺序将实参与形参结合,当实参的数量不足时,系统按同样的顺序用说明或定义中的默认值来补齐所缺少的参数。选项C中,实参'*'将赋值给整型形参y,是错误的。
8.
下列运算符重载函数的原型错误的是( )。
A Volume operator-(double,double);
B double Volume::operator-(double);
C Volume Volume::operator-(Volume);
D Volume operator-(Volume,Volume);
分值: 2
答案:A
[解析] 运算符重载也是一种函数重载。函数重载要求编译器能够唯一地确定调用一个函数时应该执行哪个函数代码,即采用哪个函数实现。确定函数实现时,要求从函数参数的个数和类型上来区分。也就是说,进行函数重载时,要求同名函数在参数个数上不同,或者参数类型上不同。否则,无法实现重载。选项A重载的减号运算符与C++默认提供的两个double相减运算无法区别。
多态性与虚函数9.
下列对模板的声明,正确的是( )。
A template<T>
B template<classT1,T2>
C template<class T1,classT2>
D template<class T1;class T2>
分值: 2
答案:C
[解析] 模板定义的<类型参数表>中包含一个或多个由逗号分隔的类型参数项,每一项由关键字class后跟一个用户命名的标识符,此标识符为类型参数,它不是一种数据类型,但可以同一般数据类型一样使用。在使用类模板时,必须将其实例化,即用实际的数据类型代替它。
10.
数据独立性是数据库技术的重要特点之一。所谓数据独立性是指( )。
A 数据与程序独立存放
B 不同的程序被存放在不同的文件中
C 不同的数据只能被所对应的应用程序所使用
D 上述三种说法都不对
分值: 2
答案:D
[解析] 数据库系统使数据具有两方面的独立性:一是物理独立性,即由于数据的存储结构与逻辑结构之间由系统提供映像,使得当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改。二是逻辑独立性,即由于数据的局部逻辑结构与总体逻辑结构之间也由系统提供映像,使得当总体逻辑结构改变时,其局部逻辑结构可以不变,从而根据局部逻辑结构编写的程序也可以不必修改。因此,选项A、选项B和选项C中的
说法都是错误的。
11.
关系表中的每一横行称为一个( )。
A 元组
B 字段
C 属性
D 码
分值: 2
答案:A
[解析] 关系表中,每一行称为一个元组,对应表中的一条记录;每一列称为表中的一个属性,对应表中的一个字段;在二维表中凡能唯一标识元组的最小属性集称为该表的键或码。
12.
有以下程序:
#include<iostream>
using namespace std;
int main()
int n=100;
cout<<dec<<n<<",";
cout<<oct<<n<<",";
cout<<hex<<n<<endl;
return 0;
程序运行后输出的结果是( )。
#include<iostream>
using namespace std;
int main()
int n=100;
cout<<dec<<n<<",";
cout<<oct<<n<<",";
cout<<hex<<n<<endl;
return 0;
程序运行后输出的结果是( )。
A 100,100,100
B 64,144,100
C 100,144,64
D 100,64,144
分值: 2
答案:C
[解析] 由于100所对应的十进制数为100,对应的八进制数为144,对应的十六进制数是 64。所以正确选项是C。
13.
在单链表中,增加头结点的目的是( )。
A 方便运算的实现
B 使单链表至少有一个元素
C 标识表结点中首结点的位置
D 说明单链表是线性表链式存储的实现形式
分值: 2
答案:A
[解析] 头结点不仅标识了表中首结点的位置,而且根据单链表的结构,只要掌握了表头,就能访问整个链表,因此增加头结点的目的就是为了便于运算的实现。
14.
函数定义为fun(int &i),变量定义n=100,则下面调用正确的是( )。
A fun(20);
B fun(20+n);
C fun(n);
D fun(&n);
分值: 2
答案:C
[解析] 本题考核函数的调用方法。当函数的参数是引用类型时,参数不能为常量、表达式和变量地址,只能是变量本身。
15.
将小写字母'n'赋值给字符变量ch,正确的操作是( )。
A ch='\n'
B ch=110
C ch="n"
D ch='N'
分值: 2
答案:B
[解析] 字母在C++语言中是以ASCII码存放的,即以整数形式存放。n对应的ASCII值是 110,由于对n所对应的ASCII码值不清楚,所以解析本题只能采用排除法。选项A中,'\n'是回车换行符。选项C中存放的是字符串n。选项D中存放的是字母N。
16.
假定MyClas为一个类,那么该类的析构函数是( )。
A void~MyClas();
B ~MyClas(int n);
C MyClas();
D ~MyClas();
分值: 2
答案:D
[解析] 析构函数名为符号“~”加类名,析构函数没有参数和返回值。
17.
下面不是C++语言整型常量的是( )。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论