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