一、選擇題
在下列各題的A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確的選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。
(1)最簡(jiǎn)單的交換排序方法是
A)快速排序
B)選擇排序
C)堆排序
D)冒泡排序
(2)棧通常采用的兩種存儲(chǔ)結(jié)構(gòu)是
A)線性存儲(chǔ)結(jié)構(gòu)和鏈表存儲(chǔ)結(jié)構(gòu)
B)散列方式和索引方式
C)鏈表存儲(chǔ)結(jié)構(gòu)和數(shù)組
D)線性存儲(chǔ)結(jié)構(gòu)和非線性存儲(chǔ)結(jié)構(gòu)
(3)線性表的順序存儲(chǔ)結(jié)構(gòu)和線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)分別是
A)順序存取的存儲(chǔ)結(jié)構(gòu)、順序存取的存儲(chǔ)結(jié)構(gòu)
B)隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)、順序存取的存儲(chǔ)結(jié)構(gòu)
C)隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)、隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)
D)任意存取的存儲(chǔ)結(jié)構(gòu)、任意存取的存儲(chǔ)結(jié)構(gòu)
(4)完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征,而只是根據(jù)程序功能導(dǎo)出測(cè)試用例的測(cè)試方法是
A)黑箱測(cè)試法
B)白箱測(cè)試法
C)錯(cuò)誤推測(cè)法
D)安裝測(cè)試法
(5)在結(jié)構(gòu)化設(shè)計(jì)方法中,生成的結(jié)構(gòu)圖(SC)中,帶有箭頭的連線表示
A)模塊之間的調(diào)用關(guān)系
B)程序的組成成分
C)控制程序的執(zhí)行順序
D)數(shù)據(jù)的流向
(6)下列選項(xiàng)中,不屬于模塊間耦合的是
A)數(shù)據(jù)耦合
B)同構(gòu)耦合
C)異構(gòu)耦合
D)公用耦合
(7)一個(gè)關(guān)系中屬性個(gè)數(shù)為1時(shí),稱此關(guān)系為
A)對(duì)應(yīng)關(guān)系
B)單一關(guān)系
C)一元關(guān)系
D)二元關(guān)系
(8)為用戶與數(shù)據(jù)庫(kù)系統(tǒng)提供接口的語(yǔ)言是
A)高級(jí)語(yǔ)言
B)數(shù)據(jù)描述語(yǔ)言(DDL)
C)數(shù)據(jù)操縱語(yǔ)言(DML)
D)匯編語(yǔ)言
(9)相對(duì)于數(shù)據(jù)庫(kù)系統(tǒng),文件系統(tǒng)的主要缺陷有數(shù)據(jù)關(guān)聯(lián)差、數(shù)據(jù)不一致性和
A)可重用性差
B)安全性差
C)非持久性
D)冗余性
(10)需求分析階段的任務(wù)是確定
A)軟件開發(fā)方法
B)軟件開發(fā)工具
C)軟件開發(fā)費(fèi)用
D)軟件系統(tǒng)功能
?。?1)以下哪個(gè)特征不是面向?qū)ο笏枷胫械闹饕卣鳎?BR> A)多態(tài)
B)繼承
C)封裝
D)垃圾回收
(12)以下哪個(gè)不是C++語(yǔ)言中的有效標(biāo)識(shí)符?
A)34a
B)_AB
C)A_B
D)A25
(13)C++中運(yùn)算符優(yōu)先級(jí)由高到低排列正確的是
A):: ++ + ||
B)< * || ,
C)sizeof % + ::
D), && new sizeof
(14)下面程序的運(yùn)行結(jié)果是
#include"iostream.h"
#define sum(a,b)a*b
void main()
{ int x;
x=sum(1+2,3);
cout< }
A)0
B)9
C)7
D)5
(15)以下for語(yǔ)句中不是死循環(huán)的是
A)for(int i=0;i<1;++i);
B)for(int i=0;;++i);
C)for(int i=1;i>0;++i);
D)for( ; ; );
(16)關(guān)于continue語(yǔ)句敘述不正確的是
A)continue語(yǔ)句用于循環(huán)體中,結(jié)束循環(huán)
B)continue語(yǔ)句用于循環(huán)體中,它使執(zhí)行流跳出循環(huán)體中尚未執(zhí)行的語(yǔ)句,并進(jìn)行下一循環(huán)判斷
C)continue可以用于if語(yǔ)句中
D)continue語(yǔ)句不能代替break語(yǔ)句
(17)以下定義數(shù)組中錯(cuò)誤的是
A)int a[10];
B)int a[2][20];
C)int a[20][ ];
D)int a[];
(18)下面程序的執(zhí)行結(jié)果是
#include"iostream.h"
void main()
{ int *p,r;
p = new int;
*p = 20;
r=sizeof(*p);
cout< delete p;
}
A)程序錯(cuò)誤
B)內(nèi)存為20地址的大小
C)20
D)4
(19)下面程序錯(cuò)誤的語(yǔ)句是
#include "iostream.h"
① void main()
② {
③ int A = 0;
④ int & B;
⑤ B = A;
⑥ cout << B;
⑦ cout << A;
⑧ }
A)②
B)③
C)④
D)⑥
(20)下列程序的輸出結(jié)果是
#include "iostream"
using namespace std;
int Max( int a, int b )
{
if( a > b)
return a;
else
return b;
}
void main()
{
int m, n;
m =10,n=5;
int max = Max( m, n );
cout << max << endl;
}
A)10
B)程序有誤
C)1
D)0
?。?1)函數(shù)int test( int a , int b=1, int c = 0),下列調(diào)用不合法的個(gè)數(shù)是
test( 0 );test( 0, 0 );test( );test( 0, 0, 0 );
A)0
B)1
C)2
D)3
(22)C++語(yǔ)言中類定義中默認(rèn)的訪問(wèn)權(quán)限是
A)public
B)protected
C)private
D)default
(23)C++語(yǔ)言中關(guān)于構(gòu)造函數(shù)的說(shuō)法正確的是
A)構(gòu)造函數(shù)的函數(shù)名不必和類名相同
B)構(gòu)造函數(shù)只能每一個(gè)
C)每個(gè)類必定有構(gòu)造函數(shù)
D)構(gòu)造函數(shù)必有返回值
(24)關(guān)于構(gòu)造函數(shù)A()的拷貝構(gòu)造函數(shù)正確的是
A)A( A *B );
B)A( A B );
C)A( A & B );
D)A( A );
(25)下面程序的執(zhí)行結(jié)果為
#include "iostream"
using namespace std;
class A
{
int a;
public:
void Seta( int x ){ a = x;}
void Display_a(){ cout << a << endl; }
};
class B
{
int b;
public:
void Setb( int x ){ b = x;}
void Dispaly_b(){ cout << b << endl; }
};
class C : public A, private B
{
private:
int c;
public:
void Setc( int x, int y, int z )
{ c = z; Seta( x ); Setb( y ); }
void Display_c(){ cout << c << endl; }
};
① void main()
② {
③ C cc;
④ cc.Seta( 1 );
⑤ cc.Display_a();
⑥ cc.Setc( 2, 2, 3 );
⑦ cc.Dispaly_b();
⑧ cc.Display_c();
}
A)輸出為223
B)有錯(cuò)誤在第5行
C)輸出為123
D)有錯(cuò)誤在第7行
(26)虛函數(shù)必須是類的
A)成員函數(shù)
B)友元函數(shù)
C)構(gòu)造函數(shù)
D)析構(gòu)函數(shù)
(27)多態(tài)性指的是
A)以任何方式調(diào)用一個(gè)虛函數(shù)
B)以任何方式調(diào)用一個(gè)純虛函數(shù)
C)借助于指向?qū)ο蟮幕愔羔樆蛞谜{(diào)用一個(gè)虛函數(shù)
D)借助于指向?qū)ο蟮幕愔羔樆蛞谜{(diào)用一個(gè)純虛函數(shù)
(28)不能重載的運(yùn)算符是
A)new
B)sizeof
C).*
D)++
(29)只能作為成員函數(shù)重載的是
A)=
B)++
C)*
D)new
(30)關(guān)于模板下列說(shuō)法不正確的是
A)用類模板定義一個(gè)對(duì)象時(shí),不能省略實(shí)參
B)類模板只能有虛擬類型參數(shù)
C)類模板本身在編譯中不會(huì)生成任何代碼
D)類模板的成員函數(shù)都是模板函數(shù)
?。?1)語(yǔ)句cout << setprecision (2)<< 1024.4567;的輸出結(jié)果為
A)1024.4567
B)1024
C)1024.45
D)1e+003
(32)下面程序的結(jié)果為
#include"iostream.h"
void change( int a, int b )
{
int temp;
temp = a;
a = b;
b = temp;
}
void main()
{
int m, n;
m = 8;
n = 9;
change( m, n );
cout << m << " " << n << endl;
}
A)8 9
B)9 8
C)程序有錯(cuò)誤
D)9 9
(33)下面程序的結(jié)果是
#include "iostream.h"
void main()
{
char *str;
str = "test!";
cout << str[5];
}
A)程序錯(cuò)誤
B)!
C)′\0′
D)為空字符
(34)下面程序輸出的結(jié)果為
#include "iostream.h"
class A
{
public:
A(){ cout << "CLASS A" << endl; }
~A(){}
};
class B : public A
{
public:
B(){ cout << "CLASS B" << endl; }
~B(){}
};
void main()
{
A *p;
p = new B;
B *q;
q = new B;
}
A)CLASS A
CLASS B
B)CLASS A
CLASS B
CLASS B
C)CLASS A
CLASS B
CLASS A
CLASS B
D)CLASS A
CLASS B
CLASS B
CLASS B
(35)C++語(yǔ)言函數(shù)中不能由系統(tǒng)自動(dòng)生成的是
A)析構(gòu)函數(shù)
B)構(gòu)造函數(shù)
C)內(nèi)聯(lián)函數(shù)
D)拷貝構(gòu)造函數(shù)
二、填空題
請(qǐng)將每一個(gè)空的正確答案寫在答題卡序號(hào)的橫線上,答在試卷上不給分。
(1)棧和隊(duì)列通常采用的存儲(chǔ)結(jié)構(gòu)是 1 。
(2)在程序設(shè)計(jì)階段應(yīng)該采取 2 和逐步求精的方法,把一個(gè)模塊的功能逐步分解,細(xì)化為一系列具體的步驟,進(jìn)而用某種程序設(shè)計(jì)語(yǔ)言寫成程序。
(3)軟件結(jié)構(gòu)是以 3 為基礎(chǔ)而組成的一種控制層次結(jié)構(gòu)。
(4)數(shù)據(jù)庫(kù)系統(tǒng)階段的數(shù)據(jù)具有較高獨(dú)立性,數(shù)據(jù)獨(dú)立性包括物理獨(dú)立性和 4 兩個(gè)含義。
(5)數(shù)據(jù)庫(kù)保護(hù)分為安全性控制、 5 、并發(fā)性控制和數(shù)據(jù)的恢復(fù)。
(6) 6 是C++語(yǔ)言程序的入口。
(7)程序
#include"iostream.h"
void main()
{
int i = 10;
int j = 5;
cout << j + i++ < }
的結(jié)果為 7 。
(8)C++語(yǔ)言的基本控制結(jié)構(gòu)為順序結(jié)構(gòu)、選擇結(jié)構(gòu)和 8 。
(9)語(yǔ)句int *i; i = new int[10]; ,釋放指針i的語(yǔ)句是 9 。
(10)函數(shù)重載要求重載的函數(shù)必須有和原函數(shù)一樣的 10 。
(11)在C++語(yǔ)言中每個(gè)類都有一個(gè) 11 指針,該指針指向正在調(diào)用成員函數(shù)的對(duì)象。
(12)設(shè)置虛基類的目的是 12 ,通過(guò) 13 表示虛基類。
(13)程序的結(jié)果為 14 。
#include "iostream.h"
template
T total( T *data )
{ T s = 0;
while( *data )
{
s += *data++;
}
return s;
}
int main()
{ int x[] = { 2,4,6,8,0,12,14,16,18 };
cout << total(x);
return 0;
cout<
(14)語(yǔ)句cout << ′\n′ 還可表示為 15 。
一、選擇題
(1)D
【命題目的】讓考生加深對(duì)各種排序方法特點(diǎn)的了解。
【解題要點(diǎn)】冒泡排序是一種最簡(jiǎn)單的交換類排序方法,它是通過(guò)相鄰數(shù)據(jù)元素的交換逐步將線性表變成有序。
【錯(cuò)解分析】交換排序方法有冒泡排序和快速排序,顯然選項(xiàng)B)和選項(xiàng)C)錯(cuò)誤,冒泡排序比較簡(jiǎn)單,其算法也容易理解,但快速排序本身較為復(fù)雜,且采用了遞歸調(diào)用,其算法理解也稍難。
【考點(diǎn)鏈接】插入排序、選擇排序、歸并排序、基數(shù)排序等排序方法的特點(diǎn)。
(2)A
【命題目的】考查棧的存儲(chǔ)結(jié)構(gòu)的基本知識(shí)。
【解題要點(diǎn)】和線性表類似,棧也有兩種存儲(chǔ)方法,一是順序棧,二是鏈?zhǔn)綏!5捻樞虼鎯?chǔ)結(jié)構(gòu)是利用一組地址連續(xù)的存儲(chǔ)單元一次存儲(chǔ)自棧底到棧頂?shù)臄?shù)據(jù)元素,同時(shí)附設(shè)指針top指示棧頂元素的位置,由于棧的操作是線性表操作的特例,相對(duì)而言,鏈?zhǔn)綏5牟僮鞲子趯?shí)現(xiàn)。
【考點(diǎn)鏈接】這3種運(yùn)算方法在各種存儲(chǔ)結(jié)構(gòu)中的應(yīng)用。
(3)B
【命題目的】考查有關(guān)線性表存儲(chǔ)結(jié)構(gòu)的基本知識(shí)。
【解題要點(diǎn)】順序存儲(chǔ)結(jié)構(gòu)中,數(shù)據(jù)元素存放在一組地址連續(xù)的存儲(chǔ)單元中,每個(gè)數(shù)據(jù)元素地址可通過(guò)公式LOC(ai)=LOC(a1)+(i-1)L計(jì)算得到,從而實(shí)現(xiàn)了隨機(jī)存取。對(duì)于鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),要對(duì)某結(jié)點(diǎn)進(jìn)行存取,都得從鏈的頭指針指向的結(jié)點(diǎn)開始,這是一種順序存取的存儲(chǔ)結(jié)構(gòu)。
【考點(diǎn)鏈接】順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的定義和性質(zhì),兩種存儲(chǔ)結(jié)構(gòu)的操作方法。
(4)A
【命題目的】讓考生熟練掌握常用的測(cè)試方法及其概念。
【解題要點(diǎn)】黑箱測(cè)試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征,而只是根據(jù)功能導(dǎo)出測(cè)試用例。
【錯(cuò)解分析】白箱測(cè)試是根據(jù)對(duì)程序內(nèi)部邏輯結(jié)構(gòu)的分析來(lái)選取測(cè)試用例,白箱測(cè)試也稱為邏輯覆蓋測(cè)試,故選項(xiàng)B)不正確;錯(cuò)誤推測(cè)法只是黑箱測(cè)試所使用的一種具體的方法,故選項(xiàng)C)不正確;安裝測(cè)試是測(cè)試層次中的一種,它屬于高級(jí)測(cè)試,故選項(xiàng)D)不正確。
【考點(diǎn)鏈接】常用的黑箱測(cè)試方法及其定義,白箱測(cè)試用例的準(zhǔn)則。
(5)A
【命題目的】讓考生對(duì)常用的軟件結(jié)構(gòu)設(shè)計(jì)工具要有較深入的了解。
【解題要點(diǎn)】常用的軟件結(jié)構(gòu)設(shè)計(jì)工具是結(jié)構(gòu)圖(SC-Structure Chart),也稱程序結(jié)構(gòu)圖。其中,矩形內(nèi)用于注明模塊的功能和名字;箭頭表示模塊間的調(diào)用關(guān)系,帶實(shí)心圓的箭頭表示傳遞的是控制信息,帶空心圓的箭頭表示傳遞的是數(shù)據(jù)。
【考點(diǎn)鏈接】根據(jù)結(jié)構(gòu)圖設(shè)計(jì)思想,了解結(jié)構(gòu)圖構(gòu)成的基本形式。
(6)C
【命題目的】本題主要考查了模塊間耦合的類型。
【解題要點(diǎn)】模塊之間的耦合程度反映了模塊的獨(dú)立性,也反映了系統(tǒng)分解后的復(fù)雜程度。按照耦合程度從弱到強(qiáng),可以將其分成5級(jí),分別是:數(shù)據(jù)耦合、同構(gòu)耦合、控制耦合、公用耦合和內(nèi)容耦合。選項(xiàng)C),沒(méi)有這種耦合方式。
【考點(diǎn)鏈接】評(píng)價(jià)模塊獨(dú)立性的主要標(biāo)準(zhǔn),以及對(duì)它們的定義和分類。
(7)C
【命題目的】使學(xué)生加深對(duì)關(guān)系模型數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)的記憶。
【解題要點(diǎn)】在關(guān)系模型數(shù)據(jù)庫(kù)中,基本結(jié)構(gòu)是二維表,這種二維表稱為關(guān)系。關(guān)系的列稱為屬性,一個(gè)具有N個(gè)屬性的關(guān)系稱為N元關(guān)系。
【考點(diǎn)鏈接】各種關(guān)系查詢語(yǔ)言與過(guò)程性語(yǔ)言和非過(guò)程性語(yǔ)言的關(guān)系,過(guò)程性語(yǔ)言的特點(diǎn)。
(8)C
【命題目的】考查考生對(duì)數(shù)據(jù)庫(kù)基本知識(shí)的了解。
【解題要點(diǎn)】DBMS提供數(shù)據(jù)操縱語(yǔ)言(DML)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的操作,數(shù)據(jù)操縱語(yǔ)言(DML)是用戶(包括應(yīng)用程序)與數(shù)據(jù)庫(kù)系統(tǒng)的接口。數(shù)據(jù)操縱語(yǔ)言通常包括檢索和更新功能。
【考點(diǎn)鏈接】程序模塊中語(yǔ)言處理部分的分類,各子類的定義及其功能。
(9)D
【命題目的】讓考生了解文件系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)的區(qū)別。
【解題要點(diǎn)】文件系統(tǒng)所管理的數(shù)據(jù)文件基本上是分散的、相互獨(dú)立的,因此相對(duì)于數(shù)據(jù)庫(kù)系統(tǒng),以此為基礎(chǔ)的數(shù)據(jù)處理存在3個(gè)缺點(diǎn),數(shù)據(jù)冗余大、數(shù)據(jù)的不一致性、程序與數(shù)據(jù)的相互依賴(簡(jiǎn)稱為數(shù)據(jù)依賴)。
【考點(diǎn)鏈接】文件系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)各自的特點(diǎn),人工管理階段及數(shù)據(jù)庫(kù)系統(tǒng)三代的特點(diǎn)。
(10)D
【命題目的】考查考生對(duì)需求分析的內(nèi)容的了解。
【解題要點(diǎn)】需求分析是軟件定義時(shí)期的最后一個(gè)階段,它的基本任務(wù)就是詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象(組織、部門、企業(yè)等),充分了解原系統(tǒng)的工作概況,明確用戶的各種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能。。
【錯(cuò)解分析】選項(xiàng)A)軟件開發(fā)方法是在總體設(shè)計(jì)階段完成的任務(wù);選項(xiàng)B)軟件開發(fā)工具是在實(shí)現(xiàn)階段需完成的任務(wù);選項(xiàng)C)軟件開發(fā)費(fèi)用是在可行性研究階段需完成的任務(wù)。
【考點(diǎn)鏈接】需求分析的任務(wù)和它的6種方法。
(11)D
【命題目的】考查面向?qū)ο笳Z(yǔ)言的基本思想。
【解題要點(diǎn)】面向?qū)ο笳Z(yǔ)言的基本特性是封裝,繼承和多態(tài)。
【錯(cuò)解分析】垃圾回收是Java的主要特點(diǎn)。
【考點(diǎn)鏈接】要掌握面向?qū)ο蟮膬?yōu)點(diǎn)。
(12)A
【命題目的】考查C++語(yǔ)言標(biāo)識(shí)符規(guī)則。
【解題要點(diǎn)】在C++語(yǔ)言中,標(biāo)識(shí)符只能由數(shù)字,字母,下劃線組成,并且第一個(gè)字符不能是數(shù)字。
【錯(cuò)解分析】選項(xiàng)A)是以數(shù)字開始的。
【考點(diǎn)鏈接】關(guān)鍵字不能用作標(biāo)識(shí)符。
(13)A
【命題目的】考查C++運(yùn)算符的優(yōu)先級(jí)。
【解題要點(diǎn)】運(yùn)算符的優(yōu)先級(jí)是::,其次是[ ],( ),等,然后是++,--,再低還有->*,*,+,<<,>>,=。
【考點(diǎn)鏈接】逗號(hào)的優(yōu)先級(jí)最低。
(14)C
【命題目的】考查宏定義的簡(jiǎn)單運(yùn)用。
【解題要點(diǎn)】理解宏定義,sum(a,b)a*b中a為1+2,b為3,故sum(1+2,3)=1+2*3,即宏定義的替換過(guò)程是原樣替換。
【錯(cuò)解分析】選項(xiàng)B)的計(jì)算方法是(1+2)* 3 = 9是錯(cuò)誤的,注意,不要隨意的加括號(hào)。
【考點(diǎn)鏈接】宏定義與函數(shù)的區(qū)別。
(15)A
【命題目的】考查循環(huán)語(yǔ)句for的使用。
【解題要點(diǎn)】for循環(huán)的一般格式為for ( 初始化部分; 終止條件判斷部分; 迭代部分){ 循環(huán)體;}
說(shuō)明如下:for循環(huán)開始時(shí),首先執(zhí)行初始化操作,然后判斷終止條件是否滿足,如果滿足,則執(zhí)行循環(huán)體中的語(yǔ)句,最后執(zhí)行迭代部分。完成一次循環(huán)后,重新判斷終止條件。
【錯(cuò)解分析】在for語(yǔ)句中,如果省略了終止條件判斷部分,并且在語(yǔ)句中沒(méi)有break,或者是終止條件判斷部分始終沒(méi)有終止,都將出現(xiàn)死循環(huán)。
【考點(diǎn)鏈接】for循環(huán)語(yǔ)句可由while循環(huán)語(yǔ)句來(lái)代替。
(16)A
【命題目的】考查continue語(yǔ)句的運(yùn)用。
【解題要點(diǎn)】continue是跳出了本次循環(huán)中尚未執(zhí)行的語(yǔ)句,重新執(zhí)行循環(huán),但沒(méi)有終止循環(huán)。
【考點(diǎn)鏈接】注意break,continue和goto語(yǔ)句的用法和區(qū)別。
(17)C
【命題目的】考查數(shù)組的定義方法。
【解題要點(diǎn)】二維數(shù)面的二維不能省略。
【考點(diǎn)鏈接】數(shù)組的下標(biāo)是從零開始的。
(18)D
【命題目的】考查指針和運(yùn)算符sizeof的運(yùn)用。
【解題要點(diǎn)】理解sizeof的用法,它可以運(yùn)算出各種數(shù)據(jù)類型所占內(nèi)存空間的多少。
【錯(cuò)解分析】選項(xiàng)C)中是指針p所指向的內(nèi)存地址中內(nèi)容是20。
【考點(diǎn)鏈接】在用完申請(qǐng)后的內(nèi)存應(yīng)立刻釋放。
(19)C
【命題目的】考查引用的用法。
【解題要點(diǎn)】引用必須在第一時(shí)間進(jìn)行賦值,int & B沒(méi)有在第一時(shí)間賦值故錯(cuò)誤。
【考點(diǎn)鏈接】引用的方式,引用和指針應(yīng)用的比較。
(20)A
【命題目的】考查return語(yǔ)句的用法和函數(shù)的調(diào)用。
【解題要點(diǎn)】本題函數(shù)Max的功能是求出兩個(gè)整數(shù)中的較大者,并且通return語(yǔ)句返回。
【考點(diǎn)鏈接】return語(yǔ)句的用法,注意return的條件。
(21)C
【命題目的】考查函數(shù)含有默認(rèn)參數(shù)時(shí)的調(diào)用方法。
【解題要點(diǎn)】如果一個(gè)函數(shù)中有多個(gè)參數(shù),則默認(rèn)參數(shù)應(yīng)從右到左逐個(gè)定義。
【錯(cuò)解分析】選項(xiàng)C)沒(méi)有給a傳遞任何的參數(shù),所以是錯(cuò)誤的。
【考點(diǎn)鏈接】函數(shù)含有默認(rèn)參數(shù)時(shí)的調(diào)用方式。
(22)C
【命題目的】考查類的概念。
【解題要點(diǎn)】C++語(yǔ)言中類定義中默認(rèn)的類的訪問(wèn)權(quán)限是private。
【錯(cuò)解分析】C++語(yǔ)言中沒(méi)有default權(quán)限。
【考點(diǎn)鏈接】結(jié)構(gòu)體默認(rèn)的訪問(wèn)權(quán)限是public,注意它們之間的區(qū)別。
(23)C
【命題目的】考查構(gòu)造函數(shù)的概念。
【解題要點(diǎn)】構(gòu)造函數(shù)的函數(shù)名必須和類名相同;構(gòu)造函數(shù)可以有一個(gè),也可以有多個(gè);構(gòu)造函數(shù)沒(méi)有返回值。
【考點(diǎn)鏈接】構(gòu)造函數(shù)可以被重載。
(24)C
【命題目的】考查拷貝構(gòu)造函數(shù)的方法。
【解題要點(diǎn)】固定的一種拷貝方式就是<類名>:<類名>const<類名>&<引用對(duì)象名>
【考點(diǎn)鏈接】如果一個(gè)類中沒(méi)有聲明,拷貝構(gòu)造函數(shù),編譯器會(huì)自動(dòng)生成一個(gè)如上述形成的僅有的拷貝構(gòu)造函數(shù)。
(25)D
【命題目的】考查類的繼承方法。
【解題要點(diǎn)】private繼承不能調(diào)用Display_b函數(shù),public繼承可以調(diào)用基類中非private成員。
【考點(diǎn)鏈接】類的繼承方式public,protected和private的區(qū)別。
(26)A
【命題目的】考查虛函數(shù)的基本概念。
【解題要點(diǎn)】虛函數(shù)只能是類的成員函數(shù),不能是構(gòu)造函數(shù)或析構(gòu)函數(shù)。
【考點(diǎn)鏈接】虛函數(shù)可以是另一個(gè)類的友元函數(shù)。
(27)C
【命題目的】考查多態(tài)性的基本概念。
【解題要點(diǎn)】多態(tài)性主要是指借助于指向?qū)ο蟮幕愔羔樆蛞谜{(diào)用一個(gè)虛函數(shù)。
【考點(diǎn)鏈接】注意多態(tài)和重載的關(guān)系和應(yīng)用。
(28)C
【命題目的】運(yùn)算符重載的概念考查。
【解題要點(diǎn)】C++語(yǔ)言規(guī)定.*運(yùn)算符是不能被重載的。
【考點(diǎn)鏈接】還有.,->*,::,?:這幾個(gè)運(yùn)算符不能重載。
(29)A
【命題目的】關(guān)于重載概念的考查。
【解題要點(diǎn)】C++語(yǔ)言規(guī)定"="運(yùn)算符只能作為成員函數(shù)重載。
(30)B
【命題目的】模板概念的考查。
【解題要點(diǎn)】類模板可以有虛擬類型參數(shù)。
【考點(diǎn)鏈接】模板及其周邊概念和模板的實(shí)現(xiàn)。
(31)D
【命題目的】setprecision()函數(shù)的考查。
【解題要點(diǎn)】setprecision()函數(shù)為設(shè)置小數(shù)位數(shù)。
【考點(diǎn)鏈接】C++ 中I/O流各種函數(shù)的使用例如:setw(),setfill()。
(32)A
【命題目的】考查交換兩整數(shù)的方法。
【解題要點(diǎn)】?jī)蓴?shù)只在函數(shù)change內(nèi)被使用,函數(shù)調(diào)用完后該內(nèi)存被釋放,因此沒(méi)有交換兩數(shù)。
【考點(diǎn)鏈接】交換兩個(gè)數(shù)的方法簡(jiǎn)單說(shuō)有兩種一是使用指針,二是用引用。
(33)D
【命題目的】考查字符串的應(yīng)用和′\0′的輸出。
【解題要點(diǎn)】′\0′輸出為不顯示,只代表一個(gè)字符串的結(jié)束。
【考點(diǎn)鏈接】C++語(yǔ)言中各種字符轉(zhuǎn)義序列的意義和應(yīng)用。
(34)C
【命題目的】考查類的繼承和實(shí)例化。
【解題要點(diǎn)】每實(shí)例化一個(gè)類就要調(diào)用其構(gòu)造函數(shù),結(jié)束運(yùn)行該實(shí)例后調(diào)用析構(gòu)函數(shù)。
【考點(diǎn)鏈接】類的實(shí)例化和構(gòu)造函數(shù)、析構(gòu)函數(shù)的調(diào)用方式和何時(shí)調(diào)用。
(35)C
【命題目的】考查一個(gè)類中由系統(tǒng)自動(dòng)生成的函數(shù)。
【解題要點(diǎn)】一個(gè)類中由系統(tǒng)自動(dòng)生成的函數(shù)有構(gòu)造函數(shù),析構(gòu)函數(shù),拷貝構(gòu)造函數(shù)。
【錯(cuò)解分析】?jī)?nèi)聯(lián)函數(shù)只能由用戶自己定義。
【考點(diǎn)鏈接】類能自動(dòng)生成的函數(shù),尤其注意構(gòu)造函數(shù)和析構(gòu)函數(shù),還有拷貝構(gòu)造函數(shù)。
二、填空題
(1)鏈?zhǔn)酱鎯?chǔ)和順序存儲(chǔ)
【命題目的】考查考生對(duì)數(shù)據(jù)結(jié)構(gòu)基本知識(shí)的了解。
【解題要點(diǎn)】棧和隊(duì)列都屬于線性表,它們一般采用順序存儲(chǔ)結(jié)構(gòu),也可以對(duì)它們采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。
【考點(diǎn)鏈接】棧、數(shù)組、表采用的存儲(chǔ)結(jié)構(gòu),各種存儲(chǔ)結(jié)構(gòu)的定義和區(qū)別。
(2)自頂而下
【命題目的】讓考生對(duì)程序設(shè)計(jì)有較深入的了解。
【考點(diǎn)鏈接】系統(tǒng)設(shè)計(jì)其他階段的內(nèi)容。
(3)模塊
【命題目的】考查考生對(duì)軟件結(jié)構(gòu)的了解。
【解題要點(diǎn)】采用模塊化原理可以使軟件結(jié)構(gòu)清晰,不僅容易設(shè)計(jì)也容易閱讀和理解,模塊化使得軟件容易測(cè)試和調(diào)試,因而有利于提高軟件的可靠性,也有利于軟件的組織管理,大型程序可由不同的程序員編寫不同的模塊,并且可以進(jìn)一步分配技術(shù)熟練的程序員編寫困難的部分。
【考點(diǎn)鏈接】軟件結(jié)構(gòu)的定義,模塊操作其他的所有特點(diǎn)。
(4)邏輯獨(dú)立性
【命題目的】考查考生對(duì)數(shù)據(jù)庫(kù)基本知識(shí)(數(shù)據(jù)獨(dú)立性)的了解。
【解題要點(diǎn)】數(shù)據(jù)獨(dú)立性是數(shù)據(jù)與程序間的互不依賴性,即數(shù)據(jù)庫(kù)中數(shù)據(jù)獨(dú)立于應(yīng)用程序而不依賴于應(yīng)用程序。數(shù)據(jù)獨(dú)立性一般分為物理獨(dú)立性與邏輯獨(dú)立性兩個(gè)含義。
【考點(diǎn)鏈接】在人工管理階段,文件系統(tǒng)階段和數(shù)據(jù)庫(kù)管理階段中數(shù)據(jù)獨(dú)立性的特點(diǎn)。
(5)完整性控制
【命題目的】考查考生對(duì)數(shù)據(jù)庫(kù)基本知識(shí)的了解。
【解題要點(diǎn)】安全性控制:防止未經(jīng)授權(quán)的用戶有意或無(wú)意存取數(shù)據(jù)庫(kù)中的數(shù)據(jù),以免數(shù)據(jù)被泄露、更改或破壞;完整性控制:保證數(shù)據(jù)庫(kù)中數(shù)據(jù)及語(yǔ)義的正確性和有效性,防止任何對(duì)數(shù)據(jù)造成錯(cuò)誤的操作;并發(fā)控制:正確處理好多用戶、多任務(wù)環(huán)境下的并發(fā)操作,防止錯(cuò)誤發(fā)生;恢復(fù):當(dāng)數(shù)據(jù)庫(kù)被破壞或數(shù)據(jù)不正確時(shí),使數(shù)據(jù)庫(kù)能恢復(fù)到正確的狀態(tài)。
【考點(diǎn)鏈接】數(shù)據(jù)庫(kù)的其他用途,如數(shù)據(jù)定義、數(shù)據(jù)操作和數(shù)據(jù)管理等。
(6)main()函數(shù)
【命題目的】考查C++語(yǔ)言的基本概念。
【解題要點(diǎn)】main()是C++語(yǔ)言的入口函數(shù)。
【考點(diǎn)鏈接】main()函數(shù)可以放在程序的任何位置
(7)15
【命題目的】考查++運(yùn)算符的用法。
【解題要點(diǎn)】i++為先做與i有關(guān)的運(yùn)算后,i自加1,而++i是先給i加1再進(jìn)行與i有關(guān)的操作
【考點(diǎn)鏈接】各種運(yùn)算符的應(yīng)用,注意++,--。
(8)循環(huán)結(jié)構(gòu)
【解題要點(diǎn)】C++語(yǔ)言3種基本結(jié)構(gòu)就是順序結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu)。
(9)delete[]i;
【命題目的】new和delete的用法。
【解題要點(diǎn)】申請(qǐng)內(nèi)存空間時(shí)用new,釋放內(nèi)存空間用delete。
【考點(diǎn)鏈接】new和delete的運(yùn)用和malloc,free的運(yùn)用。
(10)函數(shù)名
【命題目的】重載函數(shù)的具體要求。
【解題要點(diǎn)】重載函數(shù)的函數(shù)名應(yīng)和原函數(shù)一致。
【考點(diǎn)鏈接】重載函數(shù)的方式方法,重載函數(shù)的參數(shù),重載函數(shù)的返回值。
(11)this
【命題目的】this指針的基本概念。
【解題要點(diǎn)】C++語(yǔ)言中this指針是類自帶的一個(gè)指針,它指向正在調(diào)用成員函數(shù)的對(duì)象。
【考點(diǎn)鏈接】C++類的基本概念,this指針概念。
(12)解決二義性問(wèn)題~用關(guān)鍵字virtual
【命題目的】考查二義性的概念和解決方法。
【解題要點(diǎn)】解決二義性的兩個(gè)基本方法一是用域名進(jìn)行限制,二是用虛基類的方法。
【考點(diǎn)鏈接】C++語(yǔ)言中解決二義性的方法。
(13)20
【命題目的】模板函數(shù)的運(yùn)用。
【解題要點(diǎn)】要理解*data的含意。
(14)cout << endl;
【命題目的】考查"\n"和endl的意義。
【解題要點(diǎn)】"\n"表示換行,endl也可表示換行。
【考點(diǎn)鏈接】endl和"\n"可以通用。
在下列各題的A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確的選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。
(1)最簡(jiǎn)單的交換排序方法是
A)快速排序
B)選擇排序
C)堆排序
D)冒泡排序
(2)棧通常采用的兩種存儲(chǔ)結(jié)構(gòu)是
A)線性存儲(chǔ)結(jié)構(gòu)和鏈表存儲(chǔ)結(jié)構(gòu)
B)散列方式和索引方式
C)鏈表存儲(chǔ)結(jié)構(gòu)和數(shù)組
D)線性存儲(chǔ)結(jié)構(gòu)和非線性存儲(chǔ)結(jié)構(gòu)
(3)線性表的順序存儲(chǔ)結(jié)構(gòu)和線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)分別是
A)順序存取的存儲(chǔ)結(jié)構(gòu)、順序存取的存儲(chǔ)結(jié)構(gòu)
B)隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)、順序存取的存儲(chǔ)結(jié)構(gòu)
C)隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)、隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)
D)任意存取的存儲(chǔ)結(jié)構(gòu)、任意存取的存儲(chǔ)結(jié)構(gòu)
(4)完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征,而只是根據(jù)程序功能導(dǎo)出測(cè)試用例的測(cè)試方法是
A)黑箱測(cè)試法
B)白箱測(cè)試法
C)錯(cuò)誤推測(cè)法
D)安裝測(cè)試法
(5)在結(jié)構(gòu)化設(shè)計(jì)方法中,生成的結(jié)構(gòu)圖(SC)中,帶有箭頭的連線表示
A)模塊之間的調(diào)用關(guān)系
B)程序的組成成分
C)控制程序的執(zhí)行順序
D)數(shù)據(jù)的流向
(6)下列選項(xiàng)中,不屬于模塊間耦合的是
A)數(shù)據(jù)耦合
B)同構(gòu)耦合
C)異構(gòu)耦合
D)公用耦合
(7)一個(gè)關(guān)系中屬性個(gè)數(shù)為1時(shí),稱此關(guān)系為
A)對(duì)應(yīng)關(guān)系
B)單一關(guān)系
C)一元關(guān)系
D)二元關(guān)系
(8)為用戶與數(shù)據(jù)庫(kù)系統(tǒng)提供接口的語(yǔ)言是
A)高級(jí)語(yǔ)言
B)數(shù)據(jù)描述語(yǔ)言(DDL)
C)數(shù)據(jù)操縱語(yǔ)言(DML)
D)匯編語(yǔ)言
(9)相對(duì)于數(shù)據(jù)庫(kù)系統(tǒng),文件系統(tǒng)的主要缺陷有數(shù)據(jù)關(guān)聯(lián)差、數(shù)據(jù)不一致性和
A)可重用性差
B)安全性差
C)非持久性
D)冗余性
(10)需求分析階段的任務(wù)是確定
A)軟件開發(fā)方法
B)軟件開發(fā)工具
C)軟件開發(fā)費(fèi)用
D)軟件系統(tǒng)功能
?。?1)以下哪個(gè)特征不是面向?qū)ο笏枷胫械闹饕卣鳎?BR> A)多態(tài)
B)繼承
C)封裝
D)垃圾回收
(12)以下哪個(gè)不是C++語(yǔ)言中的有效標(biāo)識(shí)符?
A)34a
B)_AB
C)A_B
D)A25
(13)C++中運(yùn)算符優(yōu)先級(jí)由高到低排列正確的是
A):: ++ + ||
B)< * || ,
C)sizeof % + ::
D), && new sizeof
(14)下面程序的運(yùn)行結(jié)果是
#include"iostream.h"
#define sum(a,b)a*b
void main()
{ int x;
x=sum(1+2,3);
cout< }
A)0
B)9
C)7
D)5
(15)以下for語(yǔ)句中不是死循環(huán)的是
A)for(int i=0;i<1;++i);
B)for(int i=0;;++i);
C)for(int i=1;i>0;++i);
D)for( ; ; );
(16)關(guān)于continue語(yǔ)句敘述不正確的是
A)continue語(yǔ)句用于循環(huán)體中,結(jié)束循環(huán)
B)continue語(yǔ)句用于循環(huán)體中,它使執(zhí)行流跳出循環(huán)體中尚未執(zhí)行的語(yǔ)句,并進(jìn)行下一循環(huán)判斷
C)continue可以用于if語(yǔ)句中
D)continue語(yǔ)句不能代替break語(yǔ)句
(17)以下定義數(shù)組中錯(cuò)誤的是
A)int a[10];
B)int a[2][20];
C)int a[20][ ];
D)int a[];
(18)下面程序的執(zhí)行結(jié)果是
#include"iostream.h"
void main()
{ int *p,r;
p = new int;
*p = 20;
r=sizeof(*p);
cout< delete p;
}
A)程序錯(cuò)誤
B)內(nèi)存為20地址的大小
C)20
D)4
(19)下面程序錯(cuò)誤的語(yǔ)句是
#include "iostream.h"
① void main()
② {
③ int A = 0;
④ int & B;
⑤ B = A;
⑥ cout << B;
⑦ cout << A;
⑧ }
A)②
B)③
C)④
D)⑥
(20)下列程序的輸出結(jié)果是
#include "iostream"
using namespace std;
int Max( int a, int b )
{
if( a > b)
return a;
else
return b;
}
void main()
{
int m, n;
m =10,n=5;
int max = Max( m, n );
cout << max << endl;
}
A)10
B)程序有誤
C)1
D)0
?。?1)函數(shù)int test( int a , int b=1, int c = 0),下列調(diào)用不合法的個(gè)數(shù)是
test( 0 );test( 0, 0 );test( );test( 0, 0, 0 );
A)0
B)1
C)2
D)3
(22)C++語(yǔ)言中類定義中默認(rèn)的訪問(wèn)權(quán)限是
A)public
B)protected
C)private
D)default
(23)C++語(yǔ)言中關(guān)于構(gòu)造函數(shù)的說(shuō)法正確的是
A)構(gòu)造函數(shù)的函數(shù)名不必和類名相同
B)構(gòu)造函數(shù)只能每一個(gè)
C)每個(gè)類必定有構(gòu)造函數(shù)
D)構(gòu)造函數(shù)必有返回值
(24)關(guān)于構(gòu)造函數(shù)A()的拷貝構(gòu)造函數(shù)正確的是
A)A( A *B );
B)A( A B );
C)A( A & B );
D)A( A );
(25)下面程序的執(zhí)行結(jié)果為
#include "iostream"
using namespace std;
class A
{
int a;
public:
void Seta( int x ){ a = x;}
void Display_a(){ cout << a << endl; }
};
class B
{
int b;
public:
void Setb( int x ){ b = x;}
void Dispaly_b(){ cout << b << endl; }
};
class C : public A, private B
{
private:
int c;
public:
void Setc( int x, int y, int z )
{ c = z; Seta( x ); Setb( y ); }
void Display_c(){ cout << c << endl; }
};
① void main()
② {
③ C cc;
④ cc.Seta( 1 );
⑤ cc.Display_a();
⑥ cc.Setc( 2, 2, 3 );
⑦ cc.Dispaly_b();
⑧ cc.Display_c();
}
A)輸出為223
B)有錯(cuò)誤在第5行
C)輸出為123
D)有錯(cuò)誤在第7行
(26)虛函數(shù)必須是類的
A)成員函數(shù)
B)友元函數(shù)
C)構(gòu)造函數(shù)
D)析構(gòu)函數(shù)
(27)多態(tài)性指的是
A)以任何方式調(diào)用一個(gè)虛函數(shù)
B)以任何方式調(diào)用一個(gè)純虛函數(shù)
C)借助于指向?qū)ο蟮幕愔羔樆蛞谜{(diào)用一個(gè)虛函數(shù)
D)借助于指向?qū)ο蟮幕愔羔樆蛞谜{(diào)用一個(gè)純虛函數(shù)
(28)不能重載的運(yùn)算符是
A)new
B)sizeof
C).*
D)++
(29)只能作為成員函數(shù)重載的是
A)=
B)++
C)*
D)new
(30)關(guān)于模板下列說(shuō)法不正確的是
A)用類模板定義一個(gè)對(duì)象時(shí),不能省略實(shí)參
B)類模板只能有虛擬類型參數(shù)
C)類模板本身在編譯中不會(huì)生成任何代碼
D)類模板的成員函數(shù)都是模板函數(shù)
?。?1)語(yǔ)句cout << setprecision (2)<< 1024.4567;的輸出結(jié)果為
A)1024.4567
B)1024
C)1024.45
D)1e+003
(32)下面程序的結(jié)果為
#include"iostream.h"
void change( int a, int b )
{
int temp;
temp = a;
a = b;
b = temp;
}
void main()
{
int m, n;
m = 8;
n = 9;
change( m, n );
cout << m << " " << n << endl;
}
A)8 9
B)9 8
C)程序有錯(cuò)誤
D)9 9
(33)下面程序的結(jié)果是
#include "iostream.h"
void main()
{
char *str;
str = "test!";
cout << str[5];
}
A)程序錯(cuò)誤
B)!
C)′\0′
D)為空字符
(34)下面程序輸出的結(jié)果為
#include "iostream.h"
class A
{
public:
A(){ cout << "CLASS A" << endl; }
~A(){}
};
class B : public A
{
public:
B(){ cout << "CLASS B" << endl; }
~B(){}
};
void main()
{
A *p;
p = new B;
B *q;
q = new B;
}
A)CLASS A
CLASS B
B)CLASS A
CLASS B
CLASS B
C)CLASS A
CLASS B
CLASS A
CLASS B
D)CLASS A
CLASS B
CLASS B
CLASS B
(35)C++語(yǔ)言函數(shù)中不能由系統(tǒng)自動(dòng)生成的是
A)析構(gòu)函數(shù)
B)構(gòu)造函數(shù)
C)內(nèi)聯(lián)函數(shù)
D)拷貝構(gòu)造函數(shù)
二、填空題
請(qǐng)將每一個(gè)空的正確答案寫在答題卡序號(hào)的橫線上,答在試卷上不給分。
(1)棧和隊(duì)列通常采用的存儲(chǔ)結(jié)構(gòu)是 1 。
(2)在程序設(shè)計(jì)階段應(yīng)該采取 2 和逐步求精的方法,把一個(gè)模塊的功能逐步分解,細(xì)化為一系列具體的步驟,進(jìn)而用某種程序設(shè)計(jì)語(yǔ)言寫成程序。
(3)軟件結(jié)構(gòu)是以 3 為基礎(chǔ)而組成的一種控制層次結(jié)構(gòu)。
(4)數(shù)據(jù)庫(kù)系統(tǒng)階段的數(shù)據(jù)具有較高獨(dú)立性,數(shù)據(jù)獨(dú)立性包括物理獨(dú)立性和 4 兩個(gè)含義。
(5)數(shù)據(jù)庫(kù)保護(hù)分為安全性控制、 5 、并發(fā)性控制和數(shù)據(jù)的恢復(fù)。
(6) 6 是C++語(yǔ)言程序的入口。
(7)程序
#include"iostream.h"
void main()
{
int i = 10;
int j = 5;
cout << j + i++ < }
的結(jié)果為 7 。
(8)C++語(yǔ)言的基本控制結(jié)構(gòu)為順序結(jié)構(gòu)、選擇結(jié)構(gòu)和 8 。
(9)語(yǔ)句int *i; i = new int[10]; ,釋放指針i的語(yǔ)句是 9 。
(10)函數(shù)重載要求重載的函數(shù)必須有和原函數(shù)一樣的 10 。
(11)在C++語(yǔ)言中每個(gè)類都有一個(gè) 11 指針,該指針指向正在調(diào)用成員函數(shù)的對(duì)象。
(12)設(shè)置虛基類的目的是 12 ,通過(guò) 13 表示虛基類。
(13)程序的結(jié)果為 14 。
#include "iostream.h"
template
T total( T *data )
{ T s = 0;
while( *data )
{
s += *data++;
}
return s;
}
int main()
{ int x[] = { 2,4,6,8,0,12,14,16,18 };
cout << total(x);
return 0;
cout<
(14)語(yǔ)句cout << ′\n′ 還可表示為 15 。
一、選擇題
(1)D
【命題目的】讓考生加深對(duì)各種排序方法特點(diǎn)的了解。
【解題要點(diǎn)】冒泡排序是一種最簡(jiǎn)單的交換類排序方法,它是通過(guò)相鄰數(shù)據(jù)元素的交換逐步將線性表變成有序。
【錯(cuò)解分析】交換排序方法有冒泡排序和快速排序,顯然選項(xiàng)B)和選項(xiàng)C)錯(cuò)誤,冒泡排序比較簡(jiǎn)單,其算法也容易理解,但快速排序本身較為復(fù)雜,且采用了遞歸調(diào)用,其算法理解也稍難。
【考點(diǎn)鏈接】插入排序、選擇排序、歸并排序、基數(shù)排序等排序方法的特點(diǎn)。
(2)A
【命題目的】考查棧的存儲(chǔ)結(jié)構(gòu)的基本知識(shí)。
【解題要點(diǎn)】和線性表類似,棧也有兩種存儲(chǔ)方法,一是順序棧,二是鏈?zhǔn)綏!5捻樞虼鎯?chǔ)結(jié)構(gòu)是利用一組地址連續(xù)的存儲(chǔ)單元一次存儲(chǔ)自棧底到棧頂?shù)臄?shù)據(jù)元素,同時(shí)附設(shè)指針top指示棧頂元素的位置,由于棧的操作是線性表操作的特例,相對(duì)而言,鏈?zhǔn)綏5牟僮鞲子趯?shí)現(xiàn)。
【考點(diǎn)鏈接】這3種運(yùn)算方法在各種存儲(chǔ)結(jié)構(gòu)中的應(yīng)用。
(3)B
【命題目的】考查有關(guān)線性表存儲(chǔ)結(jié)構(gòu)的基本知識(shí)。
【解題要點(diǎn)】順序存儲(chǔ)結(jié)構(gòu)中,數(shù)據(jù)元素存放在一組地址連續(xù)的存儲(chǔ)單元中,每個(gè)數(shù)據(jù)元素地址可通過(guò)公式LOC(ai)=LOC(a1)+(i-1)L計(jì)算得到,從而實(shí)現(xiàn)了隨機(jī)存取。對(duì)于鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),要對(duì)某結(jié)點(diǎn)進(jìn)行存取,都得從鏈的頭指針指向的結(jié)點(diǎn)開始,這是一種順序存取的存儲(chǔ)結(jié)構(gòu)。
【考點(diǎn)鏈接】順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的定義和性質(zhì),兩種存儲(chǔ)結(jié)構(gòu)的操作方法。
(4)A
【命題目的】讓考生熟練掌握常用的測(cè)試方法及其概念。
【解題要點(diǎn)】黑箱測(cè)試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征,而只是根據(jù)功能導(dǎo)出測(cè)試用例。
【錯(cuò)解分析】白箱測(cè)試是根據(jù)對(duì)程序內(nèi)部邏輯結(jié)構(gòu)的分析來(lái)選取測(cè)試用例,白箱測(cè)試也稱為邏輯覆蓋測(cè)試,故選項(xiàng)B)不正確;錯(cuò)誤推測(cè)法只是黑箱測(cè)試所使用的一種具體的方法,故選項(xiàng)C)不正確;安裝測(cè)試是測(cè)試層次中的一種,它屬于高級(jí)測(cè)試,故選項(xiàng)D)不正確。
【考點(diǎn)鏈接】常用的黑箱測(cè)試方法及其定義,白箱測(cè)試用例的準(zhǔn)則。
(5)A
【命題目的】讓考生對(duì)常用的軟件結(jié)構(gòu)設(shè)計(jì)工具要有較深入的了解。
【解題要點(diǎn)】常用的軟件結(jié)構(gòu)設(shè)計(jì)工具是結(jié)構(gòu)圖(SC-Structure Chart),也稱程序結(jié)構(gòu)圖。其中,矩形內(nèi)用于注明模塊的功能和名字;箭頭表示模塊間的調(diào)用關(guān)系,帶實(shí)心圓的箭頭表示傳遞的是控制信息,帶空心圓的箭頭表示傳遞的是數(shù)據(jù)。
【考點(diǎn)鏈接】根據(jù)結(jié)構(gòu)圖設(shè)計(jì)思想,了解結(jié)構(gòu)圖構(gòu)成的基本形式。
(6)C
【命題目的】本題主要考查了模塊間耦合的類型。
【解題要點(diǎn)】模塊之間的耦合程度反映了模塊的獨(dú)立性,也反映了系統(tǒng)分解后的復(fù)雜程度。按照耦合程度從弱到強(qiáng),可以將其分成5級(jí),分別是:數(shù)據(jù)耦合、同構(gòu)耦合、控制耦合、公用耦合和內(nèi)容耦合。選項(xiàng)C),沒(méi)有這種耦合方式。
【考點(diǎn)鏈接】評(píng)價(jià)模塊獨(dú)立性的主要標(biāo)準(zhǔn),以及對(duì)它們的定義和分類。
(7)C
【命題目的】使學(xué)生加深對(duì)關(guān)系模型數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)的記憶。
【解題要點(diǎn)】在關(guān)系模型數(shù)據(jù)庫(kù)中,基本結(jié)構(gòu)是二維表,這種二維表稱為關(guān)系。關(guān)系的列稱為屬性,一個(gè)具有N個(gè)屬性的關(guān)系稱為N元關(guān)系。
【考點(diǎn)鏈接】各種關(guān)系查詢語(yǔ)言與過(guò)程性語(yǔ)言和非過(guò)程性語(yǔ)言的關(guān)系,過(guò)程性語(yǔ)言的特點(diǎn)。
(8)C
【命題目的】考查考生對(duì)數(shù)據(jù)庫(kù)基本知識(shí)的了解。
【解題要點(diǎn)】DBMS提供數(shù)據(jù)操縱語(yǔ)言(DML)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的操作,數(shù)據(jù)操縱語(yǔ)言(DML)是用戶(包括應(yīng)用程序)與數(shù)據(jù)庫(kù)系統(tǒng)的接口。數(shù)據(jù)操縱語(yǔ)言通常包括檢索和更新功能。
【考點(diǎn)鏈接】程序模塊中語(yǔ)言處理部分的分類,各子類的定義及其功能。
(9)D
【命題目的】讓考生了解文件系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)的區(qū)別。
【解題要點(diǎn)】文件系統(tǒng)所管理的數(shù)據(jù)文件基本上是分散的、相互獨(dú)立的,因此相對(duì)于數(shù)據(jù)庫(kù)系統(tǒng),以此為基礎(chǔ)的數(shù)據(jù)處理存在3個(gè)缺點(diǎn),數(shù)據(jù)冗余大、數(shù)據(jù)的不一致性、程序與數(shù)據(jù)的相互依賴(簡(jiǎn)稱為數(shù)據(jù)依賴)。
【考點(diǎn)鏈接】文件系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)各自的特點(diǎn),人工管理階段及數(shù)據(jù)庫(kù)系統(tǒng)三代的特點(diǎn)。
(10)D
【命題目的】考查考生對(duì)需求分析的內(nèi)容的了解。
【解題要點(diǎn)】需求分析是軟件定義時(shí)期的最后一個(gè)階段,它的基本任務(wù)就是詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象(組織、部門、企業(yè)等),充分了解原系統(tǒng)的工作概況,明確用戶的各種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能。。
【錯(cuò)解分析】選項(xiàng)A)軟件開發(fā)方法是在總體設(shè)計(jì)階段完成的任務(wù);選項(xiàng)B)軟件開發(fā)工具是在實(shí)現(xiàn)階段需完成的任務(wù);選項(xiàng)C)軟件開發(fā)費(fèi)用是在可行性研究階段需完成的任務(wù)。
【考點(diǎn)鏈接】需求分析的任務(wù)和它的6種方法。
(11)D
【命題目的】考查面向?qū)ο笳Z(yǔ)言的基本思想。
【解題要點(diǎn)】面向?qū)ο笳Z(yǔ)言的基本特性是封裝,繼承和多態(tài)。
【錯(cuò)解分析】垃圾回收是Java的主要特點(diǎn)。
【考點(diǎn)鏈接】要掌握面向?qū)ο蟮膬?yōu)點(diǎn)。
(12)A
【命題目的】考查C++語(yǔ)言標(biāo)識(shí)符規(guī)則。
【解題要點(diǎn)】在C++語(yǔ)言中,標(biāo)識(shí)符只能由數(shù)字,字母,下劃線組成,并且第一個(gè)字符不能是數(shù)字。
【錯(cuò)解分析】選項(xiàng)A)是以數(shù)字開始的。
【考點(diǎn)鏈接】關(guān)鍵字不能用作標(biāo)識(shí)符。
(13)A
【命題目的】考查C++運(yùn)算符的優(yōu)先級(jí)。
【解題要點(diǎn)】運(yùn)算符的優(yōu)先級(jí)是::,其次是[ ],( ),等,然后是++,--,再低還有->*,*,+,<<,>>,=。
【考點(diǎn)鏈接】逗號(hào)的優(yōu)先級(jí)最低。
(14)C
【命題目的】考查宏定義的簡(jiǎn)單運(yùn)用。
【解題要點(diǎn)】理解宏定義,sum(a,b)a*b中a為1+2,b為3,故sum(1+2,3)=1+2*3,即宏定義的替換過(guò)程是原樣替換。
【錯(cuò)解分析】選項(xiàng)B)的計(jì)算方法是(1+2)* 3 = 9是錯(cuò)誤的,注意,不要隨意的加括號(hào)。
【考點(diǎn)鏈接】宏定義與函數(shù)的區(qū)別。
(15)A
【命題目的】考查循環(huán)語(yǔ)句for的使用。
【解題要點(diǎn)】for循環(huán)的一般格式為for ( 初始化部分; 終止條件判斷部分; 迭代部分){ 循環(huán)體;}
說(shuō)明如下:for循環(huán)開始時(shí),首先執(zhí)行初始化操作,然后判斷終止條件是否滿足,如果滿足,則執(zhí)行循環(huán)體中的語(yǔ)句,最后執(zhí)行迭代部分。完成一次循環(huán)后,重新判斷終止條件。
【錯(cuò)解分析】在for語(yǔ)句中,如果省略了終止條件判斷部分,并且在語(yǔ)句中沒(méi)有break,或者是終止條件判斷部分始終沒(méi)有終止,都將出現(xiàn)死循環(huán)。
【考點(diǎn)鏈接】for循環(huán)語(yǔ)句可由while循環(huán)語(yǔ)句來(lái)代替。
(16)A
【命題目的】考查continue語(yǔ)句的運(yùn)用。
【解題要點(diǎn)】continue是跳出了本次循環(huán)中尚未執(zhí)行的語(yǔ)句,重新執(zhí)行循環(huán),但沒(méi)有終止循環(huán)。
【考點(diǎn)鏈接】注意break,continue和goto語(yǔ)句的用法和區(qū)別。
(17)C
【命題目的】考查數(shù)組的定義方法。
【解題要點(diǎn)】二維數(shù)面的二維不能省略。
【考點(diǎn)鏈接】數(shù)組的下標(biāo)是從零開始的。
(18)D
【命題目的】考查指針和運(yùn)算符sizeof的運(yùn)用。
【解題要點(diǎn)】理解sizeof的用法,它可以運(yùn)算出各種數(shù)據(jù)類型所占內(nèi)存空間的多少。
【錯(cuò)解分析】選項(xiàng)C)中是指針p所指向的內(nèi)存地址中內(nèi)容是20。
【考點(diǎn)鏈接】在用完申請(qǐng)后的內(nèi)存應(yīng)立刻釋放。
(19)C
【命題目的】考查引用的用法。
【解題要點(diǎn)】引用必須在第一時(shí)間進(jìn)行賦值,int & B沒(méi)有在第一時(shí)間賦值故錯(cuò)誤。
【考點(diǎn)鏈接】引用的方式,引用和指針應(yīng)用的比較。
(20)A
【命題目的】考查return語(yǔ)句的用法和函數(shù)的調(diào)用。
【解題要點(diǎn)】本題函數(shù)Max的功能是求出兩個(gè)整數(shù)中的較大者,并且通return語(yǔ)句返回。
【考點(diǎn)鏈接】return語(yǔ)句的用法,注意return的條件。
(21)C
【命題目的】考查函數(shù)含有默認(rèn)參數(shù)時(shí)的調(diào)用方法。
【解題要點(diǎn)】如果一個(gè)函數(shù)中有多個(gè)參數(shù),則默認(rèn)參數(shù)應(yīng)從右到左逐個(gè)定義。
【錯(cuò)解分析】選項(xiàng)C)沒(méi)有給a傳遞任何的參數(shù),所以是錯(cuò)誤的。
【考點(diǎn)鏈接】函數(shù)含有默認(rèn)參數(shù)時(shí)的調(diào)用方式。
(22)C
【命題目的】考查類的概念。
【解題要點(diǎn)】C++語(yǔ)言中類定義中默認(rèn)的類的訪問(wèn)權(quán)限是private。
【錯(cuò)解分析】C++語(yǔ)言中沒(méi)有default權(quán)限。
【考點(diǎn)鏈接】結(jié)構(gòu)體默認(rèn)的訪問(wèn)權(quán)限是public,注意它們之間的區(qū)別。
(23)C
【命題目的】考查構(gòu)造函數(shù)的概念。
【解題要點(diǎn)】構(gòu)造函數(shù)的函數(shù)名必須和類名相同;構(gòu)造函數(shù)可以有一個(gè),也可以有多個(gè);構(gòu)造函數(shù)沒(méi)有返回值。
【考點(diǎn)鏈接】構(gòu)造函數(shù)可以被重載。
(24)C
【命題目的】考查拷貝構(gòu)造函數(shù)的方法。
【解題要點(diǎn)】固定的一種拷貝方式就是<類名>:<類名>const<類名>&<引用對(duì)象名>
【考點(diǎn)鏈接】如果一個(gè)類中沒(méi)有聲明,拷貝構(gòu)造函數(shù),編譯器會(huì)自動(dòng)生成一個(gè)如上述形成的僅有的拷貝構(gòu)造函數(shù)。
(25)D
【命題目的】考查類的繼承方法。
【解題要點(diǎn)】private繼承不能調(diào)用Display_b函數(shù),public繼承可以調(diào)用基類中非private成員。
【考點(diǎn)鏈接】類的繼承方式public,protected和private的區(qū)別。
(26)A
【命題目的】考查虛函數(shù)的基本概念。
【解題要點(diǎn)】虛函數(shù)只能是類的成員函數(shù),不能是構(gòu)造函數(shù)或析構(gòu)函數(shù)。
【考點(diǎn)鏈接】虛函數(shù)可以是另一個(gè)類的友元函數(shù)。
(27)C
【命題目的】考查多態(tài)性的基本概念。
【解題要點(diǎn)】多態(tài)性主要是指借助于指向?qū)ο蟮幕愔羔樆蛞谜{(diào)用一個(gè)虛函數(shù)。
【考點(diǎn)鏈接】注意多態(tài)和重載的關(guān)系和應(yīng)用。
(28)C
【命題目的】運(yùn)算符重載的概念考查。
【解題要點(diǎn)】C++語(yǔ)言規(guī)定.*運(yùn)算符是不能被重載的。
【考點(diǎn)鏈接】還有.,->*,::,?:這幾個(gè)運(yùn)算符不能重載。
(29)A
【命題目的】關(guān)于重載概念的考查。
【解題要點(diǎn)】C++語(yǔ)言規(guī)定"="運(yùn)算符只能作為成員函數(shù)重載。
(30)B
【命題目的】模板概念的考查。
【解題要點(diǎn)】類模板可以有虛擬類型參數(shù)。
【考點(diǎn)鏈接】模板及其周邊概念和模板的實(shí)現(xiàn)。
(31)D
【命題目的】setprecision()函數(shù)的考查。
【解題要點(diǎn)】setprecision()函數(shù)為設(shè)置小數(shù)位數(shù)。
【考點(diǎn)鏈接】C++ 中I/O流各種函數(shù)的使用例如:setw(),setfill()。
(32)A
【命題目的】考查交換兩整數(shù)的方法。
【解題要點(diǎn)】?jī)蓴?shù)只在函數(shù)change內(nèi)被使用,函數(shù)調(diào)用完后該內(nèi)存被釋放,因此沒(méi)有交換兩數(shù)。
【考點(diǎn)鏈接】交換兩個(gè)數(shù)的方法簡(jiǎn)單說(shuō)有兩種一是使用指針,二是用引用。
(33)D
【命題目的】考查字符串的應(yīng)用和′\0′的輸出。
【解題要點(diǎn)】′\0′輸出為不顯示,只代表一個(gè)字符串的結(jié)束。
【考點(diǎn)鏈接】C++語(yǔ)言中各種字符轉(zhuǎn)義序列的意義和應(yīng)用。
(34)C
【命題目的】考查類的繼承和實(shí)例化。
【解題要點(diǎn)】每實(shí)例化一個(gè)類就要調(diào)用其構(gòu)造函數(shù),結(jié)束運(yùn)行該實(shí)例后調(diào)用析構(gòu)函數(shù)。
【考點(diǎn)鏈接】類的實(shí)例化和構(gòu)造函數(shù)、析構(gòu)函數(shù)的調(diào)用方式和何時(shí)調(diào)用。
(35)C
【命題目的】考查一個(gè)類中由系統(tǒng)自動(dòng)生成的函數(shù)。
【解題要點(diǎn)】一個(gè)類中由系統(tǒng)自動(dòng)生成的函數(shù)有構(gòu)造函數(shù),析構(gòu)函數(shù),拷貝構(gòu)造函數(shù)。
【錯(cuò)解分析】?jī)?nèi)聯(lián)函數(shù)只能由用戶自己定義。
【考點(diǎn)鏈接】類能自動(dòng)生成的函數(shù),尤其注意構(gòu)造函數(shù)和析構(gòu)函數(shù),還有拷貝構(gòu)造函數(shù)。
二、填空題
(1)鏈?zhǔn)酱鎯?chǔ)和順序存儲(chǔ)
【命題目的】考查考生對(duì)數(shù)據(jù)結(jié)構(gòu)基本知識(shí)的了解。
【解題要點(diǎn)】棧和隊(duì)列都屬于線性表,它們一般采用順序存儲(chǔ)結(jié)構(gòu),也可以對(duì)它們采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。
【考點(diǎn)鏈接】棧、數(shù)組、表采用的存儲(chǔ)結(jié)構(gòu),各種存儲(chǔ)結(jié)構(gòu)的定義和區(qū)別。
(2)自頂而下
【命題目的】讓考生對(duì)程序設(shè)計(jì)有較深入的了解。
【考點(diǎn)鏈接】系統(tǒng)設(shè)計(jì)其他階段的內(nèi)容。
(3)模塊
【命題目的】考查考生對(duì)軟件結(jié)構(gòu)的了解。
【解題要點(diǎn)】采用模塊化原理可以使軟件結(jié)構(gòu)清晰,不僅容易設(shè)計(jì)也容易閱讀和理解,模塊化使得軟件容易測(cè)試和調(diào)試,因而有利于提高軟件的可靠性,也有利于軟件的組織管理,大型程序可由不同的程序員編寫不同的模塊,并且可以進(jìn)一步分配技術(shù)熟練的程序員編寫困難的部分。
【考點(diǎn)鏈接】軟件結(jié)構(gòu)的定義,模塊操作其他的所有特點(diǎn)。
(4)邏輯獨(dú)立性
【命題目的】考查考生對(duì)數(shù)據(jù)庫(kù)基本知識(shí)(數(shù)據(jù)獨(dú)立性)的了解。
【解題要點(diǎn)】數(shù)據(jù)獨(dú)立性是數(shù)據(jù)與程序間的互不依賴性,即數(shù)據(jù)庫(kù)中數(shù)據(jù)獨(dú)立于應(yīng)用程序而不依賴于應(yīng)用程序。數(shù)據(jù)獨(dú)立性一般分為物理獨(dú)立性與邏輯獨(dú)立性兩個(gè)含義。
【考點(diǎn)鏈接】在人工管理階段,文件系統(tǒng)階段和數(shù)據(jù)庫(kù)管理階段中數(shù)據(jù)獨(dú)立性的特點(diǎn)。
(5)完整性控制
【命題目的】考查考生對(duì)數(shù)據(jù)庫(kù)基本知識(shí)的了解。
【解題要點(diǎn)】安全性控制:防止未經(jīng)授權(quán)的用戶有意或無(wú)意存取數(shù)據(jù)庫(kù)中的數(shù)據(jù),以免數(shù)據(jù)被泄露、更改或破壞;完整性控制:保證數(shù)據(jù)庫(kù)中數(shù)據(jù)及語(yǔ)義的正確性和有效性,防止任何對(duì)數(shù)據(jù)造成錯(cuò)誤的操作;并發(fā)控制:正確處理好多用戶、多任務(wù)環(huán)境下的并發(fā)操作,防止錯(cuò)誤發(fā)生;恢復(fù):當(dāng)數(shù)據(jù)庫(kù)被破壞或數(shù)據(jù)不正確時(shí),使數(shù)據(jù)庫(kù)能恢復(fù)到正確的狀態(tài)。
【考點(diǎn)鏈接】數(shù)據(jù)庫(kù)的其他用途,如數(shù)據(jù)定義、數(shù)據(jù)操作和數(shù)據(jù)管理等。
(6)main()函數(shù)
【命題目的】考查C++語(yǔ)言的基本概念。
【解題要點(diǎn)】main()是C++語(yǔ)言的入口函數(shù)。
【考點(diǎn)鏈接】main()函數(shù)可以放在程序的任何位置
(7)15
【命題目的】考查++運(yùn)算符的用法。
【解題要點(diǎn)】i++為先做與i有關(guān)的運(yùn)算后,i自加1,而++i是先給i加1再進(jìn)行與i有關(guān)的操作
【考點(diǎn)鏈接】各種運(yùn)算符的應(yīng)用,注意++,--。
(8)循環(huán)結(jié)構(gòu)
【解題要點(diǎn)】C++語(yǔ)言3種基本結(jié)構(gòu)就是順序結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu)。
(9)delete[]i;
【命題目的】new和delete的用法。
【解題要點(diǎn)】申請(qǐng)內(nèi)存空間時(shí)用new,釋放內(nèi)存空間用delete。
【考點(diǎn)鏈接】new和delete的運(yùn)用和malloc,free的運(yùn)用。
(10)函數(shù)名
【命題目的】重載函數(shù)的具體要求。
【解題要點(diǎn)】重載函數(shù)的函數(shù)名應(yīng)和原函數(shù)一致。
【考點(diǎn)鏈接】重載函數(shù)的方式方法,重載函數(shù)的參數(shù),重載函數(shù)的返回值。
(11)this
【命題目的】this指針的基本概念。
【解題要點(diǎn)】C++語(yǔ)言中this指針是類自帶的一個(gè)指針,它指向正在調(diào)用成員函數(shù)的對(duì)象。
【考點(diǎn)鏈接】C++類的基本概念,this指針概念。
(12)解決二義性問(wèn)題~用關(guān)鍵字virtual
【命題目的】考查二義性的概念和解決方法。
【解題要點(diǎn)】解決二義性的兩個(gè)基本方法一是用域名進(jìn)行限制,二是用虛基類的方法。
【考點(diǎn)鏈接】C++語(yǔ)言中解決二義性的方法。
(13)20
【命題目的】模板函數(shù)的運(yùn)用。
【解題要點(diǎn)】要理解*data的含意。
(14)cout << endl;
【命題目的】考查"\n"和endl的意義。
【解題要點(diǎn)】"\n"表示換行,endl也可表示換行。
【考點(diǎn)鏈接】endl和"\n"可以通用。

