1、国家二级 C+机试(操作题)模拟试卷 445及答案与解析 一、基本操作题 1 使用 VC6打开考生文件夹下的源程序文件 modil cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: 150 200 注意:错误的语句在 *error*的下面,修改该语句即可。 提示:定义 Number1为一个整型数据位长的变量。 #include *error* struct *error* int Number1: 1; int Number2; MyStruct; void main() MyStruct mstr; mstr Number1=150; mstr Number2=15; *
2、error* int *ptr=&mstr Number1; cout #define MAXLEN 1024 bool IsPalindromes(char*string) void main() char StrMAXLEN; cout class CHumanInfo private: int height; int weight; *1* public: *2* : height(ht), weight(wt), bloodType(bt); CHumanInfo(CHumanInfo &h1): height(h1 height), weight(h1 weight), bloodT
3、ype(h1 bloodType); int GetHeight() return height; int GetWeight() return weight; int GetBloodType() return bloodType; void SetInfo(int ht, int wt, char bt); void Display(); ; *3* height=ht; weight=wt; bloodType=bt; void CHumanInfo: Display() cout ; 程序当中定义结构体名放在后面, MyStruct为结构体变量类型,相当于 typedef为已有的类型定
4、义一个新的类型,第 1个标识下应改为 “typedef struct”。 (2)第 2标识下是定义 Number1为一个整型数据 变量,整型数据位数为 32(4字节 ),因此第 2个标识下应改成 “int Number1: 32; ”或 “int Number1; ”。 (3)ptr为整型数据指针, mstr为 MyStruct类型结构变量,两者类型不一致应该做强制类型转换,第 3个标识下应改成 “int*ptr=(int*)&mstr; ”,表示将 mstr的地址给 ptr, ptr指向 MyStruct的第一个域 Number1, Number1也是整形,类型一致,故可通过 ptr指针来改
5、变 Number1的值。 二、简单应用题 2 【正确答案】 int len=0; for(; stringlen! =NULL; len+) 获取字符串的长度 ; len-; 下标从 0开始到 len-1 for(int i=0; i: (),故第 3个标识下应添加“void CHumanInfo: SetInfo(int ht, int wt, char bt)”。 (4)调用函数 SetInfo()需要 3个参数,程序要求把对象 d2的三个私有数据成员分别设定为身高 170,体重 64,血型为 B,即把这三个值传入函数 SetInfo(),因此第 4个标识下应添加 “h2 SetInfo(170, 64, B); ”。