1、国家二级 C+机试(操作题)模拟试卷 386及答案与解析 一、基本操作题 1 使用 VC6打开考生文件夹下的源程序文件 modil cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: 1 5 1 注意:错误的语句在 *error*的下面,修改该语句即可。 #include *error* enum Sun, Mon, Tue, Wed, Thu, Fri, Sat, *error* MyEnum; struct Struct *error* int Fri, int Sun; ; void main() int i=Mon; MyEnum t=Fri; Struct str1
2、; Strl Fri=Mon; cout 注意只能使 用 int类型,不能类型转换 int fun(char*s1, char*s2) Void main() char S11 02 4; char S22 5 6; cout #define CONST PI 3 141592 Class CCircle private: double radius; *1* public: *2* CCircle(int radius) this一 radius=radius; ) double GetArea() *3* double GetGirth() *4* void SetRadius(int m
3、) radius=m; ; int msin() CCircle circle(5); coutci rcle GetArea() end1; coutCircle GetGirth() endl; circle SetRadius(10); coutCircle GetArea()end1; coutcircle GetGirth()endl; return 0; 国家二级 C+机试(操作题)模拟试卷 386答案与解析 一、基本操作题 1 【正确答案】 (1)enum MyEnum (2); (3)int Fri; 【试题解析】 程序当中定义了一个结构体和枚举类型,结构体含有两个整型变量,枚
4、举类型含有 7个枚举元素, 7个枚举元素的值从 0变化至 6,即 Sun=0,Mon=1, Ture=2 Wed=3, Thu=4 Fri=5 Sat=6。 二、简单应用题 2 【正确答案】 int Size=0; 初始化字符串 统计变量个数 int Sllen; int S2len; for(sllen=0; S1S1fen!=0; Sllen+);第一个字符串循环 for(S2len=0; S2S21en!=0; S2len +);第二个字符串循环 for(int i=0; iS11en; i+) int j=0; for(; js2 lenj j+) if(s1i+j!=s2j) 将第二
5、个串中的字符与第一个串中的字符比较 break; if(j=s2len) +size; i+=j; 一一 i; return size; 三、综合应用题 3 【正确答案】 (1)添加语句: const double PI; (2)将 “CCircle(int radius)”补充完整为: CCircle(int radius): PI(CONSTPI) (3)添加语句: return radius*radius*pI; (4)添加语句: return 2*radius*PI; 【试题解析】 程序当中定义了 CCircle类,含有成员变量 radius和常成员 PI,成员函数 GetArea返回圆面积,成员函数 GetGirth返回圆周长, SetRadius(int m)函数改变 radius大小。