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

账号登录下载
微信登录下载
下载资源需要2000积分(如需开发票,请勿充值!)
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
[计算机类试卷]国家二级C++机试(操作题)模拟试卷80及答案与解析.doc
1、国家二级 C+机试(操作题)模拟试卷 80及答案与解析 一、基本操作题 1 使用 VC6打开考生文件夹下的源程序文件 modi l cpp,该程序运行时有错,请改正其中的错误,使程序正确运行,并且使程序输出的结果为: 30 130 注意:错误的语句在 *error*的下面,修改该语句即可。 #include int a=10; class cobj public: cobj() a=b=0; void display() *error* cout #include #define MAXLEN 1 024 char*convert(char*des, char* str) void main(
2、) char destMAXLEN; char*str: ” Ab cDeF hJ K”; cout *1* class objA0 private: static int m A0 ; *2* ; int objA0: m A0=1 0; class objAl private: int m A1; *3* public: objAl(int i) m A1=i; ; int func(ohjAl couta+=a; (3)a+=: a; 【试题解析】 (1)成员函数 display()打印变量 a和 b的值,即 cout输出 a和 b的值, cout流中的数据是用流插入运算符 “a+=a:
3、 ”0 (3)func20函数虽然没有参数,但是成员变量 a和全局变量 a重名,第 3个标识下“a+=a”也会有歧义,分不清楚是全局变量加倍还是类成员变量加倍或者其他情况,调用 func20函数后,输出 “130”,说明 a为 13, b为 0,因此是成员变量与全局变量 a的和赋给成员变量 a,正确的写法是 “a+=: a, “: a”表示是全局变量 a。 二、简单应用题 2 【正确答案】 int j=0; for(int i=0; stri!=NULL; i+) if(stri!=&isprint (stri)判断是否是可打印的而且非空格字符 desj+=stri, 添力口 desj=NUL
4、L;最后一个 ?字符为空 return des; 【试题解析】 (1)由审题分析可知,可利用循环来逐个检索 s仃中的字符,循环变量 i从 0开始,直到 str数组的结束,即 stri=0为循环结束条件。 (2)在循环中用 if语句判断该字符是否是空格或者不可打印字符:if(stri!=”&isprint(stri),如果满足条件说明不是空格或者不是不可打印字符添加到 des中,不满足则无须添加到 des中。 三、综合应用题 3 【正确答案】 (1)添加语句: class objAl; (2)添加语句: friend int func(objAl&obj); (3)添加语句: friend in
5、t func(objAl&obj); (4)添加语句: return obj m A1*objA0: m A0; 【试题解析】 (1)类的声明格式为: “class: ”,因 此第 1个标识下应添加“class objAl; ”。 (2)按照友元的定义格式,友元函数是在类声明中由关键字 friend修饰的非成员函数, func函数在类外部给出了具体的实现形式,即 “int func(objAl&obj)”,因此第2个标识下应添加 “friend int func(objAl obj); ”,这里参数是 objAl类对象 obj。 (3)第 3个标识下和题目 2要求一样,均是声明友元函数,因此第 2标识下应添加“friend int func(objAl&obj); ”。 (4)通过参数 obj对象可以直接访 问 obj m_Al, objA0的静态变量 m A0是所有对象的共享成员,其访问形式为: obiA0: m A0,因此第 4个标识下应添加“return obj m A1*0bjA0: mA0; ”。