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

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

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

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

基本操作题

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

150

200

注意:错误的语句在//******error******的下面,修改该语句即可。提示:定义Number1为一个整型数据位长的变量。

1 #include<iostream.h>

2 //******error******

3 struct

4 {

5 //******error******

6 int Number1:1;

7 int Number2;

8 } MyStruct;

9 void main()

10 {

11 MyStruct mstr;

12 mstr.Number1=150;

13 mstr.Number2=15;

14 //******error******

15 int *ptr=&mstr.Number1;

16 cout<<*ptr<<end1;

17 *ptr=200;

18 cout<<*ptr<<end1;

19 }

(1)typedef struct

(2)int Number1:32;或int Number1;

(3)int*ptr=(int*)& mstr;

解析:结构体MyStruct有两个成员变量Number1和Number2,主函数中定义结构变量mstr,并通过指针改变变量mstr内Number1的值。

(1)第1标识下是定义结构体,结构体定义的一般形式为:

struct<结构体名>

{

<成员列表>

}<变量名列表>:

程序当中定义结构体名放在后面,MyStruct为结构体变量类型,相当于typedef为已有的类型定义一个新的类型,第1个标识下应改为“typedefstruct”。

(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指针来改变Number1的值。

简单应用题

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

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

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

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

1 #include<iostream.h>

2 #define MAXLEN 1024

3 bool IsPalindromes(char*string)

4 {

5

6 }

7 void main()

8 {

9 char str[MAXLEN];

10 cout<<’’请输入一行文字’’<<end1;

11 cin.getline(str,MAXLEN);

12 cout<<ISPalindromes(str)<<end1;

13 return;

14 }

1 int len=0;

2 for(;string[len]!=NULL;len++)//获取字符串的长度

3 ;

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

5 for(int i=0;i<len;i++,fen–)//第一个和最后一个比较,第二个和倒数第二个比较

6 {

7 if( string[i] != string[len])//不等说明不同,返回0

8 return 0;

9 }

10 return 1;

解析:函数IsPalindromes(cha*string)实现的功能是判定给定的字符串是否构成回文字符串,如果是则返回1,否则返回0。回文是指前后对称的字符串,因此可比较对称位置的字符是否一样来判断是否是回文,如果每个对称位置的元素均相同则是回文,返回1,否则返回0。

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

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

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

综合应用题

3.使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示人基本信息的类CHumanInfo,但类CHumanInfo的定义并不完整。请按要求完成下列操作,将类CHunmnInfo的定义补充完成:

(1)定义私有数据成员bloodType用于表示血型, 型为char型的数据。请在注释“//********1********之后添加适当的语句。

(2)完成构造函数的定义,要求具有缺省值,缺省值为身高175,体重70,血型A。请在注释“//********2********之后添加适当的语句。

(3)完成类外CHumanlnfo成员函数Setlnfo的定义。请在注释“//********3********”之后添加适当的语句。

(4)在主函数中调用成员函数Setlnfo,把对象d2的三个私有数据成员分别设定为身高170,体重64,血型为B。请在注释“//********4********”之后添加适当的语句。

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

1 #include<iostream.h>

2 class CHumanInfo

3 {

4 private:

5 int height;

6 int weight;

7 //********1********

8

9 public:

10 //********2********

11

12 :

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号