21.A!窘馕觥砍蓡T函數(shù)不一定是內(nèi)聯(lián)函數(shù)。
22.C!窘馕觥緼、B項(xiàng)中,實(shí)參不全,參數(shù)默認(rèn)為函數(shù)原型中的初始值,但在C項(xiàng)中,第二個(gè)實(shí)參(char型)與函數(shù)原型中的第二個(gè)形參類型不一致,故C項(xiàng)錯(cuò)誤。
23.D!窘馕觥緾++類中的靜態(tài)成員變量是該類中所有對(duì)象所共有的,它能夠被類中的任何函數(shù)調(diào)用,所以選項(xiàng)A,B,C是錯(cuò)誤的。而類的靜態(tài)數(shù)據(jù)成員是必須要進(jìn)行初始化才能使用。
24.B!窘馕觥緼*p1,A*p2為指向A類對(duì)象的指針,故“p1→m=3,(*p2).m=4”是正確的。但k2不是指針,k2→m的表示是錯(cuò)誤的。
25.B!窘馕觥勘绢}考核拷貝構(gòu)造函數(shù)。上述程序中,拷貝構(gòu)造函數(shù)一共被調(diào)用了3次:第1次是在執(zhí)行語句Datedate3(date1)時(shí),用已經(jīng)建立的對(duì)象date1對(duì)正在建立的對(duì)象date3進(jìn)行初始化;第2次是在調(diào)用fun函數(shù)時(shí),由于是傳值調(diào)用,因此實(shí)參對(duì)象date3要對(duì)形參對(duì)象d進(jìn)行初始化;第3次是在執(zhí)行fun函數(shù)中的返回語句returntemp;時(shí),系統(tǒng)初始化一個(gè)匿名對(duì)象時(shí)使用了拷貝構(gòu)造函數(shù)。
26.C。【解析】純虛函數(shù)是在聲明虛函數(shù)時(shí)被“初始化”為0的虛函數(shù)。不定義對(duì)象而只作為一種基本類型作為繼承的類,稱為抽象類。凡是包含純虛函數(shù)的類都是抽象類。抽象類的作用是作為一個(gè)類族的共同基類。
27.A。【解析】題中fun函數(shù)進(jìn)行了遞歸調(diào)用,第1次調(diào)用時(shí):fun(3)n=3,s=3-fun(2),第二次調(diào)用時(shí):fun(2)n=2,s=2,返回第一次調(diào)用后,s=3-2=1。
28.B!窘馕觥吭贑++程序中的typename是都可以替換為class的,但class不能都替換為typename。
29.C。【解析】Concl定義cl對(duì)象,調(diào)用Con的無參數(shù)構(gòu)造函數(shù),輸出1,ID值變?yōu)锳,執(zhí)行show(c1)時(shí)會(huì)調(diào)用拷貝構(gòu)造函數(shù),將cl對(duì)象的值復(fù)制給show函數(shù)的形參,此時(shí)輸出3,然后在show()中輸出cl的lD值A(chǔ),Conc2(’B’)定義c2對(duì)象,調(diào)用Con(charID)構(gòu)造函數(shù),輸出2,c2的ID值為B,show(c2)執(zhí)行時(shí)先調(diào)用拷貝構(gòu)造函數(shù)輸出3,然后輸出B。因此程序輸出結(jié)果為“13A23B”。
30.C!窘馕觥吭擃}主要要搞清楚以下幾點(diǎn):①定義了一個(gè)指針數(shù)組char*p[2]后,程序中第一個(gè)循環(huán)“for(i=0;i(2;i++)p[i]=ch[i]”的作用是使指針數(shù)組的p[0]元素(它本身是一個(gè)指針)指向了二維數(shù)組ch的第一行字符串,并使指針數(shù)組的p[1]元素指向了二維數(shù)組ch的第二行字符串,這樣,就使指針數(shù)組P和二維數(shù)組ch建立起了一種對(duì)應(yīng)關(guān)系,以后對(duì)二維數(shù)組ch的某個(gè)元素的引用就有兩種等價(jià)的形式:ch[i][j]或p[i][j]。②對(duì)二維數(shù)組ch的初始化,使其第一行ch[0]中存入了字符串“6937”,第二行ch[1]中的內(nèi)容為字符串“8254”。③程序中第二個(gè)循環(huán)中的循環(huán)體“s=s*10+p[i][j]-’0’”的功能是這樣的,每執(zhí)行一次,將s中的值乘以10(即將s中的數(shù)值整體向左移動(dòng)一位,并在空出來的個(gè)位上添一個(gè)0),再將當(dāng)前p[i][j]中的字符量轉(zhuǎn)換為相應(yīng)的數(shù)字,然后把這個(gè)數(shù)字加到s的個(gè)位上。④注意到內(nèi)層循環(huán)的循環(huán)條件p[i][3]>’\0’是指p[i][j]中的字符只要不是字符串結(jié)束標(biāo)志’\0’就繼續(xù)循環(huán),語句j+=2;是使下標(biāo)j每次增加2,即一個(gè)隔一個(gè)地從p[i]所指向的字符串中取出字符。經(jīng)過上述解析后,不難看出,該程序首先從p[0]所指向的字符串“6937”中一個(gè)隔一個(gè)地取出字符,分別是“6”和“3”,然后從p[1]所指向的字符串“8254”中一個(gè)隔一個(gè)地取出字符,分別是“8”和“5”,同時(shí)經(jīng)過轉(zhuǎn)換和相加運(yùn)算后,結(jié)果s中的值應(yīng)該是6385。
31.A!窘馕觥勘绢}考查C++中cin輸入流對(duì)象的使用規(guī)則,其特點(diǎn)是以空格、回車和tab為分隔符。因此this和is之間的空格告訴cin對(duì)象停止接收后面的數(shù)據(jù)。故正確答案為A。
32.D!窘馕觥恳蝾}目中定義的指針value是指淘變量i的,所以直接利用語句MyClass(inti){value=newint(i);}對(duì)value進(jìn)行賦值即可。
33.D!窘馕觥窟x項(xiàng)A、B和C都不正確,因?yàn)橛言P(guān)系是單項(xiàng)的,并且沒有交換性、傳遞性。
34.C!窘馕觥恐骱瘮(shù)中調(diào)用fun(3),在fun內(nèi)部當(dāng)n>2時(shí),遞歸調(diào)用fun(n-1)+fun(n-2),否則返回2。所以當(dāng)n=3時(shí),調(diào)用fun(2)+fun(1),即返回2+2,等于4。
35.A。【解析】本題考查拷貝構(gòu)造函數(shù)的知識(shí)。如果類中沒有實(shí)現(xiàn)拷貝構(gòu)造函數(shù)可以完成數(shù)據(jù)成員的自動(dòng)賦值,對(duì)于復(fù)雜對(duì)象,則可能需要顯式定義拷貝構(gòu)造函數(shù)。
36.C!窘馕觥緾++中,類是用戶自定義的一種數(shù)據(jù)類型,對(duì)象是類的實(shí)例,類定義了屬于該類的所有對(duì)象的共同特性。一個(gè)類作為一種數(shù)據(jù)類型,它可以定義多個(gè)對(duì)象。
37.A!窘馕觥窟x項(xiàng)A中,重載函數(shù)中是允許使用默認(rèn)參數(shù)的;為了使重載函數(shù)有意義,不要使用重載函數(shù)來描述毫不相干的函數(shù);重載函數(shù)中編譯是根據(jù)參數(shù)表進(jìn)行選擇的,包括參數(shù)的個(gè)數(shù)和類型。
38.B!窘馕觥吭贑++語言中,調(diào)用函數(shù)不可能改變實(shí)參指針變量的值,但可以改變實(shí)參指針變量所指變量的值。
39.B!窘馕觥勘绢}思路巧妙,分析時(shí)可以發(fā)現(xiàn)b=(a+b)-b,則此時(shí)b中放的是a,完成交換工作的一半,然后要將b放到a中,將表達(dá)式展開,則為a=(a+b)-a,此時(shí)正好把b放到a中。此時(shí)完成全部的交換。
40.A!窘馕觥繌难h(huán)語句中可以看出,是在0到4的循環(huán)中輸出數(shù)組a中的前5個(gè)元素,輸出的值為*(P+i),即為指針P向后移動(dòng)指向的元素。所以初始化要將指針P指向數(shù)組a,即int*p=a;。
編輯推薦:
2014年上半年計(jì)算機(jī)等級(jí)考試報(bào)名時(shí)間及入口專題
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |