第 1 頁:選擇題 |
第 3 頁:程序改錯題 |
第 4 頁:簡單應(yīng)用題 |
第 5 頁:綜合應(yīng)用題 |
點(diǎn)擊查看:2015年計算機(jī)二級考試《C++》上機(jī)?荚嚲韰R總
一、選擇題
1有下列程序:
#include
intb=2:
intfun(int*k)
{b=*k+b;return(b);}
voidmain()
{inta[1O]={1,2,3,4,5,6,7,8},i;
for(i=2;i<4;i++){b=fun(&a[i])+b;printf
("%d",b);}
printf("\n");
}
程序運(yùn)行后的輸出結(jié)果是( )。
A.1012B.810C.1028D.1016
參考答案:C
參考解析:在程序中子函數(shù)fun(int*k)的作用是給靜態(tài)全局變量加上形參*k的值。在主函數(shù)中進(jìn)行第一次for循環(huán)執(zhí)行時,fun(&a[2])的返回值為5,所以5+5=10,因而輸出結(jié)果為10,第二次for循環(huán)執(zhí)行時。fun(&a[3])的返回值為14,所以14+14=28。
2有下列二叉樹,對此二叉樹中序遍歷的結(jié)果縣( )。
A.BDYEACFXZB.DYBEAFCZXC.ABCDEFXYZD.ABDYECFXZ
參考答案:B
參考解析:對二叉樹的中序遍歷是指:首先遍歷左子樹.然后訪問根結(jié)點(diǎn),最后遍歷右子樹。在遍歷左、右子樹時,注意依舊按照“左子樹一根結(jié)點(diǎn)一右子樹”的順序。本題的遍歷順序是這樣的:①首先訪問左子樹BDEY;②在左子樹BDEY中,也按中序遍歷,先訪問左子樹DY;在左子樹DY中,也按中序遍歷,先訪問左子樹,左子樹沒有,則訪問根結(jié)點(diǎn)D,然后訪問右子樹Y;③接著訪問根B,再訪問右子樹E;④訪問左子樹BDEY后,接著訪問根結(jié)點(diǎn)A,然后訪問右子樹CFXZ;⑤同理可得右子樹CFXZ的訪問順序?yàn)镕C-ZX。
3若變量已正確定義,有下列程序段
inta=3,b=5,c=7;
if(a>b)a=b;c=a;
if(C!=a)C=b;
printf(”%d,%d,%d\n”,a,b,c);
其輸出的結(jié)果是( )。
A.程序段有語法錯B.3,5,3C.3,5,5D.3,5,7
參考答案:B
參考解析:如果if判斷條件成立時就執(zhí)行其后的相關(guān)語句,否則不執(zhí)行,第一個if條件a>b不成立,故不執(zhí)行“a=b”,接著執(zhí)行“c=a”,把a(bǔ)的值賦給c后,此時第二個if條件不成立,故不執(zhí)行其后語句,最終點(diǎn)c的值為3。
4若已定義
inta[]={1,2,3,4,5,6,7,8,9,10},p=a,i=5;
則對數(shù)組元素不正確的引用是( )。
A.a[p-a]B.*(&a[i])C.p[i]D.*(*(a+i))
參考答案:D
參考解析:數(shù)組和指針的關(guān)系非常密切,因?yàn)閿?shù)組名稱單獨(dú)使用是表示數(shù)組的首地址。故可用的表示可能是a[i],p[i],*(P+i),同樣&(a[i])表示地址,因此*(&a[i])等同于a[i]。本題答案為D。
5數(shù)據(jù)的存儲結(jié)構(gòu)是指( )。
A.數(shù)據(jù)所占的存儲空間
B.數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機(jī)中的存放形式
C.數(shù)據(jù)在計算機(jī)中的順序存儲方式
D.存儲在計算機(jī)外存中的數(shù)據(jù)
參考答案:B
參考解析:數(shù)據(jù)的存儲結(jié)構(gòu),又稱為數(shù)據(jù)的物理結(jié)構(gòu),是數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機(jī)中的存放形式。數(shù)據(jù)的存儲結(jié)構(gòu)有順序結(jié)構(gòu)、鏈?zhǔn)浇Y(jié)構(gòu)、散列結(jié)構(gòu)和索引結(jié)構(gòu)等。
6下列有關(guān)模板的敘述中,正確的是( )。
A.函數(shù)模板不能含有常規(guī)形參
B.函數(shù)模板的一個實(shí)例就是一個函數(shù)定義
C.類模板的成員函數(shù)不能是模板函數(shù)
D.用類模板定義對象時,絕對不能省略模板實(shí)參
參考答案:B
參考解析:本題考查的是模極的概念。函數(shù)模板可以含有常規(guī)形參;函數(shù)模板的一個實(shí)例就是一個函數(shù)定義;類模板中的成員函數(shù)都是模板函數(shù);在用類模板定義對象時,由于沒有像函數(shù)實(shí)參表這樣的額外信患渠道,因此無法按函數(shù)模板的方式省模板形參,但是可以為類模板的參數(shù)設(shè)置默認(rèn)值。
7設(shè)有表示學(xué)生選課的3張表,學(xué)生S(學(xué)號、姓名、性別、年齡、身份證號)、課程C(課號、課名)、選課SC(學(xué)號、課號、成績),則表SC的關(guān)鍵字(鍵或碼)為( )。
A.課號、成績B.學(xué)號、成績C.學(xué)號、課號D.學(xué)號、姓名、成績
參考答案:C
參考解析:關(guān)鍵字是指屬性或?qū)傩缘慕M合,其功能是唯一地標(biāo)識一個元組或數(shù)據(jù),而SC中學(xué)號和課號的組合可以對元組進(jìn)行唯一的標(biāo)識。
8結(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)
參考答案:B
參考解析:結(jié)構(gòu)化程序設(shè)計的3種結(jié)構(gòu)是,順序、分支和循環(huán),不包括goto跳轉(zhuǎn),它只是分支結(jié)構(gòu)的一種,也是一個關(guān)鍵字。
9已知主函數(shù)中通過如下語句序列實(shí)覡對函數(shù)模板swap的調(diào)用:
inta[10],b[1O];
swap(a,b,10);
下列對函數(shù)模板swap的聲明中,會導(dǎo)致上述語句序列發(fā)生編譯錯誤的是( )。
A.template
voidswap(Ta[],Tb[],intsize);B.template
voidswap(intsize,Ta[],Tb[]);C.template
voidswap(T1a[],T2b[],intsize);D.template
voidswap(T1a[],T2b[],intsize);
參考答案:B
10定義無符號整數(shù)為Uint,下面可以作為類Uint實(shí)例化值的是( )。
A.-369B.369C.0.369D.整數(shù)集合{1,2,3,4,5}
參考答案:B
參考解析:A是有符號數(shù),C是浮點(diǎn)數(shù),D是集合,并不是類的實(shí)例化對象,只有B完全符臺。
11下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是( )。
A.便于用戶、開發(fā)人員進(jìn)行理解和交流
B.反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù)
C.作為確認(rèn)測試和驗(yàn)收的依據(jù)
D.便于開發(fā)人員進(jìn)行需求分析
參考答案:D
參考解析:使用軟件需求規(guī)格說明書的目的是便于用戶、開發(fā)人員進(jìn)行理解和交流,它能夠反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù),而且可以作為確認(rèn)測試和驗(yàn)收的依據(jù)。它是需求分析的結(jié)果,而不是為了便于開發(fā)人員進(jìn)行需求分析。因此答案是選項D。
12下列數(shù)據(jù)結(jié)構(gòu)中,能夠按照“先進(jìn)后出”原則存取數(shù)據(jù)的是( )。
A.循環(huán)隊列B.棧C.隊列D.二叉樹
參考答案:B
參考解析:在棧中,允許插入與刪除的一端稱為棧頂,而不允許插入與刪除的另一端稱為棧底。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素。即棧是按照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)的。
13有如下程序:
#include
usingnamespacestd;
classVAC{
public;
intf()const(return3;}
intf(){return5;}
};
Intmain(){
VACv1:
constVACv2;
cout<
return0;
}
運(yùn)行時的輸出結(jié)果是()。
A.53B.35C.55D.33
參考答案:A
參考解析:本題考查常成員函數(shù)的應(yīng)用。VAC類中說明了兩個函數(shù),一個是常成員函數(shù),一個是普通函數(shù);在主函數(shù)中說明了兩個對象,通過普通對象v1調(diào)用的是普通函數(shù),輸出5;通過常對象v2調(diào)用的是常成員函數(shù),輸出3。
14將E—R圖轉(zhuǎn)換為關(guān)系模式時,實(shí)體和聯(lián)系都可以表示為( )。
A.屬性B.鍵C.關(guān)系D.域
參考答案:C
參考解析:在C語言中,將E—R圖轉(zhuǎn)換為關(guān)系模式時,實(shí)體和聯(lián)系都可以表示為關(guān)系。
15在函數(shù)中,可以用aut0、extern、register和static這四個關(guān)鍵字中的一個來說明變量的存儲類型,如果不說明存儲類型,則默認(rèn)的存儲類型是( )。
A.autoB.externC.registerD.static
參考答案:A
參考解析:變量在使用之前其數(shù)據(jù)類型必須加以說明,而存儲類型則可默認(rèn)說明或顯式說明。顯式說明指直接在變量說明前加上存儲類型標(biāo)志,如auto,register,static,extern等。關(guān)鍵字auto通常省。
下列關(guān)于函數(shù)模板的描述中,正確的是( )。
A.函數(shù)模板是一個實(shí)例函數(shù)
B.使用函數(shù)模板定義的函數(shù)沒有返回類型
C.函數(shù)模板的類型參數(shù)與函數(shù)的參數(shù)相同
D.通過使用不同的類型參數(shù),可以從函數(shù)模板得到不同的實(shí)例函數(shù)
參考答案:D
參考解析:函數(shù)模板只是聲明,一個函數(shù)的描述即模板,不是一個可以直接執(zhí)行的函數(shù),只有根據(jù)實(shí)際情況用實(shí)參的數(shù)據(jù)類型參數(shù)標(biāo)識符之后,才能產(chǎn)生真正的函數(shù)。
17下列關(guān)于文件流的描述中,正確的是( )。
A.文件流只能完成針對磁盤文件的輸入、輸出
B.建立一個文件流對象時,必須同時打開一個文件
C.若輸入流要打開的文件不存在,將建立一個新文件
D.若輸出流要打開的文件不存在,將建立一個新文件
參考答案:C
參考解析:輸入流要打開的文件不存在,則會自動建立該文件,而輸出流要打開的文件不存在,則會報錯,而不會新建一個文件。
18下列說法正確的是( )。
A.內(nèi)聯(lián)函數(shù)在運(yùn)行時將該函數(shù)的目標(biāo)代碼插入每個調(diào)用該函數(shù)的地方
B.內(nèi)聯(lián)函數(shù)在編譯時將該函數(shù)的目標(biāo)代碼插入每個調(diào)用該函數(shù)的地方
C.類的內(nèi)聯(lián)函數(shù)必須在類體內(nèi)定義
D.類的內(nèi)聯(lián)函數(shù)必須在類體外通過加關(guān)鍵字inline定義
參考答案:B
參考解析:本題考查的是內(nèi)聯(lián)函數(shù)的定義,引入內(nèi)聯(lián)函數(shù)是為了解決程序中函數(shù)調(diào)用的效率問題,是以目標(biāo)代碼的增加為代價換取時間的節(jié)省;一般函數(shù)在運(yùn)行時被調(diào)用,而調(diào)用的內(nèi)聯(lián)函數(shù)在編譯時就被替代了,如果不加in-line關(guān)鍵字,則編譯器會將在類說明部分定義的任何函數(shù)都被認(rèn)定為內(nèi)聯(lián)函數(shù)。
19有下列程序:
#include
voidmain( )
{FILE*pf;
char*s1="China",*s2="Beijing";
pf=fopen("abc.dat","wb+");
fwrite(s2,7,1,pf);
rewind(pf);/*文件位置指針回到文件開頭*/
fwrite(s1,5,1,pf);
fclose(pf);
}
以上程序執(zhí)行后abc.dat文件的內(nèi)容是( )。
A.ChinaB.ChinangC.ChinaBeijingD.BeijingChina
參考答案:B
參考解析:本題考查fwrite的調(diào)用形式。
其格式為“fwrite(buffer,size,count,fp);”。
fwritie函數(shù)的功能是對fp所指向的文件存入count次,每次存入一個大小為size的數(shù)據(jù)塊。將存入的數(shù)據(jù)塊存到buffer指向的內(nèi)存區(qū),如果buffer內(nèi)存區(qū)有數(shù)據(jù)則將其覆蓋。
本題中第一次調(diào)用fwrite函數(shù),向文件中寫入s2的值“Beijing”,第二次調(diào)用fwrite函數(shù),向文件中寫入S1的值“China”,并將之前“Beijing”的前幾個字符覆蓋,得到Chi-nang。
20下列敘述中正確的是( )。
A.在面向?qū)ο蟮某绦蛟O(shè)計中,各個對象之間具有密切的關(guān)系
B.在面向?qū)ο蟮某绦蛟O(shè)計中,各個對象都是公用的
C.在面向?qū)ο蟮某绦蛟O(shè)計中,各個對象之間相對獨(dú)立,相互依賴性小
D.上述三種說法都不對
參考答案:C
參考解析:面向?qū)ο蟮某绦蛟O(shè)計是用對象模擬問題領(lǐng)域中的實(shí)體,各對象之間相對獨(dú)立,相互依賴性小,通過消息來實(shí)現(xiàn)對象之間的相互聯(lián)系。
相關(guān)推薦:
2015年12月計算機(jī)等級考試通關(guān)分享:如何做題?
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |