1、国家二级 C+机试(操作题)模拟试卷 362及答案与解析 一、基本操作题 1 使用 VC6打开考生文件夹下的源程序文件 modil cpp,该程序运行时有错,请改正其中的错误,使得程序正常运行,并使程序输出的结果为: init TestClass del TIestClass 注意:不要改动 main函数,不能增行或删行,也不能更改程序的结构, 错误的语句在 *error*的下面。 #include class TestClass *error* *error* int TestClass()cout int num(char*str) int main() char str1 02 4; c
2、out *1* #define FALSE 0 *2* Class A2 private: bool m A2; friend bool func(A2 obj 1, A1 obj 2); public: A2() m A2=FALSE; public: void setA2(bool n) m A2=n; ; Class A1 private: bool m A1; *3* public: A1() m A1=TRUE; public: void setAl(bool n) m A1=n; ; bool func(A2&obj 1, A1 obj 2) *4* return int main
3、() A2 obj 0; A1 obj 1; cout9 Stri0) 非数字字符 number+; return R number; 【试题解析】 函数 num(char*str)实现返回字符串中非数字的个数,数字从 0开始到 9结束,共有 10个,因此判断数组字符比较简单,即 “0=stri=“9”,除数字字符外其余的都是非数字字符,利用这个关系可迅速判断该字符是否是非数字字符。 三、综合应用题 3 【正确答案】 (1)添加语句: #define TRUE 1 (2)添加语句: class A1; (3)添加语句: friend bool func(A2 obj 1, A1 obj 2); (4)将 “return”补充完整为: return obj1 mA2=TRUE obj 2 m_A1=TRUE; 【试题解析】 程序当中定义了两个类,每个类中具有一个 bool型成员变量, 函数 func(A2&ob1,A1aobj2)功能是检查这两个类的成员变量值是否都为 TRUE,如果均为 TRUE返回真,否则返回 FALSE,相当于一个逻辑与运算。