- 相關(guān)推薦
2015年9月全國計算機等級考試二級C++預(yù)測卷
一、選擇題。在下列各題的A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確的選項涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。
(1)循環(huán)鏈表的主要優(yōu)點是
A)不再需要頭指針了
B)從表中任一結(jié)點出發(fā)都能訪問到整個鏈表
C)在進行插入、刪除運算時,能更好的保證鏈表不斷開
D)已知某個結(jié)點的位置后,能夠容易的找到它的直接前件
(2)棧底至棧頂依次存放元素A、B、C、D,在第五個元素E入棧前,棧中元素可以出棧,則出棧序列可能是
A)ABCED
B)DCBEA
C)DBCEA
D)CDABE
(3)n個頂點的強連通圖的邊數(shù)至少有
A)n-1
B)n(n-1)
C)n
D)n+1
(4)在結(jié)構(gòu)化程序設(shè)計思想提出之前,在程序設(shè)計中曾強調(diào)程序的效率。與程序的效率相比,人們更重視程序的
A)安全性
B)一致性
C)可理解性
D)合理性
(5)模塊獨立性是軟件模塊化所提出的要求,衡量模塊獨立性的度量標(biāo)準(zhǔn)則是模塊的
A)抽象和信息隱蔽
B)局部化和封裝化
C)內(nèi)聚性和耦合性
D)激活機制和控制方法
(6)軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成
A)定義、開發(fā)、運行維護
B)設(shè)計階段、編程階段、測試階段
C)總體設(shè)計、詳細設(shè)計、編程調(diào)試
D)需求分析、功能定義、系統(tǒng)設(shè)計
(7)在軟件工程中,白箱測試法可用于測試程序的內(nèi)部結(jié)構(gòu)。此方法將程序看做是
A)路徑的集合
B)循環(huán)的集合
C)目標(biāo)的集合
D)地址的集合
(8)在數(shù)據(jù)管理技術(shù)發(fā)展過程中,文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的主要區(qū)別是數(shù)據(jù)庫系統(tǒng)具有
A)特定的數(shù)據(jù)模型
B)數(shù)據(jù)無冗余
C)數(shù)據(jù)可共享
D)專門的數(shù)據(jù)管理軟件
(9)數(shù)據(jù)庫設(shè)計包括兩個方面的設(shè)計內(nèi)容,它們是
A)概念設(shè)計和邏輯設(shè)計
B)模式設(shè)計和內(nèi)模式設(shè)計
C)內(nèi)模式設(shè)計和物理設(shè)計
D)結(jié)構(gòu)特性設(shè)計和行為特性設(shè)計
(10)實體是信息世界中廣泛使用的一個術(shù)語,它用于表示
A)有生命的事物
B)無生命的事物
C)實際存在的事物
D)一切事物
(11)以下都是C++語言標(biāo)識符的是
A)dsfa,df4,f$
B)huhj,a^,k2
C)3k,h,j_9
D)_ok,jk,k8
(12)C++語言中用于定義類的關(guān)鍵字是
A)class
B)struct
C)default
D)sizeof
(13)設(shè)以下變量均為int類型,則值不等于7的表達式是
A)(x=y=6,x+y,x+1)
B)(x=y=6,x+y,y+1)
C)(x=6,x+1,y=6,x+y)
D)(y=6,y+1,x=y,x+1)
(14)以下程序的輸出結(jié)果是
#include
void main()
{ int a=21,b=11;
cout << --a+b;}
A)30
B)31
C)32
D)33
(15)while 和do-while循環(huán)的主要區(qū)別是
A)do-while的循環(huán)體至少無條件執(zhí)行一次
B)while的循環(huán)控制條件比do-while的循環(huán)控制條件更嚴格
C)do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)
D)do-while 的循環(huán)體不能是復(fù)合語句
(16)與 y=(x>0?1:x<0?-1:0);的功能相同的if語句是
A)if (x>0)y=1;
else if(x<0)y=-1;
else y=0;
B)if(x)
if(x>0)y=1;
else if(x<0)y=-1;
C)y=-1;
if(x)
if(x>0)y=1;
else if(x==0)y=0;
else y=-1;
D)y=0;
if(x>=0)
if(x>0)y=1;
else y=-1;
(17)若二維數(shù)組a有m列,則計算任一元素a[i][j]在數(shù)組中相對位置的公式為 (假設(shè)a[0][0]位于數(shù)組的第一個位置上)
A)i*m+j
B)j*m+i
C)i*m+j-1
D)i*m+j+1
(18)下面程序段的運行結(jié)果是
#include
void main()
{ char *s="abcde";
s+=2;
cout << &s;}
A)cde
B)字符′c′
C)字符′c′的地址
D)無確定的輸出結(jié)果
(19)下面敘述不正確的是
A)派生類一般都用公有派生
B)對基類成員的訪問必須是無兩義性的
C)賦值兼容規(guī)則也適用于多重繼承的組合
D)基類的公有成員在派生類中仍然是公有的
(20)下面程序應(yīng)能對兩個整型變量的值進行交換。以下正確的說法是
#include
void swap(int p,int q)
{ int t;
t=p;
p=q;
q=t;}
void main()
{ int a=10,b=20;
cout << a << " " << b;
swap(&a,&b);
cout << a << " " << b;}
A)該程序完全正確
B)該程序有錯,只要將語句swap(&a,&b);中的參數(shù)改為a,b即可
C)該程序有錯,只要將swap()函數(shù)中的形參p和q以及t均定義為指針(執(zhí)行語句不變)即可
D)以上說法都不對
(21)關(guān)于友元的概念錯誤的是
A)友元函數(shù)沒有this指針
B)調(diào)用友元函數(shù)時必須在它的實參中給出要訪問的對象
C)一個類的成員函數(shù)也可以作為另一個類的友元函數(shù)
D)只能在類的公有段聲明友元
(22)關(guān)于抽象類下面說法正確的是
A)抽象類就是其中有函數(shù)定義但沒有實現(xiàn)的類
B)抽象類是可以被實例化的
C)派生類不能成為抽象類
D)抽象類的子類必須實現(xiàn)父類中的純虛函數(shù)
(23)下面程序的結(jié)果是
#include
class test { private:
int num;
public:
test();
int getint(){return num;}
~test();};
test :: test()
{ num =0;}
test::~test()
{ cout<<"Destructor is active"< void main()
{ test x[3];
cout<<"Exiting main"< A)Exiting main
Destructor is active
Destructor is active
Destructor is active
B)Exiting main
Destructor is active
Destructor is active
C)Exiting main
Destructor is active
D)Exiting main
(24)如果表達式--x+y中,--是作為成員函數(shù)重載的, +是作為成員函數(shù)重載的,則該表達式還可為
A)y.operator+(x.operator--(0))
B)y.operator+(x.operator--())
C)y.operator+(operator--(x,0))
D)operator+(x.operator--())
(25)下列語句不能夠用于打開C根目錄下文件test.txt的語句是
A)ifstream fin; fin.open("C:\\test.txt");
B)ifstream fin("C:\\test.txt");
C)A)和B)
D)ifstream fin; fin("C:\\test.txt");
(26)以下哪個基類中的成員函數(shù)表示純虛函數(shù)?
A)virtual void vf (int)
B)void vf (int)=0
C)virtual void vf(=0)
D)virtual void yf(int){ }
(27)下面程序輸出的結(jié)果是
#include
void main()
{ int i;
int a[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)
cout << a[i][i] << " ";}
A)1 5 9
B)7 5 3
C)3 5 7
D)5 9 1
(28)派生類繼承基類的方式有
A)public
B)private
C)protected
D)以上都對
(29)下列程序的運行結(jié)果為
#include
class Location {
protected:
int X, Y;
public:
void SetX(int myx){X=myx;}
void SetY(int myy){Y=myy;}
void showxy(){cout << "X=" << X << " " << "Y=" << Y < class Rectangle : public Location{
private:
int H, W;
public:
void SetH(int myh){H=myh;}
void SetW(int myw){W=myw;}
void show(){ cout << "X=" << X << " " << "Y=" << " " << Y << " " << "H=" << H << " " << "W=" << W << endl;}};
void main()
{ Rectangle r1;
r1.SetX (3);
r1.SetY (5);
r1.SetH (4);
r1.SetW (6);
r1.showxy();
r1.show();}
A)X=3 Y=5
X=3 Y=5 H=4 W=6
B)X=3 Y=5
X=3 Y=5 H=3 W=6
C)X=3 Y=5
X=3 Y=4 H=4 W=6
D)X=3 Y=5
X=3 Y=3 H=4 W=6
(30)有以下程序
#include
void ss(char *s,char t)
{ while(*s)
{ if(*s==t)*s=t-′a′+′A′;
s++;}}
void main()
{ char str1[100]="abcddfefdbd",c=′d′;
ss(str1,c); cout << str1;}
程序運行后的輸出結(jié)果是
A)ABCDDEFEDBD
B)abcDDfefDbD
C)abcAAfefAbA
D)Abcddfefdbd
(31)有以下程序
#include
void main()
{ int a=5,b=0,c=0;
if(a=b+c)cout << "***"< else cout << "$$$"< 下列選項敘述正確的是
A)有語法錯不能通過編譯
B)可以通過編譯但不能通過連接
C)輸出***
D)輸出$$$
(32)已知各變量的定義如下
int i=8,k,a,b;
unsigned long w=5;
double x=1.42,y=5.2;
則以下符合C++語言語法的表達式是
A)a+=a-=(b=4)*(a=3)
B)a=a*3+2
C)x%(-3)
D)y=float i
(33)以下程序中循環(huán)體總的執(zhí)行次數(shù)是
int i,j;
for(i=6;i>1;i--)
for(j=0;j {……}
A)20
B)261
C)15
D)25
(34)對于下面的程序,說法正確的是
#include
void main()
{ int x=3,y=4,z=2;
if(x=y+z)cout << "x=y+z";
else cout << "x!=y+z";}
A)不能通過編譯
B)輸出6
C)輸出x!=y+z
D)輸出x=y+z
(35)下列程序的輸出結(jié)果是
#include
void main()
{ int a[3],i,j,k=2;
for(i=0;i<3;i++)a[i]=i;
for(i=0;i for(j=0;j a[j]=a[i];
cout << a[2];}
A)2
B)3
C)1
D)0
二、填空題。請將每一個空的正確答案寫在答題卡序號的橫線上,答在試卷上不給分。
(1)常用的黑箱測試有等價分類法、 1 、因果圖法和錯誤推測法4種。
(2)測試的目的是暴露錯誤,評價程序的可靠性;而 2 的目的是發(fā)現(xiàn)錯誤的位置并改正錯誤。
(3)軟件維護活動包括以下幾類:改正性維護、適應(yīng)性維護、 3 維護和預(yù)防性維護。
(4)在面向?qū)ο蟮脑O(shè)計中,用來請求對象執(zhí)行某一處理或回答某些信息的要求稱為 4 。
(5)關(guān)鍵字ASC和DESC分別表示 5 的含義。
(6)C++語言中表示雙精度浮點數(shù)的關(guān)鍵字是 6 。
(7)執(zhí)行下列語句后,c3中的值為 7
int c1=1,c2=2,c3;c3=1.0/c2*c1;
(8)若從鍵盤輸入70,則以下程序輸出的結(jié)果是 8 。
#include
void main()
{ int a;cin >> a;
if(a>50)cout << a;
if(a>40)cout << a;
if(a>30)cout << a;}
(9)以下程序的輸出結(jié)果是 9 。
#include
void main()
{ char s[]="abcdef";s[3]=′\0′;
cout << s << endl;}
(10)以下程序運行后的輸出結(jié)果是 10 。
#include
void fun(int x,int y)
{ x=x+y;y=x-y;x=x-y;
cout << x << "," << y << ","; }
void main()
{ int x=2,y=3;fun(x,y);
cout << x << "," << y << endl;}
(11)常數(shù)據(jù)成員和靜態(tài)數(shù)據(jù)成員在使用前共同的要求是要進行 11 。
(12)在類的定義中,用于為對象分配內(nèi)存空間,對類的數(shù)據(jù)成員進行初始化并執(zhí)行其他內(nèi)部管理操作的函數(shù)是 12 。
(13)表達式x.operator+(y.operator++(0))還可以寫成 13 。
(14)要采用"cin,cout"進行輸入輸出時,必須包含的頭文件是 14 。
(15)構(gòu)造函數(shù)是和 15 同名的函數(shù)。
【9月全國計算機等級考試二級C++預(yù)測卷】相關(guān)文章:
全國計算機二級考試《C++》筆試樣卷06-12
全國計算機等級考試二級C++筆試真題10-11
2015下半年全國計算機考試二級C++預(yù)測卷答案及解析10-05
3月全國計算機等級考試二級C++筆試真題10-11
2015全國計算機等級考試二級C++語言程序設(shè)計考試大綱11-04
全國計算機二級考試C++真題09-20
全國計算機二級考試C++精選試題及答案08-17