- 相關(guān)推薦
全國計算機二級C++語言程序設(shè)計選擇題練習(xí)試題
做試題是學(xué)習(xí)C語言程序設(shè)計課程過程中必不可少的環(huán)節(jié),下面就是小編跟大家分享全國計算機二級C++語言程序設(shè)計選擇題練習(xí)試題,歡迎大家閱讀!
1.從工程管理角度,軟件設(shè)計一般分為兩步完成,它們是( )。
A.概要設(shè)計與詳細設(shè)計
B.數(shù)據(jù)設(shè)計與接口設(shè)計
C.軟件結(jié)構(gòu)設(shè)計與數(shù)據(jù)設(shè)計
D.過程設(shè)計與數(shù)據(jù)設(shè)計
2.下列敘述中正確的是( )。
A.一個邏輯數(shù)據(jù)結(jié)構(gòu)只能有一種存儲結(jié)構(gòu)
B.數(shù)據(jù)的邏輯結(jié)構(gòu)屬于線性結(jié)構(gòu),存儲結(jié)構(gòu)屬于非線性結(jié)構(gòu)
C.一個邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲結(jié)構(gòu),且各種存儲結(jié)構(gòu)不影響數(shù)據(jù)處理的效率
D.一個邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲結(jié)構(gòu),且各種存儲結(jié)構(gòu)影響數(shù)據(jù)處理的效率
3.下列關(guān)于完全二叉樹的敘述中,錯誤的是( )。
A.除了最后一層外,每一層上的結(jié)點數(shù)均達到最大值
B.可能缺少若干個左右葉子結(jié)點
C.完全二叉樹一般不是滿二叉樹
D.具有結(jié)點的完全二叉樹的深度為[log2n]+1
4.如果進棧序列為e1、e2、e3、e4,則可能的出棧序列是( )。
A.e3、e1、e4、e2
B.e2、e4、e3、e1
C.e3、e4、e1、e2
D.任意順序
5.原因排除法屬于( )。
A.軟件調(diào)試方法
B.黑盒測試方法
C.白盒測試方法
D.動態(tài)測試方法
6.在E—R圖中,用來表示實體的圖形是( )。
A.矩形
B.橢圓形
C.菱形
D.三角形
7.下列數(shù)據(jù)模型中,具有堅實理論基礎(chǔ)的是( )。
A.層次模型
B.網(wǎng)狀模型
C.關(guān)系模型
D.以上3個都是
8.對長度為n的線性表進行順序查找,在最壞情況下所需要的比較次數(shù)為( )。
A.log2n
B.n/2
C.n
D.n+1
9.數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標識的圖符不屬于數(shù)據(jù)流圖合法圖符的是( )。
A.控制流
B.加工
C.數(shù)據(jù)存儲
D.源和潭
10.數(shù)據(jù)庫設(shè)計的根本目標是要解決( )。
A.數(shù)據(jù)共享問題
B.數(shù)據(jù)安全問題
C.大量數(shù)據(jù)存儲問題
D.簡化數(shù)據(jù)維護
11.以下選項中合法的實型常數(shù)是( )。
A.5E2.0
B.E—3
C.2EO
D.1.3E
12.下列字符串中可以用作C++語言標識符的是( )。
A.1234
B.foo~~bar
C.virtual
D.34var
13.下列關(guān)于C++函數(shù)的說明中,正確的是( )。
A.內(nèi)聯(lián)函數(shù)就是定義在另一個函數(shù)體內(nèi)部的函數(shù)
B.函數(shù)體的最后一條語句必須是return語句
C.標準C++要求在調(diào)用一個函數(shù)之前,必須先聲明其原型
D.編譯器會根據(jù)函數(shù)的返回值數(shù)型和參數(shù)表來區(qū)分函數(shù)的不同重載形式
14.若有如下語句
#include
voidmain( )
{
intx=3:
do{
x=X-2:
cout<}while(!(--x));
}
則上面程序段( )。
A.輸出的是1
B.輸出的是1和-2
C.輸出的是3和0
D.是死循環(huán)
15.有以下程序:
#include(iostream)
usingnamespacestd;
intmain( )
{
intx=15:
while(x>10&&x<50)
{
x++;
if(x/3)
{
x++;break;
}
}
cout
}
執(zhí)行后的輸出結(jié)果是( )。
A.15
B.16
C.17
D.18
16.以下程序中調(diào)用cin函數(shù)給變量a輸入數(shù)值的方法是錯誤的,其錯誤的原因是( )。
#include(iostream.h)
voidmain( )
{int*P,*q,a,b;
p=&a;
cout<<"inputa:";
cin>>P;
}
A.*P表示的是指針變量P的地址
B.P表示的是變量a的地址,而不是變量a的值
C.*P表示的是指針變量p的值
D.*P只能用來說明P是一個指針變量
17.下列有關(guān)拷貝構(gòu)造函數(shù)的描述中錯誤的是( )。
A.拷貝構(gòu)造函數(shù)是一種構(gòu)造函數(shù)
B.拷貝構(gòu)造函數(shù)與一般的構(gòu)造函數(shù)一樣,可以設(shè)置多個形參
C.每一個類中都必須有一個拷貝構(gòu)造函數(shù)
D.拷貝構(gòu)造函數(shù)的功能是用一個已知對象去初始化一個正在創(chuàng)建的對象
A.sqrt(cos(x))
B.sqrt(abs(cos(X*3.14/180)))
C.sqrt(abs(cos(X*(/180)))
D.sqrt(fabs(cos(x*3.14/180)))
19.函數(shù)swap(a,n)可完成對a數(shù)組從第1個元素到第n個元素兩兩交換。其中b[o]=1;b[1]=2;swap(b,2)。在運行調(diào)用函數(shù)中的語句后,b[0]和b[1]的值分別為( )。
A.1,1
B.1,2
C.2,2
D.2,1
20.有以下程序:
#include(iostream.h)
voidfun(inta,intb,intc)
{a=456,b=567,C=678;}
voidmain( )
{
intx=10,y=20,z=30;
fun(x,Y,z);
cout<}
輸出結(jié)果是( )。
A.30,20,10
B.10,20,30
C.456,567,678
D.678,567,456
21.下列定義中P指向的地址可更改,但*P不能夠更改的是( )。
A.constint*P;
B.int*constP;
C.constint*constP;
D.int*P;
22.如果表達式“--x/y”中的“--”和“/”是作為友元函數(shù)重載的運算符,采用運算符函數(shù)調(diào)用格式,該表達式還可以表示為( )。
A.operator/(X.operator--( ),y);
B.operator/(operator--(x),y);
C.X.operator--( ).operator/(y);
D.y.operator/operator--(x));
23.下列程序輸出的結(jié)果是( )。
#include
funl(chara,charb){charC;c=a;a=b;b=C;)
fun2(char*a,charb){charC;c=*a;*a=b;b=c;)
fun3(char*a,char*b){charC;C=*a;*a=*b;*b=C;)
voidmain( )
{
chara,b;
a=’A’;b=’B’;fun1(a,b);puta);putb);
a=’A’;b=’B’;fun2(&a,b);puta);putb);
a=’A’;b=’B’;fun3(&a,&b);puta);putb);
put’ ’);
}
A.BABBAB
B.ABBBBA
C.ABBABA
D.ABABBA
24.下面程序的結(jié)果是( )。
#include(iostream.h>
classA
{
inta;
public:
A( ):a(1){}
voidshowa( )(cout<};
classB
{
inta;
public:
B( ):a(2){}
voidshowa( ){cout<};
classC:publicA,publicB
{
inta;
public:
C( ):a(3){}
voidshowa( ){cout<};
voidmain( )
{
CC;
C.showa( );
}
A.1
B.2
C.3
D.程序有錯誤
25.有以下程序:
voidmain( )
{inta=5,b=4,c=3,d=2;
if(a>b>c)
cout=d)==1)
cout
cout<}
A.2
B.3
C.4
D.編譯時有錯,無結(jié)果
26.下列程序的執(zhí)行結(jié)果是( )。
#include(iostream.h>
#include
classTestClass
{
public:
intX,y;
TestClass( ){x=y=0;}
TestClass(inta,intb){x=a;y=b;}
voiddisp( )
{
cout<<"x="<};
classB{public:B( ){cout<<"B";}};
classC:publicA{
Bb;
public:
C( ){cout<<"C";}
};
intmain( ){Cobj;return0;}
執(zhí)行后的輸出結(jié)果是( )。
A.CBA
B.BAC
C.ACB
D.ABC
30.下列程序的運行結(jié)果是( )。
#include
intx=5:
intfun(inta)
{
intC;
C=X*a:
returnC;
}
voidmain( )
{
intx=3,a=4;
x=x+fun(a);
cout<<"x="<}
A.x=15B.x=17
C.x=23D.x=25
31.以下函數(shù)值的返回值類型是( )。
fun(floatx)
{floaty;
y=3*x-4;
returny;
}
A.int
B.不確定
C.void
D.float
32.以下循環(huán)體的執(zhí)行次數(shù)是( )。
voidmain( )
{inti,j;
for(i=0,j=1;i<=j+1;i+=2,j--)cout<}
A.3
B.2
C.1
D.0
33.判斷char型變量c是否為小寫字母的正確表達式是( )。
A.’a’<=c<=’z’
B.(c>=A)&&(c<=z)
C.(’a’>=c)‖(’z’<=c)
D.(c>=’a’)&&(c<=’z’)
34.下列描述中,抽象類的特性是( )。
A.可以說明虛函數(shù)
B.可以定義友元函數(shù)
C.可以進行構(gòu)造函數(shù)重載
D.不能說明其對象
35.以下關(guān)于友元函數(shù)的敘述不正確的是( )。
A.友元函數(shù)提供了類之間數(shù)據(jù)共享的一個途徑
B.一個友元函數(shù)可以訪問任何類的任何成員
C.友元函數(shù)破壞了數(shù)據(jù)的封裝
D.友元函數(shù)增加了程序設(shè)計的靈活性
36.下面關(guān)于運算符重載的描述錯誤的是( )。
A.運算符重載不能改變操作數(shù)的個數(shù)、運算符的優(yōu)先級、運算符的結(jié)合性和運算符的語法結(jié)構(gòu)
B.不是所有的運算符都可以進行重載
C.運算符函數(shù)的調(diào)用必須使用關(guān)鍵字0perator
D.在C++語言中不可通過運算符重載創(chuàng)造出新的運算符
37.與語句cout
B.cout<<’12’;
C.cout<<’xA’;
D.cout<<’