- 相關(guān)推薦
2012年3月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C++
考試頻道小編為你收集整理2012年3月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C++,請(qǐng)閱讀!
筆試試卷 (考試時(shí)間90分鐘,滿分100分)
一、選擇題(每小題2分,共70分)
下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的。請(qǐng)將正確選項(xiàng)填涂在答題卡相應(yīng)位置上,答在試卷上不得分。
(1)下列敘述中正確的是
A)循環(huán)隊(duì)列是隊(duì)列的一種鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu) B)循環(huán)隊(duì)列是一種邏輯結(jié)構(gòu)
C)循環(huán)隊(duì)列是隊(duì)列的一種順序存儲(chǔ)結(jié)構(gòu) D)循環(huán)隊(duì)列是非線性結(jié)構(gòu)
(2)下列敘述中正確的是
A)棧是一種先進(jìn)先出的線性表 B)隊(duì)列是一種后進(jìn)先出的線性表
C)棧與隊(duì)列都是非線性結(jié)構(gòu) D)以上三種說(shuō)法都不對(duì)
(3)一棵二叉樹共有25個(gè)結(jié)點(diǎn),其中5個(gè)是葉子結(jié)點(diǎn),則度為1的結(jié)點(diǎn)數(shù)為
A)4 B)<16 > C)10 D)6
(4)在下列模式中,能夠給出數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法的是
A)邏輯模式 B)概念模式 C)內(nèi)模式 D)外模式
(5)在滿足實(shí)體完整性約束的條件下
A)一個(gè)關(guān)系中可以沒(méi)有候選關(guān)鍵字 B)一個(gè)關(guān)系中只能有一個(gè)候選關(guān)鍵字
C)一個(gè)關(guān)系中必須有多個(gè)候選關(guān)鍵字 D)一個(gè)關(guān)系中應(yīng)該有一個(gè)或多個(gè)候選關(guān)鍵字
(6)有三個(gè)關(guān)系R、S和T如下:
R | s | t | ||||||||
A | B | C | A | B | C | A | B | C | ||
a | 1 | 2 | a | 1 | 2 | b | 2 | 1 | ||
b | 2 | 1 | d | 2 | 1 | c | 3 | 1 | ||
c | 3 | 1 |
A)并 B)差 C)交 D)自然連接
(7)軟件生命周期的活動(dòng)中不包括
A)軟件維護(hù) B)需求分析 C)市場(chǎng)調(diào)研 D)軟件測(cè)試
(8)下面不屬于需求分析階段任務(wù)的是
A)確定軟件系統(tǒng)的性能需求 B)確定軟件系統(tǒng)的功能需求
C)制定軟件集成測(cè)試計(jì)劃 D)需求規(guī)格說(shuō)明書評(píng)審
(9)在黑盒測(cè)試方法中,設(shè)計(jì)測(cè)試用例的主要根據(jù)是
A)程序外部功能 B)程序數(shù)據(jù)結(jié)構(gòu) C)程序流程圖 D)程序內(nèi)部結(jié)構(gòu)
(10)在軟件設(shè)計(jì)中不使用的工具是
A)系統(tǒng)結(jié)構(gòu)圖 B)程序流程圖 C)PAD圖 D)數(shù)據(jù)流圖(DFD圖)
(11)若一個(gè)函數(shù)的原型為"int * Xfun1(int x,int& y,char z);",則該函數(shù)的返回值類型為
A)int * B)int
C)int& D)char
(12)若AA為一個(gè)類,a為該類的私有整型數(shù)據(jù)成員,getA()為該類的一個(gè)非靜態(tài)公有成員函數(shù),功能是返回a的值。如果x為該類的一個(gè)對(duì)象,要在類外訪問(wèn)x對(duì)象中a的值,正確的訪問(wèn)格式為
A)AA.getA() B)x.getA()
C)x.a D)AA::a
(13)當(dāng)派生類繼承一個(gè)基類時(shí),默認(rèn)的繼承方式為
A)public B)protected
C)private D)不確定
(14)若需要為XV類重載乘法運(yùn)算符,運(yùn)算結(jié)果為XV類型,在將其聲明為類的成員函數(shù)時(shí),下列原型聲明正確的是
A)XV operator *(XV,XV);
B)XV *(XV);
C)operator *(XV);
D)XV operator *(XV);
(15)在定義函數(shù)模板或類模板時(shí),開頭的保留字是
A)typename B)template
C)class D)typedef
(16)若需要向一個(gè)二進(jìn)制文件尾部添加數(shù)據(jù),則該文件的打開方式為
A)ios_base::app
B)ios_base::binary | ios_base::out
C)ios_base::out
D)ios_base::binary | ios_base::app
(17)在開發(fā)一個(gè)c++程序的整個(gè)過(guò)程中,第3個(gè)步驟為
A)鏈接 B)運(yùn)行
C)編輯 D)編譯
(18)若有定義"int x=4,y=5;",則表達(dá)式"y>x++?x--:y++"的值為
A)3 B)4
C)5 D)6
(19)有如下程序:
#include
int main(){
int i,s=0;
for(i=1;s<20;i+=2)s+=i*i;
cout< return 0;
}
運(yùn)行這個(gè)程序的輸出結(jié)果是
A)3 B)5
C)7 9)9
(20)若字符指針p所指向的字符串為"abcdefg",在執(zhí)行語(yǔ)句
char *ap=new char[strlen(p)+1];
之后,ap指向的字符數(shù)組的元素個(gè)數(shù)為
A)9 B)8
C)7 D)6
(21)有如下程序:
#include
void fl(int& x){x++;}
void f2(int x){++x;}
int main(){
int x=10,y=12;
f1(x);
f2(y);
cout< return 0;
}
運(yùn)行這個(gè)程序的輸出結(jié)果是
A)22 B)23
C)24 D)25
(22)有如下程序:
#include
class XA{
int a;
public:
static int b;
XA(int aa):a(an){b++;}
int getA(){return a;}
};
int XA::b=0;
int main(){
XA d1(4),d2(5);
cout< return 0;
}
運(yùn)行這個(gè)程序的輸出結(jié)果是
A)9 B)11
C)13 D)15
(23)有如下程序:
以上是考試頻道小編為你收集整理2012年3月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C++。
#include
class XX{
int x;
public:
XX(int xx=0):x(xx){}
int getX(){return x;}
};
class YY:public XX{
int y;
public:
YY(int xx,int yy):x(xx),y(yy){}
int getV(){return getX()+y;}
};
int main(){
YY c(3,4);
cout<
}
運(yùn)行這個(gè)程序的輸出結(jié)果是
A)3 B)4
C)7 D)10
(24)在類中重載賦值運(yùn)算符時(shí),應(yīng)將其聲明為類的
A)靜態(tài)函數(shù) B)友元函數(shù)
C)成員函數(shù) D)構(gòu)造函數(shù)
(25)若有函數(shù)模板mySwap和一些變量定義如下:
template
double d1,d2;int i1,i2;
下列對(duì)mySwap的調(diào)用中,錯(cuò)誤的是
A)mySwap(i1,i2)
B)mySwap(d1,d2)
C)mySwap(i1,d1)
D)mySwap
A)流對(duì)象 B)模板
C)函數(shù) D)類
(27)已知類IMS中兩個(gè)成員函數(shù)的聲明為"void listen() const;"與"void speak();",
另有兩個(gè)對(duì)象的定義為"IMS obj1;"與"const IMS obj2;",則下列語(yǔ)句中,產(chǎn)生編譯錯(cuò)誤
的是
A)obj1.listen();
B)obj1.speak();
C)obj2.listen();
D)obj2.speak();
(28)有如下程序:
#include
class Monkey{
public:
Monkey() {cout<<'M';}
Monkey(char n){cout<
};
int main(){
Monkey p1,*p2;
p2=new Monkey('X');
delete p2;
return 0;
}
運(yùn)行這個(gè)程序的輸出結(jié)果是
A)MYX B)MYMY
C)MXY D)MXYY
(29)有如下程序:
#include
class Boat;
class Car{
public:
Car(int i):weight(i){ }
friend int Total(const Car &c.const Boat &b); //①
private:
int weight;
};
class Boat{
public:
Boat(int i):weight(i){ }
friend int Total(const Car &c,const Boat &b);
private:
int weight;
};
int Total(const Car &c,const Boat &b){ //②
return c.weight+b.weight;
}
int main(){
Car c(10);
Boat b(8);
cout<<"The total weight is"<
}
下列關(guān)于程序的描述中,正確的是
A)程序編譯正確
B)程序編譯時(shí)語(yǔ)句①出錯(cuò)
C)程序編譯時(shí)語(yǔ)句②出錯(cuò)
D)程序編譯時(shí)語(yǔ)句③出錯(cuò)
(30)有如下程序:
#include
class Media{
public:
void Name();
void Show();
protected:
int page;
};
class Book:private Media{
public:
void Print(){cout<
};
int main(){
Book Bible;
Bible.Name(); //②
Bible.Print(); //③
Bible.Show(); //④
return 0;
}
編譯時(shí)有錯(cuò)誤的是
A)語(yǔ)句① B)語(yǔ)句②
C)語(yǔ)句③ D)語(yǔ)句④
(31)有如下程序:
#include
class Base{
public:
virtual void Show(){cout<<'B';}
};
class Derived:public Base{
public:
void Show(){cout<<'D';}
};
int main(){
Base *p1=new Derived;
Derived *p2=new Derived;
p1->Show();
p2->Show();
delete p1;
delete p2;
return 0;
}
運(yùn)行這個(gè)程序的輸出結(jié)果是
A)BB B)BD
C)DB D)DD
(32)有如下類定義:
class Animal{
public:
virtual void Name()=0;
};
class Koala:public Animal{
public:
void Name(){/*函數(shù)體略*/}
};
關(guān)于上述類定義,下列描述中錯(cuò)誤的是
A)類Koala是類Animal的派生類
B)類Koala中的Name函數(shù)是一個(gè)虛函數(shù)
C)類Animal中的Name函數(shù)是一個(gè)純虛函數(shù)
D)語(yǔ)句"Animal a;"能夠建立類Animal的一個(gè)對(duì)象a
(33)已知類MyClock中未顯式定義構(gòu)造函數(shù),并重載了加法運(yùn)算符,使得下面的語(yǔ)句
序列能夠正確執(zhí)行:
MyClock c1,c2;
//......
c2=c1+10;
由此可知,為類MyClock重載的"+"運(yùn)算符函數(shù)的聲明是
A)friend MyClock operator+(MyClock,int);
B)friend MyClock operator+(MyClock,MyClock);
C)friend MyClock operator+(int,MyClock);
D)MyClock operator+(MyClock);
(34)下列控制對(duì)齊方式的操作符中,錯(cuò)誤的是
A)internal B)center C)left D)right
(35)有如下程序:
以上是考試頻道小編為你收集整理2012年3月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C++。
#include
class Mountain{
int height;
public:
Mountain(int h=0):height(h){ }
virtual char *GetName()const
{return "山";}
int GetHeight() const{return height;}
};
class Lushan:public Mountain{
public:
Lushan(int d):Mountain(d){ }
char *GetName()const
{return "廬山";}
};
int main(){
Mountain *p= new Lushan(1000);
cout<
}
運(yùn)行這個(gè)程序的輸出結(jié)果是
A)廬山海拔<1000米>
B)廬山海拔<0米>
C)山海拔<1000米>
D)山海拔<0米>
二、填空題(每空2分,共30分)
請(qǐng)將每一個(gè)空的正確答案寫在答題卡【1】-【15】序號(hào)的橫線上,答在試卷上不
得分。
(1)在長(zhǎng)度為n的順序存儲(chǔ)的線性表中刪除一個(gè)元素,最壞情況下需要移動(dòng)表中的元
素個(gè)數(shù)為_____1_____。
(2)設(shè)循環(huán)隊(duì)列的存儲(chǔ)空間為Q(1:30),初始狀態(tài)為front=rear=30。現(xiàn)經(jīng)過(guò)一系列
入隊(duì)與退隊(duì)運(yùn)算后,front=16,rear=15,則循環(huán)隊(duì)列中有___2___個(gè)元素。
(3)數(shù)據(jù)庫(kù)管理系統(tǒng)提供的數(shù)據(jù)語(yǔ)言中,負(fù)責(zé)數(shù)據(jù)的增、刪、改和查詢的是___3___ 。
(4)在將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體和聯(lián)系都可以表示成___4___ 。
(5)常見的軟件工程方法有結(jié)構(gòu)化方法和面向?qū)ο蠓椒?類、繼承以及多態(tài)性等概念
屬于___5___。
(6)如果a為int型變量,b為double型變量,則表達(dá)式a+b的值的類型為___6___。
(7)break語(yǔ)句可用于循環(huán)語(yǔ)句和___7___語(yǔ)句中。
(8)如果P是指向一個(gè)動(dòng)態(tài)數(shù)組空間的指針變量,則釋放該數(shù)組空間的語(yǔ)句是___8____ 。
(9)如果一個(gè)函數(shù)在其函數(shù)體內(nèi)直接或間接地調(diào)用自己,則該函數(shù)稱為___9___函數(shù)。
(10)調(diào)用時(shí)不必提供參數(shù)的構(gòu)造函數(shù)稱為___10___構(gòu)造函數(shù)。
(11)有如下程序:
#include
class Machine{
static int num;
public:
Machine(){num++;}
static void showNum()
{cout<
int Machine::num=0;
int main(){
Machine a[10],b;
Machine::showNum();
return 0;
}
運(yùn)行這個(gè)程序的輸出結(jié)果是___【11】___ 。
(12)類Base、Component和Derived的定義如下,請(qǐng)將橫線處缺失部分補(bǔ)充完整。
class Base{
double data;
public:
Base(double d):data(d){ }
};
class Component{
int data;
public:
Component(int d):data(d){ }
};
class Derived:public Base{
Component com;
char character;
public:
Derived(double a,int b,char c):
//使用參數(shù)a初始化基類成員,使用參數(shù)b初始化成員對(duì)象com
___【12】___,character(c){ }
};
(13)形狀類Shape中包含一個(gè)純虛函數(shù)draw,它無(wú)形參和返回值,則draw函數(shù)在
Shape類中的原型聲明是___【13】___ 。
(14)正方形類的定義如下,請(qǐng)將橫線處缺失部分補(bǔ)充完整。
class Square{
private:
double width;
public:
Square(double w):width(w){}
//重載大于運(yùn)算符">",用于比較兩個(gè)正方形的大小,函數(shù)結(jié)果類型為bool類型
___【14】___(Square& s);
};
(15)有如下程序,請(qǐng)將橫線處缺失部分補(bǔ)充完整。
#include
template
T *data;
int size;
public:
Dataset(T* arr,int length):size(1ength){
data=new T[length];
for(int i=0;i
}
};
int main(){
int arr[]={2,4,6,8,10};
//利用數(shù)組arr初始化類模板Dataset的對(duì)象set
___【15】___
return 0;
參考答案:
ADABA DADDA BACDA ACCDB
DBBBA BBADA DBCCD ADCAC
n 29 數(shù)據(jù)操作語(yǔ)言 關(guān)系 面向?qū)ο蠓椒?a=1,b=2 2 3 k<=n 074 rgb 572 *a[i] cab test
以上是考試頻道小編為你收集整理2012年3月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C++。
【3月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C++】相關(guān)文章:
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C++筆試真題10-11
3月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C++筆試真題10-11
全國(guó)計(jì)算機(jī)二級(jí)考試C++真題09-20
計(jì)算機(jī)等級(jí)考試二級(jí)C++筆試選擇題04-23
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言03-29
全國(guó)計(jì)算機(jī)二級(jí)考試《C++》筆試樣卷06-12
全國(guó)計(jì)算機(jī)二級(jí)考試C++鞏固試題與答案03-01