版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
C++習(xí)題
1.下列字符列中,可作為C++語言程序自定義標(biāo)識符是()。
A.switchB.fileC.break
D.do
2.運(yùn)算符+、<=、=、%中,優(yōu)先級最低的運(yùn)算符是()o
A.+B.<=C.=D.%
3.設(shè)變量m,n,a,b,c,d均為0,執(zhí)行(m=a=b)||(n=c=d)
后,m,n的值是()(,批注[wl]:短路
A.0,0B.0,1C.1,0D.1,
1
4.字符串"vm\x43|\\nR\102yuw的長度是()?
A.8B.9C.16D.17
5.設(shè)有代碼“inta=6;",則執(zhí)行了語句"a+=a-=a*a;”后,
變量a的值是()o批注[w2]:
A.0B.-24C.-40D.-
60
6.voidmain()
{intx=-l;
do
{x=x*x;}
while(!x);}
下列說法正確的是()o
A.是死循環(huán)B.循環(huán)執(zhí)行兩次
C.循環(huán)執(zhí)行一次D.有語法錯誤
7.下面有關(guān)for循環(huán)的正確描述是()。
A.for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的狀況
B.for循環(huán)是先執(zhí)行循環(huán)體語句,后推斷表達(dá)式
C.在for循環(huán)中,不能用break語句跳出循環(huán)體
D.for循環(huán)的循環(huán)體語句中,可以包含多條語句,但必需用
大括號括起來
8.下面程序段().批注[w3]:從右到左x<=2為真1時
x=3;
{y=x—;
if(!y){cout?wx”;continue:)
cout?w#";}
while(K=x<=2);(l<=x)=1,0bool型
A.將輸出##B.將輸出##*
C.是死循環(huán)D.含有不合法的限制表達(dá)式
9.以下正確的說法是(
A.用戶若須要調(diào)用標(biāo)準(zhǔn)函數(shù),調(diào)用前必需重新定義
B.用戶可以干脆調(diào)用全部標(biāo)準(zhǔn)庫函數(shù)
C.用戶可以定義和標(biāo)準(zhǔn)庫函數(shù)重名的函數(shù),但是在運(yùn)用時調(diào)用的是
系統(tǒng)庫函數(shù)
D.用戶可以通過文件包含叮囑將系統(tǒng)庫函數(shù)包含到用戶源文件中,
然后調(diào)用系統(tǒng)庫函數(shù)
10.在參數(shù)傳遞過程中,對形參和實(shí)參的要求是()。批注[w4J:
A.函數(shù)定義時,形參始終占用存儲空間
B.實(shí)參可以是常量、變量或表達(dá)式
C.形參可以是常量、變量或表達(dá)式
D.形參和實(shí)參類型和個數(shù)都可以不同
11.對數(shù)組名作函數(shù)的參數(shù),下面描述正確的是()。,批注[w5J:
A.數(shù)組名作函數(shù)的參數(shù),調(diào)用時將實(shí)參數(shù)組復(fù)制給形參數(shù)組
B.數(shù)組名作函數(shù)的參數(shù),主調(diào)函數(shù)和被調(diào)函數(shù)共用一段存儲單元
C.數(shù)組名作參數(shù)時,形參定義的數(shù)組長度不能省略
D.數(shù)組名作參數(shù),不能變更主調(diào)函數(shù)中的數(shù)據(jù)
12.若有語句inta[10]={0,l,2,3,4,5,6,7,8,9},*p=a4lJ()
不是對a數(shù)組元素的正確引用(其中0WK10)。
A.p[i]B.*(*(a+i))C.a[p-a]
D.*(&a[i])
13.以下程序的輸出結(jié)果是()0
itinclude<iostream.h>
voidmain()
{chars[]="12134211”,*p;
intvl=0,v2=0,v3=0,v4=0;vlv2v3v4
for(p=s;*p;p++)2434
switch(*p)
case'I':vl++;
case'3':v3++:
case'2):v2++;
default:v4++:
cout?vl?*,*?v2?*,*?v3?*,*?v4?endl;
A.4,2,1,1B.4,7,5,8C.7,3,2,1D.8,8,8,8
14.下列聲明結(jié)構(gòu)體變量錯誤的是()o
A.structstudentB.structstudent
{intno;{intno;
charname[16];charname[16];
}stl,st2;}:
structstudentstl,st2;
C.structstudentD.structstudent
{intno;{intno;
charname[16];charname[16];
structstl,st2;studentstl,st2;
15.對類的構(gòu)造函數(shù)和析構(gòu)函數(shù)描述正確的是()o
A.構(gòu)造函數(shù)可以重載,析構(gòu)函數(shù)不能重載
B.構(gòu)造函數(shù)不能重載,析構(gòu)函數(shù)可以重載
C.構(gòu)造函數(shù)可以重載,析構(gòu)函數(shù)也可以重載
D.構(gòu)造函數(shù)不能重載,析構(gòu)函數(shù)也不能重載
16.下面對于友元函數(shù)描述正確的是()o
A.友元函數(shù)的實(shí)現(xiàn)必需在類的內(nèi)部定義B.友元函數(shù)是類的
成員
C.友元函數(shù)破壞了類的封裝性和隱藏性D.友元函數(shù)不能訪
問類的私有成員
17.派生類的對象對它的基類成員中()是可以訪問的。
A.公有繼承的公有成員B.公有繼承的私有成員
C.公有繼承的愛惜成員D.私有繼承的公有成員
18.C++類體系中,不能被派生類繼承的有()?
A.構(gòu)造函數(shù)B.虛函數(shù)C.靜態(tài)成員函數(shù)D.賦值
操作函數(shù)
19.以下()成員函數(shù)表示虛函數(shù)。
A.virtualintvf(int);B.voidvf(int)=0;
C.virtualvoidvf()=0;D.virtualvoidvf(int){};批注[L6]:純虛函數(shù),不用定義
20.下面對靜態(tài)數(shù)據(jù)成員的描述中,正確的是()o
A.靜態(tài)數(shù)據(jù)成員可以在類體內(nèi)進(jìn)行初始化
B.靜態(tài)數(shù)據(jù)成員不行以在類體內(nèi)進(jìn)行初始化
C.靜態(tài)數(shù)據(jù)成員不能受private限制符的作用
D.靜態(tài)數(shù)據(jù)成員可以干脆用類名調(diào)用??
21.繼承具有(),即當(dāng)基類本身也是某一個類派生類時,底層的
派生類也會自動繼承間接基類的成員。
A.規(guī)律性B.傳遞性C.重復(fù)性D.多樣性
22.若有以下定義,則釋放指針?biāo)竷?nèi)存空間的操作是()。
floatr=newsfloat[10]:
A.deleter;B.delete*r;
C.delete[]r;D.deleter[];
23.若有以下定義,則對字符串的操作錯誤的是()o批注[w7J:slrcal(sl,s2):
chars[10]="Program",t[]="test";adds2tosTstail.
A.strcpy(s,t);B.cout?strlen(s);批注[L8J:Copyttos
C.strcat("this",t);D.cin?t;
24.在if語句中的表達(dá)式是()o
A.只能是表達(dá)式B.只能是關(guān)系表達(dá)式和邏輯表達(dá)式
C.只能是邏輯表達(dá)式D.可以是隨意表達(dá)式
25.在用關(guān)鍵字class定義的類中,以下敘述正確的是(
A.在類中,不作特別說明的數(shù)據(jù)成員均為私有類型
B.在類中,不作特別說明的數(shù)據(jù)成員均為公有類型
C.類成員的定義必需是成員變量定義在前,成員函
數(shù)定義在后
D.類的成員定義必需放在類定義體內(nèi)部
參考答案:
123456789111111
012345
BCCBDCDCDBBBBCA
1111222222
6789012345
CAADBBCCDA
公共基礎(chǔ)學(xué)問
一、選擇題
(1)下列關(guān)于棧的敘述正確的是
A)棧是非線性結(jié)構(gòu)B)棧是一種樹狀結(jié)構(gòu)
C)棧具有先進(jìn)先出的特征D)棧具有后進(jìn)先出的特征
(2)結(jié)構(gòu)化程序設(shè)計所規(guī)定的三種基本限制結(jié)構(gòu)是
A)輸入、處理、輸出B)樹形、網(wǎng)形、環(huán)形
C)依次、選擇、循環(huán)D)主程序、子程序、函數(shù)
(3)結(jié)構(gòu)化程序設(shè)計的一種基本方法是批注[w9]:
A)篩選法B)遞歸法C)歸納法D)逐步求精法
(4)假如對一個關(guān)系實(shí)施了一種關(guān)系運(yùn)算后得到了一個新的關(guān)
系,而且新的關(guān)系中屬性個數(shù)少于原來關(guān)系中屬性個數(shù),這說明所實(shí)
施的運(yùn)算關(guān)系是:
A)選擇B)投影C)連接D)并
-:選擇題:
(1)D(2)C(3)D(4)B
C++語言程序設(shè)計
一、選擇題
(1)C++語言是從早期的C語言慢慢發(fā)展演化而來的.及C語言
相比,它在求解問題方法上進(jìn)行的最大改進(jìn)是()
A)面對過程B)面對對象C)平安性D)復(fù)用性
(2)C++語言的跳轉(zhuǎn)語句中,對于break和continue說法正確
的是()
A)break語句只應(yīng)用及循環(huán)體中
B)continue語句只應(yīng)用及循環(huán)體中
C)break是無條件跳轉(zhuǎn)語句,continue不是
D)break和continue的跳轉(zhuǎn)范圍不夠明確,簡潔產(chǎn)生問題
(3)for(intx=0,y=o;!x&&y〈=5;y++)語句執(zhí)行循環(huán)的次數(shù)
是。
A)0B)5C)6D)無次數(shù)
(4)考慮函數(shù)原型voidtest(inta,intb=7,char="*"),下批注[L10]:默認(rèn)參數(shù)格式
面的函數(shù)調(diào)用中,屬于不合法調(diào)用的是()
A)test(5);B)test(5,8);C)test(6,"#")D)test(0,0.;
(5)下面有關(guān)重載函數(shù)的說法中正確的是()
A)重載函數(shù)必需具有不同的返回值類型;B)重載函數(shù)形參個
數(shù)必需不同;
C)重載函數(shù)必需有不同的形參列表D)重載函數(shù)名可以不同;
(6)下列關(guān)于構(gòu)造函數(shù)的描述中,錯誤的是()
A)構(gòu)造函數(shù)可以設(shè)置默認(rèn)參數(shù);B)構(gòu)造函數(shù)在定義類對象時
自動執(zhí)行
C)構(gòu)造函數(shù)可以是內(nèi)聯(lián)函數(shù);D)構(gòu)造函數(shù)不行以重載
(7)下面描述中,表達(dá)錯誤的是。
A)公有繼承時基類中的public成員在派生類中仍是public的
B)公有繼承是基類中的private成員在派生類中仍是private
的
C)公有繼承時基類中的protected成員在派生類中仍是
protected的
D)私有繼承時基類中的public成員在派生類中是private的
(8)應(yīng)在下列程序劃線處填入的正確語句是()
ttinclude
classBase
{public:
voidfun(){cout?"Base::fun”<};
classDerived:publicBase
{voidfun()
{file:〃顯示調(diào)用基類的函數(shù)fun()
cout?zrDerived::fun”<}
A)fun();B)Base,fun();C)Base::fun();D)Base->fun();
(9)有如下程序:
#include
classBASE{
charc;
public:
BASE(charn):c(n){}
virtuaPBASEO{cout<c};
classDERIVED:publicBASE{
charc;
public:
DERIVED(charn):BASE(n+l),c(n){}
"DERIVED(){cout<c};
intmain()
{DERIVED("X");
return0;
)
執(zhí)行上面的程序?qū)⑤敵?)批注[wll]:
A)XYB)YXC)XD)Y
(10)在進(jìn)行完任何C++流的操作后,都可以用C++流的有關(guān)成
員函數(shù)檢測流的狀態(tài);其中只能用于檢測輸入流狀態(tài)的操作函數(shù)名稱
是()
A)failB)eofC)badD)good
-:選擇題
1-5:BBCCC
6-10:DBCAB
1、下列有關(guān)類的說法不正確的是()o
A.對象是類的一個實(shí)例
B.任何一個對象只能屬于一個具體的類
C.一個類只能有一個對象
D.類及對象的關(guān)系和數(shù)據(jù)類型及變量的關(guān)系相像
答案:C
分析:對象是類的一個實(shí)例,類及對象的關(guān)系和數(shù)據(jù)及變量的關(guān)系相
像,所以一個類可以有多個對象。
2、下面()項是對構(gòu)造函數(shù)和析構(gòu)函數(shù)的正確定義。
A.voidX::X(),voidX::~X()
B.X::X(參數(shù)),X::~X()
C.X::X(參數(shù)),X::~X(參數(shù))
D.voidX::X(參數(shù)),voidX:rX(參數(shù))
答案:B
分析構(gòu)造函數(shù)無返回類型、可帶參數(shù)、可重載;析構(gòu)函數(shù)無返回類型、
不行帶參數(shù)、不行重載。
3、()的功能是對象進(jìn)行初始化。
A.析構(gòu)函數(shù)B.數(shù)據(jù)成員C.構(gòu)造函數(shù)D.靜態(tài)成員函
數(shù)
答案:C
分析:當(dāng)一個對象定義時,C++編譯系統(tǒng)自動調(diào)用構(gòu)造函數(shù)建立該對
象并進(jìn)行初始化;當(dāng)一個對象的生命周期結(jié)束時,C++編譯系統(tǒng)自動
調(diào)用析構(gòu)函數(shù)注銷該對象并進(jìn)行善后工作;
4、下列表達(dá)方式正確的是()0批注[wl2]:
A.classP{B.classP{
public:public:
intx=15;intx;
voidshow(){cout?x;}void
show(){cout?x;}
C.classP{D.classP{
intf;public:
};inta;
f=25;voidSeta
(intx){a=x;};
答案:D
分析;在類體內(nèi)不行對數(shù)據(jù)成員進(jìn)行初始化;類定義結(jié)束時需用分號;
只有類中的成員函數(shù)才能存取類中的私有數(shù)據(jù)。
5、拷貝構(gòu)造函數(shù)具有的下列特點(diǎn)中,()是錯誤的。
A.假如一個類中沒有定義拷貝構(gòu)造函數(shù)時,系統(tǒng)將自動生成一
個默認(rèn)的
B.拷貝構(gòu)造函數(shù)只有一個參數(shù),并且是該類對象的引用
C.拷貝構(gòu)造函數(shù)是一種成員函數(shù)
?.拷貝構(gòu)造函數(shù)的名字不能用類名
答案:D
分析:假如一個類中沒有定義拷貝構(gòu)造函數(shù)時,系統(tǒng)將自動生成一個
默認(rèn)的;拷貝構(gòu)造函數(shù)只有一個參數(shù),并且是該類對象的引用;拷貝
構(gòu)造函數(shù)的名字及類同名,并且不被指定返回類型;拷貝構(gòu)造函數(shù)是
一種成員函數(shù)。
6、關(guān)于靜態(tài)成員的描述中,()是錯誤的。
A.靜態(tài)成員可分為靜態(tài)數(shù)據(jù)成員和靜態(tài)成員函數(shù)
B.靜態(tài)數(shù)據(jù)成員定義后必需在類體內(nèi)進(jìn)行初始化
C.靜態(tài)數(shù)據(jù)成員初始化不運(yùn)用其構(gòu)造函數(shù)
D.靜態(tài)數(shù)據(jù)成員函數(shù)中不能干脆引用非靜態(tài)成員
答案:B
分析:靜態(tài)成員可分為靜態(tài)數(shù)據(jù)成員和靜態(tài)成員函數(shù);靜態(tài)數(shù)據(jù)成員
被定義后,必需對它進(jìn)行初始化,初始化在類體外進(jìn)行,一般放在
該類的實(shí)現(xiàn)部分最合適,也可以放在其他位置,例如,放在主函數(shù)
前面等;靜態(tài)數(shù)據(jù)成員初始化及該類的構(gòu)造函數(shù)和析構(gòu)函數(shù)無關(guān);
在靜態(tài)成員函數(shù)的實(shí)現(xiàn)中,可以干脆引用靜態(tài)成員,但不能干脆引
用非靜態(tài)成員。
7:關(guān)于友元的描述中,()是錯誤的。
A.友元函數(shù)是成員函數(shù),它被說明在類體內(nèi)
B.友元函數(shù)可干脆訪問類中的私有成員
C.友元函數(shù)破壞封裝性,運(yùn)用時盡量少用
D.友元類中的全部成員函數(shù)都是友元函數(shù)
答案:A
8、;對類的構(gòu)造函數(shù)和析構(gòu)函數(shù)描述正確的是()。
A.構(gòu)造函數(shù)可以重載,析構(gòu)函數(shù)不能重載
B.構(gòu)造函數(shù)不能重載,析構(gòu)函數(shù)可以重載
C.構(gòu)造函數(shù)可以重載,析構(gòu)函數(shù)也可以重載
D.構(gòu)造函數(shù)不能重載,析構(gòu)函數(shù)也不能重載
答案:A
9、類的析構(gòu)函數(shù)的作用是()。
A.一般成員函數(shù)B.類的初始化C.對象初始化D.刪
除對象
答案:D
10、假設(shè)OneClass為一個類,則該類的拷貝初始化構(gòu)造函數(shù)的聲明
語句為()?
A.OneClass(OneClassp);B.OneClassfe
(OneClassp):
C.OneClass(OneClass&p);D.OneClass(OneClass
*p);
答案:C
11、為了使類中的某個成員不能被類的對象通過成員操作符訪問,
則不能把該成員的訪問權(quán)限定義為()?
A.publicB.protectedC.privateD.
static
答案:A
12、下面對靜態(tài)數(shù)據(jù)成員的描述中,正確的是()<.
A.靜態(tài)數(shù)據(jù)成員可以在類體內(nèi)進(jìn)行初始化
B.靜態(tài)數(shù)據(jù)成員不行以在類體內(nèi)進(jìn)行初始化
C.靜態(tài)數(shù)據(jù)成員不能受private限制符的作用
D.靜態(tài)數(shù)據(jù)成員可以干脆用類名調(diào)用
答案:B
13、下面對靜態(tài)數(shù)據(jù)成員的描述中,正確的是()o
A.靜態(tài)數(shù)據(jù)成員是類的全部對象共享的數(shù)據(jù)
B.類的每一個對象都有自己的靜態(tài)數(shù)據(jù)成員
C.類的不同對象有不同的靜態(tài)數(shù)據(jù)成員值
D.靜態(tài)數(shù)據(jù)成員不能通過類的對象調(diào)用
答案:A
C++試題1
(1)已知下列語句中的X和y都是int型變量,其中不正確的語句
是
A)y+=++x;B)++x+=y;C)y=x++;D)
x++=y;
(2)若x是一個bool型變量,y是一個值為100的int型變量,則
表達(dá)式!x&&y>0的值[]o
A)為trueB)為falseC)及x的值相同D)及x的值相反
(3)執(zhí)行語句序列
intn;
cin?n;
switch(n){
case1:
case2:cout<〈'X';
case3:
case4:cout?,;break;
default:cout?,Z*;}
時,不行能出現(xiàn)的狀況是[]o
A)顯示:XB)顯示:YC)顯示:ZD)顯示:
XY
(4)執(zhí)行語句序列
intx;
cin?x;
if(x>250)cout?,X*;
if(x<250)cout?'Y';
elsecout?,X';
時,不行能出現(xiàn)的狀況是[]o
A)顯示:XB)顯示:YC)顯示:XYD)顯示:XX
(5)要定義一個具有5個元素的一維數(shù)組,并使其各元素的初值依
次是30,50,-88,0和0,則下列定義語句中不正確的是[]0
A)intvect[]={30,50,-88};B)int
vect[]={30,50,-88,0,0};
C)intvect[5]={30,50,-88}:D)int
vect[5]={30,50,-88,0,0};
(6)已知某應(yīng)用系統(tǒng)中已經(jīng)定義了函數(shù)fun,其原形是int
fun(char='A,);則下列函數(shù)中,可以在同一系統(tǒng)中加以重載的是
[]0
A)intfun();B)intfun(char);
C)intfun(char,int);D)intfun(char,double=0.0);
(7)若指針p定義為constchar*p="Luchy!";貝!j[
A)p所指向的數(shù)據(jù)不行變更,p在定義時可以不初始化。
B)p所指向的數(shù)據(jù)不行變更,p在定義時必需初始化。
0p本身不行變更,p在定義時可以不初始化。
D)p本身不行變更,p在定義時必需初始化。
(8)已知數(shù)組A和指針p定義為:intA[20][10],*p;,要使p指向
A的首元素,正確的賦值表達(dá)式是[]?
A)p=&A或p=A[O][0]B)p=A或p=&A[0][0]
C)p=&A[0]或p=A[0][0]D)p=A[0]或p=&A[0][0]
(9)已知函數(shù)func的原形是
doublefunc(doouble*pd,int&ri);
變量x和y的定義是
doublex;inty:
把x和y分別作為第一參數(shù)和其次參數(shù)來調(diào)用函數(shù)func,正確的調(diào)
用語句是[]o
A)func(x,&y);B)func(&x,y);C)func(&x,&y);D)
func(x,y);
(10)要使字符串變量str具有初值"Lucky”,正確的定義語句是
[批注〔W13J:debug.A)沒有休止符
A)charstr[]={'L','u','c','k','y'};B)char
str[5]={'L','u','c','k','y'};
C)charstr[]=*Lucky*:D)charstr[5]=*Lucky*;
(11)已知某函數(shù)的一個形式參數(shù)被說明為MAT[3][10],在下列說
明中,及此等效的形參說明是[]o
A)intMAT[][10]B)intMAT[3][]
C)intMAT[10][3]D)intMAT口□
(12)若指針p定義為char*="Luchy!”;則[]。
A)p所指向的數(shù)據(jù)不行變更,p在定義時可以不初始化。
B)p所指向的數(shù)據(jù)不行變更,p在定義時必需初始化。
0p本身不行變更,p在定義時可以不初始化。
D)p本身不行變更,p在定義時必需初始化。
(13)在下列表達(dá)式中,及下標(biāo)引用不等效的是[]o
A)*(A+i+j)B)*(A[i]+j)C)*(*(A+i)+j)D)
(*(A+i))[j]
(14)要使語句p=newdouble[20];能夠正常執(zhí)行,變量p應(yīng)定義為
[]o
A)doublep[20];B)doublep;
C)double(*p)[20];D)double*p;
(15)執(zhí)行下列語句序列批注[wl4J:
structAA{intival;chareval;};
structBB{intival;AAra;};
structCC{intival;AAra;BBrb;};
CCrc={66,{rc.ival+1,rc.ra.ival+1),{69,{70,71}}}:
cout?rc.ival?,,,?rc.ra.ival?*,,?rc.rb.ra.ival;
后,顯示在屏幕上的是1]o
A)66,67,68B)67,68,69C)66,67,70D)
67,69,70
(16)類的默認(rèn)的無參構(gòu)造函數(shù)[]o
A)在任何狀況下都存在
B)僅當(dāng)未定義無參構(gòu)造函數(shù)時存在
0僅當(dāng)未定義有參構(gòu)造函數(shù)時存在
D)僅當(dāng)未定義任何構(gòu)造函數(shù)時存在
(17)語句ofstreamf("SALARY.DAT",ios::noreplace|
ios::binary);的功能是建立流對象f,并試圖打開文件SALARY.DAT
并及之連接,而且[
A)若文件存在,將文件指針定位于文件尾;若文件不存在,建立一
個新文件。
B)若文件存在,將其截為空文件;若文件不存在,打開失敗。
0若文件存在,將文件指針定位于文件首;若文件不存在,建立一
個新文件。
D)若文件存在,打開失敗;若文件不存在,建立一個新文件。
(18)執(zhí)行下列語句序列
structAA{intival;chareval;};
structBB{intival;AAra;};
structCC{intival;AA*ra;BBrb;};
CCrc={66,newAA,{69,{70,71}}};
rc.ra->ival=rc.ival+1;
rc.ra->cval=rc.ra->ival+l;
cout?rc.ival?*,,?rc.ra->ival?*,'?rc.rb.ra.ival:
后,顯示在屏幕上的是[]o
A)67,69,70B)66,67,70C)67,68,69D)
66,67,68
(19)類的默認(rèn)的拷貝構(gòu)造函數(shù)[]o
A)在任何狀況下都存在
B)僅當(dāng)未定義拷貝構(gòu)造函數(shù)時存在
0僅當(dāng)未定義有參構(gòu)造函數(shù)時存在
D)僅當(dāng)未定義任何構(gòu)造函數(shù)時存在
(20)語句ofstreamf(*SALARY.DAT*,ios::nocreate|
ios::trunc);的功能是建立流對象f,并試圖打開文件SALARY.DAT
并及之連接,而且[]o
A)若文件存在,將文件指針定位于文件尾;若文件不存在,建立一
個新文件。
B)若文件存在,將其截為空文件;若文件不存在,打開失敗。
0若文件存在,將文件指針定位于文件首;若文件不存在,建立一
個新文件。
D)若文件存在,打開失?。蝗粑募淮嬖?,建立一個新文件。
答案:/5:DDACA6?10:CADBC
H?15:ADADC16?20:DDBBB
C++試題2
1.下列變量名中,()是合法的。
A.56AB._abcC.d-PtrD.while
2.下列各種運(yùn)算符市,()優(yōu)先級最高。
批注[W15J:
A.+B.&&C.==D.*=
3.設(shè)變量m,n,a,b,c,d均為0,執(zhí)行(m=a—b)&&(n=c=d)
后,m,n的值是()?
A.0,0B.0,1C.1,0D.1,1
4.字符串“\t\v\\\0which\n”的長度是()o
A.4B.10C.9D.字符串有非法字符,輸出值
不確定
5.設(shè)a=2,b=3,c=2;計算a+=b*=(++b-c++)中a、b、c的值()。
A.8、6、2B.2、4、2C.10、8,3D.5、
3、3
6.已知:inti=5,下列do-while循環(huán)語句的循環(huán)次數(shù)為(
do{cout?i—?endl;
i—;
}while(i!=0);
A.0B.1C.5D.無限
7.下面關(guān)于循環(huán)語句的描述中,()是錯誤的。
A.循環(huán)體內(nèi)可以包含有循環(huán)語句
B.循環(huán)體內(nèi)必需同時出現(xiàn)break語句和continue語句
C.循環(huán)體內(nèi)可以出現(xiàn)選擇語句
D.循環(huán)體內(nèi)可以是空語句
8.下面程序段()?批注[W16J:
x=3;
do
{y=x—;
if(!y){cout?wx”;continue;}
cout?w#";}
while(x>=l&&x<=2);
A.將輸出##B.將輸出###
C.是死循環(huán)D.含有不合法的限制表達(dá)式
9.在函數(shù)的定義格式中,下面各組成部分中,()是可以省略的。批注[W17]:
A.函數(shù)名B.函數(shù)體C.函數(shù)數(shù)據(jù)類型說明D.函
數(shù)參數(shù)
10.在函數(shù)的引用調(diào)用時,實(shí)參和形參應(yīng)當(dāng)是運(yùn)用()。
A.變量值和變量B.地址值和指針C.變量值和引用D.地
址值和引用
11.以下關(guān)于文件操作的敘述中,不正確的是()?
A.打開文件的目的是使文件對象及磁盤文件建立聯(lián)系
B.文件讀寫過程中,程序?qū)⒏纱嗉按疟P文件進(jìn)行數(shù)據(jù)交換
C.關(guān)閉文件的目的之一是保證將輸出的數(shù)據(jù)寫入硬盤文件
D.關(guān)閉文件的目的之一是釋放內(nèi)存中的文件對象
12.若有語句inta[10]={0,l,2,3,4,5,6,7,8,9},*p=a4!)()
不是對a數(shù)組元素的正確引用(其中0Wi<10)。批注[W181:
A.p[i]B.*(*(a+i))C.a[p-a]
D.*(&a[i])
13.以下程序的輸出結(jié)果是()o
itinclude<iostream.h>
voidmain()
{chars[]="abcdefbcde",*p=s;
intvl=0,v2=0,v3=0,v4=0;
for(p:*p;p++)
switch(*p)
case'a':vl++;break;
case'b':v3++;break;
case'e':v2++;break;
default:v4++;
cout?vl?*,"?v2?*?"?v3?*,"?v4?endl;
A.1,2,2,5B.4,7,5,8C.1,5,3,10D.8,8,8,8
14.下列結(jié)構(gòu)體定義,正確的是0批注[W19J:
A.record{B.structrecord
(
intno;intno;
charnum[16];charnum[16];
floatscore;floatscore;
C.structrecord{D.structrecord(
intno;intno
charnum[16];charnum[16]
floatscore;floatscore
15.下列是構(gòu)造函數(shù)的特點(diǎn),()是錯誤的。批注[w20]:
A.構(gòu)造函數(shù)是一種成員函數(shù),它具有一般成員函數(shù)的特點(diǎn)
B.構(gòu)造函數(shù)的名稱及其類名相同
C.構(gòu)造函數(shù)必需指明其類型
D.一個類中可定義一個或多個構(gòu)造函數(shù)
16.關(guān)于友元函數(shù)的描述中,()是錯的。批注[w21J:
A.友元函數(shù)是成員函數(shù),它被說明在類體內(nèi)
B.友元函數(shù)可干脆訪問類中的私有成員
C.友元函數(shù)破壞封裝性,運(yùn)用時盡量少用
D.友元類中的全部成員函數(shù)都是友元函數(shù)
17.下列對派生類的描述中,()是錯誤的。
A.一個派生類可以作為另一個派生類的基類
B.派生類至少應(yīng)有一個基類
C.基類中成員訪問權(quán)限繼承到派生類中都保持不變
D.派生類的成員除了自己定義的成員外,還包含了它的基類
成員
18.C++類體系中,能被派生類繼承的有()o
A.構(gòu)造函數(shù)B.虛函數(shù)C.友元函數(shù)D.析構(gòu)函
數(shù)
19.關(guān)于下列虛函數(shù)的描述中,()是正確的。
A.虛函數(shù)是一個static存儲類的成員函數(shù)
B.虛函數(shù)是一個非成員函數(shù)
C.基類中說明白虛函數(shù)后,派生類中將其對應(yīng)的函數(shù)可不必
說明為虛函數(shù)
D.派生類的虛函數(shù)及基類的虛函數(shù)應(yīng)具有不同的類型或個數(shù)
批注
20.以下有關(guān)靜態(tài)數(shù)據(jù)成員函數(shù)的敘述不正確的是()o[w22]:
A.靜態(tài)成員函數(shù)屬于整個類
B.對靜態(tài)成員函數(shù)的引用不允許運(yùn)用對象名
C.在靜態(tài)成員函數(shù)中不能干脆引用類的非靜態(tài)成員
D.運(yùn)用類名可以干脆調(diào)用其靜態(tài)成員函數(shù)
21.下列有關(guān)運(yùn)算符重載的描述中,()是正確的。批注[w23]:
A.運(yùn)算符重載可變更其優(yōu)先級B.運(yùn)算符重載不變更其
語法結(jié)構(gòu)
C.”甚算符重載可變更其結(jié)合性
D.運(yùn)算符重載可變更其
操作數(shù)的個數(shù)
22.對new運(yùn)算符的下列描述中,()是錯誤的。
A.它可以動態(tài)創(chuàng)建對象和對象數(shù)組
B.用它創(chuàng)建對象數(shù)組時必需指定初始值
C.用它創(chuàng)建對象時要調(diào)用構(gòu)造函數(shù)
D.用它創(chuàng)建的對象可以運(yùn)用運(yùn)算符delete來釋放
23.下列是為字符數(shù)組賦字符串的語句組,其中錯誤是()。
w
A.chars[10];s="program”;B.chars[]==program;批注[L24]:數(shù)組名字是指針常量,不行變更
C.chars[10]=wHello!w;D.chars[10];strcpy(s,99
hello!”);
24.當(dāng)調(diào)用函數(shù)時,實(shí)參是一個一維數(shù)組名a,則向函數(shù)傳送的是
()o
A.數(shù)組的長度B.數(shù)組全部元素的值
C.數(shù)組元素a[0]的值D.數(shù)組元素a[0]的地址
25.下列有關(guān)類的說法不正確的是()o
A.對象是類的一個實(shí)例
B.任何一個對象只能屬于一個具體的類
C.一個類只能有一個對象
D.類及對象的關(guān)系和數(shù)據(jù)類型及變量的關(guān)系相像
答案:1?5:BADBC6~10:D即DC
11?15:BBACC16?20:ACBCB
21?25:BBADC
1:指出下列對定義重載函數(shù)的要求中,哪些是錯誤的提法。
A.要求參數(shù)的個數(shù)相同。B.要求參數(shù)中至少有一個
類型不同。
C.求函數(shù)的返回值不同。D.要求參數(shù)的個數(shù)相同時,
參數(shù)類型不同。
答案:C
2:下列運(yùn)算符中,()運(yùn)算符在C++中不能重載。
A.?:B.[]C.newD.&&
答案:A
3:下面關(guān)于友元的描述中,錯誤的是()?
A.友元函數(shù)可以訪問該類的私有數(shù)據(jù)成員
B.一個類的友元類中的成員函數(shù)都是這個類的友元函數(shù)
C.友元可以提高程序的運(yùn)行效率
D.類及類之間的友元關(guān)系可以繼承
答案:D
4:下述靜態(tài)成員的特性中,()是錯誤的。
A.靜態(tài)成員函數(shù)不能利用this指針
B.靜態(tài)數(shù)據(jù)成員要在類體外進(jìn)行初始化
C.引用靜態(tài)數(shù)據(jù)成員時,要在靜態(tài)數(shù)據(jù)成員名前加<
類名〉和作用域運(yùn)算符
D.靜態(tài)數(shù)據(jù)成員不是全部對象所共有的
答案:D
5:關(guān)于虛函數(shù)的描述中,()是正確的。
A.虛函數(shù)是一個靜態(tài)成員函數(shù)
B.虛函數(shù)是一個非成員函數(shù)
C.虛函數(shù)既可以在函數(shù)說明時定義,也可以在函數(shù)實(shí)
現(xiàn)時定義
D.派生類的虛函數(shù)及基類中對應(yīng)的虛函數(shù)具有相同的
參數(shù)個數(shù)和類型
答案:D
6:下列關(guān)于動態(tài)聯(lián)編的描述中,錯誤的是。。
A.動態(tài)聯(lián)編是以虛函數(shù)為基礎(chǔ)
B.動態(tài)聯(lián)編是運(yùn)行時確定所調(diào)用的函數(shù)代碼的
C.動態(tài)聯(lián)編調(diào)用函數(shù)操作是指向?qū)ο蟮闹羔樆驅(qū)ο笠?/p>
D.動態(tài)聯(lián)編是在編譯時確定操作函數(shù)的
答案:D
8:下面4個選項中,()是用來聲明虛函數(shù)的。
A.virtualB.publicC.usingD.false
答案:A
9:編譯時的多態(tài)性可以通過運(yùn)用()獲得。
A.虛函數(shù)和指針B.重載函數(shù)和析構(gòu)函數(shù)C.虛函數(shù)和對象
D.虛函數(shù)和引用
答案:A
10:關(guān)于純虛函數(shù)和抽象類的描述中,錯誤的是()o
A.純虛函數(shù)是一種特別的虛函數(shù),它沒有具體的實(shí)現(xiàn)
B.抽象類是指具體純虛函數(shù)的類
C.一個基類中說明有純虛函數(shù),該基類派生類確定不再是抽象類
D.抽象類只能作為基類來運(yùn)用,其純虛函數(shù)的實(shí)現(xiàn)由派生類給出
答案:B
11:下列描述中,()是抽象類的特征。
A.可以說明虛函數(shù)B.可以進(jìn)行構(gòu)造函數(shù)重載C.可以定義
友元函數(shù)D.不能說明其對象
答案:D
12:以下()成員函數(shù)表示虛函數(shù)。
A.virtualintvf(int);B.voidvf(int)=0;
C.virtualvoidvf()=0;D.virtualvoidvf(int){);
答案:D
13:假如一個類至少有一個純虛函數(shù),那么就稱該類為(A
A.抽象類B.虛函數(shù)C.派生類D.以上都不對
答案:A
14:要實(shí)現(xiàn)動態(tài)聯(lián)編,必需通過()調(diào)用虛函數(shù)。
A.對象指針B.成員名限定C.對象名
D.派生類名
答案:A
15:下面描述中,正確的是()o
A.virtual可以用來聲明虛函數(shù)
B.含有純虛函數(shù)的類是不行以用來創(chuàng)建對象的,因為它是虛基類批注[L25]:抽象類不能創(chuàng)建對象,只能運(yùn)用該類作為
C.即使基類的構(gòu)造函數(shù)沒有參數(shù),派生類也必需建立構(gòu)造函數(shù)其他類的基類
D.靜態(tài)數(shù)據(jù)成員可以通過成員初始化列表來初始化
答案:A
16:已知inta,*pa=&a;輸出指針pa十進(jìn)制的地址值的方法是
()o
批注[w26J:
A.cout?pa;B.cout?*pa;
C.cout?&pa:D.cout?long(&pa);
答案:D
17:關(guān)于read。函數(shù)的下列描述中,()是對的。
A.函數(shù)只能從鍵盤輸入中獲得字符串
B.函數(shù)所獲得的字符多少是不受限制的
C.該函數(shù)只能用于文本文件的操作中
D.該函數(shù)只能按規(guī)定讀取所指定的字符數(shù)
答案:D
18:下列一維數(shù)組定義正確的是()o批注件27]:數(shù)組維數(shù)只能包含整形字面值常量、枚舉
A.x=6;intnum[x];B.constintx=6;float常量或者常量表達(dá)式
a[x]:
B.constfloatx=6;intb[x];D.constintx=6;intc[x];
答案:B,
19:下面選項中等價的是()o
A.inta[2][3]={l,0,2,2,4,5}及inta[2][]={1,0,2,2,4,5};
B.inta[][3]={1,0,2,2,4,5}及inta[2][3]={1,0,2,2,4,5};
C.inta[2][3]={3,4,5}及inta[][3]={3,4,5};
D.inta[2][3]={0,1}及inta[2][3]={{0},{1}};
答案:B,
20:下面程序的輸出結(jié)果是()o
#include<iostream.h>
voidmain()
{inta[3][3]={{1,2},{3,4},{5});
intsum=0;
for(intI=1;I<3;I++)
for(intj=0:j<=I;j++)
sum+=a[I][j];
cout?sum?endl;
A.12B.14C.15D.13
答案:A
21:下列數(shù)組的定義中,()是錯誤的。
A.charcal[]={'m','n'};B.char
ca2="name";
C.charca3[4]=wyour";D.int
array[]={1,2,3,4);
答案:C
22:下面程序的輸出結(jié)果是()o
#include<iostream.h>
#includewstring.hw
voidmain()
{chara口="welcome",b[]="well";
strcpy(a,b);
cout?a?endl;
A.weHomeB.wellomC.well
D.wellwe
答案:C
23:下面關(guān)于數(shù)組的說法正確的是()o
A.它及一般變量沒什么區(qū)分B.它的元素的數(shù)據(jù)類型可以相同,
也可以不同
C.它用數(shù)組名標(biāo)識其元素D.數(shù)組的元素的數(shù)據(jù)類型是相同
的
D
24:下列說法正確的是()。
A.字符型數(shù)組及整型數(shù)組可通用
B.字符型數(shù)組及字符串其實(shí)沒什么區(qū)分
C.當(dāng)字符串放在字符數(shù)組中,這時要求字符數(shù)組長度比字符
串長1個單元,因為要放字符串終結(jié)符'\0,
D.字符串的輸出可以用它所存儲的數(shù)組來輸出,也可以字符
串的形式整體輸出,結(jié)果沒區(qū)分
C
25:給出下面定義:
chara[]="abed";
charb[]={&b'c'd'};
則下列說法正確的是()。
A.數(shù)組a及數(shù)組b等價B.數(shù)組a和數(shù)組b的長度
相同
C.數(shù)組a的長度大于數(shù)組b的長度D.數(shù)組a的長度小于數(shù)組
b的長度
A
26:下面程序的輸出結(jié)果為()=批注1?'28):
#include<iostream.h>
#include<string.h>
voidmain()
{charst[20]="hello\0\t\\w;
cout?strlen(st);
cout?sizeof(st)?endl;
cout?st;
A.520B.1220C.520
D.1120
Hellohello\0\t\\hello\t
hello\
A
27:下面程序的輸出結(jié)果是()。
#include"iostream,h”
voidmain()
{intn[2],I,j,k=2;
for(>0;I<k;I++)
for(j=0;j<k;j++)
n[j]=n[I]+l;
cout?n[j-2];
A.不確定的值B.3C.2D.1
A
(1)下面概念中,不屬于面對對象方法的是.
A)對象、消息B)繼承、多態(tài)C)類、封裝D)過程調(diào)用
答案:D
學(xué)問點(diǎn):面對對象的程序設(shè)計方法、對象、方法、屬性及繼承及多態(tài)
性
評析:面對對象方法是一種運(yùn)用對象、類、封裝、繼承、多態(tài)和消息
等概念來構(gòu)造、測試、重構(gòu)軟件的方法。面對對象方法從對象動身,
發(fā)展出對象、類、消息、繼承等概念。
(2)下列描述中不正確的是o批注lw29]:
A)字符型數(shù)組中可以存放字符串
B)可以對字符型數(shù)組進(jìn)行整體輸入、輸出
C)可以對整型數(shù)組進(jìn)行整體輸入、輸出
D)不能在賦值語句中通過賦值運(yùn)算符“=”對字符型數(shù)組進(jìn)行整體賦
值
答案:C
學(xué)問點(diǎn):對數(shù)組的理解
評析:C語言規(guī)定只能逐個引用數(shù)組元素而不能一次引用整個數(shù)組。
字符數(shù)組的輸入、輸出可以將整個字符串一次輸入或輸出。所以,選
項C的說法是不正確的。
(3)以下程序的輸出結(jié)果是o
main()
{inti,x[3][3]={9,8,7,6,5,4,3,2,1),*p=&x[l][1];
for(i=0;i<4;i+=2)printf(*%d\p[i]);
A)52B)51C)53D)97
答案C
學(xué)問點(diǎn):通過指針引用數(shù)組元素
評析:題中*是指將數(shù)組x的數(shù)組元素的地址
賦值給指針變量P,使P指向這個數(shù)組元素,那么p[0]
即為指針變量P當(dāng)前所指向的數(shù)組元素的值。具體執(zhí)行時
如下所示:
i=0時,輸出p[0],也就是x[l][l],輸出是5;
i=2時,輸出p[2],即p[2+0],也就是x[2][0],輸出是3o
批注(
(4)以下程序的運(yùn)行結(jié)果是。W30]:
ttinclude"stdio.h"
main()
inta[]={1,2,3,4,5,6,7,8,9,10,11,12);
int*p=a+5,*q=NULL;
*q=*(p+5);
printf("%d%d\n*,*p,*q);
A)運(yùn)行后報錯B)66C)612D)55
答案:A
學(xué)問點(diǎn):通過指針引用數(shù)組
評析:題目中沒有給q支配存儲單元,只是簡潔地給它賦了一個值,
所以程序的運(yùn)行結(jié)果是611NULLpointerassignment,也就是運(yùn)
行后報錯。
(5)若已定義:inta[9],*p=a;并在以后的語句中未變更p的值,
不能表示a[l]地址的表
達(dá)式是。批注(w31):
A)p+1B)a+1C)a++D)++p
答案C
學(xué)問點(diǎn):數(shù)組地址的表示
評析:數(shù)組名是指針常量,是個固定的指針,不能對數(shù)組名賜予一個
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 寧夏銀川一中2025屆高三3月份模擬考試數(shù)學(xué)試題含解析
- 《數(shù)學(xué)活動》課件
- 12.《拿來主義》課件 2024-2025學(xué)年統(tǒng)編版高中語文必修上冊
- 安徽省安慶市潛山市第二中學(xué)2025屆高三下學(xué)期第六次檢測數(shù)學(xué)試卷含解析
- 2025屆福建省三明市高三最后一模語文試題含解析
- 河北衡水市安平中學(xué)2025屆高三第二次聯(lián)考語文試卷含解析
- 江蘇省南通巿啟東中學(xué)2025屆高考臨考沖刺英語試卷含解析
- 8.1 《荷花淀》課件 2024-2025學(xué)年統(tǒng)編版高中語文選擇性必修中冊
- 江蘇省鎮(zhèn)江市第一中學(xué)2025屆高三第二次診斷性檢測英語試卷含解析
- 四川省資陽市安岳縣石羊中學(xué)2025屆高三3月份第一次模擬考試語文試卷含解析
- 2023年公需科目考試試題及答案
- 年產(chǎn)1w噸生物柴油工廠設(shè)計-畢業(yè)(論文)設(shè)計
- 談?wù)勄嗄甏髮W(xué)生在中國式現(xiàn)代化征程上的使命與擔(dān)當(dāng)范文(6篇)
- DB13-T 5660-2023 水文水井分層抽水技術(shù)規(guī)范
- 二年級上冊綜合實(shí)踐測試卷
- 互聯(lián)網(wǎng)金融外文文獻(xiàn)翻譯
- 產(chǎn)前篩查、診斷及新生兒疾病篩查
- 小學(xué)《科學(xué)》期末測評方案
- 友邦保險“愈從容”重疾專案管理服務(wù)手冊(完整版)
- 會計師事務(wù)所筆試題目整理
- 2023年消防接警員崗位理論知識考試參考題庫(濃縮500題)
評論
0/150
提交評論