全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)公共基礎(chǔ)知識(shí)課后習(xí)題及答案_第1頁(yè)
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)公共基礎(chǔ)知識(shí)課后習(xí)題及答案_第2頁(yè)
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)公共基礎(chǔ)知識(shí)課后習(xí)題及答案_第3頁(yè)
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)公共基礎(chǔ)知識(shí)課后習(xí)題及答案_第4頁(yè)
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)公共基礎(chǔ)知識(shí)課后習(xí)題及答案_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)公共基礎(chǔ)知識(shí)課后習(xí)題及答案1第一章

數(shù)據(jù)結(jié)構(gòu)與算法一.選擇題

1.算法的時(shí)間復(fù)雜度是指(

)

A.

執(zhí)行算法程序所需要的時(shí)間

B.

算法程序的長(zhǎng)度

C.

算法執(zhí)行過程中所需要的基本運(yùn)算次數(shù)

D.

算法程序中的指令條數(shù)

2.算法的空間復(fù)雜度是指(

)

A.

算法程序的長(zhǎng)度

B.

算法程序中的指令條數(shù)

C.

算法程序所占的存儲(chǔ)空間

D.

算法執(zhí)行過程中所需要的存儲(chǔ)空間

3.下列敘述中正確的是(

)

A.

線性表是線性結(jié)構(gòu)B.

棧與隊(duì)列是非線性結(jié)構(gòu)

C.

線性鏈表是非線性結(jié)構(gòu)D.

二叉樹是線性結(jié)構(gòu)

4.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指(

)

A.

數(shù)據(jù)所占的存儲(chǔ)空間量

B.

數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示

C.

數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式

D.

存儲(chǔ)在外存中的數(shù)據(jù)

5.下列關(guān)于隊(duì)列的敘述中正確的是(

)

A.

在隊(duì)列中只能插入數(shù)據(jù)B.

在隊(duì)列中只能刪除數(shù)據(jù)

C.

隊(duì)列是先進(jìn)先出的線性表D.

隊(duì)列是先進(jìn)后出的線性表

6.下列關(guān)于棧的敘述中正確的是(

)

A.

在棧中只能插入數(shù)據(jù)B.

在棧中只能刪除數(shù)據(jù)

C.

棧是先進(jìn)先出的線性表D.

棧是先進(jìn)后出的線性表

8.在深度為5的滿二叉樹中,葉子結(jié)點(diǎn)的個(gè)數(shù)為(

)

A.

32

B.

31

C.

16

D.

15

9.對(duì)長(zhǎng)度為N的線性表進(jìn)行順序查找,在最壞情況下所需要的比較次數(shù)為(

)

A.

N+1

B.

N

C

.(N+1)/2

D.

N/2

10.設(shè)樹T的度為4,其中度為1,2,3,4的結(jié)點(diǎn)個(gè)數(shù)分別為4,2,1,1

.則T的葉子結(jié)點(diǎn)數(shù)為

A.

8

B.

7

C

.

6

D.

5

二.填空題

1.

對(duì)長(zhǎng)度為n的有序線性表中進(jìn)行二分查找,需要的比較次數(shù)為(

)

2.

設(shè)一棵完全二叉樹共有700個(gè)結(jié)點(diǎn),則在該二叉樹中有(

)個(gè)葉子結(jié)點(diǎn)

3.

設(shè)一棵二叉樹的中序遍歷結(jié)果為DBEAFC,前序遍歷結(jié)果為ABDECF,則后序遍歷結(jié)果為(

)

4.

在最壞情況下,冒泡排序的時(shí)間復(fù)雜度為(

)

5.

在一個(gè)容量為15的循環(huán)隊(duì)列中,若頭指針front=6,尾指針rear=9,則該循環(huán)隊(duì)列中共有(

)個(gè)元素第一章參考答案

一.選擇題

1.C

2.

D

3.

A

4.

B

5.

C

6.

D

7.

B

8.

B

9.

B

10.

A

二.

填空題

1)

log2n

2)

350

3)

DEBFCA

4)

N(N-1)/2

5)

3

第二章

程序設(shè)計(jì)基礎(chǔ)

一.

選擇題

1.結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是(

)

A.

程序的規(guī)模B.

程序的易讀性

C.

程序的執(zhí)行效率D.

程序的可移植性

2.對(duì)建立良好的程序設(shè)計(jì)風(fēng)格,下面描述正確的是(

)

A.程序應(yīng)簡(jiǎn)單、清晰、可讀性好B.符號(hào)名的命名只要符合語(yǔ)法

C.

充分考慮程序的執(zhí)行效率D.

程序的注釋可有可無(wú)

3.在面向?qū)ο蠓椒ㄖ?,一個(gè)對(duì)象請(qǐng)求另一對(duì)象為其服務(wù)的方式是通過發(fā)送(

)

A.

調(diào)用語(yǔ)句B.

命令C.

口令D.

消息

4.信息隱蔽的概念與下述哪一種概念直接相關(guān)?(

)

A.

軟件結(jié)構(gòu)定義B.

模塊獨(dú)立性

C.

模塊類型劃分D.

模塊耦合度

5.下面對(duì)對(duì)象概念描述錯(cuò)誤的是(

)

A.

任何對(duì)象都必須有繼承性B.

對(duì)象是屬性和方法的封裝體C.

對(duì)象間的通訊靠消息傳遞D.

操作是對(duì)象的動(dòng)態(tài)屬性

二.填空題

1.結(jié)構(gòu)化程序設(shè)計(jì)的三種基本邏輯結(jié)構(gòu)為順序、選擇和(

2.源程序文檔化要求程序應(yīng)加注釋。注釋一般分為序言性注釋和(

3.在面向?qū)ο蠓椒ㄖ?,信息隱蔽是通過對(duì)象的(

)性來實(shí)現(xiàn)的

4.類是一個(gè)支持集成的抽象數(shù)據(jù)類型,而對(duì)象是類的(

5.在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和操作的機(jī)制稱為(

)第二章參考答案

一.選擇題

1.B

2.

A

3.

D

4.

B

5.

A

二.填空題

1)

重復(fù)(或循環(huán))

2)

功能性

3)

封裝

4)

實(shí)例

5)

繼承

轉(zhuǎn)貼第三章

軟件工程基礎(chǔ)一.

選擇題

1.在軟件生命令周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是(

A.概要設(shè)計(jì)

B.詳細(xì)設(shè)計(jì)

C.可行性研究

D.需求分析

2.下面不屬于軟件工程的3個(gè)要素的是(

A.工具

B.過程

C.方法

D環(huán)境

3.檢查軟件產(chǎn)品是否符合需求定義的過程稱為(

A.確認(rèn)測(cè)試

B.集成測(cè)試

C.驗(yàn)證測(cè)試

D.驗(yàn)收測(cè)試

4.數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖合法圖符的是(

)A.控制流

B.加工

C.數(shù)據(jù)存儲(chǔ)

D.源和潭

5.下面不屬于軟件設(shè)計(jì)原則的是

A.抽象

B.模塊化

C.自底向上

D.信息隱蔽

6.程序流程圖(PFD)中的箭頭代表的是(

A.數(shù)據(jù)流

B.控制流

C.調(diào)用關(guān)系

D.組成關(guān)系

7.下列工具中為需求分析的常用工具的是(

)

A.

PAD

B.

PFD

C.

N-S

D.

DFD

8.在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開發(fā)中的階段是(

)A.詳細(xì)設(shè)計(jì)

B.需求分析

C.總體設(shè)計(jì)

D.編程調(diào)試

9.軟件調(diào)試的目的是(

)

A.

發(fā)現(xiàn)錯(cuò)誤

B.改正錯(cuò)誤

C.改善軟件的性能

D.挖掘軟件的潛能

10.軟件需求分析階段的工作,可以分為四個(gè)方面:需求獲取,需求分析,編寫需求規(guī)格說明書,以及(

A.階段性報(bào)告

B.需求評(píng)審

C.總結(jié)

D.都不正確

二.填空題

1.軟件是程序、數(shù)據(jù)和(

)的集合.

2.Jackson方法是一種面向(

)的結(jié)構(gòu)化方法

3.軟件工程研究的內(nèi)容主要包括(

)技術(shù)和軟件工程管理

4.數(shù)據(jù)流圖的類型有(

)和事務(wù)型

5.軟件開發(fā)環(huán)境是全面支持軟件開發(fā)全過程的(

)集合。第三章參考答案一.選擇題

1.D

2.

D

3.

A

4.

A

5.

C

6.

B

7.

D

8.

C

9.

B

10.

B

二.填空題

1)

文檔

2)

數(shù)據(jù)流

3)

軟件開發(fā)

4)

變換型

5)

軟件工具

轉(zhuǎn)貼第四章

數(shù)據(jù)庫(kù)設(shè)計(jì)基礎(chǔ)一.選擇題

1.在數(shù)據(jù)管理技術(shù)的發(fā)展過程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫(kù)系統(tǒng)階段。其中數(shù)據(jù)獨(dú)立性最高的階段是(

A.數(shù)據(jù)庫(kù)系統(tǒng)

B.文件系統(tǒng)

C.人工管理

D.數(shù)據(jù)項(xiàng)管理

2.下述關(guān)于數(shù)據(jù)庫(kù)系統(tǒng)的敘述正確的是(

)

A.數(shù)據(jù)庫(kù)系統(tǒng)減少了數(shù)據(jù)冗余

B.數(shù)據(jù)庫(kù)系統(tǒng)避免了一切冗余

C.數(shù)據(jù)庫(kù)系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型一致

D.數(shù)據(jù)庫(kù)系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)

3.數(shù)據(jù)庫(kù)系統(tǒng)的核心是(

)

A.

數(shù)據(jù)庫(kù)

B.數(shù)據(jù)庫(kù)管理系統(tǒng)

C.數(shù)據(jù)模型

D.軟件工具

4.用樹形結(jié)構(gòu)來表示實(shí)體之間聯(lián)系的模型稱為(

)

A.

關(guān)系模型

B.層次模型

C.網(wǎng)狀模型

D.數(shù)據(jù)模型

5.關(guān)系表中的每一橫行稱為一個(gè)(

)

A.

元組

B.字段

C.屬性

D.碼

6.按條件f對(duì)關(guān)系R進(jìn)行選擇,其關(guān)系代數(shù)表達(dá)式是(

)

A.

R|×|R

B.

R|×|R

C.

σf(R)

D.

πf(R)

7.關(guān)系數(shù)據(jù)管理系統(tǒng)能實(shí)現(xiàn)的專門關(guān)系運(yùn)包括(

)

A.排序、索引、統(tǒng)計(jì)B.選擇、投影、連接C.關(guān)聯(lián)、更新、排序

D.顯示、打印、制表

8.在關(guān)系數(shù)據(jù)庫(kù)中,用來表示實(shí)體之間聯(lián)系的是(

A.樹結(jié)構(gòu)

B.網(wǎng)結(jié)構(gòu)

C.線性表

D.二維表

9.?dāng)?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

將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體與聯(lián)系都可以表示成(

A.屬性

B.關(guān)系

C.鍵

D.域

二.

填空題

1.一個(gè)項(xiàng)目具有一個(gè)項(xiàng)目主管,一個(gè)項(xiàng)目主管可管理多個(gè)項(xiàng)目,則實(shí)體”項(xiàng)目主管”與實(shí)體”項(xiàng)目”的聯(lián)系屬于(

)的聯(lián)系.

2.數(shù)據(jù)獨(dú)立性分為邏輯獨(dú)立性和物理獨(dú)立性.當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),其邏輯結(jié)構(gòu)可以不變。因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改,稱為(

)

3.數(shù)據(jù)庫(kù)系統(tǒng)中實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱為(

)

4.關(guān)系模型的完整性規(guī)則是對(duì)關(guān)系的某種約束條件,包括實(shí)體完整性、(

)和自定義完整性.

5.在關(guān)系模型中,把數(shù)據(jù)看成一個(gè)二維表,每一個(gè)二維表稱為一個(gè)(

)轉(zhuǎn)貼于第四章參考答案

一.選擇題

1.A

2.

A

3.

B

4.

B

5.

A

6.

C

7.

B

8.

D

9.

A

10.

B

三.

填空題

1)

一對(duì)多(或1:N)

2)

邏輯獨(dú)立性

3)

數(shù)據(jù)庫(kù)管理系統(tǒng)

4)

參照完整性

5)

關(guān)系

轉(zhuǎn)貼于一、選擇題(1)下列關(guān)于棧的敘述正確的是

A)棧是非線性結(jié)構(gòu)B)棧是一種樹狀結(jié)構(gòu)C)棧具有先進(jìn)先出的特征D)棧具有后進(jìn)先出的特征

(2)結(jié)構(gòu)化程序設(shè)計(jì)所規(guī)定的三種基本控制結(jié)構(gòu)是

A)輸入、處理、輸出B)樹形、網(wǎng)形、環(huán)形C)順序、選擇、循環(huán)D)主程序、子程序、函數(shù)(3)結(jié)構(gòu)化程序設(shè)計(jì)的一種基本方法是A)篩選法B)遞歸法C)歸納法D)逐步求精法(4)如果對(duì)一個(gè)關(guān)系實(shí)施了一種關(guān)系運(yùn)算后得到了一個(gè)新的關(guān)系,而且新的關(guān)系中屬性個(gè)數(shù)少于原來關(guān)系中屬性個(gè)數(shù),這說明所實(shí)施的運(yùn)算關(guān)系是:A)選擇B)投影C)連接D)并

二、填空題

1.對(duì)于輸入為N個(gè)數(shù)進(jìn)行快速排序算法的平均時(shí)間復(fù)雜度是()2.在面向?qū)ο蠓椒▽W(xué)中,直接反映了用戶對(duì)目標(biāo)系統(tǒng)的要求的模型是()3.軟件測(cè)試方法中,黑盒測(cè)試個(gè)白盒測(cè)試法是常用的方法,其中黑盒測(cè)試法主要是用于測(cè)試()

4.關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)中存儲(chǔ)與管理數(shù)據(jù)的基本形式是()

C語(yǔ)言程序設(shè)計(jì)

一、選擇題(1)以下程序的輸入結(jié)果是

main()

{inti=010,j=10,k=x10;

printf("%d,%d,%d",i,j,k);

}

A)8,10,16B)8,10,10C)10,10,10D)10,10,16

(2)指針s所指字符串的長(zhǎng)度

char*s=""NameAddress";

A)說法不合法B)19C)18D)15

(3)C語(yǔ)言中最簡(jiǎn)單的數(shù)據(jù)類型包括

A)整型、實(shí)型、邏輯型B)整型、實(shí)型、字符型

C)整型、字符型、邏輯型D)整型、實(shí)型、邏輯型、字符型

(4)為表示關(guān)系x大于等于y大于等于z,應(yīng)使用C語(yǔ)言表達(dá)式

A)(x>=Y)&&(Y>=z)B)(x>=Y)AND(y>=z)C)(x>=Y>=z)D)(x>=Y)&(Y>=z)

(5)下列對(duì)C語(yǔ)言字符數(shù)組的描述中錯(cuò)誤的是

A)字符數(shù)組可以存放字符串B)字符數(shù)組中的字符串可以整體輸入、輸出

C)可以在賦值語(yǔ)句中通過賦值運(yùn)算符“=”對(duì)字符數(shù)組整體賦值D)不可以用關(guān)系運(yùn)算符對(duì)字符數(shù)組中的字符串進(jìn)行比較

(6)以下說法中正確的是

A)C語(yǔ)言程序總是從第一個(gè)定義的函數(shù)開始執(zhí)行B)在C語(yǔ)言程序中,要調(diào)用的函數(shù)必須在main()函數(shù)中定義

C)C語(yǔ)言程序總是從main()函數(shù)開始執(zhí)行D)C語(yǔ)言程序中的main()函數(shù)必須放在程序的開始部分

(7)以下程序段的輸出結(jié)果是

intx=3;

do

{printf("%3d",x-=2);}

while(!(--x));

A)1B)30C)1-2D)死循環(huán)

(8)設(shè)有如下定義:

char*aa[2]={"abcd","ABCD"};

則以下說法中正確的是

A)aa數(shù)組元素的值分別是"abcd"和"ABCD"

B)aa是指針變量,它指向含有兩個(gè)數(shù)組元素的字符型一維數(shù)組

C)aa數(shù)組的兩個(gè)元素分別存放的是含有4個(gè)字符的一維字符數(shù)組的首地址

D)aa數(shù)組的兩個(gè)元素中各自存放了字符'a'和'A'的地址

(9)設(shè)有以下定義:

inta[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};

int(*prt)[3]=a,*p=a[0];

則下列能夠正確表示數(shù)組元素a[1][2]的表達(dá)式是

A)*((*prt+1)[2])B)*(*(p+5))C)(*prt+1)+2D)*(*(a+1)+2)

(10)以下程序的輸出結(jié)果是

fut(int**s,intp[2][3])

{**s=p[1][1];}

main()

{inta[2][3]={1,3,5,7,9,11},*P;

p=(int*)malloc(sizeof(int));

fut(&p,a);

print("%",*p);

}

A)1B)7C)9D)11二、填空題(1)表示條件:10

(2)下列程序的輸出結(jié)果是()

#include

main()

{charb[]="ABCDEFG";

char*chp=&b[7];

while(--chp>&b[0])

putchar(*chp);

putchar("");

}

(3)下列程序的輸出結(jié)果是()

intast(intx,intY,int*cp,int*dp)

{*cp=x+y;

*dp=x-y;

}

main()

{inta,b,c,d;

a=4;b=3;

ast(a,b,&c,&d);

print("%d%dn",c,d);

}

(4)閱讀程序:

main()

{charstr1[]="howdoyoudo",str2[10];

char*p1=str1,*p2=str2;

scanf("%s",p2);

printf("%s",p2);

printf("%s",p1);

}

運(yùn)行上面的程序,輸入字符串HOWDOYOUDO則程序的輸出結(jié)果是()

(5)以下程序由終端鍵盤輸入一個(gè)文件名,然后把從終端鍵盤輸入的字符依次存放到該文件中,用#作為結(jié)束輸入的標(biāo)志。請(qǐng)?zhí)羁铡?/p>

#include

main()

{FILE*fp;

charch,fname[10];

printf("Inputthenameoffile");

gets(fname);

gets(fname);

if((fp=[5])==NULL)

{printf("Cannotopen");exit(0);}

printf("Enterdata");

while((ch=getchar())!='#')

fputc([6],fp);

fclose(fp);

}三、上機(jī)操作題1.改錯(cuò)題

下列給定程序中,函數(shù)fun的功能是:逐個(gè)比較a、b兩個(gè)字符串對(duì)應(yīng)位置中的字符,把ASCII值大或相等的字符依次存放到c數(shù)組中,形成一個(gè)新的字符串。例如:若a中的字符串為:aBCDeFgH,b中的字符串為:ABcd,則c中的字符串應(yīng)為:aBcdeFgH.請(qǐng)改正程序中的錯(cuò)誤,使它能得到正確結(jié)果,注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。

試題程序:

#include

#include

voidfun(char*p,char*q,char*c)

{intk=1;

while(*p!=*q)

{if(*p!<*q)c[k]=*q;

elsec[k]=*p;

if(*p)p++;

if(*q)q++;

k++;

}

}

main()

{chara[10]="aBCDeFfH",b[10]="ABcd",c[80]={"0"};

fun(a,b,c);

printf("Thestringa:");puts(a);

ptintf("Thestringb:");puts(b);

printf("Theresult:");puts(c);

2.編程題

請(qǐng)編寫函數(shù)fun,它的功能是:求出1到1000之內(nèi)能被7或11整除、但不能同時(shí)被7和11整除的所有整數(shù)并將它們放在a所指的數(shù)組中,通過n返回這些數(shù)的個(gè)數(shù)。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語(yǔ)句。

試題程序:

#include<conio.h>

#include<stdio.h>

voidfun(int*a,int*n)

{

}

main()

{intaa[1000],n,k;

clrscr();

fun(aa,&n);

for(k=0;kif((k+1)%10==0)printf("");elseprintf("%5d",aa[k]);

}

二級(jí)(C語(yǔ)言程序設(shè)計(jì))樣題參考答案一、選擇題

(1)D(2)C(3)D(4)B二、填空題

(1)[1]O(Nlog2N)

(2)[2]功能模型

(3)[3]軟件外部功能

(4)[4]二維表C語(yǔ)言程序設(shè)計(jì)一、選擇題

(1)A(2)D(3)B(4)A(5)C(6)C(7)C(8)D(9)D(10)C二、填空題

(1)[1](x>10&&x<100)//x<0

或(10或x<0//(x>10&&x<100)

或0>x//(10(并且括號(hào)有無(wú)都可以)

(2)[2]GFEDCB

(3)[3]71

(4)[4]HOWhowdoyoudo(說明:HOW和how之間有無(wú)空格均可)

(5)[5]fopen(fname,"w")

(說明:"w"內(nèi)以w開頭的字符串均可)

[6]ch(1)已知一棵二叉樹前序遍歷和中序遍歷分別為ABDEGCFH和DBGEACHF,則該二叉樹的后序遍歷為

A)GEDHFBCAB)DGEBHFCA

C)ABCDEFGHD)ACBFEDHG正確答案:

B(2)樹是結(jié)點(diǎn)的集合,它的根結(jié)點(diǎn)數(shù)目是

A)有且只有1B)1或多于1

C)0或1D)至少2正確答案:

A(3)如果進(jìn)棧序列為e1,e2,e3,e4,則可能的出棧序列是

A)e3,e1,e4,e2B)e2,e4,e3,e1C)e3,e4,e1,e2

D)任意順序正確答案:

B(4)在設(shè)計(jì)程序時(shí),應(yīng)采納的原則之一是正確答案:

D

A)不限制goto語(yǔ)句的使用B)減少或取消注解行

C)程序越短越好D)程序結(jié)構(gòu)應(yīng)有助于讀者理解

(5)程序設(shè)計(jì)語(yǔ)言的基本成分是數(shù)據(jù)成分、運(yùn)算成分、控制成分和

A)對(duì)象成分B)變量成分C)語(yǔ)句成分

D)傳輸成分

正確答案:

D一、選擇題

(1)下列數(shù)據(jù)結(jié)構(gòu)中,按先進(jìn)后出原則組織數(shù)據(jù)的是

A)線性鏈表

B)棧C)循環(huán)鏈表

D)順序表正確答案:

B(2)具有3個(gè)結(jié)點(diǎn)的二叉樹有

A)2種形態(tài)

B)4種形態(tài)

C)7種形態(tài)

D)5種形態(tài)

正確答案:

D(3)設(shè)有下列二叉樹:

對(duì)此二叉樹前序遍歷的結(jié)果為

A)ZBTYCPXA

B)ATBZXCYPC)ZBTACYXP

D)ATBZXCPY

正確答案:

B(4)結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是正確答案:

D

A)程序的規(guī)模

B)程序的效率

C)程序設(shè)計(jì)語(yǔ)言的先進(jìn)性

D)程序易讀性

(5)程序的3種基本控制結(jié)構(gòu)是

A)過程、子過程和分程序

B)順序、選擇和重復(fù)

C)遞歸、堆棧和隊(duì)列

D)調(diào)用、返回和轉(zhuǎn)移

正確答案:

B(6)下列敘述中,不屬于測(cè)試的特征的是

A)測(cè)試的挑剔性

B)完全測(cè)試的不可能性

C)測(cè)試的可靠性

D)測(cè)試的經(jīng)濟(jì)性

正確答案:

C(7)需求分析中開發(fā)人員要從用戶那里了解

A)軟件做什么

B)用戶使用界面

C)輸入的信息

D)軟件的規(guī)模

正確答案:

A(8)下列關(guān)系模型中,能使經(jīng)運(yùn)算后得到的新關(guān)系中屬性個(gè)數(shù)多于原來關(guān)系中屬性個(gè)數(shù)的是

A)選擇

B)連接C)投影

D)并

正確答案:

B(9)下列敘述中,正確的是

A)用E-R圖能夠表示實(shí)體集間一對(duì)一的聯(lián)系、一對(duì)多的聯(lián)系和多對(duì)多的聯(lián)系

B)用E-R圖只能表示實(shí)體集之間一對(duì)一的聯(lián)系

C)用E-R圖只能表示實(shí)體集之間一對(duì)多的聯(lián)系

D)用E-R圖表示的概念數(shù)據(jù)模型只能轉(zhuǎn)換為關(guān)系數(shù)據(jù)模型

正確答案:

C(10)"年齡在18~25之間"這種約束是屬于數(shù)據(jù)庫(kù)當(dāng)中的

A)原子性措施

B)一致性措施

C)完整性措施

D)安全性措施

正確答案:

C(11)以下說法錯(cuò)誤的是

A)高級(jí)語(yǔ)言都是用接近人們習(xí)慣的自然語(yǔ)言和數(shù)學(xué)語(yǔ)言作為語(yǔ)言的表達(dá)形式

B)計(jì)算機(jī)只能處理由0和1的代碼構(gòu)成的二進(jìn)制指令或數(shù)據(jù)

C)C語(yǔ)言源程序經(jīng)過C語(yǔ)言編譯程序編譯之后生成一個(gè)后綴為.EXE的二進(jìn)制文件

D)每一種高級(jí)語(yǔ)言都有它對(duì)應(yīng)的編譯程序

正確答案:

C(12)算法是指為解決某個(gè)特定問題而采取的確定且有限的步驟,下面不屬于算法的五個(gè)特性的是

A)有零個(gè)輸入或多個(gè)輸入B)高效性C)有窮性D)確定性

正確答案:

B(13)已知inta=6;則執(zhí)行a+=a-=a*a;語(yǔ)句后,a的值為

A)36B)0C)-24D)-60

正確答案:

D(14)下面各選項(xiàng)中,均是C語(yǔ)言標(biāo)識(shí)符的選項(xiàng)組是

A)forchinatoB)long_123short56_do

C)voidunion_342D)text.txt_023_3ew

正確答案:

B(15)下列表達(dá)式中,結(jié)果為5的是

A)6*5%6B)5*-2+15

C)5+75%10D)6+-2/3

正確答案:

B(16)下列常量中,為不合法的實(shí)型常量表示的是

A).0032B)0.0

C)0.3242E8D).E3

正確答案:

D(17)關(guān)于C語(yǔ)言的主函數(shù)描述正確的是

A)C程序可以有多個(gè)main函數(shù)

B)C程序必有一個(gè)而且只能有一個(gè)main函數(shù)

C)C程序可以沒有main函數(shù)

D)C程序的執(zhí)行不一定在main函數(shù)開始執(zhí)行

正確答案:

B(18)已知inta=1,b=-1;則語(yǔ)句printf("%d\n",(a--,++b));的輸出結(jié)果是

A)-1B)0C)1D)語(yǔ)句錯(cuò)誤

正確答案:

B(19)已知inta,b;doublec;則以下語(yǔ)句中錯(cuò)誤的函數(shù)調(diào)用是

A)scanf("%d,%x,%lf",&a,&b,&c);

B)scanf("%d,%d,%le",&a,&b,&c);

C)scanf("%o,%x,%o",&a,&b);

D)scanf("%d,%o,%e",&a,&b,&c);

正確答案:

D(20)已知x,y,z均為整型變量,且值均為1,則執(zhí)行語(yǔ)句++x||++y&&++z;后,表達(dá)式x+y的值為正確答案:

C

A)1B)2C)3D)4(30)閱讀下面程序,則程序執(zhí)行后的結(jié)果為

#include"stdio.h"

main()

{inta=4,b=6,c=7;

doubled,fun(int,int,int);

d=fun(a,b,c);

printf("%lf\n",d);}

doublefun(inta,intb,intc)

{doubles;

s=a%b*c;

returns;}

A)27B)27.000000

C)28D)28.000000

正確答案:

D(31)下列不合法的指針變量的定義是

A)int*_k;B)char*_245;

C)int*p;D)double*5_is

正確答案:

D(32)下列關(guān)于指針變量賦空值的說法錯(cuò)誤的是

A)當(dāng)賦空值的時(shí)候,變量指向地址為0的存儲(chǔ)單元

B)賦值語(yǔ)句可以表達(dá)為變量名=′\0′;

C)賦值語(yǔ)句可以表達(dá)為變量名=0;

D)一個(gè)指針變量可以被賦空值

正確答案:

A(33)閱讀下面程序,則執(zhí)行后輸出的結(jié)果為

#include"stdio.h"

voidfun(int*a,int*b)

{intm;

m=(*a+*b)*(*a+*b);

m+=(*a-*b)*(*a-*b);

printf("%d\n",m);}

main()

{inta=5,b=6,*x=&a,*y=&b;

fun(x,y);}

A)120B)121C)122

D)123正確答案:

C(34)閱讀下面程序,則輸出結(jié)果是

#include"stdio.h"

voidfun(int*a,int*b)

{intc=20,d=25;

*a=c/3;

*b=d/5;}

main()

{inta=3,b=5;

fun(&a,&b);

printf("%d,%d\n",a,b);}

A)6,5B)5,6C)20,25D)3,5

正確答案:

A(35)以下對(duì)一維數(shù)組c進(jìn)行正確的定義初始化的語(yǔ)句是

A)intc[10]=0;B)intc[10]={0}*10;

C)intc[1]={0,0,0,0,0,0,0};

D)intc[10]={0};正確答案:

D(36)以下二維數(shù)組c的定義形式是

A)intc[3][]B)floatc[3,4]

C)doublec[3][4]D)floatc(3)(4)

正確答案:

C(37)閱讀下列程序,則執(zhí)行后輸出的結(jié)果是

#include"stdio.h"

intk=1;

main()

{fun(k);

printf("%d\n",k);}

fun(intk)

{k++;

k=k*6;}正確答案:

A

A)1B)2C)6D)12

(38)已知#defineM2;的宏定義,執(zhí)行語(yǔ)句k=M*5;后,k的值是

A)10B)5C)2D)以上答案都不對(duì)正確答案:

D(39)已知:intc[3][4];則對(duì)數(shù)組元素引用正確的是

A)c[1][4]B)c[1.5][0]

C)c[1+0][0]D)以上表達(dá)都錯(cuò)誤

正確答案:

C(40)現(xiàn)有如下程序段

#include"stdio.h"

voidfun(int*a,int*b,int*c)

{*c=*a+*b;}

main()

{inta[2]={12,23},c;

fun(a,a+1,&c);

printf("%d\n",c);}

則程序的輸出結(jié)果為

A)23B)12

C)0D)35

正確答案:

D(41)若有以下語(yǔ)句,則正確的描述是

chara[]="toyou";

charb[]={′t′,′o′,′y′,′o′,′u′};

A)a數(shù)組和b數(shù)組的長(zhǎng)度相同

B)a數(shù)組長(zhǎng)度小于b數(shù)組長(zhǎng)度

C)a數(shù)組長(zhǎng)度大于b數(shù)組長(zhǎng)度

D)a數(shù)組等價(jià)于b數(shù)組

正確答案:

C(42)已知:chara[15],b[15]={"Ilovechina"};則在程序中能將字符串Ilovechina賦給數(shù)組a的正確語(yǔ)句是

A)a="Ilovechina";B)strcpy(b,a);

C)a=b;D)strcpy(a,b);正確答案:

D(44)閱讀下面程序,則執(zhí)行后的結(jié)果為

#include"stdio.h"

main()

{

char*str="abcdefghijklmnopq";

while(*str++!=′e′);

printf("%c\n",*str);}

A)fB)aC)e

D)q正確答案:

A(45)現(xiàn)有如下程序段

#include"stdio.h"

intfun(intk,int*m)

{if(k%3)*m=k*k;

else*m=k/3;}

main()

{int(*p)(int,int*),m;

p=fun;

(*p)(78,&m);

printf("%d\n",m);}

則程序段的輸出結(jié)果為

A)24B)25C)26

D)27正確答案:

C(46)閱讀下列程序,則執(zhí)行后的輸出結(jié)果為

#include"stdio.h"

fun(intx)

{if(x/2>0)fun(x/2);

printf("%d",x%2);}

main()

{fun(20);

putchar(′\n′);}

A)11100B)10100C)10101

D)10110正確答案:

B(47)閱讀如下程序段,則執(zhí)行后程序的輸出結(jié)果是

#include<stdio.h>

main()

{structa{intx;inty;}num[2]={{20,5},{6,7}};

printf("%d\n",num[0].x/num[0].y*num[1].y);}

A)0B)28C)20D)5正確答案:

B(48)閱讀程序段,則執(zhí)行后的輸出結(jié)果為

#include"stdio.h"

typedefunion{longx[2];

inty[4];

charz[8];}atx;

typedefstructaa{longx[2];

inty[4];

charz[8];}stx;

main()

{printf("union=%d,structaa=%d\n",sizeof(atx),sizeof(stx));}

A)union=8,structaa=8

B)union=8,structaa=24

C)union=24,structaa=8

D)union=24,structaa=24

正確答案:

B(49)閱讀下列程序段

#include"stdio.h"

typedefstructaa

{inta;

structaa*next;}M;

voidset(M*k,inti,int*b)

{intj,d=0;

for(j=1;j<i;j++)

{

k[j-1].next=&k[j];

k[j-1].a=b[d++];}

k[j].a=b[d];}

main()

{Mk[5],*p;

intd[5]={23,34,45,56,67};

set(k,5,d);

p=k+1;

printf("%d\n",table);}

則下面的表達(dá)式在table處,能使程序執(zhí)行后,打印輸出數(shù)據(jù)45的是

A)p->next->aB)++p->a

C)(*p).a++D)p++->a

正確答案:

A(50)閱讀下面程序,程序?qū)崿F(xiàn)的功能是(a123.txt在當(dāng)前盤符下已經(jīng)存在)

#include"stdio.h"

voidmain()

{FILE*fp;

inta[10],*p=a;

fp=fopen("a123.txt","w");

while(strlen(gets(p))>0)

{fputs(a,fp);

fputs("\n",fp);}

fclose(fp);}

A)從鍵盤輸入若干行字符,按行號(hào)倒序?qū)懭胛谋疚募123.txt中

B)從鍵盤輸入若干行字符,取前2行寫入文本文件a123.txt中

C)從鍵盤輸入若干行字符,第一行寫入文本文件a123.txt中

D)從鍵盤輸入若干行字符,依次寫入文本文件a123.txt中

正確答案:

D二、填空題

(1)排序是計(jì)算機(jī)程序設(shè)計(jì)中的一種重要操作,常見的排序方法有插入排序、【1】和選擇排序等。正確答案:

1.(交換排序)(2)當(dāng)循環(huán)隊(duì)列非空且隊(duì)尾指針等于隊(duì)頭指針時(shí),說明循環(huán)隊(duì)列已滿,不能進(jìn)行入隊(duì)運(yùn)算。這種情況稱為【2】。正確答案:

1.(上溢)(3)【3】是一種信息隱蔽技術(shù),目的在于將對(duì)象的使用者和對(duì)象的設(shè)計(jì)者分開。正確答案:

1.(封裝)(4)為了便于對(duì)照檢查,測(cè)試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的【4】?jī)刹糠纸M成。正確答案:

1.(輸出結(jié)果)(5)【5】是從二維表列的方向進(jìn)行的運(yùn)算。

正確答案:

1.(關(guān)系運(yùn)算)(6)定義inta=5,b=20;若執(zhí)行語(yǔ)句printf("%d\n",++a*--b/5%13);后,輸出的結(jié)果為【6】。正確答案:

1.(9)(7)執(zhí)行程序時(shí)的輸入為123456789,則程序的運(yùn)行結(jié)果為【7】。

#include"stdio.h"

main()

{

inta,b;

scanf("%2d%*2d%1d",&a,&b);

printf("%d\n",a-b);}

正確答案:

1.(7)(8)閱讀下面程序,則在執(zhí)行時(shí)候的輸出為【8】。

#include"stdio.h"

main()

{intx=1,y=2,z=0;

if(x=2)z=x,x=y,y=z;

printf("%d,%d\n",x,y);}

正確答案:

1.(2,2)(9)語(yǔ)句printf("%d\n",′H′-′0′+64);的執(zhí)行結(jié)果為【9】。

正確答案:

1.(88)(10)閱讀下面程序,則程序的執(zhí)行結(jié)果為【10】。

#include"stdio.h"

main()

{inta=10;

fun(a);

printf("%d\n",a);}

fun(intx)

{x=50;}

正確答案:

1.(10)(11)以下程序的輸出結(jié)果是【11】。

intfun(intx,inty,int*p,int*q)

{*p=x*y;

*q=x/y;}

main()

{inta,b,c,d;

a=4;b=3;

fun(a,b,&c,&d);

printf("%d,%d\n",c,d);}

正確答案:

1.(12,1)(12)下面程序是求出數(shù)組arr的兩條對(duì)角線上元素之和,請(qǐng)?zhí)羁铡?/p>

#include"stdio.h"

main()

{intarr[3][3]={2,3,4,8,3,2,7,9,8},a=0,b=0,i,j;

for(i=0;i<3;i++)

for(j=0;j<3;j++)

if(【12】)a=a+arr[i][j];

for(i=0;i<3;i++)

for(【13】;j>=0;j--)

if(【14】)

b=b+arr[i][j];

printf("%d,%d\n",a,b);}

正確答案:

1.(i==j)2.(j=2)3.(i+j==2)(13)下面程序的功能是:對(duì)字符串從小到大進(jìn)行排序并輸出,請(qǐng)?zhí)羁铡?/p>

#include"string.h"

#include"stdio.h"

sort(char*a[],intn)

{inti,j;

char*p;

for(j=1;j<=n-1;j++)

for(i=0;【15】;i++)

if(【16】>0)

{p=a[i];

a[i]=a[i+1];

a[i+1]=p;}}

main()

{inti;

char*book[]={"itisme","itisyou","howareyou","fine","goodnight","goodbye"};

sort(【17】);

for(i=0;i<6;i++)

printf("%s\n",book[i]);}

正確答案:

1.(i<n-j)2.(strcmp(a[i],a[i+1]))3.(book,6)(14)下面的函數(shù)是完成1~n的累加,完成函數(shù)。

a(intk)

{if(k<=0)printf("error\n");

if(k==1)【18】;

else【19】;}

正確答案:

1.(return1)2.(return(a(k-1)+k))(15)閱讀下列程序,則程序?qū)崿F(xiàn)的功能是【20】。

#include"stdio.h"

structnode

{chardata;

structnode*next;}*head;

fun(structnode*q)

{if(head==NULL)

{q->next=NULL;

head=q;}

else

{q->next=head;

head=q;}}

main()

{charch;

structnode*p;

head=NULL;

while((ch=getchar())!=′\n′)

{p=(structnode*)malloc(sizeof(structnode));

p->data=ch;

fun(p);}

p=head;

while(p!=NULL)

{printf("%c",p->data);

p=p->next;}}

正確答案:

1.(從鍵盤輸入一行字符串,調(diào)用函數(shù)建立反序的鏈表,然后輸出整個(gè)鏈表)(1)最簡(jiǎn)單的交換排序方法是

A)快速排序

B)選擇排序

C)堆排序

D)冒泡排序

正確答案:

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)

正確答案:

A(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)正確答案:

B(4)完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征,而只是根據(jù)程序功能導(dǎo)出測(cè)試用例的測(cè)試方法是

A)黑箱測(cè)試法

B)白箱測(cè)試法

C)錯(cuò)誤推測(cè)法

D)安裝測(cè)試法

正確答案:

A(5)在結(jié)構(gòu)化設(shè)計(jì)方法中,生成的結(jié)構(gòu)圖(SC)中,帶有箭頭的連線表示

A)模塊之間的調(diào)用關(guān)系

B)程序的組成成分C)控制程序的執(zhí)行順序

D)數(shù)據(jù)的流向

正確答案:

A(6)下列選項(xiàng)中,不屬于模塊間耦合的是

A)數(shù)據(jù)耦合

B)同構(gòu)耦合

C)異構(gòu)耦合

D)公用耦合

正確答案:

C(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)系

正確

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論