亚洲一级免费看,特黄特色大片免费观看播放器,777毛片,久久久久国产一区二区三区四区,欧美三级一区二区,国产精品一区二区久久久久,人人澡人人草

試題

計(jì)算機(jī)二級C++上機(jī)模擬試題及答案

時(shí)間:2025-01-16 07:44:56 試題 我要投稿

2016計(jì)算機(jī)二級C++上機(jī)模擬試題及答案

  一、改錯(cuò)題

2016計(jì)算機(jī)二級C++上機(jī)模擬試題及答案

  使用VC6打開考生文件夾下的工程kt11_1,此工程包含一個(gè)源程序文件kt11_1.cpp,但該程序運(yùn)行有問題,請改正函數(shù)中的錯(cuò)誤,使該程序的輸出結(jié)果為:

  Valuesare:1,2and3

  Pressanykeytocontinue

  源程序文件kt11_1.cpp清單如下:

  #include

  classCommonBase

  { public:

  intx; };

  /*****************found*****************/

  classDeriveCommonA::publicCommonBase

  { public:

  inty; };

  classDeriveCommonB:publicCommonBase

  { public:

  intz; };

  /*****************found*****************/

  classOverlapping:publicDeriveCommonA;publicDeriveCommonB

  { public:

  voidDisplay()

  { cout<<"Valuesare:"<

  intmain()

  { Overlappingov;

  /*****************found*****************/

  ov.x=1;

  ov.y=2;

  ov.z=3;

  ov.Display();

  return0; }

  【試題解析】

  (1)主要考查對派生類定義的理解,C++規(guī)定的繼承格式是在類名的后面加冒號,之后是繼承方式和繼承類的名稱,題目中錯(cuò)誤的使用了作用域運(yùn)算符;

  (2)主要考查多繼承的定義,多繼承的格式基本上和單繼承相同,不過在多個(gè)基類之間應(yīng)該使用逗號分開,題目中錯(cuò)誤的使用了分號,分號在C++中是結(jié)束標(biāo)志;

  (3)主要考查對派生類的對象訪問的掌握,x是類CommonBase的成員,如果不加限制的訪問就會(huì)產(chǎn)生二義性,編譯程序不知道這個(gè)x是A類的,還是B類的,所以必須使用作用域限制符“::”,為了解決這個(gè)問題可以使用虛基類。

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

  請編寫函數(shù)fun(),該函數(shù)的功能是判斷字符串是否為回文,若是則函數(shù)返回1,主函數(shù)中輸出YES;否則返回0,主函數(shù)中輸出NO。回文是指順讀和倒讀都一樣的字符串。

  例如:字符串LEVEL是回文,而字符串123312就不是回文。

  注意:部分源程序已存在文件kt11_2.cpp中。

  請勿修改主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填寫若干語句。

  文件kt11_2.cpp的內(nèi)容如下:

  #include

  #include

  #defineN80

  intfun(char*str)

  {

  }

  voidmain()

  { chars[N];

  cout<<"Enterastring:"<

  gets(s);

  cout<<"\n\n";

  puts(s);

  if(fun(s))

  cout<<"YES\n";

  else

  cout<<"NO\n"; }

  【參考答案】

  int fun(char *str)

  {

  int i,n=0,fg=1;

  char *p=str;

  while(*p)

  { n++; p++; }

  for(i=0;i

  if(str[i]==str[n-1-i]) ;

  else

  { fg=0; break; }

  return fg;

  }

  【試題解析】

  本題的解題思路是:先利用循環(huán)中指針的移動(dòng)來求得字符串的長度n,然后用一個(gè)for循環(huán)依次取得數(shù)組中的前半部分元素,用取得的前半部分內(nèi)的元素逐個(gè)與后半部分內(nèi)的對應(yīng)位置的元素進(jìn)行比較,如果相同,不做任何工作,接著取下一個(gè)元素,繼續(xù)比較;如果不相同,可以判斷該字符串肯定不是回文,就給標(biāo)志變量fg賦值0(fg的初始值為1)。最終把fg作為函數(shù)的返回值返回(fg值為1表明是回文,fg值為0表明不是回文)。

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

  使用VC6打開考生文件夾下的工程kt11_3。此工程包含一個(gè)kt11_3.cpp,其中定義了類queue,但該類的定義并不完整。請按要求完成下列操作,將程序補(bǔ)充完整。

  (1)完成類queue的無參數(shù)的構(gòu)造函數(shù)的定義,要求把數(shù)據(jù)成員bl和el都初始化為0,同時(shí)輸出queueinitialized。請?jiān)谧⑨?ldquo;//**1**”之后添加適當(dāng)?shù)恼Z句。

  (2)完成類queue的成員函數(shù)qput(intj)的定義,它的功能是把新的元素加入隊(duì)列,過程是先依據(jù)bl的值判斷數(shù)組是否已經(jīng)滿了,如果是就輸出queueisfull,否則bl自加一,并且把參數(shù)j的值存入bl指向的數(shù)組元素中,請?jiān)谧⑨?ldquo;//**2**”之后添加適當(dāng)?shù)恼Z句。

  (3)完成類queue的成員函數(shù)qget()的定義,它的功能是把隊(duì)列開頭的元素提取出隊(duì)列,并返回該值,過程是先比較el和bl的值判斷隊(duì)列是否已空,如果是就輸出queueisempty,

  否則el自加一,并且把el指向的數(shù)組元素返回,請?jiān)谧⑨?ldquo;//**3**”之后添加適當(dāng)?shù)恼Z句。

  程序輸出結(jié)果如下:

  queueinitialized

  queueinitialized

  3311

  4422

  注意:除在指定位置添加語句之外,請不要改動(dòng)程序中的其他內(nèi)容。

  源程序文件kt11_3.cpp清單如下:

  #include

  classqueue

  { intq[100];

  intbl,el;

  public:

  queue();

  voidqput(intj);

  intqget(); };

  queue::queue()

  { //**1** }

  voidqueue::qput(intj)

  { //**2**

  { cout<<"queueisfull\n";

  return; }

  bl++;

  q[bl]=j; }

  intqueue::qget()

  { //**3**

  { cout<<"queueisempty\n";

  return0; }

  el++;

  returnq[el]; }

  voidmain()

  {

  queueaa,bb;

  aa.qput(11);

  bb.qput(22); aa.qput(33);

  bb.qput(44);

  cout<

  cout<

  }

  【參考答案】

  (1)bl=el=0;

  cout<<"queue initialized\n";

  (2)if(bl==100)

  (3)if(el==bl)

  【試題解析】

  主要考查對于具體的一個(gè)隊(duì)列類的掌握,對列是一種特殊的存儲結(jié)構(gòu),應(yīng)使用先進(jìn)先出原則。題目中bl和el分別指向隊(duì)列的開頭和結(jié)尾,其中(2)是隊(duì)列的標(biāo)準(zhǔn)插入操作,(3)是隊(duì)列的標(biāo)準(zhǔn)的刪除操作,注意它們的操作方式和先判斷后操作的原則。

【計(jì)算機(jī)二級C++上機(jī)模擬試題及答案】相關(guān)文章:

計(jì)算機(jī)二級《C++》上機(jī)試題及答案08-12

2016計(jì)算機(jī)二級C++上機(jī)試題及答案08-02

計(jì)算機(jī)二級C++模擬試題及答案01-23

全國計(jì)算機(jī)二級《C++》上機(jī)試題及答案08-15

2016年計(jì)算機(jī)二級C++上機(jī)考試模擬試題及答案05-22

2016年計(jì)算機(jī)二級C++上機(jī)模擬試題06-05

2017計(jì)算機(jī)二級《C++》上機(jī)模擬題及答案08-16

全國計(jì)算機(jī)二級《C++》上機(jī)試題附答案01-15

計(jì)算機(jī)二級考試C++上機(jī)考試試題及答案02-08