2015年計(jì)算機(jī)二級(jí)C++模擬試題(二)
一、選擇題
在下列各題的A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確的選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。
(1)循環(huán)鏈表的主要優(yōu)點(diǎn)是
A)不再需要頭指針了
B)從表中任一結(jié)點(diǎn)出發(fā)都能訪問到整個(gè)鏈表
C)在進(jìn)行插入、刪除運(yùn)算時(shí),能更好的保證鏈表不斷開
D)已知某個(gè)結(jié)點(diǎn)的位置后,能夠容易的找到它的直接前件
(2)棧底至棧頂依次存放元素A、B、C、D,在第五個(gè)元素E入棧前,棧中元素可以出棧,則出棧序列可能是
A)ABCED
B)DCBEA
C)DBCEA
D)CDABE
(3)n個(gè)頂點(diǎn)的強(qiáng)連通圖的邊數(shù)至少有
A)n-1
B)n(n-1)
C)n
D)n+1
(4)在結(jié)構(gòu)化程序設(shè)計(jì)思想提出之前,在程序設(shè)計(jì)中曾強(qiáng)調(diào)程序的效率。與程序的效率相比,人們更重視程序的
A)安全性
B)一致性
C)可理解性
D)合理性
(5)模塊獨(dú)立性是軟件模塊化所提出的要求,衡量模塊獨(dú)立性的度量標(biāo)準(zhǔn)則是模塊的
A)抽象和信息隱蔽
B)局部化和封裝化
C)內(nèi)聚性和耦合性
D)激活機(jī)制和控制方法
(6)軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成
A)定義、開發(fā)、運(yùn)行維護(hù)
B)設(shè)計(jì)階段、編程階段、測(cè)試階段
C)總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編程調(diào)試
D)需求分析、功能定義、系統(tǒng)設(shè)計(jì)
(7)在軟件工程中,白箱測(cè)試法可用于測(cè)試程序的內(nèi)部結(jié)構(gòu)。此方法將程序看做是
A)路徑的集合
B)循環(huán)的集合
C)目標(biāo)的集合
D)地址的集合
(8)在數(shù)據(jù)管理技術(shù)發(fā)展過程中,文件系統(tǒng)與數(shù)據(jù)庫(kù)系統(tǒng)的主要區(qū)別是數(shù)據(jù)庫(kù)系統(tǒng)具有
A)特定的數(shù)據(jù)模型
B)數(shù)據(jù)無冗余
C)數(shù)據(jù)可共享
D)專門的數(shù)據(jù)管理軟件
(9)數(shù)據(jù)庫(kù)設(shè)計(jì)包括兩個(gè)方面的設(shè)計(jì)內(nèi)容,它們是
A)概念設(shè)計(jì)和邏輯設(shè)計(jì)
B)模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)
C)內(nèi)模式設(shè)計(jì)和物理設(shè)計(jì)
D)結(jié)構(gòu)特性設(shè)計(jì)和行為特性設(shè)計(jì)
(10)實(shí)體是信息世界中廣泛使用的一個(gè)術(shù)語,它用于表示
A)有生命的事物
B)無生命的事物
C)實(shí)際存在的事物
D)一切事物
(11)以下都是C++語言標(biāo)識(shí)符的是
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的表達(dá)式是
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)控制條件更嚴(yá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列,則計(jì)算任一元素a[i][j]在數(shù)組中相對(duì)位置的公式為 (假設(shè)a[0][0]位于數(shù)組的第一個(gè)位置上)
A)i*m+j
B)j*m+i
C)i*m+j-1
D)i*m+j+1
(18)下面程序段的運(yùn)行結(jié)果是
#include
void main()
{ char *s="abcde";
s+=2;
cout << &s;}
A)cde
B)字符′c′
C)字符′c′的地址
D)無確定的輸出結(jié)果
(19)下面敘述不正確的是
A)派生類一般都用公有派生
B)對(duì)基類成員的訪問必須是無兩義性的
C)賦值兼容規(guī)則也適用于多重繼承的組合
D)基類的公有成員在派生類中仍然是公有的
(20)下面程序應(yīng)能對(duì)兩個(gè)整型變量的值進(jìn)行交換。以下正確的說法是
#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)該程序有錯(cuò),只要將語句swap(&a,&b);中的參數(shù)改為a,b即可
C)該程序有錯(cuò),只要將swap()函數(shù)中的形參p和q以及t均定義為指針(執(zhí)行語句不變)即可
D)以上說法都不對(duì)
(21)關(guān)于友元的概念錯(cuò)誤的是
A)友元函數(shù)沒有this指針
B)調(diào)用友元函數(shù)時(shí)必須在它的實(shí)參中給出要訪問的對(duì)象
C)一個(gè)類的成員函數(shù)也可以作為另一個(gè)類的友元函數(shù)
D)只能在類的公有段聲明友元
(22)關(guān)于抽象類下面說法正確的是
A)抽象類就是其中有函數(shù)定義但沒有實(shí)現(xiàn)的類
B)抽象類是可以被實(shí)例化的
C)派生類不能成為抽象類
D)抽象類的子類必須實(shí)現(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"< P>
{ test x[3];
cout<<"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)如果表達(dá)式--x+y中,--是作為成員函數(shù)重載的, +是作為成員函數(shù)重載的,則該表達(dá)式還可為
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)以下哪個(gè)基類中的成員函數(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)以上都對(duì)
(29)下列程序的運(yùn)行結(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 <>
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;}
程序運(yùn)行后的輸出結(jié)果是
A)ABCDDEFEDBD
B)abcDDfefDbD
C)abcAAfefAbA
D)Abcddfefdb
31)有以下程序
#include
void main()
{ int a=5,b=0,c=0;
if(a=b+c)cout << "***"<< ?$$$?<下列選項(xiàng)敘述正確的是<>
A)有語法錯(cuò)不能通過編譯
B)可以通過編譯但不能通過連接
C)輸出***
D)輸出$$$
(32)已知各變量的定義如下
int i=8,k,a,b;
unsigned long w=5;
double x=1.42,y=5.2;
則以下符合C++語言語法的表達(dá)式是
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)對(duì)于下面的程序,說法正確的是
#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;ifor(j=0;ja[j]=a[i];
cout << a[2];}
A)2
B)3
C)1
D)0
二、填空題
請(qǐng)將每一個(gè)空的正確答案寫在答題卡序號(hào)的橫線上,答在試卷上不給分。
(1)常用的黑箱測(cè)試有等價(jià)分類法、 1 、因果圖法和錯(cuò)誤推測(cè)法4種。
(2)測(cè)試的目的是暴露錯(cuò)誤,評(píng)價(jià)程序的可靠性;而 2 的目的是發(fā)現(xiàn)錯(cuò)誤的位置并改正錯(cuò)誤。
(3)軟件維護(hù)活動(dòng)包括以下幾類:改正性維護(hù)、適應(yīng)性維護(hù)、 3 維護(hù)和預(yù)防性維護(hù)。
(4)在面向?qū)ο蟮脑O(shè)計(jì)中,用來請(qǐng)求對(duì)象執(zhí)行某一處理或回答某些信息的要求稱為 4 。
(5)關(guān)鍵字ASC和DESC分別表示 5 的含義。
(6)C++語言中表示雙精度浮點(diǎn)數(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)以下程序運(yùn)行后的輸出結(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ù)成員在使用前共同的要求是要進(jìn)行 11 。
(12)在類的定義中,用于為對(duì)象分配內(nèi)存空間,對(duì)類的數(shù)據(jù)成員進(jìn)行初始化并執(zhí)行其他內(nèi)部管理操作的函數(shù)是 12 。
(13)表達(dá)式x.operator+(y.operator++(0))還可以寫成 13 。
(14)要采用"cin,cout"進(jìn)行輸入輸出時(shí),必須包含的頭文件是 14 。
(15)構(gòu)造函數(shù)是和 15 同名的函數(shù)。
【計(jì)算機(jī)二級(jí)C++模擬試題二】相關(guān)文章:
計(jì)算機(jī)二級(jí)C++模擬試題及答案09-22
計(jì)算機(jī)二級(jí)C++模擬題及答案05-12
2017計(jì)算機(jī)二級(jí)C++模擬題及答案06-22
全國(guó)計(jì)算機(jī)二級(jí)《C++》上機(jī)試題及答案08-15
計(jì)算機(jī)二級(jí)《MSOffice》全真模擬試題09-29