C++程序題
C++程序題1
學(xué)過C++的過程員都懂得,new/delete是其管教內(nèi)存的重要措施。與C語言相比,C++扶持面向?qū)ο蠹记,因而在?nèi)存管教方面有所差異。
在C++中,數(shù)據(jù)對(duì)象(大約種類和復(fù)合種類)的創(chuàng)立包括兩個(gè)局部:一是給數(shù)據(jù)對(duì)象分配足夠的內(nèi)存,二是內(nèi)存舉行數(shù)據(jù)的初始化。而C中,只有第一個(gè)分配內(nèi)存的作用。并且,不但僅是類,其它大約種類,如int型等,也是如此。例如:
char* pc1 = new char;
char* pc2 = new char('A');
以上兩條語句都能夠給對(duì)應(yīng)的指針分配內(nèi)存,不同在于,第一條語句僅僅分配內(nèi)存,而翔實(shí)的內(nèi)容是隨機(jī)的;而第二條語句不但分配內(nèi)存,并且賦值為‘A’。相對(duì)應(yīng)的,當(dāng)不再必需這些內(nèi)存時(shí)候,能夠批準(zhǔn)delete來釋放內(nèi)存。
C++中,關(guān)于new/delete相干的內(nèi)容許多,初學(xué)者比擬輕率混同觀念。以下是筆者的一點(diǎn)歸納,十月媽咪渴望對(duì)那些還處于?**露??墓?淘庇邪鎦??p> 1. new/delete 關(guān)鍵字。C++和其它語言一樣,也預(yù)先預(yù)留了一些單詞作為系統(tǒng)利用。過程員是不能用這些單詞來表示自己的數(shù)據(jù)的。如int , float, struct , class 等。當(dāng)然new/delete也是。然而new/delete關(guān)鍵字僅僅是在詞法上的定義,它只闡明過程員不能重復(fù)定義它們,用來表白其它含義。
C++程序題2
1.下列關(guān)于棧敘述正確的是( )。
A.棧頂元素最先能被刪除
B.棧頂元素最后才能被刪除
C.棧底元素永遠(yuǎn)不能被刪除
D.以上三種說法都不對(duì)
2.下列敘述中正確的是( )。
A.有一個(gè)以上根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是非線性結(jié)構(gòu)
B.只有一個(gè)根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是線性結(jié)構(gòu)
C.循環(huán)鏈表是非線性結(jié)構(gòu)
D.雙向鏈表是非線性結(jié)構(gòu)
3.某二叉樹共有7個(gè)結(jié)點(diǎn),其中葉子結(jié)點(diǎn)只有1個(gè),則該二叉樹的深度為(假設(shè)根結(jié)點(diǎn)在第1層)( )。
A.3
B.4
C.6
D.7
4.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是( )。
A.軟件集成測(cè)試計(jì)劃
B.軟件詳細(xì)設(shè)計(jì)說明書
C.用戶手冊(cè)
D.軟件需求規(guī)格說明書
5.結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括( )。
A.順序結(jié)構(gòu)
B.GOT0跳轉(zhuǎn)
C.選擇(分支)結(jié)構(gòu)
D.重復(fù)(循環(huán))結(jié)構(gòu)
6.下面描述中錯(cuò)誤的是( )。
A.系統(tǒng)總體結(jié)構(gòu)圖支持軟件系統(tǒng)的詳細(xì)設(shè)計(jì)
B.軟件設(shè)計(jì)是將軟件需求轉(zhuǎn)換為軟件表示的過程
C.數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫設(shè)計(jì)是軟件設(shè)計(jì)的任務(wù)之一
D.PAD圖是軟件詳細(xì)設(shè)計(jì)的表示工具
7.負(fù)責(zé)數(shù)據(jù)庫中查詢操作的數(shù)據(jù)庫語言是( )。
A.數(shù)據(jù)定義語言
B.數(shù)據(jù)管理語言
C.數(shù)據(jù)操縱語言
D.數(shù)據(jù)控制語言
8.一個(gè)教師可講多門課程,一門課程可由多個(gè)教師講授,則實(shí)體教師和課程間的聯(lián)系是( )。
A.1:1聯(lián)系
B.1:m聯(lián)系
C.m:1聯(lián)系
D.m:n聯(lián)系
9.有3個(gè)關(guān)系R、S和T如下表所示:
則由關(guān)系R和S得到關(guān)系T的操作是( )。
A.自然連接
B.交
C.除
D.并
10.定義無符號(hào)整數(shù)為Uint,下面可以作為類Uint實(shí)例化值的是( )。
A.-369
B.369
C.0.369
D.整數(shù)集合{1,2,3,4,5}
11.為了提高函數(shù)調(diào)用的實(shí)際運(yùn)行速度,可以將較簡單的函數(shù)定義為( )。
A.內(nèi)聯(lián)函數(shù)
B.重載函數(shù)
C.遞歸函數(shù)
D.函數(shù)模板
12.若AA為一個(gè)類,a為該類的非靜態(tài)數(shù)據(jù)成員,在該類的一個(gè)成員函數(shù)定義中訪問a時(shí),其書寫格式為( )。
A.a
B.AA.a
C.a{}
D.AA:a{}
13.當(dāng)派生類從一個(gè)基類保護(hù)繼承時(shí),基類中的一些成員在派生類中成為保護(hù)成員,這些成員在基類中原有的訪問屬性是( )。
A.任何
B.公有或保護(hù)
C.保護(hù)或私有
D.私有
14.若要對(duì)Date類中重載的加法運(yùn)算符成員函數(shù)進(jìn)行聲明,下列選項(xiàng)中正確的是( )。
A.Data+(Data);
B.Dataoperator+(Data);
C.Data+operator(Data);
D.operator+(Data.Data);
15.下列關(guān)于函數(shù)模板的描述中,正確的是( )。
A.函數(shù)模板是一個(gè)實(shí)例函數(shù)
B.使用函數(shù)模板定義的函數(shù)沒有返回類型
C.函數(shù)模板的類型參數(shù)與函數(shù)的參數(shù)相同
D.通過使用不同的類型參數(shù),可以從函數(shù)模板得到不同的實(shí)例函數(shù)
16.C++系統(tǒng)預(yù)定義了3個(gè)用于標(biāo)準(zhǔn)數(shù)據(jù)流的對(duì)象,下列選項(xiàng)中不屬于此類對(duì)象的是( )。
A.cout
B.cin
C.cerr
D.cset
17.Windows環(huán)境下,由C++源程序文件編譯而成的目標(biāo)文件的擴(kuò)展名是( )。
A.cpp
B.exe
C.obj
D.lik
18.字符串“a+b=12 ”的長度為( )。
A.12
B.10
C.8
D.6
19.有如下程序:
#include
usingnamespacestd;
intmain( ){
intf,f1=0,f2=1;
for(inti=3;i<=6;i++){
f=f1+f2:
f1=f2;f2=f;
}
cout
}
運(yùn)行時(shí)的輸出結(jié)果是( )。
A.2
B.3
C.5
D.8
20.有如下程序:
#include
usingnamespacestd;
intmain( ){
inta[6]={23,15,64,33,40,58};
ints1,s2;
s1=s2=a[0];
for(int*p=a+1;pif(s1>*p)s1=*p;
if(s2<*p)s2=*p;
}
cout
}
運(yùn)行時(shí)的輸出結(jié)果是( )。
A.23
B.58
C.64
D.79
21.有如下程序:
#included
usingnamespacestd;
voidfl(int&X,int&y){intz=x;x=y;y=z;)voidf2(intX,inty){intz=x;x=y;y=z;}intmain( ){
intx=10,y=26;
f1(X,y);
f2(x,y);
cout
}
運(yùn)行時(shí)的輸出結(jié)果是( )。
A.10
B.16
C.26
D.36
22.有如下程序:
#include
usingnamespacestd;
classXA{
inta;
public:
staticintb;
XA(intaa):a(aa){b++;}
~XA( ){}
intget( ){returna;}
};
intXA::b=0
intmain( ){
XAd1(1),d2(3);
cout
}
運(yùn)行時(shí)的輸出結(jié)果是( )。
A.5
B.6
C.7
D.8
23.有如下程序:
#include
usingnamespacestd:
classPoint{
intx,y;
public:
Point(intx1=0,inty1=0)):X(X1),y(y1){}
intget( ){returnx+y;)
};
classCircle{
Pointcenter}
intradius;
public:
Circle(intCX,intcy,intr):center(cx,cy),radius(r)
{}
intget( ){returncenter.get( )+radius;}
};
intmain( ){
Circlec(3,4,5);
cout
}
運(yùn)行時(shí)的輸出結(jié)果是( )。
A.5
B.7
C.9
D.12
24.若是對(duì)類BigNumber中重載的類型轉(zhuǎn)換運(yùn)算符long進(jìn)行聲明,下列選項(xiàng)中正確的是( )。
A.operatorlong( )const;
B.operatorlong(BigNumber);
C.longoperatorlong( )const;
D.longoperatorlong(BigNumber);
25.有如下函數(shù)模板定義:
template
T1FUN(T2n){returnn*5,0;}
若要求以int型數(shù)據(jù)9作為函數(shù)實(shí)參調(diào)用該模板,并返回一個(gè)double型數(shù)據(jù),則該調(diào)用應(yīng)表示為( )。
A.FUN(9)
B.FUN<9>
C.FUN(9)
D.FUN<9>(double)
26.下列語句都是程序運(yùn)行時(shí)的第1條輸出語句,其中一條語句的輸出效果與其他3條語句不同,該語句是( )。
A.cout
A.析構(gòu)函數(shù)可以重載
B.析構(gòu)函數(shù)由系統(tǒng)自動(dòng)調(diào)用
C.每個(gè)對(duì)象的析構(gòu)函數(shù)只被調(diào)用一次
D.每個(gè)類都有析構(gòu)函數(shù)
28.下列關(guān)于構(gòu)造函數(shù)的描述中,錯(cuò)誤的是( )。
A.構(gòu)造函數(shù)名與類名相同
B.構(gòu)造函數(shù)可以有返回值
C.構(gòu)造函數(shù)可以重載
D.每個(gè)類都有構(gòu)造函數(shù)
29.若PAT是一個(gè)類,則程序運(yùn)行時(shí),語句“PAT(*ad){3};”調(diào)用PAT的構(gòu)造函數(shù)的次數(shù)是( )。
A.0
B.1
C.2
D.3
30.下列描述中,錯(cuò)誤的是( )。
A.公有繼承時(shí)基類中的公有成員在派生類中仍是公有成員
B.公有繼承時(shí)基類中的保護(hù)成員在派生類中仍是保護(hù)成員
C.保護(hù)繼承時(shí)基類中的公有成員在派生類中仍是公有成員
D.保護(hù)繼承時(shí)基類中的保護(hù)成員在派生類中仍是保護(hù)成員
31.生成派生類對(duì)象時(shí),派生類構(gòu)造函數(shù)調(diào)用基類構(gòu)造函數(shù)的條件是( )。
A.無需任何條件
B.基類中顯式定義了構(gòu)造函數(shù)
C.派生類中顯式定義了構(gòu)造函數(shù)
D.派生類構(gòu)造函數(shù)明確調(diào)用了基類構(gòu)造函數(shù)
32.下列關(guān)于派生類和基類的描述中,正確的是( )。
A.派生類成員函數(shù)只能訪問基類的公有成員
B.派生類成員函數(shù)只能訪問基類的公有和保護(hù)成員
C.派生類成員函數(shù)可以訪問基類的所有成員
D.派生類對(duì)基類的'默認(rèn)繼承方式是公有繼承
33.有如下類模板定義:
template
classBigNumber{
longn;
public;
BigNumber(Ti):n(i){}
BigNumberoperator+(BigNumberb){
returnBigNumber(n+b.n):
}
};
已知b1、b2是BigNumber的兩個(gè)對(duì)象,則下列表達(dá)式中錯(cuò)誤的是( )。
A.b1+b2
B.b1+3
C.3+b1
D.3+3
34.下列關(guān)于文件流的描述中,正確的是( )。
A.文件流只能完成針對(duì)磁盤文件的輸入、輸出
B.建立一個(gè)文件流對(duì)象時(shí),必須同時(shí)打開一個(gè)文件
C.若輸入流要打開的文件不存在。將建立一個(gè)新文件
D.若輸出流要打開的文件不存在,將建立一個(gè)新文件
35.有如下程序:
#include
usingnamespacestd;
classPair{
intm,n;
public;
Pair(intj,intk):m(j),n(k){}
intget( ){returnIn;}
intget( )const{returnm+n;}
};
intmain( ){
Paira(3,5);
constPairb(3,5);
cout
}
運(yùn)行時(shí)的輸出結(jié)果是( )。
A.33
B.38
C.83
D.88
36.下列敘述中正確的是( )。
A.全局變量的作用域一定比局部變量的作用域范圍大
B.靜態(tài)類別變量的生存期貫穿于整個(gè)程序的運(yùn)行期間
C.函數(shù)的形參都屬于全局變量
D.未在定義語句中賦初值的aut0變量和static變量的初值都是隨機(jī)值
37.假定MyClass為一個(gè)類,則執(zhí)行MyClassa,b(2),*p;語句時(shí),自動(dòng)調(diào)用該類構(gòu)造函數(shù)( )次。
A.2
B.3
C.4
D.5
38.能正確表示邏輯關(guān)系”a≥10或a≤0”的C++語言表達(dá)式是( )。
A.a>=10ora<=0
B.a)一01a(一10
C.a>=10&&a<=0
D.a>=10||a(=0
39.若執(zhí)行下面的程序時(shí),從鍵盤上輸入5和2,則輸出結(jié)果是( )。
#include(iostream.h)
voidmain( )
(inta,b,k;
cin>>a>>b;
k=a:
if(ak=a%b;
else
k=b%a:
cout((k
B.3
C.2
D.0
40.假定MyClass為一個(gè)類,那么下列的函數(shù)說明中,( )為該類的析構(gòu)函數(shù)。
A.void~MyClass( );
B.~MyC|ass(intn);
C.MyClass( );
D.~MyClass( );
【C++程序題】相關(guān)文章:
C++程序的基本框架08-17
c++程序語言特點(diǎn)08-17
凌陽科技C++程序員筆試題08-08
用C++編寫程序?qū)崿F(xiàn)向右循環(huán)移位11-21
考查C++/C程序員的基本編程技能11-25
c++語言程序設(shè)計(jì)工作簡歷模板下載11-16
經(jīng)典c++面試筆試題目22題11-21
華為程序面試筆試高級(jí)題08-22
Windows NT 下的32 位C++程序,請(qǐng)計(jì)算sizeof 的值11-21
2016年Java考試精選程序閱讀題09-24