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

字號(hào):

為大家收集整理了《2014計(jì)算機(jī)二級(jí)考試C++上機(jī)考試試題》供大家參考,希望對(duì)大家有所幫助!??!
    一、程序改錯(cuò)題
    使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運(yùn)行時(shí)有錯(cuò)誤,請(qǐng)改正錯(cuò)誤,使得程序通過運(yùn)行。
    程序輸出結(jié)果為
    5
    a
    1
    注意:不要改動(dòng)main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)構(gòu),錯(cuò)誤的語句在//******error**
    ****的下面。
    試題程序:
    #include(iostream)
    template(classT>
    //********error********
    tmin(tX,ty)
    {
    return(x>y)?y:x;
    }
    voidmain()
    {
    intn=5:’
    //********error********
    charc="a":
    intd=1:
    //********error********
    cout<  cout<  cout<  }
    二、簡(jiǎn)單應(yīng)用題
    使用VC++6.0打開考生文件夾下的源程序文件2.cpp。請(qǐng)完成函數(shù)fun(intn),使其實(shí)現(xiàn)以下功能:當(dāng)i等于3時(shí),則打印如下內(nèi)容。
    A
    AA
    AAA
    注意:不能修改程序的其他部分,只能修改fun函數(shù)。
    試題程序:
    #include
    voidfun(intn)
    {
    }
    voidmain()
    {
    intn;
    cout<<"請(qǐng)輸入打印的行數(shù):"<  cin>>n;
    if(n<1)
    {
    cout<<"輸入的行數(shù)必須大于0"<  return;
    }
    fun(n);
    return;
    }
    三、綜合應(yīng)用題
    使用VC++6.0打開考生文件夾下的源程序文件3.cpp。其中定義的類不完整,按要求完成下列操作,將類的定義補(bǔ)充完整。
    (1)在類TC中定義name為字符串類型,age為int型,請(qǐng)?jiān)谧⑨?之后添加語句。
    (2)設(shè)置類TC0的基類為TC類的定義,請(qǐng)?jiān)谧⑨?后添加語句。
    (3)在類TC的派生類TC0的公有成員中定義析構(gòu)函數(shù)TC0,請(qǐng)?jiān)谧⑨?后添加語句。
    (4)設(shè)置類TCl的基類為TC類的定義,請(qǐng)?jiān)谧⑨?后添加語句。
    程序輸出結(jié)果為
    TCclassconstructor
    TC0classconstructor
    TConclassconstructor
    TClclassconstructor
    TClclassconstructor
    TCclassconstructor
    TC0classconstructor
    TCclassconstructor
    注意:增加或者修改代碼的位置已經(jīng)用符號(hào)表示出來一請(qǐng)不要修改其他的程序代碼。
    試題程序:
    #include
    classTC
    {
    //********1********
    public:
    TC(){cout<<"TCclassconstructor"<  TC(){tout<<"TCclassconstructor"<  };
    //********2********
    {
    char*departmert;
    intlevel;
    public:
    TCO()
    {cout<<"TCOclassconstructor"<  //********3********
    {cout<<"TC0classconstructor"<  };
    //********4********
    {
    char*maior:
    floatsalary;
    public:
    TCl(){cOUt<<"TClclassconstructor"<  TCI(){COUt<<"TClclassconstructor"<  };
    voidmain()
    {
    TC0sl;
    TCItl;
    }
    上機(jī)考試試題答案與解析
    一、程序改錯(cuò)題
    (1)應(yīng)改為“Tmin(TX,Ty)”。
    (2)應(yīng)改為“charc=’a’;”。
    (3)應(yīng)改為“usingnamespacestd;”。
    【解析】本題C++是區(qū)分大小寫的,“template  T>”語句中定義的模板類為T不是t,所以第1處的“tmin(tx,ty)”修改為“Tmin(Tx,Ty)”。第2處的“charc="a";”語句中的變量a為char型,賦值為字符a,在C++中應(yīng)該使用單引號(hào)標(biāo)注字符變量,而不是雙引號(hào),所以修改為“charC=’a’;”。在程序中用到C++標(biāo)準(zhǔn)庫時(shí),要使用std標(biāo)準(zhǔn)命名空間進(jìn)行限定。cout為標(biāo)準(zhǔn)庫函數(shù),所以要聲明cout是在命名空間std中定義的流對(duì)象,即添加“usingnamespacestd;”。
    二、簡(jiǎn)單應(yīng)用題
    inti;
    for(i=0;i  {
    intj;
    for(j=0;j(n-i-1;j++)//循環(huán)打印空格
    {
    cout<<’’;
    }
    for(;j  {
    cout<<"A":
    }
    cout<  }
    【解析】本題利用外層循環(huán)打印每一行。內(nèi)層循環(huán)分為
    打印空格和打印A。打印空格由第一個(gè)位置到第n-i-1。打印A,是由打印完空格開始一直到行結(jié)束。在外循環(huán)中打印每一行的結(jié)束符。
    三、綜合應(yīng)用題
    (1)應(yīng)添加“char*name;intage;”。
    (2)應(yīng)添加“classTC0:publicTC”。
    (3)應(yīng)添加“~TCO()”。
    (4)應(yīng)添加“classTC1:publicTC”。
    【解析】本題第1處要求“TC中定義name為字符串類型,age為整型”。根據(jù)題目要求,在程序TC類中定義變量name和age,即“char*name;intage;”。第2處要求“設(shè)置類TC0的基類為TC類的定義”。在C++中,從已有的類產(chǎn)生一個(gè)新的子類,稱為類的派生。聲明派生類的一般形式為“ClaSS派生類名:[繼承方式]慕類名”。根據(jù)聲明派生類的一般形式,這里補(bǔ)全“classTC0:publicTC”。第3處要求“在類TC的派生類TCO的公有成員中定義析構(gòu)函數(shù)TC0”。析構(gòu)函數(shù)也是一個(gè)特殊的成員函數(shù),它的作用與構(gòu)造函數(shù)相反,它的名稱是在類名前面加一個(gè)“~”符號(hào)。題目中要求的類名稱為“TCO”即這里補(bǔ)全“~TCO()”。第4處要求“設(shè)置類TCl的基類為TCl類的定義”,在第4處補(bǔ)充“ClassTCl:public,TC”。