第 1 頁:選擇題 |
第 3 頁:程序改錯題 |
第 4 頁:簡單應(yīng)用題 |
第 5 頁:綜合應(yīng)用題 |
21當需要將一個函數(shù)boolisnunlber(charc)聲明為內(nèi)聯(lián)函數(shù)時,此內(nèi)聯(lián)函數(shù)的函數(shù)原型為( )。
A.enumboolisnumber(charc);
B.defineboolisnumber(charc);
C.inlineboolisnumber(charc);
D.extemboolisnumber(charc);
參考答案:C
參考解析:本題考查內(nèi)聯(lián)函數(shù)的相關(guān)知識點。函數(shù)原型應(yīng)指出函數(shù)名、返回值類型以及在調(diào)用函數(shù)時提供的參數(shù)的個數(shù)和類型,因為要聲明為內(nèi)聯(lián)函數(shù),故應(yīng)加inline關(guān)鍵字。
22有如下程序:
#include
usingnamespacestd;
intmain( ){
inta[6]={23,l5,64,33,40,58};
ints1,s2;
s1=s2=a[0];
for(int*p=a+1;p
if(sl>*p)s1=*P;
if(s2<*p)s2=*p;
}
cout<
return0;
}
運行時的輸出結(jié)果是( )。
A.23B.58C.64D.79
參考答案:D
參考解析:根據(jù)題意,找出數(shù)組a中最大值sl和最小值s2并計算二者的和。
23以下程序中調(diào)用cin函數(shù)給變量a輸入數(shù)值的方法是錯誤的,其錯誤的原因是( )。
#include(iostream.h)
voidmain( )
{int*P,*q,a,b;
p=&a;
cout<<"inputa:";
cin>>P;
}
A.*P表示的是指針變量P的地址
B.P表示的是變量a的地址,而不是變量a的值
C.*P表示的是指針變量p的值
D.*P只能用來說明P是一個指針變量
參考答案:B
參考解析:p表示的是變量a的地址,定義后*P表示的是變量a的值。
24有以下程序:
classDate
{
public:
Date(inty,intm,intd);
{
year=Y:
month=m;
day=d;
}
Date(inty=2000)
{
year=y;
month=10;
day=1;
}
Date(Date&d)
{
year=d.year;
month=d.month;
day=d.day;
}
voidprint( )
{
cout<
}
private:
intyear,month,day;
};
Datefun(Dated)
{
Datetemp;
temp=d;
returntemp;
}
intmain( )
{
Datedatel(2000,1,1),date2(0,0,0);
Datedate3(datel);
date2=fun(date3);
return0;
}
程序執(zhí)行時,Date類的拷貝構(gòu)造函數(shù)被調(diào)用的次數(shù)是( )。
A.2B.3C.4D.5
參考答案:B
參考解析:本題考核拷貝構(gòu)造函數(shù)。上述程序中,拷貝構(gòu)造函數(shù)一共被調(diào)用了3次:第1次是在執(zhí)行語句Datedate3(date1)時,用已經(jīng)建立的對象date1對正在建立的對象date3進行初始化;第2次是在調(diào)用fun函數(shù)時,由于是傳值調(diào)用,因此實參對象date3要對形參對象d進行初始化;第3次是在執(zhí)行fun函數(shù)中的返回語句returntemp;時,系統(tǒng)初始化一個匿名對象時使用了拷貝構(gòu)造函數(shù)。
25下面程序的輸出結(jié)果是( )。
#include
Usingnamespacestd;
ClassBase{
public:
Base(intx=O){count<
}
};
ClassDerived:publicBase{
public:Derved(intx=0{count<
}
private;
Baseval;
};
intmina(){
Derivedd(1);
retrun0;
}
A.0B.1C.01D.001
參考答案:D
26軟件設(shè)計中劃分模塊的一個準則是( )。
A.低內(nèi)聚低耦合B.高內(nèi)聚低耦合C.低內(nèi)聚高耦合D.高內(nèi)聚高耦合
參考答案:B
參考解析:耦合性與內(nèi)聚性是模塊獨立性的兩個定性標準,耦合與內(nèi)聚是相互關(guān)聯(lián)的。在程序結(jié)構(gòu)中,各個模塊的內(nèi)聚性越強,則耦合性越弱。一般較優(yōu)秀的軟件設(shè)計,應(yīng)盡量做到高內(nèi)聚、低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨立性。
27下列程序的運行結(jié)果是( )。
#include
intx=5;
intfun(inta)
{
intc:
c=X*a:
returnC;
}
voidmain()
{
intx=3,a=4;
x=x+fun(a);
cout<<"x="<
}
A.x=15B.x=17C.x=23D.x=25
參考答案:C
參考解析:由主函數(shù)main入手,首先x被賦值為3,a被賦值為4,然后調(diào)用fun函數(shù),參數(shù)為4,所以在fun函數(shù)中的a=4。而主程序中的x作用域是由它定義開始到cout輸出,在fun函數(shù)中無效。而在fun函數(shù)定義前的變量X作用域是整個程序,所以fun函數(shù)中的x值為5,這樣C的值就為20。在主函數(shù)中的x+fun(a)中的x為靠近這條語句的x定義,即3,所以最后x的值為20+3=23。第27題 筆記記錄我的筆記(0) | 精選筆記(0)選擇筆記標簽:試題內(nèi)容(0)答案解析(0)
28數(shù)據(jù)庫DB、數(shù)據(jù)庫系統(tǒng)DBS、數(shù)據(jù)庫管理系統(tǒng)DBMS之間的關(guān)系是( )。
A.DB包含DBS和DBMSB.DBMS包含DB和DBSC.DBS包含DB和DBMSD.沒有任何關(guān)系
參考答案:C
參考解析:數(shù)據(jù)庫系統(tǒng)(DBS)是指在計算機系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng),一般有數(shù)據(jù)庫(DB)、數(shù)據(jù)庫管理系統(tǒng)(DBMS)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員和用戶構(gòu)成。
29在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是( )。
A.軟件集成測試計劃B.軟件詳細設(shè)計說明書C.用戶手冊D.軟件需求規(guī)格說明書
參考答案:D
參考解析:需求分析階段只能產(chǎn)生需求分析規(guī)格說明書,A測試說明書是軟件測試階段生成的,B軟件詳細設(shè)計說明數(shù)是設(shè)計階段生產(chǎn),C用戶手冊是軟件發(fā)布時隨軟件一同交付給用戶的。
30有如下程序:
#include
usingnamespacestd;
classXA{
inta;
public:
staticintb;
XA(intaa):a(aa){b++;}
~XA( ){}
intget( ){returna;}
};
intXA::b=0
intmain( ){
XAd1(1),d2(3);
cout<
return0;
}
運行時的輸出結(jié)果是( )。
A.5B.6C.7D.8
參考答案:C
參考解析:每調(diào)用一次get函數(shù)時,對新的類A對象進行一次實例化,調(diào)用一次構(gòu)造函數(shù),類A的靜態(tài)成員變量b便加1。
31是( )。
A.2*a*b/c/dB.a*b/c/d*2C.a/c/d*b*2D.2*a*b/c*d
參考答案:D
參考解析:本題考查運算符的優(yōu)先級書寫及運算。*、/運算優(yōu)先級相同,據(jù)此判斷,選項D表示的是2abd/c,而不是2ab/(cd)。
32對于模板定義關(guān)鍵字class和typename說法不正確的是( )。
A.程序中的class并不能都替換為typename
B.class和typename都可互相替換
C.程序中的typename都能替換為class
D.程序中的部分class可以替換為typename
參考答案:B
參考解析:在C++程序中的typename是都可以替換為class的,但class不能都替換為typename。
33下面程序的運行結(jié)果為( )。
#include
ClassA
{
public:A( ){cout<<"1";}
~A( ){cout<<"2";}
};
ClassB:public:A
{
public:
B( ){cout<<"3";}
~B( ){cout<<"4";}
};
Voidmain( )
{
Bb;
}
A.1234B.1324C.1342D.3142
參考答案:C
參考解析:本題考查在繼承中構(gòu)造函數(shù)和析構(gòu)函數(shù)的調(diào)用順序,應(yīng)該是先調(diào)用基類的構(gòu)造函數(shù),再調(diào)用派生類的構(gòu)造函數(shù),調(diào)用析構(gòu)函數(shù)時的順序是先調(diào)用派生類的析構(gòu)函數(shù),后調(diào)用基類的析構(gòu)函數(shù)。
34有如下程序:
#include
usingnamespacestd;
classPublication{//出版物類
charname[30];
public:
Publication(char*name=”未知名稱”){
~strcpy(this一>name,name);
}
constchar*getName( )const{returnname;}
virtualconstchar*getType( )const{return”未知類型”;}
};
classBook:publicPublication{//書類
public:
Book(char*name):Publication(name){}
virtualconstchar*getType( )const{return"書";}
};
voidshowPublication(Publication&p){
cout<
endl;
}
intmain( ){
Bookbook(”精彩人生”);
showPublication(book);
return0;
}
運行時的輸出結(jié)果是( )。
A.未知類型:未知名稱
B.未知類型:精彩人生
C.書:未知名稱
D.書:精彩人生
參考答案:D
參考解析:因為getType是虛函數(shù),所以P.getType()執(zhí)行繼承類的getType函數(shù),輸出“書”;P.getName()執(zhí)行基類的getName函數(shù),輸出“精彩人生”?偣草敵觥皶壕嗜松,故選D。
35若有以下程序:
#include
usillgnamespacestd;
classA
{private:
inta;
public:
A(inti)
{a=i;}
voiddisp()
{cout<
classB
{private:
intb;
public:
B(intj)
{b=j;}
voiddisp()
{COUt<
classC:publicB,publicA
{private:
intC;
public:
C(intk):A(k-2),B(k+2)
(c=k;)
voiddisp()
{A::disp();
B::disp();
cout<
intmain()
{Cobj(10);
obj.disp();
return0;}
程序執(zhí)行后的輸出結(jié)果是( )。
A.10,10,10B.10,12,14C.8,10,12D.8,12,10
參考答案:D
參考解析:本題考查派生類構(gòu)造函數(shù)的使用。派生類C具有多重繼承關(guān)系,所以在派生類C的構(gòu)造函數(shù)中應(yīng)該包含基類A和B的成員初始化列表。
36若AA為一個類,a為該類的非靜態(tài)數(shù)據(jù)成員,在該類的一個成員函數(shù)定義中訪問a時,其書寫格式為( )。
A.aB.AA.aC.a{}D.AA::a{}
參考答案:A
參考解析:a是類AA的非靜態(tài)數(shù)據(jù)成員,在類AA的成員函數(shù)中可以直接訪問。B是訪問靜態(tài)數(shù)據(jù)成員的方式,C和D都是訪問函數(shù)的方式。
37靜態(tài)成員函數(shù)沒有( )。
A.返回值B.this指針C.指針參數(shù)D.返回類型
參考答案:B
參考解析:this指針是系統(tǒng)隱含的用于指向當前對象的指針。由于靜態(tài)函數(shù)是同類中所有對象都共享的函數(shù),在內(nèi)存中只存在一份,不屬于某個對象所有,所以靜態(tài)函數(shù)沒有this指針。
38下列程序的運行結(jié)果是( )。
#include
intx=5:
intfun(inta)
{
intC;
C=X*a:
returnC;
}
voidmain( )
{
intx=3,a=4;
x=x+fun(a);
cout<<"x="<
}
A.x=15B.x=17C.x=23D.x=25
參考答案:C
參考解析:由主函數(shù)main入手,首先X被賦值為3,a被賦值為4,然后調(diào)用fun函數(shù),參數(shù)為4,所以在fun函數(shù)中的a=4。而主程序中的X作用域是由它定義開始到cout輸出,在fun函數(shù)中無效。而在fun函數(shù)定義前的變量X作用域是整個程序,所以fun函數(shù)中的x值為5,這樣c的值就為20。在主函數(shù)中的x+fun(a)中的X為靠近這條語句的x定義,即3,所以最后x的值為20+3=23。
39面向?qū)ο蟮臎]計方法與傳統(tǒng)的面向過程的方法有本質(zhì)不同,它的基本原理是( )。
A.模擬現(xiàn)實世界中不同事物之間的聯(lián)系
B.強調(diào)模擬現(xiàn)實世界中的算法而不強調(diào)概念
C.使用現(xiàn)實世界的概念抽象地思考問題從而自然地解決問題
D.鼓勵開發(fā)者在軟件開發(fā)的絕大部分中都用實際領(lǐng)域的概念去思考
參考答案:C
參考解析:面向?qū)ο笤O(shè)計通過對人類認識客觀世界及事物發(fā)展過程的抽象,建立了規(guī)范化的分析設(shè)計方法,由此帶來軟件模塊化特色突出、可讀性好、易維護等一系列優(yōu)點。
40負責(zé)數(shù)據(jù)庫中查詢操作的數(shù)據(jù)庫語言是( )。
A.數(shù)據(jù)定義語言B.數(shù)據(jù)管理語言C.數(shù)據(jù)操縱語言D.數(shù)據(jù)控制語言
參考答案:C
參考解析:數(shù)據(jù)庫操縱語言專門負責(zé)查詢、增加、刪除等數(shù)據(jù)操作。
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |