成年人在线观看视频免费,国产第2页,人人狠狠综合久久亚洲婷婷,精品伊人久久

我要投稿 投訴建議

計算機二級考試C++上機考試試題

時間:2022-08-23 00:32:44 考試試題 我要投稿
  • 相關(guān)推薦

計算機二級考試C++上機考試試題

  計算機二級考試臨近,不知道各位同學(xué)都準(zhǔn)備得怎么樣呢?接下來應(yīng)屆畢業(yè)生小編為大家精心準(zhǔn)備了計算機二級考試C++上機考試試題,希望能夠給大家?guī)韼椭?

計算機二級考試C++上機考試試題

  一、程序改錯題

  使用VC++6.0打開考生文件夾下的源程序文件1.cpp。本程序要求輸入一個字符串,然后將其中的小寫字母改成大寫字母,字符可能輸入多行,當(dāng)輸入字符“?”時,默認(rèn)字符輸入結(jié)束,最后把結(jié)果輸出到屏幕中。

  注意:不要改動main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)構(gòu),錯誤的語句在//******error******的下面。

  試題程序:

  #include

  voidmain()

  {

  inti=0;

  charstr[120];

  cout<<"Enterastringendwith’?’."<  //********error********

  cin.getline(str,120);

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

  while(str)

  {

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

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

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

  i++;

  }

  cout<  return;

  }

  二、簡單應(yīng)用題

  使用VC++6.0打開考生文件夾下的源程序文件2.cpp。完成函數(shù)fun(char*sl,char*s2)的空出部分。函數(shù)fun(char*s1,char*s2)的功能是將在字符串s1中下標(biāo)為偶數(shù)的字符,緊隨其后重復(fù)出現(xiàn)一次,放在一個新串s2中,s2中字符按原字符串中字符的順序排列。(注意0為偶數(shù))

  例如:當(dāng)s1中的字符串為“abcdef”時,s2中的字符串應(yīng)為“aaccee”。

  注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。

  試題程序:

  #include(iostream.h)

  voidfun(char*s1,char*s2)

  {

  }

  voidmain()

  {

  charsi[100】,s2【1OO];

  cout<<"Pleaseenterstringstrin9:"<  cin.getline(s1,100);

  fun(s1,s2);

  cout<<"Theresultis:"<  return;

  }

  三、綜合應(yīng)用題

  使用VC++6.0打開考生文件夾下的源程序文件3.cpp,其中定義了用于表示日期的類Date,但類Date的定義并不完整,按要求完成下列操作,將類的定義補充完整。

  (1)定義私有成員變量year、month、day。分別表示年、月、日,類型為int。請在注釋1后添加適當(dāng)?shù)恼Z句。

  (2)完成構(gòu)造函數(shù),分別給year、month、day賦值,請在注釋2后添加適當(dāng)?shù)恼Z句。

  (3)完成重載符號“十=”的定義,請在注釋3后添加適當(dāng)?shù)恼Z句。

  (4)完成print打印函數(shù),輸出到屏幕和文件的格式相同,請在注釋4后添加適當(dāng)?shù)恼Z句。

  注意:僅在函數(shù)指定位置添加語句,請勿改動主函數(shù)main與其他函數(shù)中的任何內(nèi)容。

  程序正常運行,輸出的結(jié)果為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)應(yīng)改為“ein.getline(str,120,’?’);”。

  (2)應(yīng)改為“while(str[i])”。

  (3)應(yīng)改為“if(str[i]>=’a’&&str[i]<=’2’)”。

  【解析】本題中要求以輸入字符“?”為結(jié)束符,用于字符輸入的流成員函數(shù)getline函數(shù)讀入一行字符,格式為“cin.getline(字符數(shù)組,字符個數(shù),終止標(biāo)志字符)”,所以第1處改為“cin.getline(str,120,’?’);”。第2處的“while(str)”語句應(yīng)該是判斷字符串str中的每一個字符是否為結(jié)束符,若不是結(jié)束符,在循環(huán)中判斷每一個字符是否為小寫,若為小寫,則轉(zhuǎn)換。所以應(yīng)該修改為“while(str[i])”。第3處的“if(str[i]>=’a’)”語句是判斷字符str[i]是否為小寫字符,而現(xiàn)有的語句只是判斷字符是否大于’a’,但是小寫字符應(yīng)該是’a’到’2’,所以修改為“if(str[i]>=’a’&&str[i]>=’z’)”。

  二、簡單應(yīng)用題

  inti;

  for(i=0;s1[i]!=0;i++)//循環(huán)判斷每一個字符

  {

  if(i%2==0)//判斷字符串中下標(biāo)為偶數(shù)位置

  {

  s2[i]=s1[3];

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

  s2[i+2]=’