點(diǎn)擊查看:2015年計(jì)算機(jī)二級(jí)考試《C++》高分突破試卷匯總
一、選擇題
1假定int類(lèi)型變量占用兩個(gè)字節(jié),其有定義int x[10]={0,2,4};,則數(shù)組x在內(nèi)存中所占字節(jié)數(shù)是( )。
A.3B.6C.10D.20
參考答案:D
參考解析:x數(shù)組共有10個(gè)元素,在花括號(hào)內(nèi)只提供3個(gè)初值,這表示只給前面的3個(gè)成員賦值,后7個(gè)元素的值為0,所以,一共有20個(gè)字節(jié)。
2有兩個(gè)關(guān)系R,S如下:
由關(guān)系R通過(guò)運(yùn)算得到關(guān)系s,則所使用的運(yùn)算為( )。
A.選擇B.投影C.插入D.連接
參考答案:B
參考解析:投影運(yùn)算是指對(duì)于關(guān)系內(nèi)的域指定可引入新的運(yùn)算。本題中s是在原有關(guān)系R的內(nèi)部進(jìn)行的,是由R中原有的那些域的列所組成的關(guān)系。所以選擇B。
3對(duì)于循環(huán)隊(duì)列,下列敘述中正確的是( )。
A.隊(duì)頭指針是固定不變的
B.隊(duì)頭指針一定大于隊(duì)尾指針
C.隊(duì)頭指針一定小于隊(duì)尾指針
D.隊(duì)頭指針可以大于隊(duì)尾指針,也可以小于隊(duì)尾指針
參考答案:D
參考解析:循環(huán)隊(duì)列的隊(duì)頭指針與隊(duì)尾指針都不是固定的,隨著入隊(duì)與出隊(duì)操作要進(jìn)行變化。因?yàn)槭茄h(huán)利用的隊(duì)列結(jié)構(gòu)所以隊(duì)頭指針有時(shí)可能大于隊(duì)尾指針有時(shí)也可能小于隊(duì)尾指針。
4下列有關(guān)函數(shù)重載的敘述中,錯(cuò)誤的是( )。
A.函數(shù)重載就是用相同的函數(shù)名定義多個(gè)函數(shù)
B.重載函數(shù)的參數(shù)列表必須不同
C.重載函數(shù)的返回值類(lèi)型必須不同
D.重載函數(shù)的參數(shù)可以帶有默認(rèn)值
參考答案:C
參考解析:所謂函數(shù)重載是指同一個(gè)函數(shù)名可以對(duì)應(yīng)著多個(gè)函數(shù)的實(shí)現(xiàn)。每種實(shí)現(xiàn)對(duì)應(yīng)著一個(gè)函數(shù)體,這些函數(shù)的名字相同,但是函數(shù)參數(shù)的類(lèi)型不同,還允許參數(shù)的個(gè)數(shù)不 同,但不能只有函數(shù)的返回值類(lèi)型不同而參數(shù)的個(gè)數(shù)和類(lèi)型相同的重載。所以本題答案為c。
5有三個(gè)關(guān)系R S和T如下.
則由關(guān)系R和S得到關(guān)系T的操作是( )。
A.自然連接B.并C.交D.差
參考答案:D
參考解析:關(guān)系T中的元組是關(guān)系R中有而關(guān)系s中沒(méi)有的元組的集合,即從關(guān)系R中除去與關(guān)系s中相同元組后得到的關(guān)系T。所以做的是差的運(yùn)算。
6下面關(guān)于類(lèi)和對(duì)象的描述中,錯(cuò)誤的是( )。
A.類(lèi)就是C語(yǔ)言中的結(jié)構(gòu)體類(lèi)型,對(duì)象就是C語(yǔ)言中的結(jié)構(gòu)體變量
B.類(lèi)和對(duì)象之間的關(guān)系是抽象和具體的關(guān)系
C.對(duì)象是類(lèi)的實(shí)例,一個(gè)對(duì)象必須屬于一個(gè)已知的類(lèi)
D.類(lèi)是具有共同行為的若干對(duì)象的統(tǒng)一描述體
參考答案:A
參考解析:在c++語(yǔ)言中,類(lèi)和結(jié)構(gòu)體有本質(zhì)區(qū)別,類(lèi)中包含數(shù)據(jù)及操作函數(shù),而結(jié)構(gòu)體只包含有數(shù)據(jù)。
7有如下程序:
#inClude
using namespaCe std;
Class test{
private:
int a;
publiC:
test( ){Cout<<”ConstruCtor”<
test(int A.{Cout<
test(Const test&_test){ a=test.a:
Cout<<”Copy ConstruCtor”<
test( ){Cout<<”destruCtor”<
};
int main( ){ test A(3); return 0;
}
執(zhí)行這個(gè)程序的輸出結(jié)果是( )。
A.3B.ConstruCtor
destruCtorC.Copy ConstruCtor
destruCtorD.3
destruCtor
參考答案:D
參考解析:本題考查默認(rèn)構(gòu)造函數(shù)和帶參數(shù)的構(gòu)造函數(shù)以及析構(gòu)函數(shù),本題中定義了一個(gè)對(duì)象A(3),對(duì)象帶著參數(shù),所以執(zhí)行帶參數(shù)的構(gòu)造函數(shù).輸出3,然后執(zhí)行析構(gòu)溺數(shù),輸出destructor。所以本題答案為D。
8有如下函數(shù)模板:
template
T east(U u)i return u;}
其功能是將U類(lèi)型數(shù)據(jù)轉(zhuǎn)換為T(mén)類(lèi)型數(shù)據(jù)。已知i為int型變量,下列對(duì)模板函數(shù)cast的調(diào)用中正確的是( )。
A.cast(i);B.cast<>(i);C.east(i);D.east(i);
參考答案:D
參考解析:本題考查函數(shù)模板的基本運(yùn)用,屬于基礎(chǔ)知識(shí)。函數(shù)模板實(shí)際上是建立一個(gè)通用函數(shù),其函數(shù)類(lèi)型和形參類(lèi)型不具體指定,用一個(gè)虛擬的類(lèi)型代表,這個(gè)通用函數(shù)就是函數(shù)模板。函數(shù)模板可以設(shè)定默認(rèn)參數(shù),這樣在調(diào)用模板函數(shù)時(shí)就可以省實(shí)參,函數(shù)模板的實(shí)例就是一個(gè)函數(shù)的定義。所以本題答案為D。
9下面程序的運(yùn)行結(jié)果是( )。
#include
void fun(int *a,int *B. {
int x=*a:
*a=*b;*b=X;
cout<<*a<<*b<<””:
void main() {
int X=1,Y=2; fun(&x,&y);
cout<
}
A.12 12B.12 21C.21 12D.21 21
參考答案:D
參考解析:本題考查的是指針和引用,函數(shù)fun完成把x和Y互換的操作。
10在C++語(yǔ)言中,打開(kāi)一個(gè)文件就是將這個(gè)文件與一個(gè)( )建立關(guān)聯(lián)。
A.流B.類(lèi)C.結(jié)構(gòu)D.對(duì)象
參考答案:A
參考解析:c++的V0系統(tǒng)是通過(guò)一一種稱(chēng)為流的機(jī)制來(lái)實(shí)現(xiàn)文件和控制臺(tái)的I/0操作的。簡(jiǎn)單地說(shuō),在C++中,輸入/輸出操作是通過(guò)流來(lái)完成的。而文件流以磁盤(pán)文件及其他可按文件方式進(jìn)行管理的外部設(shè)備為輸入/輸出對(duì)象。每個(gè)文件流都應(yīng)當(dāng)與一個(gè)打開(kāi)的文件相聯(lián)系;關(guān)閉卟文件就是取消這種聯(lián)系。
11下列語(yǔ)句中,錯(cuò)誤的是( )。
A.const int buffer:256;
B.const int temp;
C.const double*point;
D.const double*rt=new double(5.5);
參考答案:B
參考解析:eonst是一個(gè)C++語(yǔ)言的關(guān)鍵字,它限定一個(gè)變量不允許被改變。使用const在一定程度上可以提高程序的安全性和可靠性。限定符聲明變量只能被讀,必須初始化:,B選項(xiàng)中沒(méi)有初始化,C選項(xiàng)為指向常量的指針,定義時(shí)初始化與否均可,如果是const*double point形式,則為常指針,必須在定義時(shí)進(jìn)行初始化,A、c、D都正確。
12下列程序的輸出結(jié)果為( )。
#include
void main()
{
char*a[]={”hell0”,”the”,”world”};
char** pa = a:
pa++;
cout<<*pa<
}
A.helloB.theC.worldD.hellotheworld
參考答案:B
參考解析:本題主要考查的是指針數(shù)組和指向指針的指針之間的關(guān)系,其中a是指針數(shù)組,pa是指向指針數(shù)組行的指針,所以pa自加l相當(dāng)于指向下一行。
13關(guān)于運(yùn)算符重載,下列表述中正確的是( )。
A.C++已有的任何運(yùn)算符都可以重載
B.運(yùn)算符函數(shù)的返回類(lèi)型不能聲明為基本數(shù)據(jù)類(lèi)型
C.在類(lèi)型轉(zhuǎn)換符函數(shù)的定義中不需要聲明返回類(lèi)型
D.可以通過(guò)運(yùn)算符重載來(lái)創(chuàng)建C++中原來(lái)沒(méi)有的運(yùn)算符
參考答案:C
參考解析:重載運(yùn)算符的規(guī)則如下:①c++不允許用戶(hù)自已定義新的運(yùn)算符,只能對(duì)已有的c++運(yùn)算符進(jìn)行重載;②c++不能重載的運(yùn)算符只有5個(gè);③重載不能改變運(yùn)算符運(yùn)算對(duì)象的個(gè)數(shù);④重載不能改變運(yùn)算符的優(yōu)先級(jí)和結(jié)合性;⑤重載運(yùn)算符的函數(shù)不能有默認(rèn)的參數(shù);⑥重載的運(yùn)算符必須和用戶(hù)定義的自定義類(lèi)型的對(duì)象一起使用.至少應(yīng)有一個(gè)是類(lèi)對(duì)象,即不允許參數(shù)全部是c++的標(biāo)準(zhǔn)類(lèi)型。故本題答案為c。
14可以用P.a的形式訪問(wèn)派生類(lèi)對(duì)象P的基類(lèi)成員a,其中a是( )。
A.私有繼承的公有成員
B.公有繼承的私有成員
C.公有繼承的保護(hù)成員
D.公有繼承的公有成員
參考答案:D
參考解析:只有公有繼承的公有成員才能被派生類(lèi)的對(duì)象直接訪問(wèn),其他的情況都會(huì)因?yàn)樵L問(wèn)權(quán)限問(wèn)題產(chǎn)生錯(cuò)誤。
15在下列原型所示的C++函數(shù)中,按“傳值”方式傳遞參數(shù)的是( )。
A.void fl(int X);
B.void t2(int*X);
C.void f3(Const int*X);
D.void f4(int&x);
參考答案:A
參考解析:函數(shù)參數(shù)的3種傳遞方式:①將變量名作為形參和實(shí)參,即傳值方式;②傳遞變量指針;③引用形參。其中B、C選項(xiàng)都是傳遞變量指針,D選項(xiàng)為引用形參,所以本題答案為A。
16以下關(guān)鍵字不能用來(lái)聲明類(lèi)的訪問(wèn)權(quán)限的是( )。
A.publicB.staticC.protectedD.private
參考答案:B
參考解析:類(lèi)的成員訪問(wèn)權(quán)限有3種:public(公用)、protected(保護(hù))、private(私有)。
17下面程序的運(yùn)行結(jié)果為( )。
#include class A
{
int hum;
public:
A(int i){nuln=i;}
A(A&A.{num=a.num十+;} void print(){eout(
void main()
A a(1),b(A.; a.print();
A print();
A.11B.12C.21D.22
參考答案:C
參考解析:本題考查考生對(duì)拷貝構(gòu)造函數(shù)的掌握。因?yàn)?+運(yùn)算是右結(jié)合的,所以在使用a對(duì)b賦值時(shí),b的nnm變?yōu)?,而a的nnm變?yōu)?(先賦值再自加)。
18下面是重載為非成員函數(shù)的運(yùn)算符的函數(shù)原型,其中錯(cuò)誤的是( )。
A.Fraction operator+(Fraction,F(xiàn)raction);
B.Fraction operator一(Fraction);
C.Fraction&operator=(Fraction&,F(xiàn)raction);
D.Fraction&operator+=(Fraction&,F(xiàn)raction);
參考答案:C
參考解析:本題考查四種運(yùn)算符作為非成員函數(shù)的重載的使用方法,根據(jù)重載規(guī)則,本題答案為c,c項(xiàng)正確原型為:Fraction operator=(Fraction&)。
19下列語(yǔ)句中錯(cuò)誤的是( )。
A.Const int a;
B.Const int a=10;
C.Const int * point=0;
D.Const int * point=new int(10);
參考答案:A
參考解析:const是一個(gè)c++語(yǔ)言的關(guān)鍵字,它限定一個(gè)變量不允許被改變。使用const在一定程度上可以提高程序的安全性和可靠性。限定符聲明變量照能被讀,必須初始化。A選項(xiàng)沒(méi)有初始化,B、C、D選項(xiàng)都正確。
20下列關(guān)于函數(shù)的描述中,錯(cuò)誤的是( )。
A.函數(shù)可以沒(méi)有返回值
B.函數(shù)可以沒(méi)有參數(shù)
C.函數(shù)可以是一個(gè)類(lèi)的成員
D.函數(shù)不能被定義為模板
參考答案:D
參考解析:本題考查函數(shù)的基礎(chǔ)知識(shí),函數(shù)可以沒(méi)有返回值,沒(méi)有參數(shù),也可以是一個(gè)類(lèi)的成員,函數(shù)可以定義為模板,即模板函數(shù)。
22有三個(gè)關(guān)系R、S和T如下:
則由關(guān)系R和S得到關(guān)系T的操作是( )。
A.自然連接B.差C.交D.并
參考答案:B
參考解析:關(guān)系T中的元組是R關(guān)系中有而S關(guān)系中沒(méi)有的元組的集合,所以進(jìn)行的是差的運(yùn)算。
23有如下程序:
#include
using namespace std;
class VAC{
public:
intf()const{return 3;}
int f(){retum 5;}
};
int main()
{
VAC vl;
const VAC v2;
cout<
return 0;
}
執(zhí)行這個(gè)程序的輸出結(jié)果是( )。
A.53B.35C.55D.33
參考答案:A
參考解析:本題考查常對(duì)象及常成員函數(shù)及構(gòu)造函數(shù),常塒象只能凋用常成員函數(shù),所以本題中,對(duì)象v1為普通對(duì)象,執(zhí)行v1.f()后,會(huì)執(zhí)行默認(rèn)構(gòu)造函數(shù),輸出5,對(duì)象v2為常列象,執(zhí)行v2.f()后,會(huì)執(zhí)行常構(gòu)造函數(shù),輸出3。
24一間宿舍可住多個(gè)學(xué)生,則實(shí)體宿舍和學(xué)生之間的聯(lián)系是( )。
A.一對(duì)一B.一對(duì)多C.多對(duì)一D.多對(duì)多
參考答案:B
參考解析:因?yàn)橐婚g宿舍可以住多個(gè)學(xué)生即多個(gè)學(xué)生住在一個(gè)宿舍中,但一個(gè)學(xué)生只能住一間宿舍,所以實(shí)體宿舍和學(xué)生之間是一對(duì)多的關(guān)系。
相關(guān)推薦:
2015年國(guó)家計(jì)算機(jī)二級(jí)C++考試復(fù)習(xí)資料匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |