- 相關(guān)推薦
計算機二級《C++》模擬練習(xí)題及答案2016
1算法的空間復(fù)雜度是指( )。
A.算法在執(zhí)行過程中所需要的計算機存儲空間
B.算法所處理的數(shù)據(jù)量
C.算法程序中的語句或指令條數(shù)
D.算法在執(zhí)行過程中所需要的臨時工作單元數(shù)
參考答案:A
參考解析:一個算法的空間復(fù)雜度,一般是指執(zhí)行這個算法所需要的內(nèi)存空間。
2每個C++程序中都必須有且僅有一個( )。
A.類B.預(yù)處理命令C.主函數(shù)D.語句
參考答案:C
參考解析:每個C++程序中都要有且僅有一個主函數(shù),該函數(shù)是程序的入口,而語句、預(yù)處理命令和函數(shù)及類在程序中都可以有多個。
3對長度為n的線性表排序,在最壞情況下,比較次數(shù)不是n(n-1)/2的排序方法是( )。
A.快速排序B.冒泡排序C.直接插入排序D.堆排序
參考答案:D
參考解析:首先知道有哪些排序的方法及各種排序方法在最壞情況下需要比較的次數(shù),冒泡排序n(n-1)/2、希爾排序0(n1.5)、簡單選擇排序n(n-1)/2、堆排序O(nl0g2n)。
4數(shù)據(jù)庫系統(tǒng)的三級模式不包括( )。
A.概念模式B.內(nèi)模式C.外模式D.數(shù)據(jù)模式
參考答案:D
參考解析:數(shù)據(jù)庫三級模式包括:概念模式、內(nèi)模式、外模式。
5SQL語言又稱為( )。
A.結(jié)構(gòu)化定義語言
B.結(jié)構(gòu)化控制語言
C.結(jié)構(gòu)化查詢語苦
D.結(jié)構(gòu)化操縱語言
參考答案:C
參考解析:SQL語言的全稱為StructuredQueryLanguage,它是一種介于關(guān)系代數(shù)與關(guān)系演算之間的結(jié)構(gòu)化查詢語言,是一種面向數(shù)據(jù)庫的通用數(shù)據(jù)處理語言規(guī)范。它包含數(shù)據(jù)查詢語言、數(shù)據(jù)操縱語言、數(shù)據(jù)定義語言和數(shù)據(jù)控制語言四個部分。
6數(shù)據(jù)處理的最小單位是( )。
A.數(shù)據(jù)B.數(shù)據(jù)元素C.數(shù)據(jù)項D.數(shù)據(jù)結(jié)構(gòu)
參考答案:C
7假定MyClass為一個類,那么下列的函數(shù)說明中,( )為該類的析構(gòu)函數(shù)。
A.void~MyClass();B.~MyC|ass(intn);C.MyClass();D.~MyClass();
參考答案:D
參考解析:C++語言中析構(gòu)函數(shù)為符號“~”加類名,且析構(gòu)函數(shù)沒有返回值和參數(shù),故前不加void關(guān)鍵字。所以正確的形式應(yīng)該是~MyClass()。第7題 筆記記錄我的筆記(0) | 精選筆記(1)選擇筆記標簽:試題內(nèi)容(1)答案解析(0)
8有以下結(jié)構(gòu)體說明和變量的定義,且指針P指向變量a,指針q指向變量b。則不能把結(jié)點b連接到結(jié)點a之后的語句是( )。
structnode
{chardata;
structnode*next;
}a,b,*p=&a,*q=&b;
A.a.next=q;B.P.next=&b;C.p->next=&b;D.(*p).next=q;
參考答案:B
9若有表達式“(w)?(--x):(++y)”,則其中與w等價的表達式是( )。
A.w==1B.w==0C.W!=1D.W!=0
參考答案:D
參考解析:本題考查三目運算等。條件表達式的格式為a?b;c。它的含義是,當(dāng)a為真時,取b的值,否則取c的值。在C語言程序中“為真”即“不等于零”,“為假”即等于0。所以和w等價的表達式是w非零。
10有如下函數(shù)模板聲明:
template
TMax(Ta,Tb){return(a>b)?a:b;}
下列對函數(shù)模板Max( )的調(diào)用中錯誤的是( )。
A.Max(3.5,4.5)B.Max(3.5,4)C.Max(35,4.5)D.Max(3.5,4)
參考答案:B
參考解析:本題考查函數(shù)模板的引用。引用模板函數(shù)和引用一般函數(shù)在語法形式上基本相同。需要注意的是,說明一個函數(shù)模板后,當(dāng)編譯系統(tǒng)發(fā)現(xiàn)有一個對應(yīng)的函數(shù)調(diào)用時,將根據(jù)實參中的類型來確認是否調(diào)用函數(shù)模板中的對應(yīng)形參。本題選項B中,編譯系統(tǒng)從第一個參數(shù)“3.5”獲得信息“double型數(shù)據(jù)”和從第二個參數(shù)獲得信息“int型數(shù)據(jù)”,兩者矛盾。
11C++語言中關(guān)于構(gòu)造函數(shù)的說法正確的是( )。
A.構(gòu)造函數(shù)的函數(shù)名不必和類名相同
B.構(gòu)造函數(shù)只能有一個
C.每個類必定有構(gòu)造函數(shù)
D.構(gòu)造函數(shù)必有返回值
參考答案:C
參考解析:本題考查構(gòu)造函數(shù)的概念。構(gòu)造函數(shù)可以被重載,函數(shù)名必須和類名相同;構(gòu)造函數(shù)可以有一個,也可以有多個;構(gòu)造函數(shù)沒有返回值。
12下列描述中,錯誤的是( )。
A.公有繼承時基類中的公有成員在派生類中仍是公有成員
B.公有繼承時基類中的保護成員在派生類中仍是保護成員
C.保護繼承時基類中的公有成員在派生類中仍是公有成員
D.保護繼承時基類中的保護成員在派生類中仍是保護成員
參考答案:C
參考解析:保護繼承時,類成員的訪問級別只能降低為保護模式,因此即使是基類的公有成員也被縮小為保護模式。
13結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括( )。
A.順序結(jié)構(gòu)B.GOTO跳轉(zhuǎn)C.選擇(分支)結(jié)構(gòu)D.重復(fù)(循環(huán))結(jié)構(gòu)
參考答案:B
參考解析:結(jié)構(gòu)化程序設(shè)計的三種結(jié)構(gòu)是順序、分支和循環(huán),不包括goto跳轉(zhuǎn),它只是分支結(jié)構(gòu)的一種,也是一個關(guān)鍵字。
14在E—R圖中,用來表示實體聯(lián)系的圖形是( )。
A.橢圓圖B.矩形C.菱形D.三角形
參考答案:C
參考解析:E—R圖中用矩形表示實體(等同于表),用橢圓形表示實體的屬性(等同于表中字段),用菱形表示實體關(guān)系(等同于外鍵)。
15下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是( )。
A.循環(huán)隊列B.帶鏈隊列C.二叉樹D.帶鏈棧
參考答案:C
參考解析:隊列是一種允許在一端進行插入,而在另一端進行刪除的線性表。棧也是一種特殊的線性表,其插入與刪除只能在線性表的一端進行。
16對長度為n的線性表進行順序查找,在最壞情況下所需要的比較次數(shù)為( )。
A.log2nB.n/2C.nD.n+1
參考答案:C
參考解析:對線性表進行順序查找,最壞情況下,如果從表頭進行查找,要查找到表尾才能得出結(jié)果,因此需要比較n次。
17下面程序的運行結(jié)果為( )。#include
voidswap(int&a,intb)
{
inttemp;
temp=a++;
a=b:
b=temp:
}
voidmain()
{
inta=2,b=3;
swap(a,b);
cout<
}
A.2,3B.3,2C.2,2D.3,3
參考答案:D
參考解析:本題考查引用調(diào)用,因為函數(shù)swap引用調(diào)用參數(shù)a,所以在swap函數(shù)中a的變化會改變主函數(shù)中a的值,即a自加1。但b的值并未改變。
18若有以下程序:
#include
usingnamespacestd;
classBase
{public:
Base()
{x=0;}
intx;};
classDerivedl:virtualpublicBase
{public:
Derivedl()
{x=10;}};
classDerived2:virtua11publicBase
{public:
Derived2()
{x=20;}};
classDerived:publicDerivedl,protectedDerived2{};intmain()
{Derivedobj;
cout<
return0;}
該程序運行后的輸出結(jié)果是( )。
A.20B.30C.10D.0
參考答案:A
參考解析:本題考查虛基類的應(yīng)用。雖然Derivedl和Derived2都是由共同的基類x派生而來的,但由于引入了虛基類,使得它們分別對應(yīng)基類的不同副本。這時數(shù)據(jù)成員x只存在一份副本,不論在類Derivedl中修改,還是在Derived2中修改,都是直接對這唯一副本進行操作。本題程序執(zhí)行語句“Derivedobj;”時.就會先調(diào)虛基類Base的構(gòu)造函數(shù),使得X=0,然后執(zhí)行類Derivedl的構(gòu)造函數(shù)使得x=10,再執(zhí)行類Derived2的構(gòu)造函數(shù),使得x=20。最后輸出x的值為20。
19下列選項中不合法的標識符是( )。
A.printB.FORC.&aD.-00
參考答案:C
參考解析:標識符的概念只能由數(shù)字、字母和下畫線組成,并且只能以字母和下畫線開頭,所以選項C不正確。
20考慮函數(shù)原型voidtest(inta,intb=7,charz='*'),下面的函數(shù)調(diào)用中,屬于不合法調(diào)用的是( )。
A.test(5);B.test(5,8);C.test(6,'#');D.test(0,0,'*');
參考答案:C
參考解析:題中函數(shù)聲明帶有默認參數(shù),那么在C選項的調(diào)用中,將會把字符型實參#賦值給整型形參b,這不符合參數(shù)傳遞規(guī)則。
21當(dāng)需要將一個函數(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。
【計算機二級《C++》模擬練習(xí)題及答案】相關(guān)文章:
計算機二級C++模擬試題及答案09-22
計算機二級C++模擬題及答案05-12
2017計算機二級C++模擬題及答案06-22
2016計算機二級考試《C++》練習(xí)題及答案10-23