[计算机类试卷]国家二级C++机试(操作题)模拟试卷432及答案与解析.doc
-
资源ID:497524
资源大小:33KB
全文页数:7页
- 资源格式: DOC
下载积分:2000积分
快捷下载

账号登录下载
微信登录下载
下载资源需要2000积分(如需开发票,请勿充值!)
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
[计算机类试卷]国家二级C++机试(操作题)模拟试卷432及答案与解析.doc
1、国家二级 C+机试(操作题)模拟试卷 432及答案与解析 一、基本操作题 1 使用 VC6打开考生文件夹下的源程序文件 modil cpp,该程序运行时有错,请改正其中的错误,使程序正确运行,并且使程序输出的结果为: 30 130 注意:错误的语句在 *error*的下面,修改该语句即可。 #include int a=10; class CObj public: CObj() a=b=0; void display() *error* cout int num(char *str) int main() char str1024; cout #define MAX_LENGTH 500 cl
2、ass CArray public: CArray() *1* int AddMember(int n) for(int i=0; ia+=a; (3)a+=: a; 【试题解析】 (1)成员函数 display()打印变量 a和 b的值,即 cout输出 a和 b的值, cout流中的数据是用流插入运算符 “a+=a; ”。 (3)func2()函数虽然没有参数,但是成员变量 a和全局变量 a重名,第 3个标识下“a+=a”也会有歧义,分不清楚是全局变量加倍还是类成员变量加倍或者其他情况,调用 func2()函数后,输出 “130”,说明 a为 13, b为 0,因此是成员变量与全局变量 a
3、的和赋给成员变量 a,正确的写法是 “a+=: a; ”, “: a”表示是全局变量 a。 二、简单应用题 2 【正确答案】 int number=0; for(int i=0; stri! =0; i+) if(Stri9 stri9stri0”的字符为非数字字符,非 数字字符个数加 1,循环结束就得到了非数字字符的个数。 三、综合应用题 3 【正确答案】 (1)添加语句: length=0; (2)将 “if(Arrayi=n)”补充完整为: if(Arrayi=n)或 if(n=Arrayi) (3)将 “if()”补充完整为: if(ilength)或 if(i!: length) (
4、4)将 “if()”补充完整为: if(Arrayi=n)或 if(n=Arrayi) 【试题解析】 (1)使 length的初始化为 0,因此添加语句: “length=0; ” (2)第 2个标识下是检查 n是否已经在数组当中存在,用 if语句来判断,即if(Arrayi=n)或 if(n=Arrayi)。 (3)DelMember(int n)函数删除指定的元素,由于元素在数组当中的位置未知,因此必须先查找该元素的位置,在该函数的实现过程当中通过 for循环来完成,即第一个 for循环查找 n在数组中的位置。如果 n存在于数组中,那么 if中的 break语句就会执行跳出循环,此时循环变量 i的值会小于 length,即通过判断 i的值是否小于 length值可以知道 n是否存在数组中,如 果存在数组中接下来进行删除操作。即第 3个标识下应改为 if(ilength)或 if(i! =length)。 (4)islnclude(int n)成员函数用来判断 n是否存在数组当中,可用 if语句比较,即第4个标识下应改为 “if(Arrayi=n)或 if(n=Arrayi)”。