2023年計算機二級模擬試題及答案解析通用

格式:DOC 上傳日期:2023-05-02 20:50:38
2023年計算機二級模擬試題及答案解析通用
時間:2023-05-02 20:50:38     小編:zdfb

在日常的學(xué)習(xí)、工作、生活中,肯定對各類范文都很熟悉吧。范文書寫有哪些要求呢?我們怎樣才能寫好一篇范文呢?下面是小編幫大家整理的優(yōu)質(zhì)范文,僅供參考,大家一起來看看吧。

計算機二級模擬試題及答案解析篇一

計算機考試來啦!今天小編就給大家分享一些計算機二級考試的模擬試題,供大家參考~

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ù)。

~myclass();b.~myc|ass(intn);s();d.~myclass();

參考答案:d

參考解析:c++語言中析構(gòu)函數(shù)為符號“~”加類名,且析構(gòu)函數(shù)沒有返回值和參數(shù),故前不加void關(guān)鍵字。所以正確的形式應(yīng)該是~myclass()。第7題 筆記記錄我的筆記(0) | 精選筆記(1)選擇筆記標(biāo)簽:試題內(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;

=q;=&b;c.p->next=&b;d.(*p).next=q;

參考答案:b

9若有表達(dá)式“(w)?(--x):(++y)”,則其中與w等價的表達(dá)式是()。

a.w==1b.w==0c.w!=1d.w!=0

參考答案:d

參考解析:本題考查三目運算等。條件表達(dá)式的格式為a?b;c。它的含義是,當(dāng)a為真時,取b的值,否則取c的值。在c語言程序中“為真”即“不等于零”,“為假”即等于0。所以和w等價的表達(dá)式是w非零。

10有如下函數(shù)模板聲明:

template

tmax(ta,tb){return(a>b)?a:b;}

下列對函數(shù)模板max()的調(diào)用中錯誤的是()。

(3.5,4.5)(3.5,4)(35,4.5)(3.5,4)

參考答案:b

參考解析:本題考查函數(shù)模板的引用。引用模板函數(shù)和引用一般函數(shù)在語法形式上基本相同。需要注意的是,說明一個函數(shù)模板后,當(dāng)編譯系統(tǒng)發(fā)現(xiàn)有一個對應(yīng)的函數(shù)調(diào)用時,將根據(jù)實參中的類型來確認(rèn)是否調(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.公有繼承時基類中的保護(hù)成員在派生類中仍是保護(hù)成員

c.保護(hù)繼承時基類中的公有成員在派生類中仍是公有成員

d.保護(hù)繼承時基類中的.保護(hù)成員在派生類中仍是保護(hù)成員

參考答案:c

參考解析:保護(hù)繼承時,類成員的訪問級別只能降低為保護(hù)模式,因此即使是基類的公有成員也被縮小為保護(hù)模式。

13結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括()。

跳轉(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

參考解析:隊列是一種允許在一端進(jìn)行插入,而在另一端進(jìn)行刪除的線性表。棧也是一種特殊的線性表,其插入與刪除只能在線性表的一端進(jìn)行。

16對長度為n的線性表進(jìn)行順序查找,在最壞情況下所需要的比較次數(shù)為()。

2nb.n/.n+1

參考答案:c

參考解析:對線性表進(jìn)行順序查找,最壞情況下,如果從表頭進(jìn)行查找,要查找到表尾才能得出結(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中修改,都是直接對這唯一副本進(jìn)行操作。本題程序執(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下列選項中不合法的標(biāo)識符是()。

.&ad.-00

參考答案:c

參考解析:標(biāo)識符的概念只能由數(shù)字、字母和下畫線組成,并且只能以字母和下畫線開頭,所以選項c不正確。

20考慮函數(shù)原型voidtest(inta,intb=7,charz='*'),下面的函數(shù)調(diào)用中,屬于不合法調(diào)用的是()。

(5);(5,8);(6,'#');(0,0,'*');

參考答案:c

參考解析:題中函數(shù)聲明帶有默認(rèn)參數(shù),那么在c選項的調(diào)用中,將會把字符型實參#賦值給整型形參b,這不符合參數(shù)傳遞規(guī)則。

21當(dāng)需要將一個函數(shù)boolisnunlber(charc)聲明為內(nèi)聯(lián)函數(shù)時,此內(nèi)聯(lián)函數(shù)的函數(shù)原型為()。

olisnumber(charc);

boolisnumber(charc);

boolisnumber(charc);

oolisnumber(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=;

month=;

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進(jìn)行初始化;第2次是在調(diào)用fun函數(shù)時,由于是傳值調(diào)用,因此實參對象date3要對形參對象d進(jìn)行初始化;第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è)計中劃分模塊的一個準(zhǔn)則是()。

a.低內(nèi)聚低耦合b.高內(nèi)聚低耦合c.低內(nèi)聚高耦合d.高內(nèi)聚高耦合

參考答案:b

參考解析:耦合性與內(nèi)聚性是模塊獨立性的兩個定性標(biāo)準(zhǔn),耦合與內(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)選擇筆記標(biāo)簽:試題內(nèi)容(0)答案解析(0)

28數(shù)據(jù)庫db、數(shù)據(jù)庫系統(tǒng)dbs、數(shù)據(jù)庫管理系統(tǒng)dbms之間的關(guān)系是()。

包含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.軟件詳細(xì)設(shè)計說明書c.用戶手冊d.軟件需求規(guī)格說明書

參考答案:d

參考解析:需求分析階段只能產(chǎn)生需求分析規(guī)格說明書,a測試說明書是軟件測試階段生成的,b軟件詳細(xì)設(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對象進(jìn)行一次實例化,調(diào)用一次構(gòu)造函數(shù),類a的靜態(tài)成員變量b便加1。

41使用vc++,該程序運行時有錯。請改正程序中的錯誤,使程序輸出的結(jié)果為

100

37

32

注意:錯誤的語句在//******error******的下面,修改該語句即可。

試題程序:

#include

//******error******

voidmain

{

//******error******

intm=0142:

//******error******

intn=0x27:

intq=32;

cout<

cout<

cout<

return;

}

參考解析:

(1)“voidmain()”。

(2)“intm=0144;”。

(3)“intn=ox25;”或“intn===0x25;”。

【解析】本題主要考查了主函數(shù)定義及冪同進(jìn)制之間的轉(zhuǎn)換,包括十進(jìn)制到八進(jìn)制,十進(jìn)制到十六進(jìn)制。主函數(shù)定義的定義形式為“main()”,函數(shù)名之后必須是一對括號,因此第1處應(yīng)改為“voidmain()”。cout輸出默認(rèn)是以十進(jìn)制方式輸出的,根據(jù)題目要求輸出的結(jié)果可發(fā)現(xiàn)變量的初值不正確,十進(jìn)制的100對應(yīng)八進(jìn)制的144,卡進(jìn)制的37對應(yīng)十六進(jìn)制的25,因此2和3應(yīng)分別改成“intm=0144;”,“intn=0×25;”或“intn=0×25;”。

42使用vc++。請完成函數(shù)fun(intn),使其實現(xiàn)以下功能:當(dāng)i等于3時,則打印如下內(nèi)容。

a

aa

aaa

注意:不能修改程序的其他部分,只能修改fun函數(shù)。

試題程序:

#include

voidfun(intn)

{

}

voidmain()

{

intn;

cout<<"請輸入打印的行數(shù):"<

cin>>n;

if(n<1)

{

cout<<"輸入的行數(shù)必須大于0"<

return;

}

fun(n);

return;

}

參考解析:

inti;

for(i=0;i

{

intj;

for(j=0;j(n-i-1;j++)//循環(huán)打印空格

{

cout<<'';

}

for(;j

{

cout<<"a":

}

cout<

}

【解析】本題利用外層循環(huán)打印每一行。內(nèi)層循環(huán)分為

打印空格和打印a。打印空格由第一個位置到第n-i-1。打印a,是由打印完空格開始一直到行結(jié)束。在外循環(huán)中打印每一行的結(jié)束符。

43使用vc++。請完成以下部分,實現(xiàn)在屏幕上輸出為

c3

c2

這個程序需要修改的部分,請按照以下部分實現(xiàn)。

(1)類c0不能被實例化,請定義一個純虛函數(shù)print,在注釋1后添加適當(dāng)?shù)恼Z句。

(2)類c1私有虛繼承類c0,請在注釋2后添加適當(dāng)?shù)恼Z句。

(3)類c2公有繼承于c0,請在注釋3后添加適當(dāng)?shù)恼Z句。

(4)類c3公有繼承于c2與c1,請在注釋4后添加適當(dāng)?shù)恼Z句。

注意:增加代碼或者修改代碼的位置已經(jīng)用符號表示出來。請不要修改其他的程序代碼。

試題程序:

#include(iostream.h)

classco

{

//********1********

};

//********2********

classc1:

{

public:

voidprint()

{

cout<"”c1"<

}

};

//********3********

classc2:

{

public:

voidprint()

{

cout<<"c2"<

}

};

//********4***x****

classc3:

{

public:

voidprint()

{

cout<<"c3"<

}

};

voidmain()

{

c30bj3;

c20bj2;

();

();

return;

}

參考解析:

(1)應(yīng)添加“virtualvoidprint()=0,”。

(2)“classc1:”應(yīng)改為“classc1:virtualprivatec0”。

(3)“classc2:”應(yīng)改為“classc2:publicc0”。

(4)“classc3:”應(yīng)改為“classc3:publicc2,publicc1”。

【解析】本題考查了類的繼承。根據(jù)題意,第1處應(yīng)該添加“virtualvoidprint()=0;”。第2處根據(jù)題意,在冒號后面應(yīng)添加“virtualprivateco”。第3處根據(jù)題意,冒號后應(yīng)添加“publicco”。第4處根據(jù)題意,冒號后應(yīng)添加“publicc2,publicc1”。

s("content_relate");

【本文地址:http://www.aiweibaby.com/zuowen/2796603.html】

全文閱讀已結(jié)束,如果需要下載本文請點擊

下載此文檔