1、国家二级 C+机试(操作题)模拟试卷 15及答案与解析 一、基本操作题 1 使用 VC+6 0打开考生文件夹下的源程序文件 1 cpp,使其输出结果为: n=0 注意:不要改动 main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在 * * * * * * * * error* * * * * * * * 的下面。 试题程序: #include * * * * * * * * error* * * * * * * * class TC() public: * * * * * * * * error* * * * * * * * void TC() TC(int n) cout #d
2、efine MAXLEN 1024 bool IsPalindromes(char*string) void main() char strMAXLEN; cout class TC *1* int Own: public: TC(int i) Own=i: *2* return Num+obj-Own; ; *3* int main() TC obj(11); *4* cout end1; return 0; 国家二级 C+机试(操作题)模拟试卷 15答案与解析 一、基本操作题 1 【正确答案】 (1)应改为 “class TC”。 (2)应改为 “ TC()”。 (3)应改为 “; ”。
3、【试题解析】 本题第 1处的 “class TC()”为类的定义,根据 C+中类的定义格式,类名后面是没有括号的,所以第 1处应为 “class TC”。第 2处的 “voidTC()”是析构函数, C+中析构函数的格式中是没有函数类型说明的,所以修改为 “ TC()”。根据 C+中类的定义,第 3个标识下类结束的 “”缺少分号,即修改为 “; ”。 二、简单应用题 2 【正确答案】 int len=0; for(; stringlen!=NULL; len+) 获取字符串的长度 ; len-; 下标从 0开始到 len-1 for(int i=0; i(len; i+, 1e13-) 第一个
4、和最后一个比较,第二个和倒数第二个比较 if(stringi!=stringlen) 不等说明不同,返回 0 return 0; return 1; 【试题解析】 本题由于字符串的长度是未知的,先利用循环求出字符串的长度,循环变量从 0开始,直到数组的末尾, stringlen=NULL为循环结束条件 ,如此便得到了数组的长度 len。知道长度后就可以判断对称位置的元素是否相同,比如第一个元素和最后一个元素,第二个元素和倒数第二个元素,如此比较下去直到到了最中间的元素为止。可以利用循环来比较是否对称,设置另一个循环变量 i, i从 0开始表示从数组的头部开始读数, len从数组的尾部开始读数,
5、如果stringi!=stringlen,则跳出循环返回 0,如果循环结束还没发现不同,则返回1。 三、综合应用题 3 【正确答案】 (1)应添加 “static int Num; ”。 (2)应添加 “int TC: Num=10; ”。 (3)应添加 “static int get(TC*obj)”。 (4)将 “cout end1; ”补充完整为 “coutobj, get(&obj)end1; ”。 【试题解析】 第 1处要求 “增加静态私有变量 Num,类型为 int, ”。静态变量的定义格式为 static类型变量名称,本题只要在类的 private区域定义 int型的静态变量 N
6、um,即在第 1处添加 “static int Num; ”。第 2处要求 “增加静态变量 Num并初始化为 10”。 第 2个标识的位置在类 TC的外部,在 C+中,使用 “: ”作用域运算符声明定义的变量属于哪个类。由题干知道, Num属于类 TC,根据 C+的作用域运算符,在第 2处添加语句 “int TC: Num=10; ”。 第 3处要求 “完成静态函数 get的定义 ”。根据第 3个标识下的 “return Num+obj- Own”语句知道, get函数具有形参 obj指针。 obj调用 Own变量,说明它是 TC类型,并且静态函数的定义只要在其前面声明 static就可以了,即在第 3处添加语句 “static int get(TC*o bj)”。 第 4处要求 “完成对象 obj对静态函数 get进行调用,使得输出 21到屏幕上 ”。程序中第 4处的 “cout end1; ”语句缺少输出值,题目中要求对象对静态函数get进行调用,对象对成员函数的调用格式为:对象名成员函数,即“coutobj get(&obj)end1: ”
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1