2017年3月计算机二级考试C++考试试题积累

来源:文书网 2.12W

计算机的运算和逻辑功能主要是由中央处理器、主存储器、通道或 I/O处理器以及各种外部设备控制器部件实现的。下面是小编整理的关于计算机二级考试C++考试试题,欢迎大家参考!

2017年3月计算机二级考试C++考试试题积累
  【试题一】

1). 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )。

A.函数调用可以作为独立的语句存在

B.函数调用可以无返回值

C.函数调用可以出现在表达式中

D.函数调用可以作为、一个函数的形参

正确答案:D

答案解析:本题考查函数的调用方式。函数的形参和实参具有以下特点:①形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放分配的内存单元,因此,形参只有在函数内部有效,函数调用结束返回主调函数后则不能再使用该形参变量;②实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参,因此应通过预先用赋值、输入等办法使实参获得确定值;③实参和形参在数量上、类型上、顺序上应严格一致,否则会发生″类型不匹配″的错误;④函数调用中发生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化。

2). 对于语句″cout< < <1<< < <2;″的输出结果是( )。

A.*********1*2

B.********12

C.*******1*2

D.12********

正确答案:A

答案解析:C++语言中,setfill的意思是在空格的地方填上setfill函数中的参数字符,setw的意思是设置整个输出字符串的字符个数,本题中用*来代替空格。

3). 下列关于运算符重载不正确的是( )

A.运算符重载不能改变运算符的操作数个数

B.运算符重载不能改变运算符的优先级

C.运算符重载不能改变运算符的结合性

D.运算符重载能改变对预定义类型数据的操作方式

正确答案:D

4). 通常拷贝构造函数的参数是

A.某个对象名

B.某个对象的成员名

C.某个对象的引用名

D.某个对象的指针名

正确答案:C

答案解析:拷贝初始化构造函数的作用是用一个已知的对象来初始化一个被创建的`同类的对象,该函数只有一个参数,并且是对同类的某个对象的引用。

5). 下面关于模板的描述,错误的是

A.函数模板和类模板的参数可以是任意的数据类型

B.类模板不能直接使用,必须先实例化为相应的模板类,然后定义了模板类的对象后才能使用

C.函数模板不能直接使用,需要实例化为模板函数后才能使用

D.类模板的成员函数都是模板函数

正确答案:A

答案解析:类模板不能被重载,而函数模板可以,它们不能被未知的数据类型替换。

  【试题二】

1). 在位运算中,操作数每右移一位,其结果相当于

A.操作数乘以2

B.操作数除以2

C.操作数乘以4

D.操作数除以4

正确答案:B

答案解析:右移运算符">>"是双目运算符。其功能是把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数。例如:设a=15,a>>2 表示把000001111右移为00000011(十进制3)。

2). 下面描述中,不属于软件危机表现的是( ).

A.软件过程不规范

B.软件开发生产率低

C.软件质量难以控制

D.软件成本不断提高

正确答案:A

答案解析:软件危机主要表现在:软件需求的增长得不到满足;软件开发成本和进度无法控制;软件质量难以保证;软件不可维护或维护程度非常低;软件的成本不断提高;软件开发生产率的提高赶不上硬件的发展和应用需求的增长。所以选择A。

3). 以下定义语句中正确的是( )。

a-b=0;

A=65+1,b=′b′;

t a=1,″b= &a,″c=&b;

le a=0.0.b=1.1;

正确答案:B

答案解析:本题考查数据类型的定义。选项A中是要定义变量并且赋初值,但方式不对,必须单独定义其类型。选项C给实型变量赋值时不用双引号,也不能将地址赋予实型变量,在选项D中,C语言允许在一个类型说明符后说明多个相同类型的变量,各变量之间要用逗号隔开,而不是用分号隔开,选项B正确。

4). 已知Value是一个类,Value是Value的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是( )。

e operator+( Value v,int i);

e operator+( Value v= value,int i);

e operator+( Value vint i=O);

e operator+( Value v= value,int i=O);

正确答案:B

答案解析:非成员函数的重载运算符函数的格式为operator+(),是运算符十重载函数。

5). 如果表达式一x/y中的″-″和″″是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为( )。

A.jsj-ej-0253.jpg

B.jsj-ej-0254.jpg

C.jsj-ej-0255.jpg

D.jsj-ej-0256.jpg

正确答案:B

答案解析:本题考核运算符的重载。假定已经作为某个类的成员函数重载了二元运算符+,且cl、c2都是该类的对象,则ator+(c2)与cl+c2含义相同。如果十作为该类的非成员函数重载,则operator+( cl,c2)与cl+c2含义相同。同理,运算符″″作为友元函数重载,则--x)y与表达式operator/((- - x),y)相同。前缀运算符″一一″作为友元函数重载,则- -x与operator - -( x)相同,所以组合起来是operator/(operator-( x),y);,即B选项。

热门标签