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

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

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

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

基本操作题

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

sizeof(str1)=5

sizeof(str2)=10

sizeof(str3)=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()函数就要为真,才不会产生中断异常。“assert(sizeof(strl)==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。阅读下列函数说明和代码,完成空出部分程序。函数fun(int n)的功能是在n行n列的矩阵中,每行都有最大的数,本程序求这n个最大数中的最小一个,并作为参数返回。

注意:不能修改程序的其他部分,只能修改fun()函数。

#include

#define N 100

int a[N][N];

int fun(int n)

{

}

void main()

{

int n;

cout<<\\

int row;

int max;

int min;

int col;

for(row=0;row<n;row++)

//外循环求行最大值中的最小值

{

for(max=a[row][0],col=1;col<n;

col++) //求每一行中的最大值

if(max<a[row][col])

max=a[row][col];

if(row==0) //求最小值

min=max;

else

if(max<min)

min=max;

}

return min;

解析:(1)两层循环,内层循环求每一行最大值,外层循环求最小值。

(2)求最大值,首先将最大值赋值为每行第一列的元素,然后依次循环比较。

(3)将求出的第一个最大值赋值为第一个最小值,然后将以后求得的最大值依次与之比较,求出所有值的最小值。

综合应用题

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

(1)定义类的公有数据成员函数No、Name[32],其中No是int型的数据,Name[32]为字符型。请在注释//********1********后添加适当的语句。

(2)完成函数set的定义,分别设置No和Name的值,请在注释//********2********后添加适当的语句。

(3)完成函数print(), 请在注释//********3********后添加适当的语句,打印的输出如下:

No=111

Name=Garfield

(4)加缺省构造函数,设置No为0,Name为空,请在注释//********4********后添加适当的语句。

注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。

#include

class TestClass

{

public:

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

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

{

No=no;

for(int i=0;strName[i]!=0;i++)

{

Name[i]=strName[i];

Name[i+1]=0;

}

}

void print()

{

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

}

TestClass()

{

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

}

};

int main()

{

TestClass Stu;

stu.set(111,\\

(1)添加语句:int No;char Name[32];

(2)添加语句:void Set(int no,char*StrName)

(3)添加语句:cout<<\\

解析:(1)题目1要求“定义类的公有数据成员函数No、Name[32],其中No是int型的数据,Name[32]为字符型”。在已有程序中,类定义的public区域中,定义变量No,Name[32],即在第1个标识下添加语句“int No;charName[32];”。

(2)题目2要求“完成函数set的定义,分别设置No和Name的值”。第2个标识下说明函数set的语句中,应该包括变量no,strName的定义,然后在函数中将其值赋值给No,Name,即添加定义语句“void Set(int no,char*strName)”。

(3)题目3要求“完成函数print()”,根据输出结果,知道输出的是No和Name的值,所以这里补全cout<<\\

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号