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