1、国家二级 C+机试(操作题)模拟试卷 91及答案与解析 一、基本操作题 1 使用 VC6打开考生文件夹下的源程序文件 modil cpp,该程序运行时有错误,请改正程序中的错误,使得程序输出: 1, 2, 3, 4, 5, 注意:不要改动 main函数,不能增行或删行,也不能更改程序的结构,错误的语句在 *error*的下面。 1 #include 2 class TestClass 3 *error* 5 TestClass(int i) 6 7 mi=i, 8 ) 9 void print() 10 11 cout int func(int year, int month, int day
2、) void main() cout C1ass Cmelon private: float weight; *1* static int totalNo; public: Cmelon(float w) *2* totalweight +=w; totalNo+; Cmelon() *3* totalweight 一 =weight ; void display() cout2) sum+; return sum; 【试题解析】 (1)为方便起见,先统计正常年份下,每个月的前面有多少天,可以用 switch方式查询,然后再加上本月的日子,很快便得到了这一天是属于这一年的第几天。 (2)闰年的
3、判断方法为 : if(year 400=01l(year 4=0 (2)添加语句: weight=w; (3)添加语句: totalNo一一; (4)添加语句: int Cmelon: totalNo=0; 【试题解析】 (1)静态数据成员声明时需使用关键字 static,因此第 1个标识下应添加 “static float totalweight; ”。 (2)构造函数用来对类成员进行初始化,在 Cmelon类的构造函数 Cmelon(noat w)中,完成 weight的初始化,并把这个 w加到 totalweight中,并且 totalNo自加,因此第 2个标识下应添加 “weight=w: ”。 (3)调用析构函数相当于退瓜,这时 totalweight中减去 weight,然后 totalNo自减,因此第 3个标识下应添加 “totalNo-; ”. (4)静态数据成员的初始化格式为: : =,因此第 4个标识下应添加 “int Cmelon: totalNo=0: ”。