2016年计算机二级C++考试试卷及答案大纲
一、程序改错题
(1)应改为“for(x=0;x<5;x++)”。
(2)应改为“cout< 【解析】本题中根据数组a、b的定义。它们都有5个元
素,而第1处的“for(x=0;x<=5;x++)”循环了6次,应该是5次,所以在第1处将其修改为“for(x=0;x<5;x++)”;第2处的P变量为指针型变量,p+x为糯向数组中第X个元素的地址,这里要输出的是存储单元的内容,所以使用“*”指针元素符,即修改为“cout< 三、简单应用题
inti,a[4],t;
a[0]=n%10;//取整型n的第1位数字
a[1]=n%100/10;//取整型n的第2位数字
a[2]=n%1000/100;//取整型n的第3位数字
a[3]=n/1000;//取整型n的第4位数字
for(i=0;i<=3;i++)//每位数字加3,取余
{
a[i]+=3;
a[i]%=9;
}
t=a[0];//根据加密算法交换
a[0]=a[3];
a[3]=t;
t=a[1];
a[1]=a[2];
a[2]=t;
returna[3]*1000+a[2]*100+a[1]*10+a[0];
//重组,返回加密数字
【解析】本题首先取得要加密整数的每一位数字,并存入数组。根据加密算法,利用循环实现每位数字加3,再除以9取余。根据加密算法进行数字交换,最后重组,返回密码。
二、综合应用题
(1)应添加“staticintNum;”。
(2)应添加“intTC::Num=10;”。
(3)应添加“staticintget(TC*obj)”。
(4)将“cout<<< 【解析】第1处要求“增加静态私有变量Num,类型为int”。静态变量的定义格式为static类型变量名称,本题只要在类的private区域定义int型的静态变量Num,即在第1处添加“staticintNum;”。第2处要求“增加静态变量Num并初始化为10”。第2个标识的位置在类TC的外部,在C++中,使用“::”作用域运算符声明定义的变量属于哪个类。由题干知道,Num属于类TC,根据C++的作用域运算符,在第2处添加语句“intTC::Num=10;”。第3处要求“完成静态函数9et的定义”。根据第3个标识下的“re-turnNum+obj->Own;”语句知道,get函数具有形参obj指针。obj调用Own变量,说明它是TC类型,并且静态函数的定义只要在其前面声明static就可以了,即在第3处添
加语句“staticintget(TC*obj)”。第4处要求“完成对象obj对静态函数get进行调用,使得输出21到屏幕上”。程序中第4处的“cout<<< 程序改错题(18分)
使用VC++6.0打开考生文件夹下的源程序文件,该程序运行时有错,请改正其中的错误,使程序正常运行,即使程序在屏幕输出以下类似内容:
0012FF6810012FF3C5
0012FF6C20012FF444
0012FF7030012FF4C3
0023FF7440012FF542
0012FF7850012FF5C1
006AFDCC~006AFDEF数据可能因为机器的不同,程序输出的内容会有差异。只要相差为4的连续地址即可。
注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在//******error******的下面。
试题程序:
#include
usingnamespacestd;
intmain()
{
int*P,a[5]={1,2,3,4,5};
double*q,b[5]={5.0,4.0,3.0,2.0,1.0);
intx;
P=a;
q=b;
//********error********
for(x=0;x<=5;X++)
//********error********
cout< (q+x)< return0;
}
三、简单应用题(24分)
使用VC++6.0打开考生文件夹下的源程序文件。阅读下列函数说明和代码,完成空出部分程序。函数fun(intn)的功能是实现对一个整数的加密,具体的加密方法是一个4位长的.整数,用每位数字加上3然后除以9的余数代替该数字,再将第1位和第4位交换,第2位和第3位交换,然后返回得到的密码。
程序输出结果为
1864
2075
注意:不能修改其他部分的代码。
试题程序:
#include
#include
intfun(intn)
{
}
intmain()
{
inti=1357:
cout< i=2468;
cout< return0;
}
四、综合应用题(18分)
使用VC++6.0打开考生文件夹下的源程序文件。其中定义的类并不完整,按要求完成下列操作,将类
的定义补充完整,使得程序的输出结果为21。
(1)增加静态私有变量Num,类型为int,请在注释1后添加适当的语句。
(2)增加静态变量Num并初始化为10,请在注释2后添加适当的语句。
(3)完成静态函数get的定义,请在注释3后添加适当的语句。
(4)完成对象obj对静态函数get的调用,使得输出结果
为21,请在注释4后添加适当的语句。
注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。
试题程序:
#include
classTC
{
//********1********
intOwn;
public:
TC(inti)
{
Own=i;
}
//********2********
{
returnNum+obj->Own;
}
};
//********3********
intmain()
{
TCobj(11);
//********4********
cout<<< return0;
}
-
2016年12月二级MSoffice冲关练习
练习是帮助我们巩固知识的最好方法,以下是小编为大家整理的2016年12月二级MSoffice冲关练习,希望对大家有帮助!1.下列叙述中正确的是()。A)程序执行的效率与数据的存储结构密切相关B)程序执行的效率只取决于程序的控制结构C)程序执行的效率只取决于所处理的数据...
-
2016年计算机二级MySQL数据库考试练习
在复习阶段多做练习可以帮助我们巩固知识和提高做题速度以及掌握做题技巧等。下面是本站小编为大家整理的2016年计算机二级MySQL数据库考试练习,希望可以帮助到大家的学习!习题一一、选择题下列哪种方法不能用于创建索引?_______A)使用CREATEINDEX语句B)使用CRE...
-
2016计算机二级《VFP》测试题及答案解析
1.以下关于字段有效性规则叙述正确的是()。A.自由表和数据库表都可以设置B.只有自由表可以设置C.只有数据库表可以设置D.自由表和数据库表都不可以设置2.建立表之间临时关联的命令是()。TERELATIoNTO…RELATIONTO…RELATlONTO…TETEMPTO&hel...
-
2015下半年全国计算机二级考试C语言全真模拟试题
点击查看试题答案及解析一、选择题1、以下选项中属于C语言的数据类型是()。A.复合型B.双精度型C.逻辑型D.集合型2、以下说法中正确的是()。A.C语言程序总是从第一个的函数开始执行B.在C语言程序中,要调用的函数必须在main()函数中定义C.C语言程序总是从main()...