- 相關(guān)推薦
2016年計(jì)算機(jī)二級(jí)C++筆試試題
2016年計(jì)算機(jī)二級(jí)考試就要開始了,同學(xué)們準(zhǔn)備得怎么樣了呢?下面跟yjbys小編一起來看看相關(guān)的考試題庫,希望對大家的復(fù)習(xí)有所幫助!
一、選擇題(每小題2分,共70分)
下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xià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)上述三種說法都不對
(2)下列敘述中正確的是
A)在棧中,棧中元素隨棧底指針與棧頂指針的變化而動(dòng)態(tài)變化
B)在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動(dòng)態(tài)變化
C)在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動(dòng)態(tài)變化
D)上述三種說法都不對
(3)軟件測試的目的是
A)評估軟件可靠性
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)軟件的開發(fā)過程
D)軟件的運(yùn)行維護(hù)過程
(6)面向?qū)ο蠓椒ㄖ,繼承是指
A)一組對象所具有的相似性質(zhì)
B)一個(gè)對象具有另一個(gè)對象的性質(zhì)
C)各對象之間的共同性質(zhì)
D)類之間共享屬性和操作的機(jī)制
(7)層次型、網(wǎng)狀型和關(guān)系型數(shù)據(jù)庫劃分原則是
A)記錄長度
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)一對一
B)一對多
C)多對多
D)多對一
(9)數(shù)據(jù)庫設(shè)計(jì)中反映用戶對數(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)于對象初始化的敘述中,正確的是
A)定義對象的時(shí)候不能對對象進(jìn)行初始化
B)定義對象之后可以顯式地調(diào)用構(gòu)造函數(shù)進(jìn)行初始化
C)定義對象時(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è)本類對象作為形參
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ù)定義流對象的敘述中,正確的是
A)cin是C++預(yù)定義的標(biāo)準(zhǔn)輸入流對象
B)
cin是C++預(yù)定義的標(biāo)準(zhǔn)輸入流類
C)cout是C++預(yù)定義的標(biāo)準(zhǔn)輸入流對象
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;
若有對象定義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分)
請將每一個(gè)空的正確答案寫在答題卡【1】-【15】序號(hào)的橫線上,答在試卷上不得分。注意:以命令關(guān)鍵字填空的必須拼寫完整。
(1)一個(gè)棧的初始狀態(tài)為空。首先將元素5,4,3,2,1 依次入棧,然后退棧一次,再將元素A,B,C,D依次入棧,之后將所有元素全部退棧,則所有元素退棧(包括中間退棧的元素)的順序?yàn)開_【1】__。
(2)在長度為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ù)庫設(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,請?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全國計(jì)算機(jī)二級(jí)C++考試試題06-20
2015年計(jì)算機(jī)二級(jí)《C++》考前沖刺試題09-29
2016計(jì)算機(jī)等級(jí)考試二級(jí)C++上機(jī)模擬試題及答案07-14