版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2021年云南省保山市全國計(jì)算機(jī)等級(jí)考試
C++語言程序設(shè)計(jì)真題(含答案)
學(xué)校:班級(jí):姓名:考號(hào):
一、1.選擇題(10題)
1.下列關(guān)于類和對象的敘述中,錯(cuò)誤的是()o
A.一個(gè)類只能有一個(gè)對象B.對象是類的具體實(shí)例C.類是對某一類對
象的抽象D.類和對象的關(guān)系是一種數(shù)據(jù)類型與變量的關(guān)系
2.下列不是描述類的成員函數(shù)的是()
A.構(gòu)造函數(shù)B.析構(gòu)函數(shù)C.友元函數(shù)D.拷貝構(gòu)造函數(shù)
3.對于一個(gè)類定義,下列敘述中錯(cuò)誤的是
A.如果沒有定義拷貝構(gòu)造函數(shù),編譯器將生成一個(gè)拷貝構(gòu)造函數(shù)。
B.如果沒有定義缺省的構(gòu)造函數(shù),編譯器將一定生成一個(gè)缺省的構(gòu)造函
數(shù)。
C.如果沒有定義構(gòu)造函數(shù),編譯器將生成一個(gè)缺省的構(gòu)造函數(shù)和一個(gè)拷
貝構(gòu)造函數(shù)。
D.如果已經(jīng)定義了構(gòu)造函數(shù)和拷貝構(gòu)造函數(shù),編譯器不會(huì)生成任何構(gòu)造
函數(shù)。
4.下列敘述中正確的是()。
A.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對象之間具有密切的關(guān)系
B.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對象都是公用的
C.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對象之間相對獨(dú)立,相互依賴性小
D.上述三種說法都不對
5.算法的時(shí)間復(fù)雜度是指o
A.執(zhí)行算法程序所需要的時(shí)間B.算法程序的長度C.算法執(zhí)行過程中
所需要的基本運(yùn)算次數(shù)D.算法程序中的指令條數(shù)
6.下面關(guān)于虛函數(shù)的描述中正確的是
A.虛函數(shù)是一個(gè)靜態(tài)成員函數(shù)
B.虛函數(shù)是一個(gè)非成員函數(shù)
C.虛函數(shù)既可以在函數(shù)說明時(shí)定義,也可以在函數(shù)實(shí)現(xiàn)時(shí)定義
D.派生類的虛函數(shù)與基類中對應(yīng)的虛函數(shù)具有相同的參數(shù)個(gè)數(shù)和類型
7.下列關(guān)于虛函數(shù)的描述中,正確的是()。
A.虛函數(shù)是一個(gè)static類型的成員函數(shù)
B.虛函數(shù)是一個(gè)非成員函數(shù)
C.基類中采用virtual說明一個(gè)虛函數(shù)后,派生類中定義相同原型的函數(shù)
時(shí)可不必加virtual說明
D.派生類中的虛函數(shù)與基類中相同原型的虛函數(shù)具有不同的參數(shù)個(gè)數(shù)
或類型
8.關(guān)于虛函數(shù)下面說的正確的是()。
A.若在重定義虛函數(shù)時(shí)使用了virtual,則該重定義函數(shù)還是虛函數(shù)
B.虛函數(shù)不能聲明為友元
C.子類必須重定義父類的虛函數(shù)
D.虛函數(shù)不能是static的
9.有如下程序:#nclude<iostream>usingnamespacestd;class
Base{public:voidfun1(){cout<<"Base\n";}virtualvoidfun2(){cout
<<"Base\n";}};classDerived:publicBase{public:voidfun1(){cout<
<"Derived\n";}voidfun2(){cout<<"Derived\n";}}voidf(Base&b)
{B.fun1();B.fun2();}intmain(){Derivedobj;f(obj);return0;}
A.BaseBaseB.BaseDerivedC.DerivedBaseD.DerivedDerived
10.有下列二叉樹,對此二叉樹中序遍歷的結(jié)果為
A.BDYEACFXZB.DYBEAFCZXC.ABCDEFXYZD.ABDYECFXZ
二、單選題(13題)
11.某二叉樹共有7個(gè)結(jié)點(diǎn),其中葉子結(jié)點(diǎn)只有1個(gè),則該二叉樹的深度
為(假設(shè)根結(jié)點(diǎn)在第1層)()o
A.3B.4C.6D.7
12.C++程序執(zhí)行總是從【】開始的。
A.main函數(shù)B.第一行C.頭文件D.函數(shù)注釋
13.下列排序方法中,最壞情況下比較次數(shù)最少的是
A.冒泡排序B.簡單選擇排序C.直接插入排序D.堆排序
14.
24.有以下程序:
voidfun(inta?a,inti?intj)
{int
fun(a,++i,-----j)?
}
)
mainO
{inta[]={l,2,3,4,5,6},i?
fun(a?0?5);
for(i=0;i<6;i+4-)
cout<<a[i]t
)
執(zhí)行后輸出結(jié)果是(
A.654321B.432156
C.456123D.123456
15.下列運(yùn)算符函數(shù)中肯定不屬于類FunNumber的成員函數(shù)的是()。
A.intoperator—(FunNumber);
B.FunNumberoperator一;
C.FunNumberoperator—(int);
D.intoperator—(FunNumber,FunNumber);
16.必須用一對大括號(hào)括起來的程序段是
A.switch語句中的case標(biāo)號(hào)語句。B.if語句的分支。C.循環(huán)語句的循
環(huán)體。D.函數(shù)的函數(shù)體。
17.有下列程序:
#include<stdiO.h>
voidf(int*P,int*q);
voidmain()
(intm=1,n=2,*r=&m;
f(r,&n);printf("%d,%d",m,n);
)
voidf(int*P,int*q)
{p=p+l;*q=*q+l;}
程序運(yùn)行后的輸出結(jié)果是()oA.l,3B.2,3C.l,4D.1,2
18.有如下程序:
#include<iostream>
usingnamespacestd;
classBook{
public:
Book(char*t='"'){strcpy(title,t);}
private:
chartitle[40];
};
classNovel:publicBook{
public:
Novel(charBook(t){}
char*Category()const{return"文學(xué)";)
);
intmain(){
Book*pb;
pb=newNovel();
cout?pb->Category();
return0;
)
若程序運(yùn)行時(shí)輸出結(jié)果是“文學(xué)”,則劃線處缺失的語句是
A.char*Category();
B.char*Category()const;
C.virtualchar*Category()const;
D.virtualchar*Category()const=0;
19.如果表達(dá)式“-x/y”中的”和“/”是作為友元函數(shù)重載的運(yùn)算符,采
用運(yùn)算符函數(shù)調(diào)用格式,該表達(dá)式還可以表示為()o
A.operator/(X.operator—(),y);
B.operator/(operator—(x),y);
C.X.operator—().operator/(y);
D.y.operator/operator—(x));
20.數(shù)據(jù)視圖的描述稱為()。
A.A.外模式B.內(nèi)模式C.概念模式D.存儲(chǔ)模式
21.下面有關(guān)this指針的敘述中,正確的是()。
A.類的成員函數(shù)都有this指針
B.任何與類相關(guān)的函數(shù)都有this指針
C.類的非靜態(tài)成員函數(shù)才有this指針
D.類的友元函數(shù)都有this指針
22.有如下程序:
#include<iostream>
usingnamespacestd;
classMyClass{
public:
MyClass(intx):val(x){}
voidPrint()const{cout?"const:val="?<val?\t;}
voidPrint(){cout?"val="?val?t;}
private:
intval;
};
intmain(){
constMyClassobj1(10);
MyClassobj2(20);
objl.Print();
obj2.Print();
returnO;
)
程序的輸出結(jié)果是()0A.val=10const:val=20
B.const:val=10const:val=20
C.const:val=10val=20
D.val=lOva1=20
23.下列關(guān)于虛函數(shù)的說明中,正確的是()。
A.從虛基類繼承的函數(shù)都是虛函數(shù)
B.虛函數(shù)不得是靜態(tài)成員函數(shù)
C.只能通過指針或引用調(diào)用虛函數(shù)
D.抽象類中的成員函數(shù)都是虛函數(shù)
三、2.填空題(12題)
24.程序的輸出結(jié)果是【】。
#include<iostream>
usingnamespacestd;
classA{
intx;
public:
A(intx=l):x(x){cout<<x;)
};
voidmain(){
Aa,b(2),c(3);
)
25.數(shù)據(jù)庫管理系統(tǒng)常見的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和3
種。
26.【】是在進(jìn)行了成功的測試之后才開始的。它與軟件測試不同,測
試的目的是發(fā)現(xiàn)錯(cuò)誤,進(jìn)一步診斷和改正錯(cuò)誤,則是調(diào)試的任務(wù)。
27.C++語言中的多態(tài)性是在編譯時(shí)通過____和模板體現(xiàn)的,在運(yùn)行
時(shí)是通過_____體現(xiàn)的。
28.類是一個(gè)支持集成的抽象數(shù)據(jù)類型,而對象是類的【】。
29.C++語言的參數(shù)傳遞機(jī)制包括傳值和傳地址兩種,如果調(diào)用函數(shù)時(shí),
需要改變實(shí)參或者返回多個(gè)值,應(yīng)該采取【】方式。
30.下列程序的輸出結(jié)果是【】。
#include<iostream.h>
#include<string.h>
voidmain(){
charb[30];
strcpy(&b[0],"XY");
strcpy(&b[l],"YZW");
strcpy(&b[2],"ZXY");
cout<<b<<endl;
)
31.軟件是程序、數(shù)據(jù)和的集合。
32.一個(gè)類中有個(gè)析構(gòu)函數(shù)。
33.軟件生存周期包括軟件定義、【】、軟件使用和維護(hù)三個(gè)階段。
34.一棵二叉樹第六層(根結(jié)點(diǎn)為第一層)的結(jié)點(diǎn)數(shù)最多為【】個(gè)。
35.內(nèi)聯(lián)函數(shù)是通過【】來實(shí)現(xiàn)的,因此內(nèi)聯(lián)函數(shù)是真正的函數(shù)。
四、程序改錯(cuò)題(10題)
36.使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運(yùn)
行時(shí)有錯(cuò),請改正其中的錯(cuò)誤,使程序正常運(yùn)行,輸出的結(jié)果為
Constructor,i=0,
Destructor
注意:錯(cuò)誤的語句在//******error******的下面,修改該語句即可。
試題程序:
#include(iostream.h)
classTC
(
inti;
public:
TC;
voiddisplay;
-TC;
);
II******enor******
TC:TC
(
cout?"Constructor"?",";
i=0;
)
!1******enol******
TC:display
tout?"i="?i<<","?endl;
TC:TC
COUI?"Destructor"?endl:
voidmain
(
TCa;
a.display;
)
37.使用VC++6.0打開考生文件夾下的源程序文件1.叩p,該程序
運(yùn)行時(shí)有錯(cuò)誤,請改正錯(cuò)誤,使程序正常運(yùn)行,并且要求最后一個(gè)
catch必須拋出執(zhí)行的任何異常。
程序異常,輸出信息為
error
0
ERROR
注意:不要改動(dòng)main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)
構(gòu),錯(cuò)誤的語句在//******error******的下面。
試題程序:
#include<iostream.h)
intmain
throw("error");
II********enor********
catch(chars)
cout?s?endl;
)
try
(
throw((int)0);
catch
(
cout?i?endl;
)
try
(
throw(O);
throw("error");
catch
(
cout?"ERROR"?endl;
)
retumO;
38.使用VC++6.。打開考生文件夾下的源程序文件1.cpp,該程序
運(yùn)行時(shí)有錯(cuò)誤,請改正錯(cuò)誤,使程序正常運(yùn)行,并且要求最后一個(gè)
catch必須拋出執(zhí)行的任何異常。
程序異常,輸出信息為
error
O
ERROR
注意:不要改動(dòng)main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)
構(gòu),錯(cuò)誤的語句在//******errc)r******的下面。
試題程序:
#include<iostream.h)
intmain
(
try
(
throw("error");
}
II********error*********
catch(chars)
(
cout?s?endl;
)
try
{
throw((int)0);
catch
(
cout?i?endl;
)
try
(
throw(O);
throw("error");
II***************
catch
(
cout?"ERROR"?endl;
)
retumO;
)
39.使用VC++6.。打開考生文件夾下的源程序文件I.cpp,該程序運(yùn)
行有問題,請改正main函數(shù)中的錯(cuò)誤,使程序的輸出結(jié)果為:
number=1
number=10
number=100
注意:不要改動(dòng)main函數(shù),不能增加或刪除行。也不能更改程序的結(jié)
構(gòu),錯(cuò)誤的語句在//******errc)r******的下面。
試題程序:
#include<iostream.h>
classTC
(
public:
TC(inti)
(
number=i;
)
voidSetNumber(intm)
(
number=m;
)
intGetNumberconst
retumnumber;
)
voidPrintconst
{
cout<<"number="?number?endl;
)
private:
intnumber;
);
voidmain
(
II********error********
TCobjl;
objl.Print;
TCobj2(3);
II********error********
objl.number=10;
Ii********error*%o******
TC.SetNumber(lOO);
objl.Print;
obj2.Print;
)
40.使用VC++6.0打開考生文件夾下的源程序文件1.cpp。本程序要
求輸入一個(gè)字符串,然后將其中的小寫字母改成大寫字母,字符可能輸
入多行,當(dāng)輸入字符“?”時(shí),默認(rèn)字符輸入結(jié)束,最后把結(jié)果輸出到屏幕
中。
注意:不要改動(dòng)main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)
構(gòu),錯(cuò)誤的語句在//******error******的下面。
試題程序:
#include<iostream.h>
voidmain
(
inti=O;
charstr[120];
cout?"Enterastringendwith?."?endl;
//********error********
cin.getline(str,120);
1I********error********
while(str)
(
II********error********
if(str[i])=a)
str[i]=str[i]-a+A;
i++;
)
cout?str?endl;
return;
)
41.使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序
運(yùn)行時(shí)有錯(cuò)。請改正程序中的錯(cuò)誤,使程序輸出的結(jié)果為
100
37
32
注意:錯(cuò)誤的語句在//******errc)r******的下面,修改該語句即
可。
試題程序:
#include<iostream.h>
/*1**1*4,*4**.1*
//小不不不小不prrcr不不不不不不
voidmain
/*!**1**1**1**1**1**.1**1*?£?
//小個(gè)個(gè)個(gè)不不prmr不不不不不不
intm=0142:
/*!?**!?、,,、,,*1*、,,*1*
//個(gè)不不不不不prmr個(gè)不不不不不
intn=0X27:
intq=32;
cout<<m<<endl;
cout<<n<<endl;
cout<<q<<endl;
return;
)
42.使用VC++6.0打開考生文件夾下的源程序文件1.cpp。本程序
要求輸入一個(gè)字符串,然后將其中的小寫字母改成大寫字母,字符可
能輸入多行,當(dāng)輸入字符“?”時(shí),默認(rèn)字符輸入結(jié)束,最后把結(jié)果輸出
到屏幕中。
注意:不要改動(dòng)main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)
構(gòu),錯(cuò)誤的語句在//******errc)r******的下面。
試題程序:
#include<iostream.h>
voidmain
inti=O;
charstr[120];
cout?"Enterastringendwith?."?endl;
II********enor********
cin.getline(str,120);
II********enor********
while(str)
II********error********
if(str[i])=a)
str[i]=str[i]-a+A;
i++;
cout?str?endl;
return;
)
43.使用VC++6.0打開考生文件夾下的源程序文件
1.cpp,該程序運(yùn)行時(shí)有錯(cuò)誤,請改正程序中的錯(cuò)誤。本程序要求實(shí)現(xiàn)
的功能為從鍵盤輸入一個(gè)字符串,并將結(jié)果保存到文件1.txt中。
注意:不要改動(dòng)main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)
構(gòu),錯(cuò)誤的語句在
I!******error******-jx'p^~|
試題程序:
#include<iostream>
#include<fstream>
!1********error********
usingstd;
voidWriteFile(char*s)
(
ofstreamoutl;
II********error********
outl.open("l.txt",binarylapp);
for(inti=0;s[i]!=0;i++)
!1********enor********
outl.puts(s[i]);
)
outl.close;
)
voidClearFile
(
ofstreamoutl;
outl.open("l.txt");
outl.close;
)
intmain
(
chars[1024];
ClearFile;
cout?"pleaseinputastrin9:"?endl;
cin.getline(s,1024);
WriteFile(s);
retumO;
}
44.使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運(yùn)
行時(shí)有錯(cuò)誤,請改正程序中的錯(cuò)誤,使得程序輸出:
9,8,7,6,5
注意:錯(cuò)誤的語句在/********error********/的下面,修改該語句即
可。其他的語句不能修改。
試題程序:
#include(iostream.h>
classTC
(
I********error********/
TC(inti)
(
m_i=i;
)
voidprint
cout?—m_i?,
public:
intm_i;
);
intmain
I********error********/
inti;
TC04(10);
while(i>5)
(
I**************
i++:
04.print;
)
cout?endl;
returnO;
45.使用VC++6.0打開考生文件夾下的源程序文件
1.cpp,該程序運(yùn)行時(shí)有錯(cuò)誤,請改正程序中的錯(cuò)誤。本程序要求實(shí)
現(xiàn)的功能為從鍵盤輸入一個(gè)字符串,并將結(jié)果保存到文件Ltxt中。
注意:不要改動(dòng)main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)
構(gòu),錯(cuò)誤的語句在
I!******ei*ror******白勺~|>*]什j°
試題程序:
#include<iostream>
#include<fstream>
II********error********
usingstd;
voidWriteFile(char*s)
(
ofstreamoutl;
outl.open("l.txt",binary|app);
for(inti=0;s[i]!=0;i++)
(
II********error********
outl.puts(s[i]);
}
outl.close;
)
voidClearFile
(
ofstreamoutl;
outl.open("l.txt");
outl.close;
)
intmain
(
chars[1024];
ClearFile;
cout?"pleaseinputastrin9:"?endl;
cin.getline(s,1024);
WriteFile(s);
returnO;
)
五、綜合應(yīng)用題(2題)
46.使用VC++6.。打開考生文件夾下的源程序文件3.cpp,其中定
義了類BA、PA1和PA2,其中PA1類由BA類公有派生,PA2類由
PA1類公有派生。上述3個(gè)類的定義并不完整,請按要求完成下列操
作,將程序補(bǔ)充完整。
程序輸出結(jié)果如下:
10
5
1057
(1)定義類BA的構(gòu)造函數(shù),該構(gòu)造函數(shù)有一個(gè)整型的參數(shù)m,在構(gòu)造
函數(shù)中將m賦值給數(shù)據(jù)成員a。請?jiān)谧⑨?之后添加適當(dāng)?shù)恼Z句。
(2)定義類PA1的構(gòu)造函數(shù),該構(gòu)造函數(shù)有兩個(gè)整型的參數(shù)m和n,在
構(gòu)造函數(shù)中將m賦值給數(shù)據(jù)成員b,將n作為基類BA構(gòu)造函數(shù)的參
數(shù)值傳人。請?jiān)谧⑨?之后添加適當(dāng)?shù)恼Z句。
(3)定義類PA2的構(gòu)造函數(shù),該構(gòu)造函數(shù)有3個(gè)整型的參數(shù)m、n和
k,在構(gòu)造函數(shù)中請將m賦值給數(shù)據(jù)成員c,將n和k分別賦值給基類
PA1構(gòu)造函數(shù)的參數(shù)m和n。請?jiān)谧⑨?之后添加適當(dāng)?shù)恼Z句。
(4)完成類PA2的成員函數(shù)show的定義,該函數(shù)調(diào)用基類成員函數(shù),
輸出基類私有成員a、b及類PA2自身的數(shù)據(jù)成員C的值,上述3個(gè)
值在輸出時(shí)用空格隔開。請?jiān)谧⑨?之后添加適當(dāng)?shù)恼Z句。
注意:除在指定位置添加語句之外,請不要改動(dòng)程序中的其他內(nèi)容。
試題程序:
#include(iostream.h>
classBA
(
inta;
public:
intgeta{returna;}
};
classPAl:publicBA
{
intb;
public:
///小*1*軍*1*不*1*不*1*木*1木*不*1*不*!*2木*1**木1?*1不**1*/*木1**!木?*1*木*1*
intgetb{retumb;}
};
classPA2:publicPAl
(
intC;
public:
voidshow
(
//********4********
)
};
voidmain
{
PA2a(7,5,10);
cout?a.geta?endl;
cout?a.getb?endl;
a.show;
)
47.請使用VC6或使用【答題】菜單打開考生目錄proj3下的工程文件
proj3,此工程中包含一個(gè)源程序文件proj3.cpp,補(bǔ)充編制c++程序
proj3.cpp,其功能是讀取文本文件in.dat中的全部內(nèi)容,將文本存
放到doc類的對象myDoc中。然后將myDoc中的字符序列反轉(zhuǎn),并
輸出到文件out.dat中。文件in.dat的長度不大于1000字節(jié)。
要求:
補(bǔ)充編制的內(nèi)容寫在“〃***********與''//**********''兩行之間。實(shí)現(xiàn)
將myDoc中的字符序列反轉(zhuǎn),并將反轉(zhuǎn)后的序列在屏幕上輸出。不得
修改程序的其他部分。
注意:程序最后已將結(jié)果輸出到文件Out.dat中,輸出函數(shù)
writeToFile已經(jīng)給出并且調(diào)用。
//proj3.cpp
#include<iostream>
#include<fstream>
#include<catting>
usingnamespacestd;
classdoc
(
private:
char*sir;//文本字符串首地址
intlength;〃文本字符個(gè)數(shù)
public:
//構(gòu)造函數(shù),讀取文件內(nèi)容,用于初始化新對象,filename是文件名字
符串首地址
doc(char*filename);
voidreverse;//將字符序列反轉(zhuǎn)
一doc;
voidwriteToFile(char*filename);
);
doc::doc(char}filename)
(
ifstreammyFile(filename);
intlen=1001,tmp;
atr=newcharflen];
length=O;
while((trap=myFile.get)!=EOF)
strflength++]=trap;
str[length]=t\O,;
myFile.close;
)
voiddoc::reverse{
//將數(shù)組atr中的length個(gè)字符中的第一個(gè)字符與最后一個(gè)字符交換,
第二個(gè)字符與倒數(shù)第二個(gè)
〃字符交換
//*************666*************
)
doc::?doe
(
delete[]str;
)
voiddoc::writeToFile(char*filename)
(
OfstreamoutFile(filename);
outFile?str;
outFile.close;
)
voidmain
docmyDoc(,,in.dat'>
myDoc.reveme;
myDoc.writeToFile("out.dat");
}
六、3.綜合應(yīng)用題(2題)
48.使用VC6打開考生文件夾下的工程test34_3o此工程包含一個(gè)
test34_3.cpp,其中定義了表示棧的類stack。源程序中stack類的定義并
不完整,請按要求完成下列操作,將程序補(bǔ)充完整。
⑴定義類stack的私有數(shù)據(jù)成員sp和size,它們分別為整型的指針和變
量,其中sP指向存放棧的數(shù)據(jù)元素的數(shù)組,size為棧中存放最后一個(gè)元
素的下標(biāo)值。請?jiān)谧⑨尅啊?*1**”之后添加適當(dāng)?shù)恼Z句。
⑵完成類stack的構(gòu)造函數(shù),該函數(shù)首先從動(dòng)態(tài)存儲(chǔ)空間分配含有100
個(gè)元素的加型數(shù)組,并把該數(shù)組的首元素地址賦給指針sp,然后將該
數(shù)組的所有元素賦值為0,并將size賦值為-l(size等于-1表示棧為空)。
請?jiān)谧⑨尅啊?*2**”之后添加適當(dāng)?shù)恼Z句。
(3)完成類stack的成員函數(shù)push的定義。該函數(shù)將傳入的整型參數(shù)x壓
入棧中,即在size小于數(shù)組的最大下標(biāo)情況下,size自力口1,再給x賦
值。請?jiān)谧⑨尅啊?*3**”之后添加適當(dāng)?shù)恼Z句。
⑷完成類stack的成員函數(shù)pop的定義,該函數(shù)返回棧頂元素的值,即
在size不等于-1的情況下,返回?cái)?shù)組中下標(biāo)為size的元素的值,并將
size減1。請?jiān)谧⑨尅啊?*4**”之后添加適當(dāng)?shù)恼Z句。
程序輸出結(jié)果如下:
thetopelem:1
thepopelem:1
thestackisempty
注意:除在指定位置添加語句之外,請不要改動(dòng)程序中的其他內(nèi)容。
源程序文件test34_3.cpp清單如下:
#include<iostream.h>
classstack
(
〃**]**
public:
stack();
boolempty(){returnsize=="l;}
boolfull(){returnsize==99;}
voidpush(intx);
voidpop();
voidtop();
);
stack::stack()
(
〃**2**
for(inti=0;i<100;i++)
*(sp+i)=0;
size=-1;
)
voidstack::push(intx)
{
〃**3**
cout<<"thestackisfull"<<endl;
else
{
size++;
*(sp+size)=x;
)
voidstack::pop()
{
〃**4**
cout<<"thestackisempty"<<endl;
else
(
cout<<"thepopelem:"<<*(sp+size)<<endl;
size—;
)
)
voidstack::top()
(
ifiemptyO)
cout<<"thestackisempty"<<endl;
else
(
cout<<"thetopelem:"<<*(sp+size)<<endl;
)
)
voidmain()
(
stacks;
s.push(l);
s.top();
s.popO;
s.top();
)
49.使用VC6打開考生文件夾下的工程testl3_3o此工程包含一個(gè)
testl3_.cpp,其中定義了類Vector,但類的定義并不完整。請按要求完成
下列操作,將程序補(bǔ)充完整。
⑴完成構(gòu)造函數(shù)的定義,把數(shù)據(jù)成員size初始化為參數(shù)s的值,數(shù)據(jù)成
員buffer指向動(dòng)態(tài)申請的int型size大小的空間。請?jiān)谧⑨尅啊?*1***之
后添加適當(dāng)?shù)恼Z句。
⑵完成拷貝構(gòu)造函數(shù)的定義,注意解決多次刪除的問題。請?jiān)谧⑨?/p>
“〃**2**,,之后添加適當(dāng)?shù)恼Z句。
⑶完成成員函數(shù)elem的定義,該函數(shù)返回buffer的第ndx個(gè)元素的值,
注意如果ndx超界,請輸出“errorinindex”。請?jiān)谧⑨尅啊?*3**”之后添加
適當(dāng)?shù)恼Z句。
(4)完成析構(gòu)函數(shù)的定義,要求先將字符d打印在屏幕上,再釋放buffer
指向的空間。請?jiān)谧⑨尅啊?*4**”之后添加適當(dāng)?shù)恼Z句。
輸出結(jié)果如下:
123456789101234567891Odd
注意:除在指定的位置添加語句外,請不要改動(dòng)程序中的其他語句。
源程序文件testl3_3清單如下:
#include<iostream.h>
#include<stdlib.h>
classVector
(
public:
Vector(ints=100);
Vector(Vector&v);
int&elem(intndx);
voiddisplayO;
voidset();
~Vector();
protected:
intsize;
int*buffer;
);
Vector::Vector(ints)
■
<
、****
u
Vector::Vector(Vector&v)
(
〃**2**
i+
*(buffer+i)=*(v.buffer+i);
int&Vector::elem(intndx)
(
l?
**3**
f
1<
cout<<errorinindex<<end!;
exit(1);
)
returnbuffer[ndx];
)
voidVector::displayO
(
for(intj=0;j<size;j++)
cout<<elem(i)<<endl;
)
voidVector::set()
for(intj=0;i<size;j++)
elem(j)=j+l;
)
Vector::~Vector()
{
〃**4**
)
voidmain()
(
Vectora(10);
Vectorb(a);
a.set();
b.set();
a.displayO;
b.displayO;
)
參考答案
LA解析:此題考查的是類和對象的相關(guān)概念。類是將不同的數(shù)據(jù)和與
這些數(shù)據(jù)相關(guān)的操作封裝起來裝在一起的集合體。對象是類的具體實(shí)例,
也即類是對某一類對象的抽象,類和對象之間可以說是數(shù)據(jù)類型與變量
的關(guān)系。一個(gè)類可以有無數(shù)個(gè)對象。
2.C
3.B
解析:本題考查的知識(shí)點(diǎn)是:構(gòu)造函數(shù)。如果一個(gè)類中沒有定義任何
構(gòu)造函數(shù),編譯器將生成一個(gè)不帶參數(shù)的公有缺省構(gòu)造函數(shù)。但只要
定義了一個(gè)任意的構(gòu)造函數(shù),就不會(huì)生成缺省構(gòu)造函數(shù)了。故本題應(yīng)
該選擇Bo
4.CCO【解析】面向?qū)ο蟮某绦蛟O(shè)計(jì)是用對象模擬問題領(lǐng)域中的實(shí)體,
各對象之間相對獨(dú)立,相互依賴性小,通過消息來實(shí)現(xiàn)對象之間的相互
聯(lián)系。
5.C解析:算法的時(shí)間復(fù)雜度實(shí)際上就是執(zhí)行算法程序所需要的計(jì)算工
作量。為了客觀地反映算法性能,在度量算法的時(shí)間復(fù)雜度時(shí),應(yīng)該與
編寫算法程序所使用的程序設(shè)計(jì)語言、執(zhí)行算法程序時(shí)所使用的計(jì)算的
工具以及程序員的水平無關(guān)。選項(xiàng)A錯(cuò)誤,因?yàn)橥凰惴ǔ绦蛟谶\(yùn)行速
度不同的計(jì)算機(jī)上運(yùn)行時(shí),其計(jì)算時(shí)間是不同的。選項(xiàng)B錯(cuò)誤,因?yàn)樗?/p>
法所編寫的程序長度往往與程序設(shè)計(jì)語言以及程序員的水平有關(guān),同一
個(gè)算法,用不同的程序設(shè)計(jì)語言或者不同的程序員所編寫出的程序其長
度可能會(huì)大不相同。選項(xiàng)D錯(cuò)誤,因?yàn)楦鶕?jù)一個(gè)算法所編制出的程序之
中,其指令條數(shù)往往與程序設(shè)計(jì)語言以及程序員的水平有關(guān),不能用算
法程序中的指令條數(shù)來度量算法的時(shí)間復(fù)雜度。所以,本題正確答案為
Co
6.D解析:本題考核虛函數(shù)的定義。虛函數(shù)是非靜態(tài)的成員函數(shù)。它不
能是友元函數(shù),但可以在另一個(gè)類中被聲明為友元函數(shù)。虛函數(shù)聲明只
能出現(xiàn)在類定義的函數(shù)原型聲明中,而不能在成員函數(shù)的函數(shù)體實(shí)現(xiàn)的
地方。派生類的虛函數(shù)與基類中對應(yīng)的虛函數(shù)必須滿足下列條件,否則
派生類中的虛函數(shù)將丟失其虛函數(shù)特性,在調(diào)用時(shí)進(jìn)行靜態(tài)聯(lián)編:①派
生類中的虛函數(shù)與基類中的虛函數(shù)具有相同的名稱。②派生類中的虛函
數(shù)與基類中的虛函數(shù)具有相同的參數(shù)個(gè)數(shù)和相同的對應(yīng)參數(shù)類型。③派
生類中的虛函數(shù)與基類中的虛函數(shù)的返回值,或者相同,或者都返回指
針或引用。并且派生類中虛函數(shù)所返回的指針或引用的基類型,是基類
型中的虛函數(shù)所返回的指針或引用的基類型的子類型。
7.C解析:本題考核對虛函數(shù)的了解。在成員函數(shù)聲明的前面加上virtual
關(guān)鍵字修飾,即把該函數(shù)聲明為虛函數(shù)。虛函數(shù)可以是另一個(gè)類的友元
函數(shù),但不是靜態(tài)成員函數(shù)。所以A、B選項(xiàng)的描述都是錯(cuò)誤。在派生
類中可以重新定義從基類繼承下來的虛函數(shù),在派生類中重定義虛函數(shù)
時(shí),函數(shù)名、形參表和返回值類型必須保持不變,所以D選項(xiàng)是錯(cuò)誤的。
8.D解析:虛函數(shù)一定不能定義為靜態(tài)的。虛函數(shù)可以聲明為友元,子
類也不是必須重定義父類的虛函數(shù),若在重定義虛函數(shù)時(shí)使用了virtual,
則該重定義函數(shù)不一定還是虛函數(shù)。
9.B
10.B對二叉樹的中序遍歷是指:首先遍歷左子樹,然后訪問根結(jié)點(diǎn),最
后遍歷右子樹。在遍歷左、右子樹時(shí),注意依舊按照“左子樹一根結(jié)點(diǎn)一
右子樹”的順序。本題的遍歷順序是這樣的:①首先訪問左予樹:BDEY;
②在左子樹BDEY中,也按中序遍歷,先訪問左子樹DY;在左子樹DY
中,也按中序遍歷,先訪問左子樹,左子樹沒有,則訪問根結(jié)點(diǎn)D,然
后訪問右子樹Y;③接著訪問根B,再訪問右子樹E;④訪問左子樹
BDEY后,接著訪問根結(jié)點(diǎn)A,接著訪問右子樹CFXZ;⑤右子樹CFXZ
的訪問順序同理可得:FCZXO
11.DD【解析】根據(jù)二叉樹的基本性質(zhì)3:在任意一棵二叉樹中,多為0
的葉子結(jié)點(diǎn)總比度為2的結(jié)點(diǎn)多一個(gè),所以本題中度為2的結(jié)點(diǎn)為1-
1=0個(gè),所以可以知道本題目中的二又樹的每一個(gè)結(jié)點(diǎn)都有一個(gè)分支,
所以共7個(gè)結(jié)點(diǎn)共7層,即度為7。
12.A
13.D冒泡排序、簡單插入排序與簡單選擇排序法在最壞情況下均需要比
較n(n-l)/2次,而堆排序在最壞情況下需要比較的次數(shù)是nlog2n。故答
案為D選項(xiàng)。
14.A
15.D
本題考查運(yùn)算符重載的一些規(guī)則:①一般情況下,單目運(yùn)算符最好重
載為類的成員函數(shù),雙目運(yùn)算符則最好重載為類的友元函數(shù);②雙目
運(yùn)算符=、、小-〉不能重載為類的友元函數(shù);③類型轉(zhuǎn)換函數(shù)只能定
義為一個(gè)類的成員函數(shù),而不能定義為類的友元函數(shù);④若一個(gè)運(yùn)算
符的操作需要修改對象的狀態(tài),選擇重載為成員函數(shù)較好;⑤若運(yùn)算
符所需的操作數(shù)(尤其是第一個(gè)操作數(shù))希望有隱式類型轉(zhuǎn)換,則只能選
用友元函數(shù);⑥當(dāng)運(yùn)算符函數(shù)是一個(gè)成員函數(shù)時(shí),最左邊的操作數(shù)(或
者只有最左邊的操作數(shù))必須是運(yùn)算符類的一個(gè)類對象(或者是對該類對
象的引用);如果左邊的操作數(shù)必須是一個(gè)不同類的對象,或者是一個(gè)
內(nèi)部類型的對象,該運(yùn)算符函數(shù)必須作為一個(gè)友元函數(shù)來實(shí)現(xiàn)。所以
答案為D。
16.D
解析:本題考查的知識(shí)點(diǎn)是;語句塊和函數(shù)。if語句的分支和循環(huán)語
句的循環(huán)體可以是一條語句也可以是一個(gè)語句塊,所以不是必須用一
對大括號(hào)括起來;switch語句中的case標(biāo)號(hào)語句可以是一系列語句,
也可以包含語句塊,也不是必須用一對大括號(hào)括起來:函數(shù)的函數(shù)體
必須使用一對大括號(hào)括起來。故本題應(yīng)該選擇D。
17.A
Ao【解析】本題中子函數(shù)f(int*p,*q)的功能是對指針p的值加1,
*q的值加1。主函數(shù)中調(diào)用子函數(shù)f(r,&n)時(shí),子函數(shù)的執(zhí)行結(jié)果是r
值加1,n的值加1。而m的值并沒有發(fā)生變化,最后程序輸出的結(jié)果
為1,3。所以正確答案為選項(xiàng)A。
18.D
本題考查虛函數(shù)的定義。
19.B
Bo【解析】本題考查運(yùn)算符的重載。假定已經(jīng)作為某個(gè)類的成員函數(shù)
重載了二元運(yùn)算符+,且cl、c2都是該類的對象,則“cl.operator+
(c2)”,與“cl+c2”含義相同。如果+作為該類的非成員函數(shù)重載,則
“operator+(cl,c2)"與“cl+c2”含義相同。同理,運(yùn)算符"/”作為友元
函數(shù)重載,則"(-x)/y”與表達(dá)式“operator/((-X),y)”相同。前綴運(yùn)算
符“-"作為友元函數(shù)重載,則”--X與operator--(x)”相同,所以組合起來
是"Operator/(operator--(x),y);”,即B選項(xiàng)。
20.A解析:外模式也稱子模式,它是數(shù)據(jù)庫用戶能夠看見和使用的局
部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,它是由概念模式推導(dǎo)而出來的,是數(shù)
據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。
21.C
22.D
Do【解析?】在建立類對象時(shí),構(gòu)造函數(shù)的執(zhí)行順序如下:執(zhí)行基類的
構(gòu)造函數(shù),調(diào)用順序按照各個(gè)基類被繼承的聲明順序;執(zhí)行成員對象
的構(gòu)造函數(shù),調(diào)用順序按照各個(gè)成員在類中的聲明順序;執(zhí)行自身的
構(gòu)造函數(shù)。根據(jù)以上總結(jié)以及題意可知答案選擇D選項(xiàng)。
23.B
在某基類中聲明為virtual并在一個(gè)或多個(gè)派生類中被重新定義的成員
函數(shù)一虛函數(shù)必須是基類的非靜態(tài)成員函數(shù),其訪問權(quán)限可以是
protected或public。如果一個(gè)類包含了純虛函數(shù),稱此類為抽象類。所
以本題答案為B。
24.123123解析:a對象使用和默認(rèn)的構(gòu)造函數(shù),b對象使用2來初始化
對象c對象使用3來初始化對象,輸出相應(yīng)的值后,結(jié)果變?yōu)?23。
25.關(guān)系模型關(guān)系模型
26.程序調(diào)試程序調(diào)試解析:本題考查軟件測試和軟件調(diào)試的區(qū)別。軟
件測試貫穿整個(gè)軟件生命期,它是盡可能的發(fā)現(xiàn)軟件中的錯(cuò)誤。軟件調(diào)
試主要在開發(fā)階段,它是在測試成功后開始,診斷和改正程序中潛在的
錯(cuò)誤。
27.函數(shù)重載;虛函數(shù)函數(shù)重載;虛函數(shù)解析:C++中的多態(tài)性是在編
譯時(shí)通過函數(shù)重載和模板體現(xiàn)的,在運(yùn)行時(shí)是通過虛函數(shù)體現(xiàn)的。
28.實(shí)例實(shí)例解析:將屬性、操作相似的對象歸為類,也就是說,類是
具有共同屬性、共同方法的對象的集合。所以,類是對象的抽象,對象
則是其對應(yīng)類的一個(gè)實(shí)例。
29.傳地址傳地址解析:本題考查的是傳值調(diào)用和傳址調(diào)用的區(qū)別——
傳值調(diào)用只是進(jìn)行值的簡單復(fù)制,返回之后不會(huì)改變原來的值;而傳址
調(diào)用是把參數(shù)的地址傳入,會(huì)改變原來的值。
30.XYZXY
31.相關(guān)文檔相關(guān)文檔
32.1
33.軟件開發(fā)軟件開發(fā)
34.3232解析:二叉樹第n層的結(jié)點(diǎn)數(shù)為2的n-1次方。
35.編譯器編譯器解析:內(nèi)聯(lián)函數(shù)是通過編譯器,只是在調(diào)用的時(shí)候,
像宏一樣展開。注意:內(nèi)聯(lián)函數(shù)比普通函數(shù)的效率更高。
36.⑴應(yīng)改為“TC::TC”。
\n⑵應(yīng)改為"voidTC::display”。
\n(3)應(yīng)改為“TC::?TC”。
\n【解析】在類的外部定義成員函數(shù)時(shí),必須在成員函數(shù)前面加上類名
和作用域運(yùn)算符“::”,作用域運(yùn)算符用采表示某個(gè)成員屬于哪個(gè)類,使
用格式為“(類名)::<成員函數(shù)>((參數(shù)函數(shù))),因此第1處應(yīng)改為“TC::
TC”,默認(rèn)構(gòu)造函數(shù)沒有參數(shù)。由第2處“TC=display”后的語句看,這
是在類外實(shí)現(xiàn)TC函數(shù),因此也有作用域運(yùn)算符使用錯(cuò)誤問題,display
函數(shù)返回值為void,因此第2處的語句應(yīng)改為“voidTC::display"。由第
3處的語句叮(2::丁€:”可知,顯然這里是在類外實(shí)現(xiàn)析構(gòu)函數(shù),析構(gòu)函
數(shù)是一個(gè)特殊的函數(shù),它的名稱和類名相同,并在前面加“字符,用
采與構(gòu)造函數(shù)加以區(qū)別,因此第3處的語句應(yīng)改為“TC::~TC”。
37.(1)應(yīng)改為"catch(char*s)”。
⑵應(yīng)改為“cateh(inti)”。
(3)應(yīng)改為"catch(…)”。
【解析】本題中第1個(gè)標(biāo)識(shí)前的異常拋出語句為“throw("error");",其
中的類型為字符串。所以對應(yīng)的異常捕捉語句catch中應(yīng)該符合這個(gè)類
型,而程序中給出的語句“catch(chars)”是字符型的,所以第1處的語
句修改為“catch(char*S)”°第2個(gè)標(biāo)識(shí)前的異常拋出語句為
44throw((int)0);",其中的類型為int。對應(yīng)的異常捕捉語句catch中應(yīng)
該符合這個(gè)類型,所以補(bǔ)充catch子句中的類型,否則如果找不到匹配
的catch塊,系統(tǒng)就會(huì)調(diào)用一個(gè)系統(tǒng)函數(shù),使程序終止運(yùn)行。即第2處
的語句修改為“catch(inti)”。如果在catch子句中沒有指定異常信息的類
型,那么就用刪節(jié)號(hào)"…''表示它可以捕捉任何類型的異常信息,即修
改為“catch(…)”。
38.(1)應(yīng)改為"catch(char*s)"°
⑵應(yīng)改為“cateh(inti)”。
(3)應(yīng)改為"catch(…)”。
【解析】本題中第1個(gè)標(biāo)識(shí)前的異常拋出語句為“throw("error");",其
中的類型為字符串。所以對應(yīng)的異常捕捉語句catch中應(yīng)該符合這個(gè)類
型,而程序中給出的語句“catch(chars)”是字符型的,所以第1處的語
句修改為“catch(char*S)”°第2個(gè)標(biāo)識(shí)前的異常拋出語句為
44throw((int)0);",其中的類型為int。對應(yīng)的異常捕捉語句catch中應(yīng)
該符合這個(gè)類型,所以補(bǔ)充catch子句中的類型,否則如果找不到匹配
的catch塊,系統(tǒng)就會(huì)調(diào)用一個(gè)系統(tǒng)函數(shù),使程序終止運(yùn)行。即第2處
的語句修改為“catch(inti)”。如果在catch子句中沒有指定異常信息的類
型,那么就用刪節(jié)號(hào)"…''表示它可以捕捉任何類型的異常信息,即修
改為“catch(...)"。
39。)應(yīng)改為“TCobjl(l);
\n(2)應(yīng)改為“Objl.SetNumber(lO);”。
\n(3)應(yīng)改為“0bj2.SelNumber(lOO);"。
\n【解析】本題第1處的“TCobjl;”語句是聲明TC類的對象Objl,根據(jù)
TC類構(gòu)造函數(shù)的定義TC(inti),存在整型參數(shù),并且題目要求第一個(gè)輸
出結(jié)果兩1,所以補(bǔ)全參數(shù)1,即第1處的“TCobjl⑴;第2處處的
“objl.number=10;”應(yīng)該是調(diào)用成員函數(shù)SetNumber賦值。在C++中
成員函數(shù)的使用形式應(yīng)該是:對象名.成員函數(shù),所以修改為
“objl.SetNumber(lO);"。類是對象的抽象,而對象是類的具體實(shí)例。
第3處“式:.56四110版「(100);”語句中的丁(:為類,并不是對象,這里
應(yīng)該使用定義的對象,即obj2,所以將語句修改為
“obj2.SetNumber(lOO);
40.(1)應(yīng)改為“ein.getline(str,120,?);
\n⑵應(yīng)改為"while(str[i])”。
,,
\n⑶應(yīng)改為"if(str[i]>=a&&str[i]<=2)o
\n【解析】本題中要求以輸入字符“?”為結(jié)束符,用于字符輸入的流成員
函數(shù)getline函數(shù)讀入一行字符,格式為“cin.getline(字符數(shù)組,字符個(gè)
數(shù),終止標(biāo)志字符)”,所以第1處改為“cin.getline(str,120,?);"。第
2處的“while(str)”語句應(yīng)該是判斷字符串str中的每一個(gè)字符是否為結(jié)
束符,若不是結(jié)束符,在循環(huán)中判斷每一個(gè)字符是否為小寫,若為小寫,
則轉(zhuǎn)換。所以應(yīng)該修改為“while(str[i])”°第3處的“if(st明>=a)”語句是
判斷字符str用是否為小寫字符,而現(xiàn)有的語句只是判斷字符是否大于a,
,,
但是小寫字符應(yīng)該是a到2,所以修改為“if(str[i]>=a&&str[i]>=z)o
tt,,
41.(l)voidmaino
(2)“intm=0144;
(3)“intn=OX25;”或“intn===0x25;
【解析】本題主要考查了主函數(shù)定義及嘉同進(jìn)制之間的轉(zhuǎn)換,包括十
進(jìn)制到八進(jìn)制,十進(jìn)制到十六進(jìn)制。主函數(shù)定義的定義形式為
“main”,函數(shù)名之后必須是一對括號(hào),因此第1處應(yīng)改為“voidmain”。
cout輸出默認(rèn)是以十進(jìn)制方式輸出的,根據(jù)題目要求輸出的結(jié)果可發(fā)
現(xiàn)變量的初值不正確,十進(jìn)制的100對應(yīng)八進(jìn)制的144,卡進(jìn)制的37
對應(yīng)十六進(jìn)制的25,因此2和3應(yīng)分另IJ改成“intm=0144;”,
“intn=0x25;”或"intn=0x25;
42.(1)應(yīng)改為“ein.getline(str,120,?);
(2)應(yīng)改為"while(str[i])"°
,,
⑶應(yīng)改為“if(st巾]>=a&&str[i]<=2)o
【解析】本題中要求以輸入字符“?”為結(jié)束符,用于字符輸入的流成員
函數(shù)getline函數(shù)讀入一行字符,格式為“cin.getline(字符數(shù)組,字符
個(gè)數(shù),終止標(biāo)志字符)”,所以第1處改為“cin.getline(str,
120,?);"。第2處的“while(str)”語句應(yīng)該是判斷字符串str中的每一
個(gè)字符是否為結(jié)束符,若不是結(jié)束符,在循環(huán)中判斷每一個(gè)字符是否
為小寫,若為小寫,則轉(zhuǎn)換。所以應(yīng)該修改為“while(str[i])”°第3處的
“if(st巾]>=a)”語句是判斷字符str國是否為小寫字符,而現(xiàn)有的語句只
是判斷字符是否大于a,但是小寫字符應(yīng)該是a到2,所以修改為
“if(str[i]>=a&&str[i]>=z)”。
43.(1)應(yīng)改為"usingnamespacestd;
\n(2)應(yīng)改為"outl.open('l.txt',ios::binary|ios::app);
\n(3)應(yīng)改為“outl.put(s[i]);”。
\n【解析】本題第1處的“usingstd;”是在程序中引入標(biāo)準(zhǔn)命名空間std,
對于C++中引入標(biāo)準(zhǔn)命名空間的格式,缺少namespace,所以第1處
的語句修改為“usingnamespacestd第2處,調(diào)用成員函數(shù)open中,
輸入、輸出方式是在ios類中定義的,所以“outl.open是.txt',binary|
app);”語句缺少類ios,即第2處的語句修改為“outl.open(1l.txt',ios::
binary|ios::app);第3個(gè)標(biāo)識(shí)應(yīng)該用流成員函數(shù)put輸出字符,所
以第3處的語句修改為“outl.put(s[i]);
44.(1)應(yīng)添加“public:
\n(2)“inti”應(yīng)改為"inti(10);
\n(3)“i++廠'應(yīng)改為“i—;”。
\n【解析】本題主要考查的是成員的訪問屬性。成員的訪問屬性有公有、
保護(hù)和私有3種,而默認(rèn)的訪問屬性為私有,只有公有成員才能通過類
的對象被訪問。故應(yīng)在構(gòu)造函數(shù)前添加“public:“,否則該類無法被實(shí)例
化。變量的初始化可以通過“=”號(hào),也可以和初始化對象一樣添加構(gòu)造
參數(shù),題目已要求使用后者。本題要求輸出5個(gè)數(shù),while的循環(huán)變量i
每次減1,在i>5時(shí)循環(huán),故i初始化應(yīng)為10o若循環(huán)中i每次增1,則
循環(huán)永遠(yuǎn)不會(huì)退出。
45.(I)應(yīng)改為"usingnamespacestd;"。
(2)應(yīng)改為"outl.op
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 采購合同風(fēng)險(xiǎn)問題識(shí)別與管理3篇
- 采購合同的追加條件3篇
- 采購合同流程的挑戰(zhàn)與應(yīng)對3篇
- 采購方案與采購合同的爭議解決3篇
- 采購合同的關(guān)鍵注意事項(xiàng)3篇
- 采購合同和采購訂單的企業(yè)社會(huì)責(zé)任3篇
- 采購合同管理中的合同起草3篇
- 采購框架合同機(jī)會(huì)3篇
- 采購方案與采購合同的談判技巧3篇
- 2024年度仿石地板磚銷售與施工服務(wù)合同3篇
- 官渡之戰(zhàn)課件
- 中小學(xué)課堂游戲課堂懲罰小游戲【3】
- YY/T 0338.1-2002氣管切開插管 第1部分:成人用插管及接頭
- LM2500燃?xì)廨啓C(jī)結(jié)構(gòu)簡介
- 書名號(hào)測試的文檔
- 第17講凸二次規(guī)劃的有效集方法課件
- 基于PLC的智能照明控制系統(tǒng)研究(完整資料)
- 2023學(xué)年統(tǒng)編版高中語文選擇性必修中冊第三單元文言文句子翻譯練習(xí)及答案-
- 福建省南平市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名明細(xì)及行政區(qū)劃代碼
- 勵(lì)志演講講稿
- 附件2.2021年全省文化旅游融合示范項(xiàng)目績效目標(biāo)表
評(píng)論
0/150
提交評(píng)論