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