1. <rp id="zsypk"></rp>

      2. 計(jì)算機(jī)二級(jí)考試C++上機(jī)考試試題

        時(shí)間:2021-07-12 08:42:13 試題 我要投稿
        • 相關(guān)推薦

        計(jì)算機(jī)二級(jí)考試C++上機(jī)考試試題

          計(jì)算機(jī)二級(jí)考試有分筆試題以及上機(jī)操作題,下面就是小編跟大家分享計(jì)算機(jī)二級(jí)考試C++上機(jī)考試試題,歡迎大家閱讀!

        計(jì)算機(jī)二級(jí)考試C++上機(jī)考試試題

          一、程序改錯(cuò)題

          使用VC++6.0打開(kāi)考生文件夾下的源程序文件1.cpp,該程序運(yùn)行時(shí)有錯(cuò)誤,請(qǐng)改正錯(cuò)誤,使程序正常運(yùn)行,并且要求最后一個(gè)catch必須拋出執(zhí)行的任何異常。

          程序異常,輸出信息為

          error

          O

          ERROR

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

          試題程序:

          #include<iostream.h) style="font-family: "Microsoft Yahei"; white-space: normal; color: rgb(51, 51, 51);"

          intmain()

          {

          try

          {

          throw("error");

          }

         。********error********

          catch(chars)

          {

          cout<<s<<endl;

          }

          try

          {

          throw((int)0);

          }

         。********error********

          catch()

          {

          cout<<i<<endl;

          }

          try

          {

          throw(O);

          throw("error");

          }

         。********error********

          catch()

          {

          cout<<"ERROR"<<endl;

          }

          return0;

          }

          二、簡(jiǎn)單應(yīng)用題使用VC++6.0打開(kāi)考生文件夾下的源程序文件2.cpp。請(qǐng)補(bǔ)充完整程序fun(inti),使其完成以下功能:如果i=5,則輸出如下5行#號(hào)。

          #

          ##

          ###

          ####

          #####

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

          試題程序:

          #include

          voidfun(inti)

          {

          }

          intmain()

          {

          fun(5);

          return0;

          }

          三、綜合應(yīng)用題使用VC++6.0打開(kāi)考生文件夾下的源程序文件3.cpp。程序通過(guò)繼承關(guān)系,實(shí)現(xiàn)對(duì)姓名的控制。類(lèi)TC1實(shí)現(xiàn)對(duì)名字訪問(wèn)的接口,TC2實(shí)現(xiàn)對(duì)名字的設(shè)置和輸出。

          程序輸出為

          TC2Name

          May

          其中定義的類(lèi)并不完整,按要求完成下列操作,將類(lèi)的定義補(bǔ)充完整。

          (1)在類(lèi)TCl中定義接口函數(shù)GetName為純虛函數(shù)。請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。

          (2)函數(shù)GetName2用于獲得名字的緩存,但只獲得允許讀操作這個(gè)緩存,請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。

          (3)實(shí)現(xiàn)TC2的構(gòu)造函數(shù),請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。

          (4)完成TC2的構(gòu)造函數(shù),實(shí)現(xiàn)對(duì)名字的處理。請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。

          注意:增加或者修改代碼的位置已經(jīng)用符號(hào)表示出來(lái),請(qǐng)不要修改其他的程序代碼。

          試題程序:

          #include

          classTC1

          {

          public:

         。********1********

          };

          classTC2:publicTCl

          {

          public:

          voidGetName()

          {

          cout<<"TC2Name"<<endl;

          }

         。********2********

          {

          returnm_str;

          }

         。********3********

          {

          inti:

          for(i=0;str[i]!=0;i++)

          m_str[i]=str[i];

         。********4********

          }

          private:

          charm_str[32];

          };

          voidmain()

          {

          TCl*P;

          TC20bj1("May");

          p=&objl;

          p->GetName();

          cout<<obj1.getnamc2()<<endl;

          return;

          }

          一、程序改錯(cuò)題(1)應(yīng)改為“catch(char*s)”。

          (2)應(yīng)改為“cateh(inti)”。

          (3)應(yīng)改為“catch(…)”。

          【解析】本題中第1個(gè)標(biāo)識(shí)前的異常拋出語(yǔ)句為“throw("error");”,其中的類(lèi)型為字符串。所以對(duì)應(yīng)的異常捕捉語(yǔ)句catch中應(yīng)該符合這個(gè)類(lèi)型,而程序中給出的語(yǔ)句“catch(chars)”是字符型的`,所以第1處的語(yǔ)句修改為“catch(char*S)”。第2個(gè)標(biāo)識(shí)前的異常拋出語(yǔ)句為“throw((int)0);”,其中的類(lèi)型為int。對(duì)應(yīng)的異常捕捉語(yǔ)句catch中應(yīng)該符合這個(gè)類(lèi)型,所以補(bǔ)充catch子句中的類(lèi)型,否則如果找不到匹配的catch塊,系統(tǒng)就會(huì)調(diào)用一個(gè)系統(tǒng)函數(shù),使程序終止運(yùn)行。即第2處的語(yǔ)句修改為“catch(inti)”。如果在catch子句中沒(méi)有指定異常信息的類(lèi)型,那么就用刪節(jié)號(hào)“…”表示它可以捕捉任何類(lèi)型的異常信息,即修改為“catch(…)”。

          二、簡(jiǎn)單應(yīng)用題for(intj=0;j(i;j++)//行循環(huán)

          {

          for(intk=0;k<=j;k++)//列循環(huán)

          cout<<"#";//輸出“#”

          cout<<endl; style="font-family: "Microsoft Yahei"; white-space: normal; color: rgb(51, 51, 51);"

          }

          【解析】本題首先利用for循環(huán)進(jìn)行外層循環(huán),輸出對(duì)應(yīng)的i行,然后利用for循環(huán)進(jìn)行內(nèi)層循環(huán),輸出對(duì)應(yīng)i行的i列。

          三、綜合應(yīng)用題(1)應(yīng)添加“virtualvoidGetNamt!()=0;”。

          (2)應(yīng)添加“constchar*GetName2()”。

          (3)應(yīng)添加“TC2(char*str)”。

          (4)應(yīng)添加“m_str[i]=0;”。

          【解析】本題第1處要求“在類(lèi)TC1中定義接口函數(shù)GetName,為純虛函數(shù)”。在C++中,在基類(lèi)中用virtual聲明成員函數(shù)為虛函數(shù)。純虛函數(shù)是在聲明虛函數(shù)時(shí)被“初始化”為0的函數(shù),即“virtualvoidGetName()=0;”。第2處要求“函數(shù)GetName2實(shí)現(xiàn)獲得名字的緩存,但只獲得讀允許操作這個(gè)緩存”。只能引用數(shù)據(jù)成員,而不能修改,所以使用常成員函數(shù),其一般形式為“const函數(shù)類(lèi)型函數(shù)名”,即“constchar*GetName2()”。第3處要求“實(shí)現(xiàn)TC2的構(gòu)造函數(shù)”。TC2的構(gòu)造函數(shù)與類(lèi)TC2的名稱應(yīng)該相同,而且第3處的大括弧中是對(duì)字符數(shù)組str的操作,所以類(lèi)TC2的構(gòu)造函數(shù)中的參數(shù)為str,即這里補(bǔ)全為“TC2(char*str)”。第4處要求“完成TC2的構(gòu)造函數(shù),實(shí)現(xiàn)對(duì)名字的處理”,補(bǔ)全類(lèi)TC2的構(gòu)造函數(shù),構(gòu)造函數(shù)中的名字變量str對(duì)應(yīng)于類(lèi)TC中的成員變量m_str,所以這里補(bǔ)全變量賦值操作“m_str[i]=0;”。

        【計(jì)算機(jī)二級(jí)考試C++上機(jī)考試試題】相關(guān)文章:

        計(jì)算機(jī)二級(jí)考試C++考前測(cè)試題及答案06-14

        計(jì)算機(jī)二級(jí)考試題及答案04-09

        計(jì)算機(jī)二級(jí)考試《java》試題及答案04-13

        計(jì)算機(jī)二級(jí)考試題型06-11

        計(jì)算機(jī)二級(jí)考試WEB試題及答案04-13

        計(jì)算機(jī)二級(jí)考試試題C語(yǔ)言沖刺試題02-22

        計(jì)算機(jī)二級(jí)JAVA考試鞏固試題及答案04-13

        省二級(jí)計(jì)算機(jī)考試試題06-11

        省二級(jí)計(jì)算機(jī)考試題06-11

        99热这里只有精品国产7_欧美色欲色综合色欲久久_中文字幕无码精品亚洲资源网久久_91热久久免费频精品无码
          1. <rp id="zsypk"></rp>