首页 > 全部 > 二级C++ > 国家二级C++机试(操作题)模拟试卷354

国家二级C++机试(操作题)模拟试卷354

本单篇文档共4567字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C++ 章节练习 3238人下载
价格: 0.80 原价:¥7.00
收藏

国家二级C++机试(操作题)模拟试卷354

基本操作题

1.使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错,请改正其中的错误,使得程序正常运行,并使程序输出的结果为:

sizeof(str1)=5

sizeof(str2)=10

sizeoffstr3)=1

注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//********error********的下面。

(1)不能删除assert()语句;

(2)只能修改后面的数字。

提示:assert()函数如果为假,则会产生一个中断异常。

#include

#include

Void main()

{

char*str1=\\

(1)assert(sizeof(str1)==4);

(2)assert(Sizeof(str2)==10);

(3)assert(Sizeof(str3)==1);

解析:(1)assert()函数如果为假,则会产生一个中断异常。所以要让它正常执行输出结果,那么assert()函数就要为真,才不会产生中断异常。“assen(sizeof(str1)==3);”语句中“sizeof(str1)==3”为假,这个会使程序产生异常,不能正常执行。因为str1的值为abc但是它还有一个尾符,所以它的长度应该是4,而不是3,所以第1个标识下修改为“assert(sizeof(str1)==4);”。

(2)同(1),str2[10]说明,str2的空间为10,第2个标识下修改为“assert(sizeof(str2)==10);”。

(3)同(1),char str3=23;语句说明23是字符,占空间为1,所以修改为“assert(sizeof(str3)==1);”。

简单应用题

2.使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数IsPalindromes(cha*string)实现的功能是判定给定的字符串是否构成回文字符串,如果是则返回1,否则返回0。

如:1234554321或者1234321都认为是回文字符串。

如果串为空或一个字母时,均认为是回文字符串。

注意:不能修改程序的其他部分,只能补充

IsPalindromes ()函数。

#include

#defime MAXLEN 1024

bool IsPalindromes(char*string)

{

}

Void main()

{

char str[MAXLEN];

cout<<\\

int len=0:

for(;string[len]!=NULL;len++)

//获取字符串的长度

len–; //下标从0开始到len-1

for(int i=0;i<len;i++,len–)

//第一个和最后一个比较,第二个和倒数第二个比较

{

if( string[i] != string

[len])//不等说明不同,返回0

return 0;

}

return 1;

解析:(1)由于字符串的长度是未知的,先利用循环求出字符串的长度,循环变量从0开始,直到数组的结束,string[len]==NUL为循环结束条件,如此便得到了数组的长度len。

(2)知道长度后就可以判断对称位置的元素是否相同,比如第一个元素和最后一个元素,第二个元素和倒数第二个元素,如此比较下去直到到了最中间的元素为止。

(3)可以利用循环来比较是否对称,设置另一个循环变量i,i从0开始表示从数组的头开始读数,len从数组的尾部开始读数,如果string[i]!=string[len],则跳出循环返回0,如果循环结束还没发现不同则返回1。

综合应用题

3.使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示雇员的Employee类,但类Employee的定义并不完整。请按要求完成下列操作,将类CEmployee的定义补充完成。

(1)定义私有数据成员name、street、city、zipcode和age分别用于表示姓名、街道、城市、邮编、年龄,除年龄是整型外其余都是char型的数据。请在注释//********1********之后添加适当的语句。

(2)完成默认构造函数CEmployee的定义,使其把参数传递给私有数据成员name、street、city、zipcode和age。请在注释//********2********之后添加适当的语句。

(3)完成成员函数alterName(char*newName)的定义。请在注释//********3********之后添加适当的语句。

(4)完成成员函数IsEqual(char*ename)的定义,实现当name相等时返回真,否则为假的功能,请在注释//********4********之后添加适当的语句。

注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。

#include

#include

#defiRe MAXLEN 20

class CEmployee

{

private:

//********1********

int age;

public:

CEmployee (char*newName,

char *newstreet,char *newCt,

char*newZp,int newAge);

void alterName(char*newName);

Void display();

bool IsEqual(char*ename);

};

CEmployee::CEmployee (char

*newName,char *newstreet,char

*newCt,char*newZp,int newAge)

{

//********2********

age=newAge;

}

void CEmployee::alterName(char

*newName)

{

//********3********

}

bool CEmployee::IsEqual (char

*ename)

{

//********4********

}

void CEmployee::display()

{

cout << name << \\

(1)添加语句:

本文档预览:3600字符,共4567字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级C++机试(操作题)模拟试卷354

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号