- 相關(guān)推薦
2016年計(jì)算機(jī)二級(jí)C++筆試試題
2016年計(jì)算機(jī)二級(jí)考試就要開始了,同學(xué)們準(zhǔn)備得怎么樣了呢?下面跟yjbys小編一起來看看相關(guān)的考試題庫(kù),希望對(duì)大家的復(fù)習(xí)有所幫助!
一、選擇題(每小題2分,共70分)
下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的。請(qǐng)將正確選項(xiàng)填涂在答題卡相應(yīng)位置上,答在試卷上不得分。
(1)下列敘述中正確的是
A)線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)與順序存儲(chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間是相同的
B)線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間一般要多于順序存儲(chǔ)結(jié)構(gòu)
C)線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間一般要少于順序存儲(chǔ)結(jié)構(gòu)
D)上述三種說法都不對(duì)
(2)下列敘述中正確的是
A)在棧中,棧中元素隨棧底指針與棧頂指針的變化而動(dòng)態(tài)變化
B)在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動(dòng)態(tài)變化
C)在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動(dòng)態(tài)變化
D)上述三種說法都不對(duì)
(3)軟件測(cè)試的目的是
A)評(píng)估軟件可靠性
B)發(fā)現(xiàn)并改正程序中的錯(cuò)誤
C)改正程序中的錯(cuò)誤
D)發(fā)現(xiàn)程序中的錯(cuò)誤
(4)下面描述中,不屬于軟件危機(jī)表現(xiàn)的是
A)軟件過程不規(guī)范
B)軟件開發(fā)生產(chǎn)率低
C)軟件質(zhì)量難以控制
D)軟件成本不斷提高
(5)軟件生命周期是指
A)軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程
B)軟件從需求分析、設(shè)計(jì)、實(shí)現(xiàn)到測(cè)試完成的過程
C)軟件的開發(fā)過程
D)軟件的運(yùn)行維護(hù)過程
(6)面向?qū)ο蠓椒ㄖ校^承是指
A)一組對(duì)象所具有的相似性質(zhì)
B)一個(gè)對(duì)象具有另一個(gè)對(duì)象的性質(zhì)
C)各對(duì)象之間的共同性質(zhì)
D)類之間共享屬性和操作的機(jī)制
(7)層次型、網(wǎng)狀型和關(guān)系型數(shù)據(jù)庫(kù)劃分原則是
A)記錄長(zhǎng)度
B)文件的大小
C)聯(lián)系的復(fù)雜程度
D)數(shù)據(jù)之間的聯(lián)系方式
(8)一個(gè)工作人員可以使用多臺(tái)計(jì)算機(jī),而一臺(tái)計(jì)算機(jī)可被多個(gè)人使用,則實(shí)體工作人員、與實(shí)體計(jì)算機(jī)之間的聯(lián)系是
A)一對(duì)一
B)一對(duì)多
C)多對(duì)多
D)多對(duì)一
(9)數(shù)據(jù)庫(kù)設(shè)計(jì)中反映用戶對(duì)數(shù)據(jù)要求的模式是
A)內(nèi)模式
B)概念模式
C)外模式
D)設(shè)計(jì)模式
(10)有三個(gè)關(guān)系R、S和T如下:
則由關(guān)系R和S得到關(guān)系T的操作是
A)自然連接
B)交
C)投影
D)并
(11)下列關(guān)于函數(shù)參數(shù)的敘述中,正確的是
A)在函數(shù)原型中不必聲明形參類型
B)函數(shù)的實(shí)參和形參共享內(nèi)存空間
C)函數(shù)形參的生存期與整個(gè)程序的運(yùn)行期相向
D)函數(shù)的形參在函數(shù)被調(diào)用時(shí)獲得初始值
(12)下列關(guān)于對(duì)象初始化的敘述中,正確的是
A)定義對(duì)象的時(shí)候不能對(duì)對(duì)象進(jìn)行初始化
B)定義對(duì)象之后可以顯式地調(diào)用構(gòu)造函數(shù)進(jìn)行初始化
C)定義對(duì)象時(shí)將自動(dòng)調(diào)用構(gòu)造函數(shù)進(jìn)行初始化
D)在一個(gè)類中必須顯式地定義構(gòu)造函數(shù)實(shí)現(xiàn)初始化
(13)下列關(guān)于基類和派生類關(guān)系的敘述中,正確的是
A)每個(gè)類最多只能有一個(gè)直接基類
B)派生類中的成員可以訪問基類中的任何成員
C)基類的構(gòu)造函數(shù)必須在派生類的構(gòu)造函數(shù)體中調(diào)用
D)派生類除了繼承基類的成員,還可以定義新的成員
(14)下列關(guān)于賦值運(yùn)算符“=”重載的敘述中,正確的是
A)賦值運(yùn)算符只能作為類的成員函數(shù)重載
B)默認(rèn)的賦值運(yùn)算符實(shí)現(xiàn)了“深層復(fù)制”功能
C)重載的賦值運(yùn)算符函數(shù)有兩個(gè)本類對(duì)象作為形參
D)如果己經(jīng)定義了復(fù)制(拷貝)構(gòu)造函數(shù),就不能重載賦值運(yùn)算符
(15)下列關(guān)于模板的敘述中,正確的是
A)如果一個(gè)類中存在純虛函數(shù),這個(gè)類就是類模板
B)函數(shù)模板不能有形式參數(shù)表
C)類模板是一種參數(shù)化類型的類,是類的生成器
D)類模板中不能包含構(gòu)造函數(shù)
(16)下列關(guān)于C++預(yù)定義流對(duì)象的敘述中,正確的是
A)cin是C++預(yù)定義的標(biāo)準(zhǔn)輸入流對(duì)象
B)
cin是C++預(yù)定義的標(biāo)準(zhǔn)輸入流類
C)cout是C++預(yù)定義的標(biāo)準(zhǔn)輸入流對(duì)象
D)cout是C++預(yù)定義的標(biāo)準(zhǔn)輸入流類
(17)下列選項(xiàng)中,正確的C++標(biāo)識(shí)符是
A)6_group
B)group~6
C)age+3
D)_group_6
(18)下列選項(xiàng)中,正確的C++表達(dá)式是
A)counter++3 B)element3+ C)a+=b D)‘a‘=b
(19)下列循環(huán)語句中有語法錯(cuò)誤的是
A)int i; for( i=1; i<10;i++)cout<<‘*‘;
B)int i,j;for(i=1,j=0;i<10;i++,j++)cout<<‘*‘;
C)int i=0;for(;i<10;i++)cout<<‘ *‘;
D)for(1)cout<<‘*‘;
(20)下列定義語句中,錯(cuò)誤的是
A)int px*;
B)char*acp[10];
C)char(*pac)[10];
D)int(*p)();
(21)下列函數(shù)原型聲明中,錯(cuò)誤的是
A)int fnction(int m,int n);
B)int function(int,int);
C)int function(int m=3,int n);
D)int function(int &m,int&n);
(22)若MyClass為一個(gè)類,執(zhí)行“MyClass a[4],*p[5];”語句時(shí)會(huì)自動(dòng)調(diào)用該類構(gòu)造函數(shù)的次數(shù)是
A)2 B)5 C)4 D)9
(23)若在表達(dá)式y(tǒng)/x中,“/”是作為成員函數(shù)重載的運(yùn)算符,則該表達(dá)式還可以表示為
A)x.Operator/(Y)
B)operator/(x,Y)
C)Y.operator/(x)
D)operator/(y,x)
(24)若要重載+、=、<<、=和[]運(yùn)算符,則必須作為類成員重載的運(yùn)算符是
A)+和=
B)=和<<
C)==和<<
D)=和[]
(25)有函數(shù)模板聲明和一些變量定義如下:
template double dl,d2;
則下列調(diào)用中,錯(cuò)誤的是
A)sum B)sum(d1,d2);
C)sum(d1,d2);
D)sum(d1,d2);
(26)有如下語句序列:
char str[10];cin>>str;
當(dāng)從鍵盤輸入”I love this game”時(shí),str中的字符串是
A)"I love this game"
B)"I love thi"
C)"I love"
D)"I"
(27)有如下程序:
#include
#include
using std::cout;
class Point{
public:
friend double distance(const Point &p); //p距原點(diǎn)的距離
Point(int xx=0,int yy=0):x (xx),Y(YY){}//①
private:
Int x,Y;
。;
double distance(const Point &p) { //②
return sqrt(p.x*p.x+p.Y*p.Y);
。
int main(){
Point p1(3,4);
cout< return 0;
。
下列敘述中正確的是
A)程序編譯正確
B)程序編譯時(shí)語句①出錯(cuò)
C)程序編譯時(shí)語句②出錯(cuò)
D)程序編譯時(shí)語句③出錯(cuò)
(28)有如下程序:
#include
using namespace std;
class CD{
public:
~CD(){cout<<’C’;}
private:
char name[80];
。;
int main(){CD a,*b,d[2];return 0;}
運(yùn)行時(shí)的輸出結(jié)果是
A)CCCC B)CCC C)CC D)C
(29)某類中有一個(gè)無參且無返回值的常成員函數(shù)Show,則正確的Show函數(shù)原型是
A)const void Show();
B)void const Show();
C)void Show()const;
D)void Show(const);
(30)若已定義了類Vehicle,則下列派生類定義中,錯(cuò)誤的是
A)class Car:Vehicle{/*類體略*/},
B)class Car:public Car{/*類體略*/};
C)class Car:public Vehicle{/*類體略*/};
D)class Car:virtual public Vehicle{/*類體略*/};
(31)有如下程序:
#include
using namespace std;
class Music{
public:
void setTitle(char*str){strcpy(title,str);}
protected:
char type[10];
private:
char title[20];
。;
class Jazz:public Music{
public:
void set(char* str){
strcpy(type,"Jazz"); //①
strcpy(title,str); //②
}
。;
下列敘述中正確的是
A)程序編譯正確一 B)程序編譯時(shí)語句①出錯(cuò)
C)程序編譯時(shí)語句②出錯(cuò) D)程序編譯時(shí)語句①和②都出錯(cuò)
(32)有如下程序:
#include
using namespace std;
class Instrument{
public:
virtual void Display()=0;
。;
class Piano:public Instrument{
public:
void Display(){/*函數(shù)體程序略*/}
};
int, main(){
Instrument s;
Instrument*p=0;
//...;
return 0;
。
下列敘述中正確的是
A)語句“Insturment *p=0;”編譯時(shí)出錯(cuò)
B)語句“Instruments;”編譯時(shí)出錯(cuò)
C)類Piano中的Display函數(shù)不是虛函數(shù)
D)類Instrumen七是一個(gè)虛基類
(33)有類定義如下:氣
class Type {
public:
Type (int i=0);
Tvpe operator -(int);
friend Type operator + (Type, Type );
private:
int val;
若有對(duì)象定義Type cl;則下列語句序列中,錯(cuò)誤的是
A)Type(3)+c1; B)cl+Type(3);
C)3-cl; D)c1-3;
(34)有如下程序:
#include
#include
using namespace std;_
int main(){
Cout< Cout<<12.3456793<<_______<<98765;
return 0;
}
若程厚的輸出是12.345679x98765xxxxx,則劃線處缺失的部分是
A)setw(1
0) B)setfill('x') C)setprecision(8) D)right
(35)有如下程序:
#include
using namespace std;
class Book{
public:
Book(char* t=""){strcpy(titie,t); }
_____________________________
private:
Char title[40];
。;
class Novel:public Book{
public:
Novel(char*t=""):B00K (t){}
char*Category()const { return” "文學(xué)" }
};
int main(){
Book*pb;
pb=new Novel();
Cout
return 0;
。
若程序運(yùn)行時(shí)輸出結(jié)果是“文學(xué)”,則劃線處缺失的語句是
A)char* Category();
B)char*Category()const;
C)virtual char*Category()const;
D)virtual char*Category()const=0;
二、填空題(每空2分,共30分)
請(qǐng)將每一個(gè)空的正確答案寫在答題卡【1】-【15】序號(hào)的橫線上,答在試卷上不得分。注意:以命令關(guān)鍵字填空的必須拼寫完整。
(1)一個(gè)棧的初始狀態(tài)為空。首先將元素5,4,3,2,1 依次入棧,然后退棧一次,再將元素A,B,C,D依次入棧,之后將所有元素全部退棧,則所有元素退棧(包括中間退棧的元素)的順序?yàn)開_【1】__。
(2)在長(zhǎng)度為n的線性表中,尋找最大項(xiàng)至少需要比較___【2】___次。
(3)一棵二叉樹有10個(gè)度為1的結(jié)點(diǎn),7個(gè)度為2的結(jié)點(diǎn),則該二叉樹共有__【3】___個(gè)
結(jié)點(diǎn)。
(4)僅由順序、選擇(分支)和重復(fù)(循環(huán))結(jié)構(gòu)構(gòu)成的程序是_【4】__程序。
(5)數(shù)據(jù)庫(kù)設(shè)計(jì)的四個(gè)階段是:需求分析,概念設(shè)計(jì),邏輯設(shè)計(jì)和_【5】_。
(6)如果一個(gè)派生類只有一個(gè)直接基類,則該類的繼承方式稱為_【6】_繼承;如果一個(gè)派生類同時(shí)有多個(gè)直接基類,則該類的繼承方式稱為_【7】_繼承。
(7)運(yùn)算符“+”允許重載為類成員函數(shù),或者非成員函數(shù)。若用operator+(c1, c2)這樣的表達(dá)式來使用運(yùn)算符“+”,應(yīng)將“+”重載為_【8】_函數(shù)。
(8)下列程序的輸出是3,請(qǐng)?zhí)畛涑绦蛑械目杖,使該行形成一個(gè)運(yùn)算符重載函數(shù)的定義。
#include
using namespace std;
class MyNumber{
int n;
public:
MyNumber(int k):n(k){}
_【9】_int()const{return n,}
。;
int main(){
MyNumber numl(3);
Cout< return 0;
。
(9)下列程序的輸出結(jié)果是_【10】__。
#include
using namespace std;
class Base{
public:
int m,n;
Base(int i,int j):m(i),n(j){}
。;
class Derived:public Base{
public:
int m, k;
Derived(int i,int j):Base(i,j),m(i+1),k(j+1){}
。;
int main(){
Derived d(1;5);
Cout< return 0;
。
(10)根據(jù)程序中的注釋將下列缺失部分補(bǔ)充完整。
class A{
char*a;
public:
A():a(0){}
A(char *aa){//把a(bǔ)a所指字符串復(fù)制給a所指向的存儲(chǔ)空間
a=__【11】__char[strlen(aa)+1];
strcpy(a,aa);
}
~A(){delete[]a;}
。;
(11)根據(jù)程序中的注釋將下列缺失部分補(bǔ)充完整。
class Point{
int x, y; //點(diǎn)的x和y坐標(biāo)
public:
Point(int xx=0,int yy=。):x(xx),y(yy){}
};
class Circle{
Point center;//圓心位置
int radius; //半徑
public: //利用cx和cy分別初始化圓心的x和y坐標(biāo)
Circle(int cx;int cy,int r):__【12】__,radius(r){}
void area(){cout<<3.14159*radius*radius< };
(12)一網(wǎng)喂序的輸出結(jié)果是__【13】__。
#include
using namespace std;
class Base{
Int x;
Public:
Base(int b):x(b){}
virtual void display(){cout< };
class Derived:public Base{
Int y;
public:
Derived(int d):Base(d),y(d){}
void display(){cout< 。;
int main(){
Base b(1);Derived d(2);
Base*p=&d;
b .display();d.display();p一>display();
return 0;
}
(13)一個(gè)雙目運(yùn)算符作為類的成員函數(shù)重載時(shí),重載函數(shù)的參數(shù)表中有__【14】__個(gè)參數(shù)。
(14)派生類中的成員函數(shù)可以直接訪問基類中的公有成員和__【15】__成員。
【計(jì)算機(jī)二級(jí)C++筆試試題】相關(guān)文章:
計(jì)算機(jī)二級(jí)考試C++試題及答案10-08
2017計(jì)算機(jī)二級(jí)C++考試試題10-20
2016最新計(jì)算機(jī)二級(jí)C++上機(jī)試題及答案10-14
2016年計(jì)算機(jī)二級(jí)C++模擬試題及答案08-25
2017全國(guó)計(jì)算機(jī)二級(jí)C++考試試題06-20
2015年計(jì)算機(jī)二級(jí)《C++》考前沖刺試題09-29
2016計(jì)算機(jī)等級(jí)考試二級(jí)C++上機(jī)模擬試題及答案07-14