國(guó)家二級(jí)(C語(yǔ)言)筆試模擬試卷4(共543題)_第1頁(yè)
國(guó)家二級(jí)(C語(yǔ)言)筆試模擬試卷4(共543題)_第2頁(yè)
國(guó)家二級(jí)(C語(yǔ)言)筆試模擬試卷4(共543題)_第3頁(yè)
國(guó)家二級(jí)(C語(yǔ)言)筆試模擬試卷4(共543題)_第4頁(yè)
國(guó)家二級(jí)(C語(yǔ)言)筆試模擬試卷4(共543題)_第5頁(yè)
已閱讀5頁(yè),還剩131頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

國(guó)家二級(jí)(C語(yǔ)言)筆試模擬試卷4(共

9套)

(共543題)

國(guó)家二級(jí)(C語(yǔ)言)筆試模擬試卷第1

一、公共基礎(chǔ)選擇題(本題共10題,每題7.0分,共

70分。)

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

A、算法的長(zhǎng)度

B、執(zhí)行算法所需要的時(shí)間

C、算法中的指令條數(shù)

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

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:算法的時(shí)間復(fù)雜度,是指執(zhí)行算法所需要的工作量,可以用算法在執(zhí)

行過(guò)程中所需基本運(yùn)算的執(zhí)行次數(shù)來(lái)度量算法的工作量。

2、以下數(shù)據(jù)結(jié)構(gòu)中,屬于非線性數(shù)據(jù)結(jié)構(gòu)的是()。

A、棧

B、線性表

C、隊(duì)列

D、二叉樹(shù)

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:二叉樹(shù)屬于非線性結(jié)構(gòu)。棧是一種特殊的線性表,這種線性表只能在

固定的一端進(jìn)行插入和刪除操作;隊(duì)列可看作是插入在一端進(jìn)行,刪除在另一端進(jìn)

行的線性表。

3、數(shù)據(jù)結(jié)構(gòu)中,與所使用的計(jì)算機(jī)無(wú)關(guān)的是數(shù)據(jù)的()。

A、存儲(chǔ)結(jié)構(gòu)

B、物理結(jié)構(gòu)

C、邏輯結(jié)構(gòu)

D、線性結(jié)構(gòu)

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)反映的是數(shù)據(jù)元素之間的邏輯關(guān)系,與使用的計(jì)算機(jī)

無(wú)關(guān)。

4、內(nèi)聚性是對(duì)模塊功能強(qiáng)度的衡量,下列選項(xiàng)中,內(nèi)聚性較弱的是()。

A、順序內(nèi)聚

B、偶然內(nèi)聚

C、時(shí)間內(nèi)聚

D、邏輯內(nèi)聚

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:內(nèi)聚是從功能角度來(lái)衡量模塊的聯(lián)系,它描述的是模塊內(nèi)的功能聯(lián)

系。內(nèi)聚有如下種類(lèi),它們之間的內(nèi)聚度由弱到強(qiáng)排列:偶然內(nèi)聚——模塊中的

代碼無(wú)法定義其不同功能的調(diào)用。但它使該模塊能執(zhí)行不同的功能,這種模塊為巧

合強(qiáng)度模塊。邏輯內(nèi)聚——這種模塊把幾種相關(guān)的功能組合在一起,每次被調(diào)用

時(shí),由傳送給模塊的參數(shù)來(lái)確定該模塊應(yīng)完成哪一種功能。時(shí)間內(nèi)聚—這種模

塊順序完成一類(lèi)相關(guān)功能,比如初始化模塊,它順序地為變量置初值。過(guò)程內(nèi)聚

-如果一個(gè)模塊內(nèi)的處理元素是相關(guān)的,而旦必須以特定次序執(zhí)行,則稱(chēng)為過(guò)程

內(nèi)聚。通信內(nèi)聚—這種模塊除了具有過(guò)程內(nèi)聚的特點(diǎn)外,還有另外一種關(guān)系,

即它的所有功能都通過(guò)使用公用數(shù)據(jù)而發(fā)生關(guān)系。順序內(nèi)聚一如果一個(gè)模塊內(nèi)

各個(gè)處理元素和同一個(gè)功能密切相關(guān),而且這些處理必須順序執(zhí)行,處理元素的輸

出數(shù)據(jù)作為下一個(gè)處理元素的輸入數(shù)據(jù),則稱(chēng)為順序內(nèi)聚。功能內(nèi)聚—如果一

個(gè)模塊包括為完成某一具體任務(wù)所必需的所有成分,或者說(shuō)模塊中所有成分結(jié)合起

來(lái)是為了完成一個(gè)具體的任務(wù),此模塊則為功能內(nèi)聚模塊。

5、在關(guān)系中凡能惟一標(biāo)識(shí)元組的最小屬性集稱(chēng)為該表的鍵或碼。二維表中可能有

若干個(gè)鍵.它們稱(chēng)為該表的().

A、連接碼

B、關(guān)系碼

C、外碼

D、候選碼

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:在關(guān)系中凡能惟一標(biāo)識(shí)元組的最小屬性集稱(chēng)為該表的鍵或碼。二維表

中可能有若干個(gè)鍵,它們稱(chēng)為該表的候選碼或候選鍵。從二維表的所有候選鍵中選

取一個(gè)作為用戶(hù)使用的鍵稱(chēng)為主鍵或主碼。

6、檢查軟件產(chǎn)品是否符合需求定義的過(guò)程稱(chēng)為()。

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

B、需求測(cè)試

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

D、路徑測(cè)試

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:確認(rèn)測(cè)試的任務(wù)是驗(yàn)證軟件的功能和性能,以及其他特性是否滿足需

求規(guī)格說(shuō)明中確定的各種需求。

7、數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)

成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖合法圖符的是()。

A、控制流

B、加工

C、存儲(chǔ)文件

D、源和潭

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,它由一些特定的圖符構(gòu)

成,包括4個(gè)方面,即加工、數(shù)據(jù)流、存儲(chǔ)文件、源和潭。

8、待排序的關(guān)鍵碼序列為(15,20,9,30,67,65,45,90),要按關(guān)鍵碼值遞增

的順序排序,采取簡(jiǎn)單選擇排序法,第一趟排序后關(guān)鍵碼15被放到第()個(gè)位置。

A、2

B、3

C、4

D、5

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:選擇排序的基本思想是掃描整個(gè)線性表,從中選出最小的元素,將它

交換到表的最前面,然后對(duì)剩下的子表采用同樣的方法,直到子表為空。所以第一

趟排序后,將選出最小的元素9放在第一個(gè)位置,元素15則放在第二個(gè)位置。

9、對(duì)關(guān)系s和關(guān)系R進(jìn)行集合運(yùn)算,結(jié)果中既包含關(guān)系S中的所有元組也包含關(guān)

系R中的所有元組,這樣的集合運(yùn)算稱(chēng)為()。

A、并運(yùn)算

B、交運(yùn)算

C、差運(yùn)算

D、除運(yùn)算

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:關(guān)系的并運(yùn)算是指,由結(jié)構(gòu)相同的兩個(gè)關(guān)系合并,形成一個(gè)新的關(guān)

系,其中包含兩個(gè)關(guān)系中的所有元組。

10、下列選項(xiàng)中,不屬于數(shù)據(jù)管理員(DBA職責(zé)的是()。

A、數(shù)據(jù)庫(kù)維護(hù)

B、數(shù)據(jù)庫(kù)設(shè)計(jì)

C、改善系統(tǒng)性能,提高系統(tǒng)效率

D、數(shù)據(jù)類(lèi)型轉(zhuǎn)換

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:數(shù)據(jù)庫(kù)管理員(DaiaBascAdminisiralor,DBA)是指對(duì)數(shù)據(jù)庫(kù)的規(guī)劃、

設(shè)計(jì)、維護(hù)、監(jiān)視等的人員,其主要工作如下:?數(shù)據(jù)庫(kù)設(shè)計(jì)。DBA的主要任務(wù)

之一是數(shù)據(jù)庫(kù)設(shè)計(jì),具體地說(shuō)是進(jìn)行數(shù)據(jù)模式的設(shè)計(jì)。?數(shù)據(jù)庫(kù)維護(hù)。DBA必須

對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)安全性、完整性、并發(fā)控制及系統(tǒng)恢復(fù)、數(shù)據(jù)定期轉(zhuǎn)儲(chǔ)等進(jìn)行實(shí)

施與維護(hù)。?改善系統(tǒng)性能,提高系統(tǒng)效率。DBA必須隨時(shí)監(jiān)視數(shù)據(jù)庫(kù)的運(yùn)行狀

態(tài),不斷調(diào)整內(nèi)部結(jié)構(gòu),使系統(tǒng)保持最佳狀態(tài)與效率。

二、選擇題(1分)(本題共30題,每題7.0分,共30

分。)

11、對(duì)于一個(gè)正常運(yùn)行的C程序,下列敘述中正確的是()。

A、程序的執(zhí)行總是從main函數(shù)開(kāi)始,在main函數(shù)結(jié)束

B、程序的執(zhí)行總是從程序的第一個(gè)函數(shù)開(kāi)始,在main函數(shù)結(jié)束

C、程序的執(zhí)行總是從main函數(shù)開(kāi)始,在程序的最后一個(gè)函數(shù)中結(jié)束

D、程序的執(zhí)行總是從程序中的第一個(gè)函數(shù)開(kāi)始,在程序的最后一個(gè)函數(shù)中結(jié)束

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:一個(gè)C語(yǔ)言源程序無(wú)論包括了多少函數(shù),總是從main函數(shù)開(kāi)始執(zhí)

行,從main函數(shù)結(jié)束。

12、以下選項(xiàng)中與if(a==l)a++;elsea=b:語(yǔ)句功能不同的語(yǔ)句是()。

A、switch(a){case0:a=b;break;default:a++;)

B、switch(a==l){case0:a++;default:a=b;}

C^switch(a){default:a=b;break:casel:a++:}

D、a=(a==l)?(a++):b

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:ifelse語(yǔ)句的含義是,如果變量a的值等于1,變量a的值加1,否

則,則把變量b的值賦給變量a。在本題的4個(gè)選項(xiàng)中,與其含義不同的是選項(xiàng)

B,因?yàn)闆](méi)有break語(yǔ)句,當(dāng)a=l的時(shí)候,會(huì)順序執(zhí)行兩條語(yǔ)句,最終結(jié)果是將b

的值賦給a。

13、以下不合法的用戶(hù)標(biāo)識(shí)符是()。

A、804zhang

B、_hh

C、yy614

D、If

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:C語(yǔ)言規(guī)定,標(biāo)識(shí)符是由字母、數(shù)字或下劃線組成,并且它的第一個(gè)

字符必須是字母或下劃線。

14、已知chara;intb;floatc;doubled:則表達(dá)式a-b+c-d結(jié)果為()型。

A、double

B>float

C^int

D、char

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:C語(yǔ)言中允許進(jìn)行不同數(shù)據(jù)類(lèi)型的混合運(yùn)算,但在實(shí)際運(yùn)算時(shí),要先

將不同類(lèi)型的數(shù)據(jù)轉(zhuǎn)化成同一類(lèi)型再進(jìn)行運(yùn)算。類(lèi)型轉(zhuǎn)換的一般規(guī)則是:①運(yùn)算

中將所有char型轉(zhuǎn)換成血型,floal型轉(zhuǎn)換成double型;②低級(jí)類(lèi)型服從高級(jí)類(lèi)

型,并進(jìn)行相應(yīng)的轉(zhuǎn)換,數(shù)據(jù)類(lèi)型由低到高的順序?yàn)椋?/p>

char->int->unsigncd->long->float->doublc;③賦值運(yùn)算中最終結(jié)果的類(lèi)型,以賦值

運(yùn)算符左邊變量的類(lèi)型為準(zhǔn),即賦值運(yùn)算符右端值的類(lèi)型向左邊變量的類(lèi)型看齊,

并進(jìn)行相應(yīng)轉(zhuǎn)換。

15、假設(shè)有語(yǔ)句sizeof(double),則它是()。

A、一個(gè)整型表達(dá)式

B、一個(gè)雙精度浮點(diǎn)型表達(dá)式

C、一種函數(shù)調(diào)用

D、一種函數(shù)定義

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:sizeof(double)是C語(yǔ)言?xún)?nèi)部規(guī)定的一個(gè)“算參數(shù)(double)在il算機(jī)的

內(nèi)存中所占用的字節(jié)數(shù)量的函數(shù),它返回一個(gè)整數(shù)值。

16、若變量都已正確說(shuō)明,則以下程序段輸出結(jié)果為()。#includemain。{char

a='a';intb=2:printf(a>b?"***a=%d":"###b=%d”,a,b);}

A、***a=3

B、###b=3

C、***a=3##b==5

D、全部錯(cuò)誤

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:本題考查printf函數(shù)的格式和三日運(yùn)算符“?:”的使用。printf函數(shù)中

格式說(shuō)明符之前插入的任何字符都原樣輸出。本題中a>b為真,所以返回

17、若有以下定義(設(shè)皿類(lèi)型變量占2個(gè)字節(jié))inti=8,j=9;則以下語(yǔ)句:

prinlf("i=%%d,j=%%%d\n”,i,j);輸出的結(jié)果是()。

A、i=8,j=9

B、i=%d,j=%8

C、i=%dj=%d

D、8,9

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:本題考查prinif函數(shù)的格式。prinif函數(shù)中格式說(shuō)明符之前插入的任

何字符都按原樣輸出。對(duì)于printf函數(shù),有兩個(gè)%說(shuō)明,第一個(gè)%后面的內(nèi)容要按

原樣輸出。

18、設(shè)a和b均為in【型變量,且a=6,b=ll,則能使值為3的表達(dá)式是()。

A、b%(a%4)

B、b%(a-a%5)

C、b%a-a%5

D、(b%a)-(a%4)

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:表達(dá)式“a%b”表示的是求a除以b的余數(shù)。因此,選項(xiàng)A:(6%

4)=2,11%2=1;選項(xiàng)B:(6-6%5)5,11%5=1;選項(xiàng)C:11%6-6%5=4:選項(xiàng)D:

(11%6)-(6%4)=3。

19、有關(guān)return語(yǔ)句說(shuō)法不正確的是()。

A、系統(tǒng)默認(rèn)的返回值類(lèi)型為整型,故當(dāng)函數(shù)的返回值為血型時(shí),在函數(shù)定義

時(shí),返回值的類(lèi)型說(shuō)明可以省略。

B、當(dāng)函數(shù)有返回值時(shí),凡是允許表達(dá)式出現(xiàn)的地方,都可以調(diào)用該函數(shù)。

C、當(dāng)函數(shù)沒(méi)有返回值時(shí),函數(shù)的返回值類(lèi)型可以說(shuō)明為void型,它表示“無(wú)類(lèi)型”

或“空類(lèi)型”。

D、函數(shù)的返回值類(lèi)型必須與return語(yǔ)句中的表達(dá)式值的類(lèi)型一致,但C語(yǔ)言也允

許不同;這時(shí),系統(tǒng)以函數(shù)定義時(shí)的返回值類(lèi)型說(shuō)明為準(zhǔn),并自動(dòng)地將return語(yǔ)句

中表達(dá)式的值轉(zhuǎn)換為函數(shù)的返回值類(lèi)型。

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:函數(shù)的返回值類(lèi)型一般與return語(yǔ)句中的表達(dá)式值的類(lèi)型一致,但C

語(yǔ)言也允許不同;這時(shí),系統(tǒng)以函數(shù)定義時(shí)的返回值類(lèi)型說(shuō)明為準(zhǔn),并自動(dòng)地將

return語(yǔ)句中表達(dá)式的值轉(zhuǎn)換為函數(shù)的返回值類(lèi)型。

20、有以下程序:#includemain(){inti=0,a=0:while(i<20){for(;;){if((i%

5)==0)break;elsei-;}i+=l3,a+=i;}printf("%dkrT,a);}程序的輸出結(jié)果

是()。

A、62

B、63

C、23

D、36

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:本題考查while循環(huán)。當(dāng)i<20時(shí),進(jìn)入while循環(huán)體,循環(huán)體內(nèi)的

for循環(huán)實(shí)現(xiàn)的功能是,當(dāng)i值是。或5的倍數(shù)時(shí),執(zhí)行“i+=13;a+=i;”這兩條語(yǔ)

句;若i值不是5的倍數(shù)則一直執(zhí)行for循環(huán)。①當(dāng)i=0時(shí),執(zhí)行i+=13;a+=i;

i=13,a=13;②判斷i=l3(20,進(jìn)入wlhile循環(huán)體,i=10時(shí),跳出for循環(huán),執(zhí)行

i+=13;a+=i;i=23?a=36:⑼判斷i=23>20,循環(huán)結(jié)束。

21、在下列選項(xiàng)中,沒(méi)有構(gòu)成死循環(huán)的程序段是(),

A、inti=100;for(;;){i=i%10+1;if(i>10)break;}

while(l);

C、intk=0:do{++k;)while(k<=10);

D、ints=12;while(s);-s:

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:本題考查死循環(huán)的知識(shí)。選項(xiàng)A中,for循環(huán)沒(méi)有任何控制語(yǔ)句就會(huì)

一直執(zhí)行下去,所以不可能通過(guò)控制表達(dá)式的值結(jié)束循環(huán)。循環(huán)體內(nèi),i=i%10+l

這個(gè)表達(dá)式的值永遠(yuǎn)小于10,所以永遠(yuǎn)不會(huì)跳出循環(huán),是死循環(huán);選項(xiàng)B中,

while中表達(dá)式永遠(yuǎn)是非0,不會(huì)結(jié)束循環(huán);選項(xiàng)C中,當(dāng)k>10時(shí),結(jié)束循環(huán);選

項(xiàng)D中,while(s);后面沒(méi)有任何表達(dá)式而是直接加了一個(gè)分號(hào),會(huì)一直執(zhí)行,形

成死循環(huán)。

22、若已定義的函數(shù)有返回值,則以下關(guān)于該函數(shù)調(diào)用的敘述中錯(cuò)誤的是()。

A、函數(shù)調(diào)用可以作為獨(dú)立的語(yǔ)句存在

B、函數(shù)調(diào)用可以作為一個(gè)函數(shù)的實(shí)參

C、函數(shù)調(diào)用可以出現(xiàn)在表達(dá)式中

D、函數(shù)調(diào)用可以作為一個(gè)函數(shù)的形參

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:本題考查函數(shù)調(diào)用的有關(guān)知識(shí)點(diǎn)。函數(shù)調(diào)用①可以出現(xiàn)在表達(dá)式

中:②可以作為獨(dú)立的語(yǔ)句存在;③可以作為一個(gè)函數(shù)的實(shí)參。

23、以下程序的輸出結(jié)果是()。includemain(){inta=l,b=3:if((++a<0)&&!(b-

<=0))printf("%d,%d\n”,a,b);elsepfintf("%d,%d\n”,b,a);)

A、2,2

B、1,3

C、3,2

D、3.1

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:解答本題的關(guān)鍵在于if語(yǔ)句條件中的表達(dá)式。初始時(shí)a=l,b=3,所

以++a=2>0,因此++a〈。為假;因?yàn)槭沁M(jìn)行邏輯與(&&)運(yùn)算,在&&的一個(gè)運(yùn)算對(duì)

象為假的前提下不用判斷第二個(gè)運(yùn)算對(duì)象的真假,就可以直接得出整個(gè)表達(dá)式的值

為邏輯0,所以執(zhí)行else語(yǔ)句。

24、有以下程序:#includemain(){intx;scanf("%d”,&x);if(x<=0);else

if(x!=5)printfr%d\n",x);}程序運(yùn)行時(shí),輸入的值在哪個(gè)范圍才會(huì)有輸出結(jié)果

()o

A、不等于5的整數(shù)

B、大于0且不等5的整數(shù)

C、大于0或等于5的整數(shù)

D、小于5的整數(shù)

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:題目中,雖然else和第二個(gè)if不在同一行上,但等價(jià)于在同一行

上,因此,程序的意思是當(dāng)x大于0且不等于5時(shí)將其打印出來(lái)。

25、若執(zhí)行下述程序時(shí),若從鍵盤(pán)輸入6和8,結(jié)果為()。main(){inta,b,s;

scanf("%d%d”,&a,&b);s=a:if(s=b)s*=s:printf("%d",s);}

A、36

B、64

C、48

D、以上都不對(duì)

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:首先通過(guò)scanf函數(shù)把從鍵盤(pán)讀入的數(shù)據(jù)賦給變量a和b,if語(yǔ)句判

斷如果a和b不等,執(zhí)行s=s*s=64°

26、若運(yùn)行時(shí)給變量x輸入12,則以下程序的運(yùn)行結(jié)果是()。main(){int.x,

y;scanf("%d“,&x);y=x>127x+10:x-12;prinlf("%d\n",y);)

A、0

B、22

C、12

D、10

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:本題考查三目運(yùn)算符表達(dá)式“x>127x+10:x-12”即,如果x>12

成立,則x十10的值即為此表達(dá)式的值,否則x?12即為此表達(dá)式的值。囚為

x=12,所以x>12不成立,所以執(zhí)行v=x-12=0。

27、運(yùn)行下面程序時(shí),從鍵盤(pán)輸入字母A,則輸出結(jié)果是()。#inckidemain()

{charch;ch=getchar();switch(ch){case4A':prir.tf(44AAAA\nM);case'B':

printfCBBBB\n^);default:printf(uCCCC\nn);})

A、AAAA

B、AAAABBBB

C、AAAABBBBCCCC

D、AAAACCCC

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:本題考查switch語(yǔ)句。因?yàn)閏h=A,所以第一個(gè)switch語(yǔ)句,執(zhí)行

casbA,面的語(yǔ)句,輸出AAAA,沒(méi)有遇到break語(yǔ)句,所以接著再執(zhí)行case'B'和

default,分別輸出BBBB和CCCCo

28、以下敘述正確的是()。

A、只能在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)使用break語(yǔ)句

B、conliune語(yǔ)句的作用是結(jié)束整個(gè)循環(huán)的執(zhí)行

C^在循環(huán)體內(nèi)使用break語(yǔ)句或continue語(yǔ)句的作用相同

D、從多層循環(huán)嵌套中退出時(shí),只能使用got。語(yǔ)句

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:本題考查循環(huán)的4個(gè)知識(shí)點(diǎn):①break語(yǔ)句可以出現(xiàn)在循環(huán)體內(nèi)及

switch語(yǔ)句體內(nèi),不能用于其他的語(yǔ)句;②continue語(yǔ)句的作用是結(jié)束本次循環(huán),

即跳過(guò)循環(huán)體中下面尚未執(zhí)行的語(yǔ)句,而接著轉(zhuǎn)去判定循環(huán)條件是否成立,從而確

定下一次循環(huán)是否繼續(xù)執(zhí)行,也就是說(shuō)執(zhí)行contiune語(yǔ)句不會(huì)使整個(gè)循環(huán)終止;

③在循環(huán)體內(nèi)使用break語(yǔ)句會(huì)使循環(huán)提前終止;④從多層循環(huán)嵌套中退出時(shí),

可以使用goto語(yǔ)句或者break語(yǔ)句。

29、下列敘述中錯(cuò)誤的是()。

A、在C語(yǔ)言中,對(duì)二進(jìn)制文件的訪問(wèn)速度比文本文件快

B、在C語(yǔ)言中,隨機(jī)文件以二進(jìn)制代碼形式存儲(chǔ)數(shù)據(jù)

C、語(yǔ)句FILEfp;定義了一個(gè)名為Fp的文件指針

D、C語(yǔ)言中的文本文件以ASCH碼形式存儲(chǔ)數(shù)據(jù)

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:在C語(yǔ)言中,文件指針實(shí)際上是指向一個(gè)結(jié)構(gòu)體類(lèi)型的指針,一般

稱(chēng)這個(gè)結(jié)構(gòu)體類(lèi)型名為FILE,可以用此類(lèi)型名來(lái)定義文件指針。定義文件類(lèi)型指

針變量的一般形式為:FILE*指針變量名;選項(xiàng)C中少了“”,所以選項(xiàng)C錯(cuò)誤。

30、若輸入“abcdef*'、"abdef*',以下程序的輸出結(jié)果為()。#include#includemain()

{intn;charsi[20],s2[20],*p1,*p2;scanf("%s”,si):scanf("%s”,s2);

pI=s1;p2=s2;n=strcmp(pl,p2);printf("%d\n",n);}

A、-1

B、0

C、“abcdef'

D、“abdeF

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:本題考查兩個(gè)知識(shí)點(diǎn):①字符串比較函數(shù)strcmp(sl,s2),若

sl>s2,則返回1;若sl=s2,則返回0;若si

31、以下語(yǔ)句定義正確的是()。

AAinta[l][4]={l,2,3,4,5);

B、floata[3][]={{l),{2},⑶);

C.longa[2][3]={{l},{1,2),{1,2,3),{0,0});

D、doublea[][3]={0};

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:本題考查的是如何對(duì)二維數(shù)組進(jìn)行賦值。選項(xiàng)A中數(shù)組第二維的大

小是4,但卻給賦了5個(gè)元素;選項(xiàng)B中C語(yǔ)言規(guī)定,對(duì)于二維數(shù)組,只可以省略

第一個(gè)方括號(hào)中的常量表達(dá)式而不可以省略第二個(gè)方括號(hào)中的常量表達(dá)式;選項(xiàng)C

中數(shù)組第一維的大小是2,但是賦值卻超過(guò)了2;選項(xiàng)D中在對(duì)二維數(shù)組元素賦初

值時(shí),可以只對(duì)部分元索賦初值,未賦初值的元素自動(dòng)取0。

32、下述程序的輸出結(jié)果是()。includevoidmainf){inta[5]:{1,2,3,4,5);

int*p=a,**q=&p:printf("%d”,*(p++));printf("%d”,**q);}

A、22

B、11

C>34

D、12

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:程序首先定義了一個(gè)指向一維數(shù)組a的指針p,一個(gè)指向指針變量p

的指針變量q,輸出*(p++)是先輸出*p即a[0]的值,再將指針p指向數(shù)組的下一個(gè)

元素a[l],輸出**q是輸出指針p所指向單元的內(nèi)容,即a[l]的值。

33、字符串\\"ABCDEF\"\\”的長(zhǎng)度是()。

A、11

B、10

C、5

D、3

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:本題涉及字符串的兩個(gè)最基本的概念。①字符串的長(zhǎng)度是指字符串

中字符的個(gè)數(shù),但不包含字符串結(jié)束符;②以反斜線開(kāi)頭的特殊字符序列,

意思是把反斜線后面的字符序列轉(zhuǎn)換成特定的含義,而不是原來(lái)的含義,不包含在

字符串長(zhǎng)度之內(nèi),連同后面的字符為一個(gè)長(zhǎng)度,

34、若二維數(shù)組a有m列,則在前的元素個(gè)數(shù)為()。

A、j*m+i

B、i*m+j

C、j*m+i+l

D、i*m+j+l

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:二維數(shù)組的元素可以看成是按矩陣形式存放的,總是先存放第一行的

元素,再存放第二行的元素。數(shù)組第一維的下標(biāo)是i,說(shuō)明它前面還有i行,有

i*m個(gè)元差,數(shù)組第二維的下標(biāo)是j,說(shuō)明它前面還有j歹U,有j個(gè)元素,所以共有

i*m+j個(gè)元素。

35、下列程序的運(yùn)行結(jié)果是()。#includevoidfun(int*s,int*p)(staticintt=3:

*p=s[t];t—;}voidmain(){inta[]={2,3,4,5},k,x;for(k=0;k<4;k++)

{fun(a,&x);printf("%d,",x);}}

5,4,3,2,

B、2,3,4,5,

C、2,2,2,2,

D、5?5,5,5,

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:分析fun函數(shù)程序段,可知fun函數(shù)要實(shí)現(xiàn)的功能是將s中第(計(jì)1)個(gè)

元素以前的元素逆置賦給數(shù)組D。由于fun函數(shù)定義了靜態(tài)變量1=3,因此,在主

函數(shù)中調(diào)用函數(shù)fun(a,&x)時(shí),就是要將數(shù)組a中前4個(gè)元素逆在賦給數(shù)組x,最

后輸出x數(shù)組。

36、以下有關(guān)宏替換的敘述不正確的是()。

A、雙引號(hào)中出現(xiàn)的宏名不替換

B、使用宏定義可以嵌套

C、宏定義僅僅是符號(hào)替換

D、宏名必須用大寫(xiě)字母表示

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:.本題考查宏替換的規(guī)則。宏替換分為簡(jiǎn)單的字符替換和帶參數(shù)的宏

替換兩類(lèi)。使用宏時(shí)應(yīng)注意以下幾點(diǎn):①定義僅僅是符號(hào)替換,不是賦值語(yǔ)句,

因此不做語(yǔ)法檢查;②為了區(qū)別程序中其他的標(biāo)識(shí)符,宏名的定義通常用大寫(xiě)字

母,但不是必須用大寫(xiě):③雙引號(hào)中出現(xiàn)的宏名不替換:④使用宏定義可以嵌

套,即后定義的宏中可以使用先定義的宏。

37、設(shè)有定義:char*c;,以下選項(xiàng)中能夠使字符型指針c正確指向一個(gè)字符串的

是()。

A、charstr[]=ustringM;c=str;

B、scanf("%s",c);

C、c=getchar();

D、charstr[]-4string,,jstrcpyf'c,str")

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:在題目的題干中定義了字符指針變量c,在選項(xiàng)A中,首先定義字符

數(shù)組str,然后再把字符數(shù)組sir的首地址賦給字符指針變量c。所以選項(xiàng)A是正確

的。在選項(xiàng)B中,應(yīng)改成scanf("%s”,&C:在選項(xiàng)C中,getchar函數(shù)的返回值是

用戶(hù)輸入的第一個(gè)字符的ASCH碼,如出錯(cuò)返回-1,且將用戶(hù)輸入的字符回顯到屏

幕.如用戶(hù)在按回車(chē)之前輸入了不止一個(gè)字符,其他字符會(huì)保留在鍵盤(pán)緩存區(qū)中,

等待后續(xù)getchar調(diào)用讀取。即c只能指向一個(gè)字符而不能指向字符串。在選項(xiàng)D

中,strcpy函數(shù)只是將和字符串中的內(nèi)容賦給c,并沒(méi)有使其指向str,所以選項(xiàng)

D是錯(cuò)誤的。

38、有以下程序:#inchide#inchidestructA{inta:charb[l()]:doublec:(:void

f(structA*t);main。{structAa={1001,“ZhangDa”,1098.0};f(&a);printR"%

d,%s,%6.lf\n”,a.a,a.b,a.c);)voidf(structA*t){t->a=1002;

strcpy(t->b,"ChangRong-);t->c=12O2.0;}程序運(yùn)行后的輸出結(jié)果是()。

A、1001.zhangDaJ098.0

B、1002,ChangRong,1202.0

C>1001,ChangRong,1098.0

D、1002,zhangDa,1202.0

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:本題主要考查是的函數(shù)調(diào)用時(shí)參數(shù)之間的傳遞問(wèn)題。在C語(yǔ)言中參

數(shù)之間的傳遞是傳值,也就是把實(shí)參的值復(fù)制一份傳遞給形參,而實(shí)參的值不發(fā)生

變化。但對(duì)于指針調(diào)用來(lái)說(shuō),函數(shù)直接對(duì)實(shí)參的地址操作,因此在這種情況下實(shí)參

變化。

39、下述程序的輸出結(jié)果是()。#includevoidmain(){chara=l,b=2;char

c=aAb?2:pfintfT\n%d”,c);)

A、9

B、10

C、12

D、2

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:本題主要考查C語(yǔ)言最基本的算術(shù)運(yùn)算“左移(vv)”和“異或(八)”?!白?/p>

移''或“右移”運(yùn)算表達(dá)式的一般形式為:xcn?!白笠?<<)”運(yùn)算的規(guī)則是將x的二

進(jìn)制位全部向左移動(dòng)n位,將左邊移動(dòng)的高位舍棄,右邊空出的位補(bǔ)0;“右移

(>>)”運(yùn)算的規(guī)則是將x的二進(jìn)制位全部向右移動(dòng)n位,將右邊移動(dòng)的高位舍棄,

左邊高位空出要根據(jù)原來(lái)符號(hào)位的情況進(jìn)行補(bǔ)充,對(duì)無(wú)符號(hào)數(shù)則補(bǔ)0,對(duì)有符號(hào)

數(shù),若為正數(shù)則補(bǔ)0,若為負(fù)數(shù)則補(bǔ)1?!爱惢颉边\(yùn)算是當(dāng)兩個(gè)運(yùn)算量的相應(yīng)位相同

時(shí)結(jié)果為0,不相同時(shí)結(jié)果為1。b=2的二進(jìn)制為(00000010)bv<2后為00001000,

a=l的二進(jìn)制為00000001,所以(:一歿)《2為00001001,轉(zhuǎn)化為十進(jìn)制后為9。

40、已知一個(gè)文件中存放若干工人檔案記錄,其數(shù)據(jù)結(jié)構(gòu)如下:structa{char

number[100];intage:floatp[6];};定義一個(gè)數(shù)組:structanumber[10];假定

文件已正確打開(kāi),不能正確地從文件中讀入10名工人數(shù)據(jù)到數(shù)組b中的是()。

A、fread(b,sizeof(structa),10,fp);

B、for(i=0;i<10;i++)fread(b[i],sizeof(structa),1,fp);

C、for(i=0;i<10;i++)fleadCb+i,sizeof(structa),1,fp);

D、for(i=0;i<5;i+=2)fread(b+i,sezeof(structa),2,fp);

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:數(shù)據(jù)塊輸入/輸出函數(shù)的調(diào)用格式為:frcad(buffcr,size,count,fp),

其中:“buffer”是一個(gè)指針,對(duì)于fread來(lái)說(shuō),它是讀入數(shù)據(jù)的存放地址?!皊ize”是

要讀寫(xiě)的字節(jié)數(shù);“count”是要進(jìn)行讀寫(xiě)多少個(gè)size字節(jié)的數(shù)據(jù)項(xiàng);“fp”是指文件型

指針。選項(xiàng)B)中b[i]是一個(gè)數(shù)組,不是指針,需改為

三、公共基礎(chǔ)填空題(本題共5題,每題7.0分,共5

分。)

41、數(shù)據(jù)字典是各類(lèi)數(shù)據(jù)描述的集合,它通常包括5個(gè)部分,即數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)

構(gòu)、數(shù)據(jù)流、和處理過(guò)程。

標(biāo)準(zhǔn)答案:數(shù)據(jù)存儲(chǔ)

知識(shí)點(diǎn)解析:數(shù)據(jù)字典是各類(lèi)數(shù)據(jù)描述的集合,它通常包括5個(gè)部分,即數(shù)據(jù)項(xiàng),

是數(shù)據(jù)的最小單位;數(shù)據(jù)結(jié)構(gòu),足若干數(shù)據(jù)項(xiàng)有意義的集合;數(shù)據(jù)流,可以是數(shù)據(jù)

項(xiàng),也可以是數(shù)據(jù)結(jié)構(gòu),表示某一處理過(guò)程的輸入或輸出:數(shù)據(jù)存儲(chǔ),處理過(guò)程中

存取的數(shù)據(jù),常常是手工憑證、手工文檔或計(jì)算機(jī)文件。

42、的目的是分析數(shù)據(jù)問(wèn)內(nèi)在語(yǔ)義關(guān)聯(lián),在此基礎(chǔ)上建立一個(gè)數(shù)據(jù)

的抽象模型。

標(biāo)準(zhǔn)答案:數(shù)據(jù)庫(kù)概念沒(méi)計(jì)

知識(shí)點(diǎn)解析:數(shù)據(jù)庫(kù)概念設(shè)計(jì)的目的是分析數(shù)據(jù)間內(nèi)在語(yǔ)義關(guān)聯(lián),在此基礎(chǔ)上建立

一個(gè)數(shù)據(jù)的抽象模型。

43、下列軟件系統(tǒng)結(jié)構(gòu)圖的寬度為

標(biāo)準(zhǔn)答案:3

知識(shí)點(diǎn)解析:軟件系統(tǒng)結(jié)構(gòu)圖的寬度:整體控制跨度(最大模塊數(shù)的層)的表示。

44、在兩種基本測(cè)試方法中,-測(cè)試的原則之一是保證所測(cè)模塊中每一

個(gè)獨(dú)立路徑至少要執(zhí)行一次。

標(biāo)準(zhǔn)答案:白盒

知識(shí)點(diǎn)解析:白盒測(cè)試的基本原則是:保證所測(cè)模塊中每?獨(dú)立路徑至少執(zhí)行一

次;保證所測(cè)模塊所有判斷的每一分支至少執(zhí)行一次;保證所測(cè)模塊每一循環(huán)都在

邊界條件下至少執(zhí)行一次;驗(yàn)證所有內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性。

45、數(shù)據(jù)結(jié)構(gòu)分為線性結(jié)構(gòu)和二仆三線性結(jié)構(gòu),帶鏈的隊(duì)列屬于

標(biāo)準(zhǔn)答案:線性結(jié)構(gòu)

知識(shí)點(diǎn)解析:一個(gè)數(shù)據(jù)結(jié)構(gòu)是線性結(jié)構(gòu)還是非線性結(jié)構(gòu),判斷依據(jù)是數(shù)據(jù)結(jié)構(gòu)前后

件關(guān)系的復(fù)雜程度,而與其所使用的存儲(chǔ)結(jié)構(gòu)是沒(méi)有關(guān)系的。在一個(gè)非空的隊(duì)列

中,每一個(gè)元素只有一個(gè)前件和后件,因此它屬于線性結(jié)構(gòu)。

四、填空題(本題共10題,每題1.0分,共10分。)

46、當(dāng)m=l,n=2,a=3,b=2,c=4時(shí),執(zhí)行d=(m=a!=b)&&(n=b>C后,m的值為

標(biāo)準(zhǔn)答案:1

知識(shí)點(diǎn)解析:①“sizeo「、"%”、">"、“vv”、“*=”運(yùn)算符的優(yōu)先級(jí)順序?yàn)椋?/p>

“*=,,.“>,,―”一,,―"%,?一,zeof,:②位運(yùn)算的優(yōu)先級(jí)順序?yàn)椋?/p>

“?"(b=2)>(c=4)不成立,邏輯為假,所以n=0;

(a=3)!=(b=2)成立,邏輯為真,所以m=l。

47、若變量x、y已定義為int類(lèi)型且x的值為33,y的值為3,請(qǐng)將輸出語(yǔ)句

printf(,x/yl;補(bǔ)充完整,使其輸出的計(jì)算結(jié)果形式為:x/y=ll0

標(biāo)準(zhǔn)答案:"x/y二%d”

知識(shí)點(diǎn)解析:本題考查printf語(yǔ)句的輸出格式。printf()函數(shù)是格式化輸出函數(shù),

般用于向標(biāo)準(zhǔn)輸出設(shè)備校規(guī)定格式輸出信息。在編寫(xiě)程序時(shí)經(jīng)常會(huì)用到此函數(shù)。

printf()函數(shù)的調(diào)用格式為:printf(“<格式化字符串>",〈參量表〉)其中,格式化字符

串包括兩部分內(nèi)容。一部分是正常字符,這些字符將按原樣輸出;另一部分是格式

化規(guī)定字符,以“%”開(kāi)始,后跟一個(gè)或幾個(gè)規(guī)定字符,用來(lái)確定輸出內(nèi)容格式。

參量表是需要輸出的一系列參數(shù),其個(gè)數(shù)必須與格式化字符串所說(shuō)明的輸出參數(shù)個(gè)

數(shù)一樣多,各參數(shù)之間用“,”分開(kāi),且順序一一對(duì)應(yīng),否則將會(huì)出現(xiàn)不可意料的錯(cuò)

誤。

48、若運(yùn)行輸入:3〈回車(chē),:則以下程序的輸出結(jié)果是。main(){inta,

b;scanf("%d“,&a);b=(a>=0)?a:-a;printf("b=%d",b);}

標(biāo)準(zhǔn)答案:b=3

知識(shí)點(diǎn)解析:條件表達(dá)式的基本格式為:“表達(dá)式17表達(dá)式2:表達(dá)式3”;其功

能是:表達(dá)式1的值若非0,則計(jì)算表達(dá)式2的值,且為最終結(jié)果;若表達(dá)式1的

值為0,則計(jì)算表達(dá)式3的值,且為最終結(jié)果。因?yàn)閍=3,則a>=0成立,所以

b=a=3?

49、以下程序的運(yùn)行結(jié)果是v#defineMAX(a,b)(a>b?a:b)+lmain()

{inti=6,j=8,k;printf("%d\n”.MAX(ij));)

標(biāo)準(zhǔn)答案:9

知識(shí)點(diǎn)解析:本題考查的是條件運(yùn)算符的應(yīng)用。帶參數(shù)的宏定義中定義的MAX函

數(shù)的功能是選出a和b中較大的數(shù)然后加1;min()函數(shù)中顯然j比i大,所以輸出

的是j加1后的值9。

50下面程序的運(yùn)行結(jié)果是o#inckidemain(){inta,b,c,n;a=2;

b=0;c=l;n=l;while(n<=3){c=c*a;b=b+c;++n;}printf("b=%d”,b);)

標(biāo)準(zhǔn)答案:b=14

知識(shí)點(diǎn)解析:分析程序可知,n的初始值為1,因此,while(nv=3)循環(huán)3次。第1

次:c=c*a=2;b=b+c=2;n=2o第2次:c=c*a=4;b=b+c=6;n=3o第3次:

c=c*a=8;b=b+c=14o當(dāng)n=4時(shí),判斷條件不滿足,退出循環(huán)。

51>以下程序的輸出結(jié)果是o#includemain(){inti=10,j=0;do

{j=j+i;i—;)while(i>5);printf("%d\n"j);)

標(biāo)準(zhǔn)答案:40

知識(shí)點(diǎn)解析:分析程序,初始時(shí)i=10,j=0,這時(shí)do循環(huán)中的“j=+i”語(yǔ)句計(jì)算結(jié)果

為10,“i」后i=9;滿足循環(huán)條件,繼續(xù)執(zhí)行循環(huán),月+i=10+9=19,i-后i=8;滿

足循環(huán)條件,繼續(xù)循環(huán),j=j+i=19+8=27,i-后i=7,滿足i>5,繼續(xù)循環(huán),

j=j+i=27+7=34,i—后i=6,繼續(xù)循環(huán),j=j+i=34+6=40,i—后i=5,此時(shí)不能滿足條

件i>5,退出循環(huán),因此最后i的值為40。

52、下列程序的功能是:求出ss所指字符串中指定字符的個(gè)數(shù),并返回此值。例

如,若輸入字符串123412132,輸入字符人則輸出3,請(qǐng)?zhí)羁铡?inckide#include

#defineM81inttim(char*ss?charC{inti=0;if(;;ss++)

if(*ss==Ci++;returni;)main(){chara[M],ch;printf^^hlPleaseentera

string:");gets(a);printf(<fcknPleaseenterachar:");ch=getchar();printfi(ubaThe

numberofthecharis:%d\n",fun(a,ch));}

標(biāo)準(zhǔn)答案:*ss!=€\0,

知識(shí)點(diǎn)解析:本題考查的是指針的應(yīng)用。題目要求求出字符串ss中指定字符的個(gè)

數(shù),分析整個(gè)程序,空缺處是檢驗(yàn)指針ss是否指向了字符串的末尾,如沒(méi)有,即

執(zhí)行下面語(yǔ)句,判斷指針ss指向的字符是否字符c,若是,i自加1;所以空缺處

填入*ss!=,\(T,作為循環(huán)終止的條件。

53、以下程序是求矩陣a、b的和,結(jié)果存入矩陣c中,請(qǐng)?zhí)羁铡?includemain()

{ima|4||4]={{l,2,6,7),{0,4,2,-8),{1,4,5,2),{2,4,6,8));int

b[4][4]={{-4,0,7,9),{2,-7,7,4),[6,9,0,1),{8,8,6,5)};intij,

c[4][4];for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=;for(i=0;i<4;

i++)for(j=0;j<4;j++)printf("%d",c[i][j]);}

標(biāo)準(zhǔn)答案:a[i][j]+b[i][j]

知識(shí)點(diǎn)解析:求兩個(gè)矩陣的和只要將對(duì)應(yīng)元素相加即可。

54、以下程序的輸出結(jié)果是。main。{char*p[]={"ABC","DEF”,

“GHI”,“JKL”};inti:fbr(i=3;i>=0;i-,i-)prints%cn,*p[i]);}

標(biāo)準(zhǔn)答案:JD

知識(shí)點(diǎn)解析:第一次循環(huán),i=3,*p[3]="JKL”,但因?yàn)槭且浴?c”格式輸出,只能

輸出一個(gè)字符,所以只能輸出L第二次循環(huán),i=l,*p[l]="DEF”,同樣也只能輸

出D。

55、以下程序的功能是:從低位開(kāi)始取出長(zhǎng)整型變量S中奇數(shù)位上的數(shù),依次構(gòu)

成一個(gè)新數(shù)放在t中。高位仍在高位,低位仍在低位。請(qǐng)?zhí)羁铡?includemain()

{longs,t,sl=10;printfC4\nPlcaseenters:^);scanf("%ld",&s);t=s%10;

while(s>0){s=s/100;t=;sl=sl*10;}printf{4tTheresultis:%

ldkn';t);)

標(biāo)準(zhǔn)答案:s%10*sl+t

知識(shí)點(diǎn)解析:題日要求從低位開(kāi)始取出長(zhǎng)整型變量sU」奇數(shù)位上的數(shù),設(shè)S為

7654321,所要去除的為7531。s在每次循環(huán)均除以100,因此它的作用是將本次

循環(huán)所需要得到的奇數(shù)位數(shù)放到最末一位,而要獲得該數(shù)僅需在此后將s對(duì)10取

余,si初始值為10,且在每次循環(huán)后均乘以10,因此可想到是為了將本次循環(huán)所

獲得的奇數(shù)位數(shù)放到已有數(shù)的“前面”,即將上一步所得之?dāng)?shù)乘以si,由于是逐次

獲得奇次位數(shù),所以每次還要加上1的原值。

國(guó)家二級(jí)(C語(yǔ)言)筆試模擬試卷第2

一、公共基礎(chǔ)選擇題(本題共10題,每題1.0分,共

10分。)

1、計(jì)算機(jī)系統(tǒng)的組成是。

A、主機(jī)、外設(shè)

B、運(yùn)算器、控制器

C、硬件系統(tǒng)和軟件系統(tǒng)

D、CPU、內(nèi)存儲(chǔ)器

標(biāo)準(zhǔn)答案:4

知識(shí)點(diǎn)解析:暫無(wú)解析

2、能直接與CPU交換信息的功能單元是_____o

A、硬盤(pán)

B、控制器

C、主存儲(chǔ)器

D、運(yùn)算器

標(biāo)準(zhǔn)答案:4

知識(shí)點(diǎn)解析:內(nèi)存儲(chǔ)器又稱(chēng)主存儲(chǔ)器,可直接實(shí)現(xiàn)與CPU間的信息交換。

3、計(jì)算機(jī)軟件一般包括應(yīng)用軟件和—o

A、字處理軟件

B、系統(tǒng)軟件

C、服務(wù)性軟件

D、操作系統(tǒng)

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:暫無(wú)解析

4、在計(jì)算機(jī)系統(tǒng)中,一個(gè)字長(zhǎng)的二進(jìn)制位數(shù)為o

A、8

B、16

C、32

D、由CPU型號(hào)決定

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)解析:字長(zhǎng)是指微機(jī)能直接處理二進(jìn)制信息的位數(shù),由CPU的類(lèi)型和型號(hào)

決定。

5、算法是求解問(wèn)題的方法,具有輸入、輸出、有窮性、確定性和的特性。

A、可行性

B、計(jì)算性

C、程序設(shè)計(jì)性

D、檢索性

標(biāo)準(zhǔn)答案:1

知識(shí)點(diǎn)解析:操作的實(shí)現(xiàn)是用算法來(lái)描述的。算法就是解決問(wèn)題的方法,它是由一

個(gè)若干條指令組成的有窮序列,必須滿足的5個(gè)要素是:有窮性、確定性、輸入、

輸出和可行性。

6、設(shè)棧S的初始狀態(tài)為空,棧的容量為5,若入棧元素的順序是el、e2、e3、

e4、e5,則出棧元素的順序不可能是______。

A、el、e2、e3、c4、e5

B、e5、e4>e3、e2、el

C^e2、e4>e3^e5、el

D、e3、e4、el、e2、e5

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)解析:棧是僅在表頭和表尾進(jìn)行插入和刪除元素操作的線性表,其特點(diǎn)是

“先進(jìn)后出,本題中,進(jìn)棧的過(guò)程中可以出棧。選項(xiàng)D中,如果第一個(gè)出棧的元

素為e3,由于入棧順序是el、e2、e3,那么e3出棧后,棧中元素必定有el和

e2,因?yàn)閑l先入棧,故el應(yīng)在e2后出棧,所以選項(xiàng)D是不可能的出棧順序。

7、以下數(shù)據(jù)結(jié)構(gòu)中不屬于線性數(shù)據(jù)結(jié)構(gòu)的是o

A、隊(duì)列

B、線性表

C、二叉樹(shù)

D、棧

標(biāo)準(zhǔn)答案:4

知識(shí)點(diǎn)解析:暫無(wú)解析

8、編碼是指o

A、總體設(shè)計(jì)到詳細(xì)設(shè)計(jì)的過(guò)程

B、用0、1代碼改寫(xiě)詳細(xì)設(shè)計(jì)的結(jié)果

C、用編程語(yǔ)言改寫(xiě)詳細(xì)設(shè)計(jì)的結(jié)果

D、上述都不對(duì)

標(biāo)準(zhǔn)答案:4

知識(shí)點(diǎn)解析:所謂“編碼”,是指把軟件設(shè)計(jì)的結(jié)果用計(jì)算機(jī)系統(tǒng)可以理解的形式表

示出來(lái)。用于編碼的程序設(shè)計(jì)語(yǔ)言可以是計(jì)算機(jī)系統(tǒng)能夠直接理解的機(jī)器語(yǔ)言,也

可以是必須通過(guò)匯編、編譯(或解釋?zhuān)┎拍転橛?jì)算機(jī)系統(tǒng)所理解的匯編語(yǔ)言或高級(jí)語(yǔ)

言。

9、軟件生命周期一般包括:軟件計(jì)劃期、開(kāi)發(fā)期和軟件運(yùn)行期。因此,在下述項(xiàng)

目中,不是軟件開(kāi)發(fā)期的內(nèi)容。

A、需求分析

B、結(jié)構(gòu)設(shè)計(jì)

C、程序編制

D、性能優(yōu)化

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)解析:瀑布模型石軟件生命周期劃分為3個(gè)時(shí)期,時(shí)期又劃分為若干階段:

①軟件定義期一問(wèn)題定義和可行性研究;②軟件開(kāi)發(fā)期——需求分析、總體設(shè)

計(jì)、詳細(xì)設(shè)計(jì)、編碼和測(cè)試;③運(yùn)行及維護(hù)階段——維護(hù)。所以,性能優(yōu)化不是

軟件開(kāi)發(fā)期所應(yīng)包含的內(nèi)容。

10、數(shù)據(jù)的獨(dú)立性是指。

A、數(shù)據(jù)庫(kù)的數(shù)據(jù)相互獨(dú)立

B、DBMS和DB相互獨(dú)立

C、用戶(hù)應(yīng)用程序與數(shù)據(jù)庫(kù)的數(shù)據(jù)相互獨(dú)立

D、用戶(hù)應(yīng)用程序與DBMS相互獨(dú)立

標(biāo)準(zhǔn)答案:4

知識(shí)點(diǎn)解析:修改數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)或邏輯結(jié)構(gòu)時(shí),通過(guò)兩級(jí)映像,可以使得應(yīng)用

程序不必修改,保證數(shù)據(jù)的獨(dú)立性。數(shù)據(jù)的獨(dú)立性包括物理獨(dú)立性和邏輯獨(dú)立性。

二、選擇題(1分)(本題共70題,每題1.0分,共70

分。)

11、若x為in【類(lèi)型變量,則執(zhí)行以下程序段后的x值是_____。x=6;x+=x-=x*x;

A、36

B、-60

C、60

D、-24

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:暫無(wú)解析

12、設(shè)x,y均是int類(lèi)型變量,則以下不正確的函數(shù)調(diào)用為o

A、getchar();

B、putchar(,\108,);

C、scanf("%d%*2d%d",&x,&y);

D、putchar('\'');

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)露析:八進(jìn)制中的基本數(shù)為0?7,不可能出現(xiàn)8。

13、以卜程序的輸出結(jié)果是_____。main。{charcl='6',c2='O';

printf(,,%d,%d,%d\n,\cI,c2,c1-c2);}

A、因輸出格式不合法,輸出出錯(cuò)信息

B、54,48,6

C、6,0,7

D、6?0,6

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:本題printf語(yǔ)句輸出字符的ASCH碼,直(整型)。

14>以下程序的輸出結(jié)果是______o#include<stdio.h>main(){inia,b,d=241;

a=d/100%9;b=(-1)&&(-!);printf(H%d,%d",a,b);}

A、6,1

B、2,1

C>6,0

D、2,0

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:在表達(dá)式的值作為邏輯值時(shí),非。值一律為1,0值才為。。

15、若有以下定義:chara;intb;floatc;doubled;則表達(dá)式a*b+d-c值的類(lèi)型為

ANfloat

B>int

C、char

D、double

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)解析:暫無(wú)解析

16、在C語(yǔ)言中提供的合法的關(guān)鍵詞是o

A、swicth

B、cher

C、Case

D^default

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)解析:選項(xiàng)A應(yīng)為多分支語(yǔ)句中的switch,選項(xiàng)B應(yīng)為定義字符類(lèi)型的

char,選項(xiàng)C應(yīng)為多分支語(yǔ)句中的分支關(guān)鍵詞case(小寫(xiě))。因此,選項(xiàng)A、B、C都

有書(shū)寫(xiě)上的錯(cuò)誤,只有選項(xiàng)D正確。

17、下列變量說(shuō)明語(yǔ)句中,正確的是o

A、chara=b=c;

B、chara;b;c;

C、intx;z;

D、intx,z;

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)解析:同時(shí)說(shuō)明多個(gè)變量為同一類(lèi)型時(shí),變量之間應(yīng)用逗號(hào)分隔。故D為

正確選項(xiàng)。

18、以下程序的輸出結(jié)果是ointi=010,j=10;pnntf(H%d,%d\nM,++ij-);

A、11,10

B、9,10

C、10,10

D、10,9

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:在C語(yǔ)言中,以0開(kāi)頭表示八進(jìn)制數(shù),所以本題程序中010表示八

進(jìn)制數(shù)10,相當(dāng)于十進(jìn)制數(shù)8。因此i的初值為8,經(jīng)++i后,i的值為9。變量j

經(jīng)j-后,變?yōu)?0,由于自減運(yùn)算符在j的右側(cè),所以是先輸出j的值10后,再自

減lo

19、標(biāo)有/$$$/的語(yǔ)句的執(zhí)行次數(shù)是_____ointy,i;for(i=0;i<20;i++){if(i%2==0)

continue;y+=i;/$$$/;)

A、20

R、19

C、10

D、9

標(biāo)準(zhǔn)答案:4

知識(shí)點(diǎn)解析:程序中標(biāo)有/$$$/的語(yǔ)句y+二i在for循環(huán)中,由于該語(yǔ)句前面的條件

語(yǔ)句使循環(huán)變量i在對(duì)2求余為0時(shí)就結(jié)束本次循環(huán),直接跳過(guò)標(biāo)有/$$$/的語(yǔ)句,

因此該語(yǔ)句執(zhí)行了10次。

20、以下程序的輸出結(jié)果是_____omain(){intm=5;if(m++>5)printf(',%d\n",m);

elseprintf("%d\n",m—);}

A、7

B、6

C、5

D、4

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:注意自增和自減運(yùn)算符在變量的左右側(cè)的不同用法。本題條件表達(dá)式

m++>5,即5>5不成立,此時(shí)m=6,執(zhí)行else后面的語(yǔ)句,輸出6后再m-使得

m又等于5了。

三、選擇題(2分)(本題共30題,每題1.0分,共30

分。)

21、要正確定義并初始叱一個(gè)數(shù)組a,它含有5個(gè)元素,則正確的語(yǔ)句是_____o

A>inta[5]=(0,0,0,0,0);

B、inta[5]={);

C>inta[]=(0,0,0,0,0);

D、inta[]={5*0};

標(biāo)準(zhǔn)答案:4

知識(shí)點(diǎn)解析:A項(xiàng)是錯(cuò)誤的,賦值時(shí)用的是花括號(hào)而不是圓括號(hào)。B項(xiàng)錯(cuò)在不能初

始化時(shí)在花括號(hào)內(nèi)為空。D項(xiàng)錯(cuò)在不可以用表達(dá)式對(duì)數(shù)組一一賦值。C項(xiàng)雖然沒(méi)有

直接定義數(shù)組的大小,但是初始化時(shí)只賦了5個(gè)元素的值,系統(tǒng)會(huì)自動(dòng)定義數(shù)組的

大小為5,這種形式是正確的。

22、若二維數(shù)組a有m列,且設(shè)a[0H。]位于數(shù)組的第一個(gè)位置上,則計(jì)算任意元

素在數(shù)組中位置的公式為。

A、i*m+j

B、j*m+i

C、

D^i*m+j+l

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)3析:的位置應(yīng)該是第i+1行,第j+1列,那么它的位置是6+1-

l)*m+j+l=i*m+j+lo

23、以下程序的輸出結(jié)果是omain(){charch|2][5]={"6937";(8254"},*p[2];

inti,j,s=O;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>,\0>;j+=2)

s=10*s+p[i][j]->\0,;printf("%d\n”,s);}

A、69825

B、59713

C、6385

D、693825

標(biāo)準(zhǔn)答案:4

知識(shí)點(diǎn)解析:p是指向字符的指針數(shù)組。執(zhí)行第1個(gè)循環(huán)后,p[0]指向字符數(shù)組ch

的第1行“6937",p[I]指向字符數(shù)組ch的第2行“8254”,那么p[0]⑼其實(shí)就對(duì)應(yīng)著

ch[O][O],表示第1行的第1個(gè)元素“6”。第2個(gè)循環(huán)中,外層i循環(huán)是控制指針數(shù)

組p的,內(nèi)層j循環(huán)則是對(duì)每一行內(nèi)的各個(gè)元素進(jìn)行處理,特別注意循環(huán)變量j的

改變”j+=2"。這樣就可以看出是對(duì)ch[O][O]、ch⑼⑵、ch[l]⑼和ch[l]⑵進(jìn)行處

理。

24、以下程序的輸出結(jié)果是_____。main(){char*s="121";intk=O,a=O,b=O;do

{k++;if(k%2==0){a=a+s[k]-,\0,;continue;}b=b+s[k]-'\O';a=a+s[k]-'\O';}while(s[k+l]);

printf("k=%da=%db=%d\n",k,a,b);}

A、k=3a=98b=49

B、k=3a=99b=50

C、k=2a=99b=50

D、k=2a=98b=49

標(biāo)準(zhǔn)答案:4

知識(shí)點(diǎn)解析:第1次循環(huán)中,k=l,不執(zhí)行if分支,s[k]=2,因此b=2,a=2因

s[k+l]=T進(jìn)入第2次循環(huán),k=2,執(zhí)行if分支,s[k]=F,使a=3,進(jìn)而提前結(jié)束本

次循環(huán),s[k+l]=t\O\則退出循環(huán),所以k=2,a=3,b=2o

25、執(zhí)行以下程序后輸出的結(jié)果是_____。main(){inty=10;do{y-;)while(--y);

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

A、-1

B、I

C、8

D、0

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)解析:執(zhí)行第1次循環(huán)體,y-使得y=9,然后y減1后判斷條件為真,此時(shí)

y=8o繼續(xù)執(zhí)行4次循環(huán),直到y(tǒng)=0時(shí)條件為假退出循環(huán),然后輸出產(chǎn)0后再減

lo因此輸出的結(jié)果為0。

26、以下程序的運(yùn)行結(jié)果是o#inckide<stdio.h>main。(int

a[]={1,2,3,4,5,6,7,8,9,10,11,12};int*p=a+5,*q=NULL;*q=*(p+5);

printf("%d%d\n",*p,*q);)

A、運(yùn)行后報(bào)錯(cuò)

B、66

C、612

D、55

標(biāo)準(zhǔn)答案:1

知識(shí)之解析:用指針變量p+5對(duì)指針變量q進(jìn)行賦值的正確方法為p=q+5o

27、下面程序的輸出結(jié)果是o#include<stdio.h>main(){char

ch[7]={"12ab56"};inti,s=0;for(i=0;ch[i]>=,0,&&ch[i]<=,9,;i+=2)s=10*s+ch[i]-,0,;

prinif(',%d\n",s);}

A、1

B、1256

C、12ab56

D、i256

標(biāo)準(zhǔn)答案:1

知識(shí)點(diǎn)解析:for語(yǔ)句中的條件表達(dá)式?jīng)Q定了循環(huán)體只執(zhí)行一次。因此s=0*10+l,

于是輸出結(jié)果為1。

28、設(shè)有以下程序段:inta[5]={0},*p.*q;p=a:q=a:則合法的運(yùn)算是。

A^p+q

B>p-q

C、p*q

D^p%q

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:指向同一字符串的指針可以、也只能進(jìn)行減運(yùn)算,返回一個(gè)整型數(shù)。

29、函數(shù)fun的返回值是ofun(char*a,char*b){intnum=O,n=O;

while(*(a+num)!=,\O,)num++;while(b[n]){*(a+num)=b[n];num-H-;n-H-;}return

num;)

A、字符串a(chǎn)的長(zhǎng)度

B、字符串b的長(zhǎng)度

C、字符串a(chǎn)和b的長(zhǎng)度之差

D、字符串a(chǎn)和b的長(zhǎng)度之和

標(biāo)準(zhǔn)答案:4

知識(shí)點(diǎn)解析?:本題首先通過(guò)第一個(gè)while循環(huán)計(jì)算字符串a(chǎn)的長(zhǎng)度,再通過(guò)第二個(gè)

while循環(huán),將字符串a(chǎn)和b相連,最后返回連接后的總長(zhǎng)度。

30、以下程序的輸出結(jié)果是omain(){intx=10,y=10,i;for(i=0;x>8;y=++i)

printf("%d%d",x-,y);}

A、10192

B、9876

C、10990

D、101091

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)解析:第1次循環(huán),i=0,x=10,y=10,先輸出x=10,y

溫馨提示

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

評(píng)論

0/150

提交評(píng)論