2016计算机二级《C++》考试试题及答案

来源:文书网 3.24W

同学们在复习计算机二级考试时,要了解各科目的考生重点和考点,明确备考的方向,下面本站小编为大家搜索整理了关于二级《C++》考试试题及答案,欢迎参考练习,希望对你有所帮助!想了解更多相关信息请持续关注我们应届毕业生考试网!

2016计算机二级《C++》考试试题及答案

1[填空题]运算符重载仍然保持其原来的优先级、 和 。

参考解析:结合性、语法结构。

解析:运算符重载不能改变操作数的个数、运算符的优先级、运算符的结合性和运算符的语法结构。

2[单选题] 有以下程序:

#include

void fun(int a,int b,int C.

{ a=456,b=567,c=678;}

void main()

{

int X=10,Y=20,Z=30;

fun(X,Y,z);

aout<

}

输出结果是( )。

A.30,20,10B.10,20,30C.456,567,678D.678,567,456

参考答案:B

参考解析:本题考查函数中变量的作用范围,在主函数中给变餐x、Y、Z赋值,然后将其作为实参传递给了函数fun(),虽然在函数fun()中改变了这3个变量的值,但只是同名的局部变量,不影响函数中变量的值,所以在调用函数fun()结束后,主函数3个变量的值未改变。

3[单选题] 若有定义语句“doublex,y,*px,*Py;执行了px=&x;py=&y;”后,正确的输入语句是(  )。

f("%f%f",x,y);f("%f%f"&x,&y);f("%If%le",px,py);f("%lf%If"x,y);

参考答案:C

参考解析:此题主要考查输入函数的字符格式,lf和le表示以带小数点的数学形式或指数形式输入浮点数。

4[单选题] 继承机制的作用是( )。

A.信息隐藏B.数据封装C.定义新类D.数据抽象

参考答案:C

参考解析:数据封装就是数据抽象,即信息隐藏;而继承是实现程序复用的基础。

5[单选题]若有如下类声明

class My Class {

public:

MyClass() {cout <<1;}

};

执行下列语句

MyClass a,b[2],*P[2];

以后,程序的输出结果是(  )。

A.11 B.111 C.1111 D.11111

参考答案:B

6[单选题] 下列选项中正确的语句是(  )。

s[];s="BOOK!";*s;S={"BOOK!");s[10];s="BOOK";*S;s="BOOK!";

参考答案:D

参考解析:在选项D中,字符指针s指向字符串常量BOOK!。故选项D正确。

7[填空题] __________是一种特殊的成员函数,它主要用来为对象分配内存空间,对类的数据成员进行初始化并执行对象的其他内部管理操作。

参考解析:构造函数

【解析】构造函数的主要作用是对数据成员初始化,系统为成员分配内存时,保留这些存储单元的原状。

8[简答题]使用VC++6.0打开考生文件夹下的源程序文件。完成函数fun(char*sl,char*s2)的空出部分。函数fun(char*s1,char*s2)的功能是将在字符串s1中下标为偶数的字符,紧随其后重复出现一次,放在一个新串s2中,s2中字符按原字符串中字符的顺序排列。(注意0为偶数)

例如:当s1中的字符串为“abcdef”时,s2中的字符串应为“aaccee”。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

试题程序:

#include(iostream.h)

voidfun(char*s1,char*s2)

{

}

voidmain()

{

charsi[100】,s2【1OO];

cout<<"Pleaseenterstringstrin9:"<

ine(s1,100);

fun(s1,s2);

cout<<"Theresultis:"<

return;

}

参考解析:

inti;

for(i=0;s1[i]!=0;i++)//循环判断每一个字符

{

if(i%2==0)//判断字符串中下标为偶数位置

{

s2[i]=s1[3];

s2[i+1]=s1[i];

s2[i+2]='';//新串添加尾符

}

}

【解析】判断一个字符串中的某一个字符下标i是否为偶数,可用“i%2==0”来判断。对串s1中各个字符串逐个进行考查,满足条件的字符就顺序放在新串s2中,否则就不存放。所有字符处理完成后,记得在新串s2的末尾加上结束符“''。

9[简答题]使用VC6打开考生文件夹下的源程序文件。阅读下列函数说明和代码,补充空出的代码。函数sum(intn)返回1,2,3,…,n的和。其中n大于0。

程序要求使用递归实现上述功能。

注意:不能修改程序的其他部分,只能补充sum函数。

试题程序:

#include

#include

intsum(intn)

{

}

voidmain()

{

cout<<"1+2+3+…+100="<

endl;

return;

}

参考解析:return(n==1)?1:n+sum(n-1);

【解析】本题主要考查三目运算符?:的使用和递归函数的编制。程序功能是计算前n个自然数的和,n为参数。程序的运算过程如下,不是一般性,假设n为3,首先执行sum(3),因为3不等于1,所以return语句返回的值为3+sum(3-1),然后执行sum(3-1)即sum(2),2不等于1,所以return语句返回的值为2+sum(2-1),然后执行sum(2-1)即sum(1),因为1等于1,所以return语句返回的值为1,即问号后的值,所以最终结果为3+2+1=6,而题中n为100,所以结果为5050。

热门标签