- 相關(guān)推薦
2008年9月計(jì)算機(jī)等級(jí)考試二級(jí)C++
一、選擇題(每小題2分,共70分)
(1)一個(gè)棧的初始狀態(tài)為空。現(xiàn)將元素 1、2、3、4、5、A、B、C、D、E 依次入棧,然后再依次出棧,則元素出棧的順序是(B)。
A)123456ABCDE B)EDCBA54321
C)ABCDE12345 D)54321EDCBA
(2)下列敘述中正確的是(D)。
A)循環(huán)隊(duì)列有隊(duì)頭和隊(duì)尾兩個(gè)指針,因此,循環(huán)隊(duì)列是非線性結(jié)構(gòu)
B)在循環(huán)隊(duì)列中,只需要隊(duì)頭指針就能反映隊(duì)列中元素的動(dòng)態(tài)變化情況
C)在循環(huán)隊(duì)列中,只需要隊(duì)尾指針就能反映隊(duì)列中元素的動(dòng)態(tài)變化情況
D)循環(huán)隊(duì)列中元素的個(gè)數(shù)是由隊(duì)頭指針和隊(duì)尾指針共同決定
(3)在長(zhǎng)度為 n 的有序線性表中進(jìn)行二分查找,最壞情況下需要比較的次數(shù)是(C)。
A)O(n) B)O(n2)
C)O(log2n) D)O(nlog2n)
(4)下列敘述中正確的是(A)。
A)順序存儲(chǔ)結(jié)構(gòu)的存儲(chǔ)一定是連續(xù)的,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的存儲(chǔ)空間不一定是連續(xù)的
B)順序存儲(chǔ)結(jié)構(gòu)只針對(duì)線性結(jié)構(gòu),鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)只針對(duì)非線性結(jié)構(gòu)
C)順序存儲(chǔ)結(jié)構(gòu)能存儲(chǔ)有序表,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)不能存儲(chǔ)有序表
D)鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)比順序存儲(chǔ)結(jié)構(gòu)節(jié)省存儲(chǔ)空間
(5)數(shù)據(jù)流圖中帶有箭頭的線段表示的是(D)。
A)控制流 C)模塊調(diào)用
B)事件驅(qū)動(dòng) D)數(shù)據(jù)流
(6)在軟件開(kāi)發(fā)中,需求分析階段可以使用的工具是(B)。
A)N-S 圖 B)DFD 圖(數(shù)據(jù)流圖)
C)PAD 圖 D)程序流程圖
(7)在面向?qū)ο蠓椒ㄖ校粚儆?ldquo;對(duì)象”基本特點(diǎn)的是(A)。
A)一致性 B)分類性
C)多態(tài)性 D)標(biāo)識(shí)唯一性
(8)一間宿舍可住多個(gè)學(xué)生,則實(shí)體宿舍和學(xué)生之間的聯(lián)系是(B)。
A)一對(duì)一 B)一對(duì)多
C)多對(duì)一 D)多對(duì)多
(9)在數(shù)據(jù)管理技術(shù)發(fā)展的三個(gè)階段中,數(shù)據(jù)共享最好的是(C)。
A)人工管理階段 B) 文件系統(tǒng)階段
C)數(shù)據(jù)庫(kù)系統(tǒng)階段 D) 二個(gè)階段相同
(10)有三個(gè)關(guān)系 R、S 和 T 如下:
R S T
A | B | B | C | A | B | C | ||
m | 1 | 1 | 3 | m | 1 | 3 | ||
n | 2 | 3 | 5 |
由關(guān)系 R 和 S 通過(guò)運(yùn)算得到關(guān)系 T,則所使用的運(yùn)算為(D)。
A)笛卡爾積 B)交
C)并 D)自然連接
(11)在下列原型所示的 C++函數(shù)中,按“傳值”方式傳遞參數(shù)的是(A)。
A)void f1(int x); B)void f2(int*x);
C)void f3(const int*x); D)void f4(int&x);
(12)在 C++中,編譯系統(tǒng)自動(dòng)為一個(gè)類生成缺省構(gòu)造函數(shù)的條件是(C)。
A)該類沒(méi)有定義任何有參構(gòu)造函數(shù)
B)該類沒(méi)有定義任何無(wú)參構(gòu)造函數(shù)
C)該類沒(méi)有定義任何構(gòu)造函數(shù)
D)該類沒(méi)有定義任何成員函數(shù)
(13)在一個(gè)派生類的成員函數(shù)中,試圖調(diào)用其基類的成員函數(shù)“void f();”,但無(wú)法通過(guò)編譯。這說(shuō)明(A)。
A)f()是基類的私有成員
C)派生類的繼承方式為私有
B)f()是基類的保護(hù)成員
D)派生類的繼承方式為保護(hù)
(14)下列關(guān)于運(yùn)算符重載的敘述中,錯(cuò)誤的是(B)。
A)有的運(yùn)算符可以作為非成員函數(shù)重載
B)所有的運(yùn)算符都可以通過(guò)重載而被賦予新的含義
C)不得為重載的運(yùn)算符函數(shù)的參數(shù)設(shè)置默認(rèn)值
D)有的運(yùn)算符只能作為成員函數(shù)重載
(15)下列關(guān)于模板的敘述中,錯(cuò)誤的是(C)。
A)調(diào)用模版函數(shù)時(shí),在一定條件下可以省略模板實(shí)參
B)可以用 int、double 這樣的類型修飾符來(lái)聲明模版參數(shù)
C)模板聲明中的關(guān)鍵字 class 都可以用關(guān)鍵字 typename 替代
D)模板的形參表中可以有多個(gè)參數(shù)
(16)要利用 C++流進(jìn)行文件操作,必須在程序中包含的頭文件是(B)。
A)iostream B)fstream
C)strstream D)iomanip
(17)下列字符串中不能作為 C++標(biāo)識(shí)符使用的是(D)。
A)WHILE B)user C)_lvar D)9stars
(18)下列語(yǔ)句中錯(cuò)誤的是(A)。
A)const int a;
B)const int a=10;
C)const int*point=0;
D)const int*point=new int(10);
(19)有如下程序:
#include<iostream>
using namespace std;
int main(){
int sum;
for(int i=0; i<6; i+=3){
sum=i;
for(int j = i; j<6; j++)sum+=j;
}
cout<<sum<<end1;
return 0;
}
運(yùn)行時(shí)的輸出結(jié)果是(D)。
A)3 B)10 C)12 D)15
(20)下列語(yǔ)句中,正確的是(A)。
A)char*myString="Hello-World!";
B)char myString="Hello-World!";
C)char myString[11]="Hello-World!";
D)char myString[12]="Hello-World!";
(21)若已經(jīng)聲明了函數(shù)原型“void fun(int a, double b=0.0);”,則下列重載函數(shù)聲明中正確的是(C)。
A)void fun(int a=90, double b=0.0);
B)int fun(int a, double B);
C)void fun(double a, int B);
D)bool fun(int a, double b = 0.0);
(22)有如下程序:
#include<iostream>
using namespace std;
class Sample{
public:
Sample(){}
~Sample(){cout<<'*';}
};
int main(){
Sample temp[2], *pTemp[2];
return 0;
}
執(zhí)行這個(gè)程序輸出星號(hào)(*)的個(gè)數(shù)為(B)。
A)1 B)2 C)3 D)4
(23)下列選項(xiàng)中,與實(shí)現(xiàn)運(yùn)行時(shí)多態(tài)性無(wú)關(guān)的是(A)。
A)重載函數(shù) B)虛函數(shù)
C)指針 D)引用
(24)下列運(yùn)算符函數(shù)中,肯定不屬于類 Value 的成員函數(shù)的是(B)。
A)Value operator+(Value);
B)Value operator-(Value, Value);
C)Value operator*(int);
D)Value operator/(Value);
(25)下列模板聲明中,有語(yǔ)法錯(cuò)誤的是(D)。
A)template<typename T>T fun(T x){return x;}
B)template<typename T>T fun(T x, int n){return x*n;}
C)template<class T>T fun(T *p){return *p;}
D)template<class T>T classA{T n;};
(26)在語(yǔ)句“cout<<'A';”中,cout 是(B)。
A)類名 B)對(duì)象名
C)函數(shù)名 D)C++的關(guān)鍵字
相關(guān)文檔推薦:
2011年3月全國(guó)計(jì)算機(jī)二級(jí)C++考試真題與答案
計(jì)算機(jī)全部等級(jí)考試
2011年9月計(jì)算機(jī)等級(jí)考試二級(jí)C++
2009年9月二級(jí)C++筆試
2010年3月計(jì)算機(jī)等級(jí)考試二級(jí)C++筆試
2010年9月全國(guó)計(jì)算機(jī)二級(jí)C++筆試
2008年9月二級(jí)C++筆試
2012年3月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C++
(27)有如下程序:
#include<iostream>
using namespace std;
class MyClass{
public:
MyClass(int i=0){cout<<1;}
MyClass(const MyClass&x){cout<<2;}
MyClass& operator=(const MyClass&x)
{cout<<3; return*this;}
~MyClass(){cout<<4;}
};
int main(){
MyClass obj1(1),obj2(2),obj3(obj1);
return 0:
}
運(yùn)行時(shí)的輸出結(jié)果是(A)。
A)112444 B)11114444
C)121444 D)11314444
(28)有如下程序:
#include<iostream>
using namespace std;
class MyClass{
public:
MyClass(int x):val(x){}
void Set(int x){val=x;}
void Print()const{cout<<"val="<<val<<'\t';}
private:
int val;
};
int main(){
const MyClass obj1(10);
MyClass obj2(20);
obj1.Print(); //語(yǔ)句 1
obj2.Print(); //語(yǔ)句 2
obj1.Set(20); //語(yǔ)句 3
obj2.Set(30); //語(yǔ)句 4
return 0;
}
其主函數(shù)中錯(cuò)誤的語(yǔ)句是(C)。
A)語(yǔ)句 1 B)語(yǔ)句 2
C)語(yǔ)句 3 D)語(yǔ)句 4
(29)在類聲明中,緊跟在“public:”后聲明的成員的訪問(wèn)權(quán)限是(B)。
A)私有 B)公有 C)保護(hù) D)默認(rèn)
(30)對(duì)于通過(guò)公有繼承定義的派生類,若其成員函數(shù)可以直接訪問(wèn)基類的某個(gè)成員,說(shuō)明該基類成員的訪問(wèn)權(quán)限是(D)。
A)公有或私有 B)私有
C)保護(hù)或私有 D)公有或保護(hù)
(31)定義派生類時(shí),若不使用關(guān)鍵字顯式地規(guī)定采用何種繼承方式,則默認(rèn)方式為(A)。
A)私有繼承 B)非私有繼承
C)保護(hù)繼承 D)公有繼承
(32)建立一個(gè)有成員對(duì)象的派生類對(duì)象時(shí),各構(gòu)造函數(shù)體的執(zhí)行次序?yàn)椋–)。
A)派生類、成員對(duì)象類、基類
B)成員對(duì)象類、基類、派生類
C)基類、成員對(duì)象類、派生類
D)基類、派生類、成員對(duì)象類
(33)如果表達(dá)式 a>=b 中的“>=”是作為非成員函數(shù)重載的運(yùn)算符,則可以等效地表示為(C)。
A)a.operator>=(b) B)b.operatotr>=(a)
C)operator>=(a,b) D)operator>=(b,a)
(34)當(dāng)使用 ofstream 流類定義一個(gè)流對(duì)象并打開(kāi)一個(gè)磁盤(pán)文件時(shí),文件的默認(rèn)打開(kāi)方式為(D)。
A)ios base::in
B)ios_base::binary
C)ios_base::in|ios_base::out
D)ios_base::out
(35)在一個(gè)抽象類中,一定包含有(B)。
A)虛函數(shù) B)純虛函數(shù)
C)模板函數(shù) D)重載函數(shù)
二、填空題(每空2分,共30分)
A
|
B
|
C
|
D
|
E
|
F
|
X
|
Y
|
Z
|
(1)對(duì)下列二叉樹(shù)進(jìn)行中序遍歷的結(jié)果_DBXEAYFZC_。
(2)按照軟件測(cè)試的一般步驟,集成測(cè)試應(yīng)在__單元__測(cè)試之后進(jìn)行。
(3)軟件工程三要素包括方法、工具和過(guò)程,其中,__過(guò)程__支持軟件開(kāi)發(fā)的各個(gè)環(huán)節(jié)的控制和管理。
(4)數(shù)據(jù)庫(kù)設(shè)計(jì)包括概念設(shè)計(jì)、_邏輯設(shè)計(jì)_和物理設(shè)計(jì)。
(5)在二維表中,元組的__分量__不能再分成更小的數(shù)據(jù)項(xiàng)。
(6)當(dāng)使用關(guān)鍵字__void__作為函數(shù)返回類型時(shí),該函數(shù)不返回任何值。
(7)已知數(shù)組 a 中有 n 個(gè)元素,下列語(yǔ)句將數(shù)組 a 中從下標(biāo) x1 開(kāi)始的 k 個(gè)元素移動(dòng)到從下標(biāo) x2 開(kāi)始的 k 個(gè)元素中,其中 0<=x1<x2<n,x2+k<n,請(qǐng)將下列語(yǔ)句補(bǔ)充完整。
for (int i = x1+k-1; i>=x1; i--)
a[_x2+k-1_]=a[i];
(8)有如下程序:
#include<iostream>
using namespace std;
int fun1(int x) {return++x;}
int fun2(int &x) {return++x;}
int main(){
int x=1,y=2;
y=fun 1(fun2(x));
cout<<x<<','<<y;
return 0:
}
程序的輸出結(jié)果是_2,3_。
相關(guān)文檔推薦:
2011年3月全國(guó)計(jì)算機(jī)二級(jí)C++考試真題與答案
計(jì)算機(jī)全部等級(jí)考試
2011年9月計(jì)算機(jī)等級(jí)考試二級(jí)C++
2009年9月二級(jí)C++筆試
2010年3月計(jì)算機(jī)等級(jí)考試二級(jí)C++筆試
2010年9月全國(guó)計(jì)算機(jī)二級(jí)C++筆試
2008年9月二級(jí)C++筆試
2012年3月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C++
(9)有如下程序:
#include<iostream>
using namespace std;
class pumpkin{
public:
pumpkin(){++count;}
~pumpkin(){--count;}
static void total_count(){
cout<<count<<"pumpkin(s)"<<endl;
}
private:
static int count;
};
int pumpkin::count=0;
int main(){
pumpkin pl[10];
pumpkin::total_count();
return 0;
}
這個(gè)程序的輸出結(jié)果是__10pumpkin(s)__。
(10)有如下遞歸函數(shù):
int Fun(int n){
if(n<=1) return 1;
__else return n*Fun(n-1);__
}
請(qǐng)補(bǔ)充完整,使得函數(shù) Fun 能夠正確計(jì)算形參 n 的階乘。
(11)請(qǐng)?jiān)谙铝谐绦蛑械目崭裉幪顚?xiě)正確的語(yǔ)句:
class Sample{
public:
Sample(){}
~Sample(){}
void SetData(int data)
{ //將 Sample 類成員變量 data 設(shè)置成形參的值
__Sample::data=data__ //注意形參與成員同名
}
private: int data;
};
(12)有如下類定義,請(qǐng)將Sample類的拷貝構(gòu)造函數(shù)補(bǔ)充完整。
class Sample{
public:
Sample(){)
~Sample() {if(p) delete p;)
Sample (const Sample& s){
__p=new int;*p=s.*p__
}
void SetData(int data) {p=new int(data);}
private:
int*p;
};
(13)重載加法運(yùn)算符“+”,其函數(shù)名是__operator +_。
(14)有如下程序:
#include<iostream>
using namespace std;
class Wages{ //“工資”類
double base; //基本工資
double bonus; //獎(jiǎng)金
double tax; //稅金
public:
Wages(double CBase, double CBonus,
double CTax)
:base(CBase), bonus(CBonus),
tax(CTax){}
double getPay()const; //返回應(yīng)付工資額
Wages operator+(Wages w)const; //重載加法
};
double Wages::getPay()const
{return base+bonus-tax;}
Wages Wages::operator+(Wages w)const
{ return Wages(base+w.base, bonus+w.bonus,
tax+w.tax);
}
int main(){
Wages wl(2000,500,100),w2(5000,1000,300);
cout<<(wl+w2).getPay()<<end1;
retun 0;
}
程序的輸出結(jié)果是__8100__
(15)有如下程序:
#include<iostream>
using namespace std;
class Pet{
char name[10];
public:
Pet(char*name){strcpy(this->name, name);}
const char*getName()const {return name;}
virtual void call()const=0;
};
class Dog: public Pet{
public:
Dog(char*name):Pet(name){}
void call()const{cout<<"汪汪叫";}
};
class Cat:public Pet{
public:
Cat(char*name):Pet(name){}
void call()const{cout<<"喵喵叫";}
};
int main(){
Pet *pet1=new Dog("哈克"),
*pet2=new Cat("吉米");
cout<<pet1->getName();
pet1->call();
cout<<end1;
cout<<pet2->getName();
pet2->call();
cout<<end1;
return 0;
}
程序的輸出結(jié)果是__哈克汪汪叫__
__吉米喵喵叫__
2008年9月二級(jí) C++筆試試卷參考答案
一、選擇題
(1)B)(2)D)(3)C)(4)A)(5)D)(6)B)(7)A)(8)B)(9)C)(10)D(11)A) (12)A)(13)C)(14)B)(15)D(16)B) (17)B)(18)D)(19)A)(20)D(21)C) (22)C)(23)A)(24)D)(25)C)(26)B) (27)C)(28)B)(29)A)(30)D(31)A) (32)C)(33)A)(34)B)(35)C)
二、填空題
(1)DBXEAYFZC
(2)單元
(3)過(guò)程
(4)邏輯設(shè)計(jì)
(5)分量
(6)void
(7)X2+k-1
(8)2,3
(9)10pumpkin(s)
(10)else return n*Fun(n-1);
(11)Sample::data
(12)p=new int; *p=s.*p;
(13)operator +
(14)8100
相關(guān)文檔推薦:
2011年3月全國(guó)計(jì)算機(jī)二級(jí)C++考試真題與答案
計(jì)算機(jī)全部等級(jí)考試
2011年9月計(jì)算機(jī)等級(jí)考試二級(jí)C++
2009年9月二級(jí)C++筆試
2010年3月計(jì)算機(jī)等級(jí)考試二級(jí)C++筆試
2010年9月全國(guó)計(jì)算機(jī)二級(jí)C++筆試
2008年9月二級(jí)C++筆試
2012年3月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C++
【9月計(jì)算機(jī)等級(jí)考試二級(jí)C++】相關(guān)文章:
2010年3月計(jì)算機(jī)等級(jí)考試二級(jí)C++筆試09-05
9月計(jì)算機(jī)等級(jí)考試二級(jí)Java試題10-29
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C++筆試真題10-11
計(jì)算機(jī)等級(jí)考試二級(jí)C++筆試選擇題06-27
2016年9月計(jì)算機(jī)二級(jí)《C++》機(jī)考試題及答案08-11
2010年9月計(jì)算機(jī)等級(jí)考試二級(jí)Java筆試真題09-29
2012年3月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C++09-29
2016年9月計(jì)算機(jī)二級(jí)《C++》上機(jī)題庫(kù)及答案09-01