考试吧

计算机等级

考试吧>等级考试>计算机二级考试>C加加>模拟试题>正文
2017年12月计算机二级C++考试冲刺模拟试卷(2)
考试吧 2017-11-26 19:20:18 评论(0)条

  点击查看:2017年12月计算机二级C++考试冲刺模拟试卷汇总

  一、选择题(每小题1分,共40分)

  1 [单选题] 已知枚举类型声明语句为:

  enum COLOR{WHITE,YELLOW,GREEN=5,RED,BLACK=10};

  则下列说法中错误的是( )。

  A.枚举常量YELLOW的值为1

  B.枚举常量RED的值为6

  C.枚举常量BLACK的值为10

  D.枚举常量WHITE的值为1

  参考答案:D

  参考解析:

  C++语言规定枚举常量的默认值依次等于0,1,…,n-1。也可以给枚举常量赋初值,方法是:在枚举常量的后面跟上“=整型常量”,在给枚举常量赋初值时,如果给其中任何一个枚举常量赋初值,则其后的枚举常量将按自然数的规则依次赋初值。所以本题答案为D。

  2 [单选题] 在软件开发中。需求分析阶段产生的主要文档是( )。

  A.软件集成测试计划

  B.软件详细设计说明书

  C.用户手册

  D.软件需求规格说明书

  参考答案:D

  参考解析:

  需求分析阶段的工作可以概括为:需求获取、需求分析、编写需求规格说明书、需求评审四个方面。所以选择D。

  3 [单选题] 下列符号中不属于c++关键字的是( )。

  A.friend

  B.namespace

  C.continue

  D.byte

  参考答案:D

  参考解析:

  本题考查c++关键字,属于基本常识,显然D选项不正确。

  4 [单选题] 若count为类Toy中的静态数据成员,obj为类Toy的一个对象,则在该类的成员函数中访问count时,错误的是( )。

  A.count

  B.obj.count

  C.Toy.count

  D.Toy::count

  参考答案:C

  参考解析:

  静态数据成员也属于类的成员,所以该类的成员函数可以直接访问,选项A正确;使用类对象访问类成员时,使用成员运算符”.”,选项B正确;由于count为Toy类的静态数据成员,所以可以使用类名来访问,需要加上count的命名空间,Toy::count,选项D正确。故本题答案为C选项。

  5 [单选题] 下列( )是C++语言的有效标识符。

  A._No1

  B.N0.1

  C.12345

  D.int

  参考答案:A

  参考解析:

  标识符是一个以字母或下画线开始的,由字母、下画线和数字组成的字符串,标识符不能与任意关键字同名。

  6 [单选题] 为了提高函数调用的实际运行速度,可以将较简单的函数定义为( )。

  A.内联函数

  B.重载函数

  C.递归函数

  D.函数模板

  参考答案:A

  参考解析:

  一般函数进行调用时,要将程序执行权转到被调用函数中,然后再返回到调用它的函数中;而内联函数在调用时,是将调用表达式用内联函数体来替换,一般只将规模很小而使用频繁的函数声明为内联函数,可以避免函数调用时间开销,从而提高运行速度。

  7 [单选题] 以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原因是( )。

2017年12月计算机二级C++考试冲刺模拟试卷(2)


  A.*P表示的是指针变量P的地址

  B.P表示的是变量a的地址,而不是变量a的值

  C.+P表示的是指针变量P的值

  D.*P只能用来说明P是一个指针变量

  参考答案:B

  参考解析:

  P表示的是变量a的地址,定义后*P表示的是变量a的值。

  8 [单选题] 有三个关系R,S和T如下:

   2017年12月计算机二级C++考试冲刺模拟试卷(2)

  其中关系T由关系R和s通过某种操作得到,该操作为( )。

  A.选择

  B.投影

  C.交

  D.并

  参考答案:D

  参考解析:

  并关系T中包含了关系R与S中的所有元组,所以进行的是并的运算。

  9 [单选题] 在数据管理技术发展的三个阶段中,数据共享最好的是( )。

  A.人工管理阶段

  B.文件系统阶段

  C.数据库系统阶段

  D.三个阶段相同

  参考答案:C

  参考解析:

  数据管理发展至今已经历了三个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。其中最后一个阶段结构简单,使用方便逻辑性强物理性少,在各方面的表现都最好,一直占据数据库领域的主导地位,所以选择C。

  10 [单选题] 数据库设计中反映用户对数据要求的模式是( )。

  A.内模式

  B.概念模式

  C.外模式

  D.设计模式

  参考答案:C

  参考解析:

  数据库系统的三级模式是概念模式、外模式和内模式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述,所以选择c。内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法。

  11 [单选题] 下面程序的运行结果为( )。

2017年12月计算机二级C++考试冲刺模拟试卷(2)

  A.10

  B.11

  C.12

  D.0

  参考答案:C

  参考解析:

  在进入最后一次循环时a=10,在循环体内执行“a++;”后a=11,执行完该次循环体计算for循环的增量部分后a=12小于10,循环结束。

  12 [单选题] 下列关于栈叙述正确的是( )。

  A.栈顶元素最先能被删除

  B.栈顶元素最后才能被删除

  C.栈底元素永远不能被删除

  D.栈底元素最先被删除

  参考答案:A

  参考解析:

  栈是先进后出的数据结构,所以栈顶元素最后入栈却最先被删除。栈底元素最先入栈却最后被删除。所以选择A。

  13 [单选题] 下列数组定义中错误的是( )。

  A.char s[5]=”ABCDE”;

  B.char s[6]=”ABCDE”;

  C.char s[7]=”ABCDE”;

  D.char s[]=”ABCDE”;

  参考答案:A

  参考解析:

  常量字符串“ABCDE”中,结尾还保存一个空字符'\O ',总共有6个字符,所以字符数组S使用常量字符串初始化时,S的数组大小必须大于等于6,选项B、C正确;另外在对字符数组初始化时,若省略数组长度,系统会默认将数组长度设置为常量字符串的长度6,选项D正确;选项A中数组长度5不够容纳该常量字符串,所以A错误。故本题答案为A选项。

  14 [单选题] 由于常对象不能被更新,因此( )。

  A.通过常对象只能调用它的常成员函数

  B.通过常对象只能调用静态成员函数

  C.常对象的成员都是常成员

  D.通过常对象可以调用任何不改变对象值的成员函数

  参考答案:A

  参考解析:

  本题考查常对象的基本知识,常对象只能调用它的常成员函数,而不能调用非const函数,常对象的成员函数不一定都是常成员函数,只需保证其数据成员是常数据成员即可。所以本题选A。

  15 [单选题] 设有定义int x;float y;,则10+X+Y值的数据类型是( )。

  A.int

  B.double

  C.float

  D.不确定

  参考答案:C

  参考解析:

  由算术运算符组成的表达式中,若含有不同类型的操作数,则系统隐含地将低类型转化为高类型,由低至高的顺序为int→float→double。

  16 [单选题] 下列各组类型声明符中,含义相同的一组是( )。

  A.unsigned long int和long

  B.signed short int和short

  C.unsigned short和short

  D.short int和int

  参考答案:B

  参考解析:

  本题考查整型变量的类型,A、C选项中前者为无符号的,后者为有符号的,D选项中short int为2个字节,int为4个字节。

  17 [单选题] 下面程序的输出结果是( )。

  

2017年12月计算机二级C++考试冲刺模拟试卷(2)

2017年12月计算机二级C++考试冲刺模拟试卷(2)

  A.22

  B.43

  C.42

  D.32

  参考答案:C

  参考解析:

  “++”是右结合的,所以先赋值为3,最后输出3+1;常成员函数只有常对象才能调用,所以输出2。

  18 [单选题] 有如下程序:

2017年12月计算机二级C++考试冲刺模拟试卷(2)


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

  A.val=10 const:val=20

  B.const: val=10 const:val=20

  C.const: val=10 val=20

  D.val=10 val=20

  参考答案:C

  参考解析:

  本题考查常对象、常成员函数及构造函数。常对象只能调用常成员函数,普通对象调用普通成员函数。所以本题中obj1为常对象,执行obj1.print()后,会执行常构造函数,输出const:val=10;而obj2为普通对象,执行obj2.print()时,会执行默认构造函数,输出val=20。故答案为C。

  19 [单选题] 下面叙述中错误的是( )。

  A.软件测试的目的是发现错误并改正错误

  B.对被调试的程序进行“错误定位”是程序调试的必要步骤

  C.程序调试通常也称为Debug

  D.软件测试应严格执行测试计划,排除测试的随意性

  参考答案:A

  参考解析:

  软件测试的目的是为了发现错误而执行程序的过程,并不涉及改正错误,所以选项A错误。程序调试的基本步骤有:错误定位、修改设计和代码,以排除错误、进行回归测试,防止引进新的错误。程序调试通常称为Debug,即排错。软件测试的基本准则有:所有测试都应追溯到需求、严格执行测试计划,排除测试的随意性、充分注意测试中的群集现象、程序员应避免检查自己的程序、穷举测试不可能、妥善保存测试计划等文件。

  20 [单选题] 下列关于常成员的叙述中,正确的是( )。

  A.常成员函数只能由常对象调用

  B.常成员函数不能更新对象的状态

  C.常数据成员可以被类对象共享

  D.常数据成员可以在构造函数体中初始化

  参考答案:B

  参考解析:

  常对象只能调用常成员函数,普通对象可以调用全部成员函数,包括常成员函数,选项A错误;常成员函数不能改变所操作对象的数据成员,即常成员函数不能更新对象的状态,选项8正确;常数据成员是指在类定义中不能修改其值的数据成员,它和普通类成员一样,不能被所有类对象共享,选项C错误;类中的常数据成员只能通过构造函数的参数初始化列表进行初始化,选项D错误。故本题答案为B选项。

扫描/长按二维码帮助考试通关
2017等考成绩查询时间
2017等考各科通关技巧
2017各科最新预测试卷
等考成绩评定及管理

微信搜索"考试吧"了解更多考试资讯、下载备考资料

  21 [单选题] 下列关于类模板的叙述中,正确的是( )。

  A.类模板实例化时,编译器会根据给出的模板实参生成一个类

  B.类模板中的成员函数没有返回值

  C.类模板的主要作用是生成抽象类

  D.类模板中的数据成员具有同样类型

  参考答案:A

  参考解析:

  类模板在引用实际模板类类型时实例化,编译器会根据给出的模板实参生成一个类的定义,选项A正确;类模板中的成员函数同普通类的成员函数一样,也可以有返回值,返回值类型可以是模板形参类型,也可以是具体类型,选项8错误;类模板的主要作用是生成类,而不是生成抽象类,选项C错误;类模板中的成员类型可以是模板形参类型,也可以是具体类型,选项D错误。本题答案为A选项。

  22 [单选题] 结构化程序的三种基本结构是( )。

  A.递归、迭代和回溯

  B.过程、函数和子程序

  C.顺序、选择和循环

  D.调用、返回和选择

  参考答案:C

  参考解析:

  仅使用顺序、选择、循环三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。故本题答案为C选项。

  23 [单选题] 有如下类声明:

  

2017年12月计算机二级C++考试冲刺模拟试卷(2)



  下列关于getValue成员函数的定义中,正确的是( )。

  A.SAMPLE::setValue(int nO){n=n0;}

  B.void SAMPLE::setValue(int nO){n=n0;}

  C.void setValue(int nO){n=n0;}

  D.setValue(int nO){n=n0;}

  参考答案:B

  参考解析:

  本题考查在类外定义类的成员函数,需要使用作用域限定符“::”,属于基础知识,本题答案为B。

  24 [单选题] 下列关于基类和派生类关系的叙述中,正确的是( )。

  A.每个类最多只能有一个直接基类

  B.派生类中的成员可以访问基类中的任何成员

  C.基类的构造函数必须在派生类的构造函数体中调用

  D.派生类除了继承基类的成员,还可以定义新的成员

  参考答案:D

  参考解析:

  本题考查派生类与基类的关系,派生类可以有多个直接基类,而派生类有三种继承方式,在私有继承中,派生类的成员并不能访问基类的成员。如果基类中定义了缺省构造函数或根本没有定义任何一个构造函数时,在派生类构造函数的定义中可以省略对基类构造函数的调用。所以本题答案为D。

  25 [单选题] 有如下程序段:

2017年12月计算机二级C++考试冲刺模拟试卷(2)

  其中会产生编译错误的语句是( )。

  A.④

  B.③

  C.②

  D.①

  参考答案:A

  参考解析:

  本题考查指针和引用。①为引用,使用正确;④中&r表示一个地址,而*P已经是一个值了,不能将一个指针赋值给一个值,所以编译错误。

  26 [单选题] 软件测试的目的是( )。

  A.评估软件可靠性

  B.发现并改正程序中的错误

  C.改正程序中的错误

  D.发现程序中的错误

  参考答案:D

  参考解析:

  软件测试是为了发现错误而执行程序的过程,测试要以查找错误为中心,而不是为了演示软件的正确功能。不是为了评估软件或改正错误。

  27 [单选题] 为了使用setw设置输出宽度,必须在程序中包含头文件( )。

  A.iostream

  B.iomainp

  C.fstream

  D.string

  参考答案:B

  参考解析:

  C++中,格式控制符在头文件iomanip中定义,所以要使用格式控制符setw,必须包含iomanip。故本题答案为B选项。

  28 [单选题] 下列语句中错误的是( ):

  A.const int a;

  B.const int a=10;

  C.const int*point=0;

  D.const int*point=new int(10):

  参考答案:A

  参考解析:

  const是一个C++语言的关键字,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性。限定符声明变量只能被读,必须初始化。A选项没有初始化,B、C、D选项都正确。

  29 [单选题] 对c++编译器区分重载函数无任何意义的信息是( )。

  A.参数类型

  B.参数个数

  C.返回值类型

  D.常成员函数关键字const

  参考答案:C

  参考解析:

  所谓函数重载是指同一个函数名可以对应多个函数的实现。每种实现对应一个函数体,这些函数的名字相同,其参数类型或个数不同,但不能出现函数返回值类型不同而参数类型和个数完全相同的重载。所以本题答案为C。

  30 [单选题] 下面关于数组的初始化正确的是( ):

2017年12月计算机二级C++考试冲刺模拟试卷(2)

扫描/长按二维码帮助考试通关
2017等考成绩查询时间
2017等考各科通关技巧
2017各科最新预测试卷
等考成绩评定及管理

微信搜索"考试吧"了解更多考试资讯、下载备考资料

  二、基本操作题(共18分)

  41 [简答题]

  请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程proj1,该工程中包含程序文件main.cpp,其中有类Door(“门”)和主函数main的定义。程序中位于每个“// ERROR **** found ****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:

  打开503号门…门是锁着的,打不开。

  打开503号门的锁…锁开了。

  打开503号门…门打开了。

  打开503号门…门是开着的,无须再开门。

  锁上503号门…先关门…门锁上了。

  注意:只修改每个“// ERROR ********* found *********”下的那一行,不要改动程序中的其他内容。

  

2017年12月计算机二级C++考试冲刺模拟试卷(2)

2017年12月计算机二级C++考试冲刺模拟试卷(2)

2017年12月计算机二级C++考试冲刺模拟试卷(2)

  参考解析:

  【参考答案】 (1)this- >num=hum;

  (2)if(!closed)

  (3)void lock(){

  【考点分析】

  本题考查Door类,其中涉及bool型私有成员及成员函数、构造函数和其他成员函数。在构造函数中this指针指向的是当前类,因此当参数名与要赋值的成员名称一样时,使用this指针来区别。

  【解题思路】

  (1)主要考查考生对this指针的掌握,在构造函数中this指针指向的是当前类,因此要给num赋值使用语句this- >num=num;完成。

  (2)主要考查考生对if语句的掌握,先看类的私有成员中关于closed的定义:bool closed;//true表示门关着。再看下一条语句:cout <<”门是开着的,无须再开门。”;。即满足条件时就会输出:门是开着的,无须再开门。因此if括号内应该是!closed。

  (3)主要考查考生对const函数的掌握,lock函数体中存在语句locked=true,即有参数发生改变,因此不能用const。

扫描/长按二维码帮助考试通关
2017等考成绩查询时间
2017等考各科通关技巧
2017各科最新预测试卷
等考成绩评定及管理

微信搜索"考试吧"了解更多考试资讯、下载备考资料

  三、简单应用题(共24分)

  42 [简答题]

  请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2。其中有类Point(“点”)、Rectangle(“矩形”)和Circle(“圆”)的定义。在程序所使用的平面坐标系统中,x轴的正方向是水平向右的,y轴的正方向是竖直向下的。请在横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应该是:

  --圆形------------

  圆心=(3,2)

  半径=1

  面积=3.14159

  --外切矩形------

  左上角=(2,1)

  右下角=(4,3)

  面积 =4

  注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“// ****found ****”。

  

2017年12月计算机二级C++考试冲刺模拟试卷(2)

2017年12月计算机二级C++考试冲刺模拟试卷(2)

2017年12月计算机二级C++考试冲刺模拟试卷(2)



  参考解析:

  【参考答案】 (1)point.getX()+width,point.getY()+height

  (2)radius * radius

  (3)center.getX() - radius,center.getY() - radius

  (4)2 * radius

  【考点分析】

  本题考查Point类、Rectangle类和Circle类,其中涉及构造函数、const函数和静态成员。

  【解题思路】

  (1)主要考查考生对成员函数的掌握,程序要求返回右下角顶点,该点的x坐标为左上角顶点的x坐标加上width,该点的y坐标为左上角顶点y坐标加上height,即return Point(point.getX()+width,point.getY()+height);。

  (2)主要考查考生对成员函数的掌握,程序要求计算圆形面积,也就是返回圆面积,即return PI * radius * radius;。

  (3)主要考查考生对成员函数的掌握,首先看函数声明:Rectangle Circle::boundingBox()const,可知该函数要返回的是一个Rectangle类型,即要返回的是圆的外切矩形。再看Rectangle类的构造函数Rectangle(Point p,int w,int h),由此可知,空格处要定义的点pt为左上角点,即Point pt(center.getX() - radius,center.getY() - radius);。

  (4)由函数声明和Rectangle类的构造函数可知,w和h应该为直径,即w=h=2 * radius;。

  四、综合应用题(共18分)

  43 [简答题]

2017年12月计算机二级C++考试冲刺模拟试卷(2)
扫描/长按二维码帮助考试通关
2017等考成绩查询时间
2017等考各科通关技巧
2017各科最新预测试卷
等考成绩评定及管理

微信搜索"考试吧"了解更多考试资讯、下载备考资料

展开全文
Copyright © 2004-
考试吧(m.566.com)北京美满明天科技有限公司
社会统一信用代码:91110108MA01WU311X
帮助中心