当前位置:   article > 正文

计算机省二c语言综合应用题,计算机二级考试C++上机考试试题

c++综合应用题

计算机二级考试C++上机考试试题

计算机二级考试临近,不知道各位同学都准备得怎么样呢?接下来应届毕业生小编为大家精心准备了计算机二级考试C++上机考试试题,希望能够给大家带来帮助!

5dd3a2216f45851620.png

一、程序改错题

使用VC++6.0打开考生文件夹下的源程序文件1.cpp。本程序要求输入一个字符串,然后将其中的小写字母改成大写字母,字符可能输入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出到屏幕中。

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

试题程序:

#include

voidmain()

{

inti=0;

charstr[120];

cout<

cin.getline(str,120);

//********error********

while(str)

{

//********error********

if(str[i])=’a’)

str[i]=str[i]-’a’+’A’;

i++;

}

cout<  return;

}

二、简单应用题

使用VC++6.0打开考生文件夹下的源程序文件2.cpp。完成函数fun(char*sl,char*s2)的空出部分。函数fun(char*s1,char*s2)的功能是将在字符串s1中下标为偶数的字符,紧随其后重复出现一次,放在一个新串s2中,s2中字符按原字符串中字符的顺序排列。(注意0为偶数)

例如:当s1中的字符串为“abcdef”时,s2中的字符串应为“aaccee”。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

试题程序:

#include(iostream.h)

voidfun(char*s1,char*s2)

{

}

voidmain()

{

charsi[100】,s2【1OO];

cout<

fun(s1,s2);

cout<

}

三、综合应用题

使用VC++6.0打开考生文件夹下的'源程序文件3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整,按要求完成下列操作,将类的定义补充完整。

(1)定义私有成员变量year、month、day。分别表示年、月、日,类型为int。请在注释1后添加适当的语句。

(2)完成构造函数,分别给year、month、day赋值,请在注释2后添加适当的语句。

(3)完成重载符号“十=”的定义,请在注释3后添加适当的语句。

(4)完成print打印函数,输出到屏幕和文件的格式相同,请在注释4后添加适当的语句。

注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。

程序正常运行,输出的结果为2008年11月813。

试题程序:

#include(iostream.h)

#include(fstream)

#include(iomanip)

#include  usingnamespacestd;

voidWriteFile(intc)

{

ofstreamout1;

out1.open("3.txt",ios_base::app);

out1<  out1.close();

}

voidWriteFile(char*str)

{

ofstreamoutl;

out1.open("3.txt",ios_base::app);

out1<  out1.close();

}

voidClearFile()

{

ofstreamout1;

out1.open("3.txt");

out1.close();

}

classDate

{

public:

Date(inty,intm,intd)

{

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

}

voidprint();

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

{

month+=m;

inti=month/12:

intj=month;

if(j==0)

{year+=(i-1);

month=12;

}

else

{

year+=i:

month=j;

}

return*this;

}

private:

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

};

voidDate::print()

{

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

WriteFile(year):

WriteFile("年");

WriteFile(month);

WriteFile("月");

WriteFile(day);

WriteFile("日");

}

intmain()

{

ClearFile();

DateOly_day(2008,8,8);

Olyday+=3:

Oly_day.print();

return0;

}

上机考试试题答案与解析

一、程序改错题

(1)应改为“ein.getline(str,120,’?’);”。

(2)应改为“while(str[i])”。

(3)应改为“if(str[i]>=’a’&&str[i]<=’2’)”。

【解析】本题中要求以输入字符“?”为结束符,用于字符输入的流成员函数getline函数读入一行字符,格式为“cin.getline(字符数组,字符个数,终止标志字符)”,所以第1处改为“cin.getline(str,120,’?’);”。第2处的“while(str)”语句应该是判断字符串str中的每一个字符是否为结束符,若不是结束符,在循环中判断每一个字符是否为小写,若为小写,则转换。所以应该修改为“while(str[i])”。第3处的“if(str[i]>=’a’)”语句是判断字符str[i]是否为小写字符,而现有的语句只是判断字符是否大于’a’,但是小写字符应该是’a’到’2’,所以修改为“if(str[i]>=’a’&&str[i]>=’z’)”。

二、简单应用题

inti;

for(i=0;s1[i]!=0;i++)//循环判断每一个字符

{

if(i%2==0)//判断字符串中下标为偶数位置

{

s2[i]=s1[3];

s2[i+1]=s1[i];

s2[i+2]=’\0’;//新串添加尾符

}

}

【解析】判断一个字符串中的某一个字符下标i是否为偶数,可用“i%2==0”来判断。对串s1中各个字符串逐个进行考查,满足条件的字符就顺序放在新串s2中,否则就不存放。所有字符处理完成后,记得在新串s2的末尾加上结束符“’\0’。

三、综合应用题

(1)应添加“year=y;month=m;day=d;”。

(2)应添加“Date&operator+=(intm)”。

(3)应添加“intyear,month,day;”。

(4)应添加“cout<  【解析】本题中第1处要求“完成构造函数,分别给year、month、day赋值”。在程序中“Date(inty,intm,intd)”的构造函数中添加给year、month、day赋值的语句,即在第1处添加“year=y;month=m;day=d;”。第2处要求“完成重载符号‘+=’的定义”。在C++中,运算符重栽的定义方法是定义一个重载运算符的函数,格式为函数operator+重载运算符号+,所以这里补全“Date&operator+=(intm)”。第3处要求“定义私有成员变量year、month、day”。在C++程序的private区域中添加变量year、month、day的定义,即在第3处添加“intyear,month,day;”。第4处要求“完成函数print()打印函数”。在C++中的print函数中补全其打印功能,即在第四个标识下添加“eout<

【计算机二级考试C++上机考试试题】相关文章:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/576730
推荐阅读
相关标签
  

闽ICP备14008679号