




版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育科技研究合作項(xiàng)目協(xié)議
- 商場(chǎng)服裝店鋪轉(zhuǎn)讓協(xié)議書(shū)
- 電子垃圾回收利用項(xiàng)目的專(zhuān)項(xiàng)投資合同
- 數(shù)據(jù)可視化技術(shù)應(yīng)用合同
- 智能建筑項(xiàng)目施工協(xié)議
- 高空作業(yè)安全合同(19篇)
- 融資租賃與保理業(yè)務(wù)協(xié)議
- 房屋裝飾施工工程承包合同
- 股份制企業(yè)合同審查要點(diǎn)解析
- 美容美發(fā)行業(yè)服務(wù)效果不滿意退款協(xié)議
- 銀行前端工作總結(jié)
- 初中數(shù)學(xué)代數(shù)式
- 2023年山東棗莊滕州市魯南高科技化工園區(qū)管理委員會(huì)招聘10人筆試參考題庫(kù)(共500題)答案詳解版
- 制程無(wú)有害物質(zhì)識(shí)別及風(fēng)險(xiǎn)評(píng)估表
- 建筑構(gòu)造(下冊(cè))
- 金工實(shí)訓(xùn)教學(xué)-數(shù)控銑床及加工中心加工
- 設(shè)計(jì)公司組織架構(gòu)(結(jié)構(gòu))圖
- 工學(xué)一體化教學(xué)參考工具體例格式8:學(xué)習(xí)任務(wù)考核方案
- 建函201521號(hào) 廣鐵集團(tuán)建管處關(guān)于發(fā)布《鄰近營(yíng)業(yè)線施工物理隔離防護(hù)辦法》的通知
- 寫(xiě)作必備制造懸念的145個(gè)方法
- 一年級(jí)下冊(cè)勞動(dòng)教案
評(píng)論
0/150
提交評(píng)論