1、国家二级 C+机试(操作题)模拟试卷 406及答案与解析 一、基本操作题 1 使用 VC6打开考生文件夹下的源程序文件 modil cpp。本程序要求输入一字符串,然后将其中的小写字母改变成大写字母,字符可能输入多行,当输入字符 “?”时,默认字符输入结束,最后把结果输出到界面。 注意:不要改动 main函数,不能增行或删行,也不能更改程序的结构,错误的语句在 *error*的下面。 #include void main() ( int i=0; char str120; cout=a) Stri =Stri -a+A; i+; ) cout void fun(char* str, char*
2、 s) void main() char str100, S100; cout #include #include #include using namespace std; void WriteFile(int c) ofstream out1; out1 open(“modi3 txt“, ios_base: app); out1=a&stri=a)”语句是判断字符 stri是否为小写字符,而现有的语句只是判断字符是否大于 a,但是小写字符应该是 a到 z,所以修改为“if(stri=a&stri=z)”。 二、简单应用题 2 【正确答案】 int 1; for(i=0; stri! =0
3、; i+) 循环 判 断每一个字符 if(i 2=0) 判断字符串 中下标为偶数位置 si=stri; si+1=stri; si+2= 0; 新串添加尾符 【试题解析】 (1)判断一个字符串中的某一字符下标 i是否为偶数,可用 “i 2=0”来判断。 (2)对串 str中各个字符串逐个进行考查,满足条件的字符就顺序放在新串 S中,否则就不存放。 (3)所有字符处理完后,记得在新串 S的末尾加上结束符 “ 0”。 三、综合应用题 3 【正确答案】 (1)添加语句: int year, month, day; (2)添加语句: year=y; month=m; day=d; (3)添加语句: D
4、ate&operator+=(int m) (4)添加语句: coutyear“年 “month“月 “day“日 “end1; 【试题解析】 (1)题目 1要求 “定义私有成员变量 year、 month、 day”。在 C+程序的 private区域中添加变量 year、 month、 day的定义,即在第 1个标识下添加“int year, month, day; ”。 (2)题目 2要求 “完成构造函数,分别给 year、 month、 day赋值 ”。在程序中“Date(int y,int m, int d)”的构造函数中添加给 year、 month、 day赋值的语句,即在第 2个标识下添加 “year=y; month=m; day=d; ”。 (3)题目 3要求 “完成重载符号 “+=”的定义 ”。在 C+中,运算符重载的定义方法是定义一个重载运算符的函数,格式为函数 operator+重载运算符号 +,所以这里补全 “Date&operator+=(int m)”。 (4)题目 4要求 “完成函数 print()打印函数 ”。在 C+中的 print()函数中补全其打印功能,即在第四个标识下添加 “coutyear“年 “month“月 “day“日“end1; ”。