版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2007年4月全國(guó)等級(jí)考試題目
第25次(已經(jīng)修改)
一、選擇題
下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的。
(1-11題,軟件技術(shù)基礎(chǔ)單向選擇題月)
1.下列敘述中正確的是()
A)算法的效率只與問(wèn)題的規(guī)模有關(guān),而與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無(wú)關(guān)
B)算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量
C)數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)是一一對(duì)應(yīng)的
D)算法的時(shí)間復(fù)雜度與空間復(fù)雜度一定相關(guān)
[解析]根據(jù)時(shí)間復(fù)雜度和空間復(fù)雜度的定義可知,算法的時(shí)間復(fù)雜度與空間復(fù)雜度并不相
關(guān)。數(shù)據(jù)的邏輯結(jié)構(gòu)就是數(shù)據(jù)元素之間的邏輯關(guān)系,它是從邏輯上描述數(shù)據(jù)元素之間關(guān)系的,
是獨(dú)立于計(jì)算機(jī)中的,數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是研究數(shù)據(jù)元素和數(shù)據(jù)元素之間的關(guān)系如何在計(jì)算機(jī)
中表示,它們并非一一對(duì)應(yīng)。算法的執(zhí)行效率不僅與問(wèn)題的規(guī)模有關(guān),還與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)
有關(guān)。
2.在結(jié)構(gòu)化程序設(shè)計(jì)中,模塊劃分的原則是()
A)各模塊應(yīng)包括盡量多的功能
B)各模塊的規(guī)模應(yīng)盡量大
C)各模塊之間的聯(lián)系應(yīng)盡量緊密
D)模塊內(nèi)具有高內(nèi)聚度、模塊間具有低耦合度
[解析]在結(jié)構(gòu)化程序設(shè)計(jì)中,一般較優(yōu)秀的軟件設(shè)計(jì)盡量做到高內(nèi)聚、低耦合,這樣有利
于提高軟件模塊的獨(dú)立性,這也是模塊劃分的原則。
3.下列敘述中正確的是()
A)軟件測(cè)試的主要目的是發(fā)現(xiàn)程序中的錯(cuò)誤
B)軟件測(cè)試的主要目的是確定程序中錯(cuò)誤的位置
C)為了提高軟件測(cè)試的效率,最好由程序編制者自己來(lái)完成軟件測(cè)試的工作
D)軟件測(cè)試是證明軟件沒(méi)有錯(cuò)誤
A
[解析]軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程,且為了達(dá)到好的測(cè)試效果,應(yīng)該由獨(dú)
立的第三方來(lái)構(gòu)造測(cè)試,程序員應(yīng)盡量避免檢查自己的程序。
4.下面選項(xiàng)中不屬于面向?qū)ο蟪绦蛟O(shè)計(jì)特征的是()
A)繼承性B)多態(tài)性C)類(lèi)比性D)封裝性
c
[解析]面向?qū)ο蟪绦蛟O(shè)計(jì)的3個(gè)主要特征是:封裝性、繼承性和多態(tài)性。
5.下列對(duì)隊(duì)列的敘述正確的是()
A)隊(duì)列屬于非線性表B)隊(duì)列按“先進(jìn)后出”原則組織數(shù)據(jù)
C)隊(duì)列在隊(duì)尾刪除數(shù)據(jù)D)隊(duì)列按“先進(jìn)先出”原則組織數(shù)據(jù)
D
[解析]隊(duì)列是一種操作受限的線性表。它只允許在線性表的一端進(jìn)行插入操作,另一端進(jìn)
行刪除操作。其中,允許插入的一端稱(chēng)為隊(duì)尾(rear),允許刪除的?端稱(chēng)為隊(duì)首(front)。隊(duì)列
具有先進(jìn)先出的特點(diǎn),它是按“先進(jìn)先出”的原則組織數(shù)據(jù)的,故本題答案為D)。
6.對(duì)下列二叉樹(shù)進(jìn)行前序遍歷的結(jié)果為()
A)DYBEAFCZXB)YDEBFZXCAC)ABDYECFXZD)ABCDEFXYZ
C
[解析]二叉樹(shù)前序遍歷的含義是:首先訪問(wèn)根結(jié)點(diǎn),然后按前序遍歷根結(jié)點(diǎn)的左子樹(shù),最
后按前序遍歷根結(jié)點(diǎn)的右子樹(shù),前序遍歷二叉樹(shù)的過(guò)程是一個(gè)遞歸的過(guò)程。根據(jù)題目中給出
的二叉樹(shù)的結(jié)構(gòu)可知前序遍歷的結(jié)果是:ABDYECFXZ。
7.某二叉樹(shù)中有n個(gè)度為2的結(jié)點(diǎn),則該二叉樹(shù)中的葉子結(jié)點(diǎn)數(shù)為()
A)n+1B)n-1C)2nD)n/2
A
[解析]對(duì)于任何一棵二叉樹(shù)T,如果其終端結(jié)點(diǎn)(葉子)數(shù)為nl,度為2的結(jié)點(diǎn)數(shù)為n2,則
nl=n2+l?所以該二叉樹(shù)的葉子結(jié)點(diǎn)數(shù)等于n+1。
8.在下列關(guān)系運(yùn)算中,不改變關(guān)系表中的屬性個(gè)數(shù)但能減少元組個(gè)數(shù)的是()
A)并B)交C)投影D)笛卡兒乘積
B
[解析]在關(guān)系運(yùn)算中,“交”的定義如下:設(shè)R1和R2為參加運(yùn)用算的兩個(gè)關(guān)系,它們具
有相同的度n,且相對(duì)應(yīng)的屬性值取自同一個(gè)域,則R1HR2為交運(yùn)算,結(jié)果仍為度等于n
的關(guān)系,其中的元組既屬于R1又屬于R2。
根據(jù)定義可知,不改變關(guān)系表的屬性個(gè)數(shù)但能減少元組個(gè)數(shù)的是交運(yùn)算,故本題答案為
B)。
9.在E-R圖中,用來(lái)表示實(shí)體之間聯(lián)系的圖形是()
A)矩形B)橢圓形C)菱形D)平行四邊形
C
[解析]E-R模型可用E-R圖來(lái)表示,它具有3個(gè)要素:①實(shí)體(型)用矩形框表示,框內(nèi)為實(shí)
體名稱(chēng)。②屬性用橢圓型來(lái)表示,并用線與實(shí)體連接。屬性較多時(shí)也可以將實(shí)體及其屬性單
獨(dú)列表。③實(shí)體間的聯(lián)系用菱形框表示。用線將菱形框與實(shí)體相連,并在線上標(biāo)注聯(lián)系的類(lèi)
型。
10.下列敘述中錯(cuò)誤的是()
A)在數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致
B)數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問(wèn)題
C)數(shù)據(jù)庫(kù)設(shè)計(jì)是指在已有數(shù)據(jù)庫(kù)管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫(kù)
D)數(shù)據(jù)庫(kù)系統(tǒng)需要操作系統(tǒng)的支持
A
[解析]數(shù)據(jù)庫(kù)設(shè)計(jì)(DatabaseDesign)是指根據(jù)用戶(hù)的需求,在某一具體的數(shù)據(jù)庫(kù)管理系統(tǒng)上
設(shè)計(jì)數(shù)據(jù)庫(kù)的結(jié)構(gòu)并建立數(shù)據(jù)庫(kù)的過(guò)程;數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)共享的問(wèn)題:
數(shù)據(jù)庫(kù)需要操作系統(tǒng)的支持;數(shù)據(jù)的物理結(jié)構(gòu)又稱(chēng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),就是數(shù)據(jù)元素在計(jì)算機(jī)
存儲(chǔ)器中的表示及其配置。數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)元素之間的邏輯關(guān)系,它是數(shù)據(jù)在用戶(hù)
或程序員面前表現(xiàn)的方式,在數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)不一定與邏輯結(jié)構(gòu)一致。
11.算法中,對(duì)需要執(zhí)行的每一步操作,必須給出清楚、嚴(yán)格的規(guī)定。這屬于算法的()
A)正當(dāng)性B)可行性C)確定性D)有窮性
C
[解析]一個(gè)算法應(yīng)當(dāng)具有5個(gè)特性,即有窮性、確定性、可行性、有零個(gè)或多個(gè)輸入以及
有一個(gè)或多個(gè)輸出。算法的確定性是指:算法中每一條指令必須有確切的含義,讀者理解時(shí)
不會(huì)產(chǎn)生二義性。并且在任何條件下,算法只有唯一的條執(zhí)行路徑,即對(duì)于相同的輸入只
能得出相同的執(zhí)行結(jié)果。
(12-50),C語(yǔ)言綜合單向選擇題
12.以下敘述中錯(cuò)誤的是()
A)計(jì)算機(jī)不能直接執(zhí)行用C語(yǔ)言編寫(xiě)的源程序
B)C程序經(jīng)C編譯程序編譯后,生成后綴為.obj的文件是一個(gè)二進(jìn)制文件
C)后綴為.obj的文件,經(jīng)連接程序生成后綴為.exe的文件是一個(gè)二進(jìn)制文件
D)后綴為.obj和.exe的二進(jìn)制文件都可以直接運(yùn)行
D
[解析I一個(gè)C語(yǔ)言的源程序(后綴名為.c)在經(jīng)過(guò)編譯器編譯后,先生成一個(gè)匯編語(yǔ)言程序,
然后由編譯程序再將匯編語(yǔ)言程序翻譯成機(jī)器指令程序,即目標(biāo)程序(后綴名為.obj),目標(biāo)
程序不可以直接運(yùn)行,它要和庫(kù)函數(shù)或其它目標(biāo)程序連接成可執(zhí)行文件(后綴名為.exe)后方
可運(yùn)行。故本題答案為D)。
13.按照C語(yǔ)言規(guī)定的用戶(hù)標(biāo)識(shí)符命名規(guī)則,不能出現(xiàn)在標(biāo)識(shí)符中的是()
A)大寫(xiě)字母B)連接符C)數(shù)字字符D)下劃線
[解析]在C語(yǔ)言中,用戶(hù)標(biāo)識(shí)符命令規(guī)則規(guī)定:變量名只能由字母、數(shù)字或下劃線3種字
符組成,且第一個(gè)字符必須為字母或下劃線。在C語(yǔ)言中,大寫(xiě)字母和小寫(xiě)字母被認(rèn)為是
兩個(gè)不同的字符。據(jù)此規(guī)定A)、D)、C)三個(gè)選項(xiàng)是正確的,而B(niǎo))選項(xiàng)是連字符,不在C語(yǔ)
言規(guī)定的命名變量標(biāo)識(shí)符的范圍內(nèi)。
14.以下敘述中錯(cuò)誤的是()
A)C語(yǔ)言是一種結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言
B)結(jié)構(gòu)化程序由順序、分支、循環(huán)三種基本結(jié)構(gòu)組成
C)使用三種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡(jiǎn)單問(wèn)題
D)結(jié)構(gòu)化程序設(shè)計(jì)提倡模塊化的設(shè)計(jì)方法
C
[解析]結(jié)構(gòu)化程序設(shè)計(jì)是指在程序的構(gòu)成上只使用順序、選擇(即分支)和循環(huán)3種結(jié)構(gòu)組成
的編程方式。它強(qiáng)調(diào)程序設(shè)計(jì)風(fēng)格和程序結(jié)構(gòu)的規(guī)范化,提倡清晰的結(jié)構(gòu)。結(jié)構(gòu)化程序設(shè)計(jì)
方法的基本思路,是把?個(gè)復(fù)雜問(wèn)題的求解過(guò)程分階段進(jìn)行,每個(gè)階段處理的問(wèn)題都控制在
人們?nèi)菀桌斫夂吞幚淼姆秶鷥?nèi)。結(jié)構(gòu)化程序設(shè)計(jì)提倡模塊化的設(shè)計(jì)方法。
15.對(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é)束
A
[解析]一個(gè)C程序總是從main函數(shù)開(kāi)始執(zhí)行,而不論其在程序中的位置。在main函數(shù)中
可以調(diào)用程序中的其他函數(shù),而其他函數(shù)卻不可以調(diào)用main函數(shù)。程序最后再?gòu)膍ain函
數(shù)中結(jié)束。
16.設(shè)變量均己正確定義,若要通過(guò)scanf("%d%c%d%c",&al,&cl,&a2,&c2);語(yǔ)句為
變量al和a2賦數(shù)值10和20,煩量cl和c2賦字符X和Y。以下所示的輸入形式中正確
的是(注:口代表空格字符)()
A)10口X口20口Y<回車(chē)〉
B)10口X20口Y<回車(chē)>
C)10口X<回車(chē)>20口Y<回車(chē)>
D)10X<回車(chē)>20Y<回車(chē)〉
D
[解析]本題中,scanf函數(shù)的格式控制沒(méi)有空格,所以,對(duì)于選項(xiàng)A)、B)、C),輸入的第一
個(gè)空格會(huì)作為字符賦值給變量cl,而不會(huì)被解釋成分隔符。
17.若有代數(shù)式(其中e僅代表自然對(duì)數(shù)的底數(shù),不是變量),則以下能夠正確
表示該代數(shù)式的C語(yǔ)言表達(dá)式是()
A)sqrt(abs(nAx+eAX))B)sqrt(fabs(pow(n,x)+pow(x,e)))
C)sqrt(fabs(pow(n,x)+exp(X)))D)sqrt(fabs(pow(x,n)+exp(x)))
C
[解析]本題主要考查C語(yǔ)言的庫(kù)函數(shù)。abs求整數(shù)的絕對(duì)值,fabs求雙字節(jié)型的絕對(duì)值,
pow函數(shù)的原形是doublepow(doubleX,doubleY),潺x的y次方;exp函數(shù)的原形是double
exp(doubleX),求10的X次方;sqrt函數(shù)的原形是doublesqrt(doublex),為x的平方根。
故本題答案為C)。
18.設(shè)有定義:intk=O;,以下選項(xiàng)的四個(gè)表達(dá)式中與其他三個(gè)表達(dá)式的值不相同的是()
A)k++B)k+=1C)++kD)k+1
A
[解析]因?yàn)椤癷ntk=0;",月以B)、C)、D)三個(gè)選項(xiàng)的表達(dá)式的值都等于1,而A)選項(xiàng)的表
達(dá)式的值等于0。這是因?yàn)椤発++”這個(gè)表達(dá)式先進(jìn)行取k值的運(yùn)算,然后是k值自加1。
故本題答案為A)。
19.有以下程序,其中%u表示按無(wú)符號(hào)整數(shù)輸出
main()
(
unsignedintx=0xFFFF;/*x的初值為+六進(jìn)制數(shù)*/
printf("%u\n",x);
)
程序運(yùn)行后的輸出結(jié)果是()
A)-lB)65535C)32767D)OxFFFF
B
[解析]"%u”格式符用來(lái)以+進(jìn)制形式輸出無(wú)符號(hào)整型變量,其取值范圍是0—65535。本
題中無(wú)符號(hào)整型變量x=0xFFFF(+六進(jìn)制)表示的是無(wú)符號(hào)整型變量的最大值65535。
20.設(shè)變量x和y均已正確定義并賦值。以下if語(yǔ)句中,在編譯時(shí)將產(chǎn)生錯(cuò)誤信息的是()
A)if(x++);B)if(x>y&&y!=0);
C)if(x>0)x-elsey++;D)if(y<0){;)elsex++;
C
[解析]C語(yǔ)言規(guī)定,在“if(表達(dá)式)語(yǔ)句l;else語(yǔ)句2;”這種形式的if語(yǔ)句中,在每一個(gè)else
前面有一個(gè)分號(hào),整個(gè)語(yǔ)句結(jié)束處有一分號(hào)。在本題的C)選項(xiàng)中,else前面少了一個(gè)分號(hào),
這樣程序在編譯時(shí),會(huì)出現(xiàn)語(yǔ)法錯(cuò)誤。
21.以下選項(xiàng)中,當(dāng)x為大于1的奇數(shù)時(shí),值為0的表達(dá)式是()
A)x%2==lB)x/2C)x%2!=0D)x%2==0
D
[解析]因?yàn)閄的值為大于1的奇數(shù),所以x除以2的余數(shù)等于1,因此,選項(xiàng)A)、C)中表
達(dá)式的結(jié)果為真,不為0;對(duì)于選項(xiàng)B)來(lái)說(shuō),x除以2的商不會(huì)等于0;選項(xiàng)D)中表達(dá)式的
結(jié)果為假,即等于0。
22.以下敘述中正確的是()
A)break語(yǔ)句只能用于switch語(yǔ)句體中
B)continue語(yǔ)句的作用是:使程序的執(zhí)行流程跳出包含它的所有循環(huán)
C)break語(yǔ)句只能用在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)
D)在循環(huán)體內(nèi)使用break語(yǔ)句和continue語(yǔ)句的作用相同
C
[解析]break語(yǔ)句的功能是跳出正在執(zhí)行的條件語(yǔ)句或循環(huán)語(yǔ)句。它可以出現(xiàn)在switch語(yǔ)句
中,也可以出現(xiàn)在循環(huán)語(yǔ)句中。continue語(yǔ)句只是結(jié)束本次循環(huán),即跳過(guò)本次循環(huán)體中余下
尚未執(zhí)行的語(yǔ)句,接著再一次進(jìn)行循環(huán)的條件判斷。
23.有以下程序
main()
{intk=5,n=0;
do
{switch(k)
{case1:
case3:n+=l;k—;break;
default:n=0;k—;
case2:
case4:n+=2;k-;break;
)
printf(n%du,n);
}while(k>0&&n<5);
)
程序運(yùn)行后的輸出結(jié)果是()
A)235B)0235C)02356D)2356
A
[解析]因?yàn)樽兞康某跏贾捣謩e為“k=5,n=0",所以程序第一次進(jìn)入循環(huán)時(shí),執(zhí)行default
語(yǔ)句,這時(shí)k=4,執(zhí)行"case4:”這個(gè)分支,結(jié)果是“n=2,k=3",持|J出2:程序然后進(jìn)行
第二次循環(huán),這時(shí)“n=2,k=3”,執(zhí)行"case3:”這個(gè)分支,結(jié)果是“n=3,k=2”,打印出3;
程序進(jìn)行第三次循環(huán),這時(shí)“n=3,k=2”,執(zhí)行“case2:case4:”這兩個(gè)分支,結(jié)果是“n=5,
k=l”,抒[1出5,這時(shí)因?yàn)閚=5不滿(mǎn)足n<5的循環(huán)條件,因此退出循環(huán),程序運(yùn)行結(jié)束。因
此輸出結(jié)果是235。
24.有以下程序
main()
{inti,j;
for(i=1;i<4;i++)
for(j=i;j<4;j++)
printf("%d*%d=%d",i,j,i*j);
printf("\n");
)
程序運(yùn)行后的輸出結(jié)果是()
A)rM=11*2=21*3=32*1=22*2=43*1=3
B)Psl=l1*2=21*3=32*2=42*3=63*3=9
C)Psl=l1*2=22*2=41*3=32*3=63*3=9
D)PM=12*1=22*2=43*1=33*2=63*3=9
B
[解析]本題主要考查了for循環(huán)的嵌套。外層for循環(huán)的自變量i從1開(kāi)始,每次循環(huán)后增1,
至到i等于3結(jié)束。內(nèi)層循環(huán)的自變量j每次從i開(kāi)始,每次循環(huán)后增1,至到j(luò)等于3結(jié)束。
在每次外循環(huán)開(kāi)始后,內(nèi)層循環(huán)在一行上先打印"i*j=兩個(gè)乘數(shù)的積”,然后換行,下次循
環(huán)從下一行開(kāi)始打印。
25.以下合法的字符型常量是()
A)^xl3,B),081'C)'65'D)"\n"
A
[解析]C語(yǔ)言的字符常量是用單引號(hào)(即撇號(hào))括起來(lái)的一個(gè)字符。除此之外,在C語(yǔ)言中還
允許用以一個(gè)“\”開(kāi)頭的字符序列來(lái)表示字符常量。其中,形式“\ddd”表示1到3位8
進(jìn)制數(shù)所代表的字符;形式“\xhh”礪1到2位16進(jìn)制數(shù)所代表的字符。在本題中‘\xl3'
表示回車(chē)符,是一個(gè)字符常量;\081'用8進(jìn)制數(shù)所代表的字符,但形式不正確,因?yàn)?
進(jìn)制數(shù)所表示的字符中不會(huì)出現(xiàn)數(shù)字“8";'65'不是一個(gè)字符,而是一個(gè)+進(jìn)制數(shù)字;“\n”
是用雙引號(hào)括起來(lái)的一個(gè)字符,表示一個(gè)字符串,而不是字符常量。
26.在C語(yǔ)言中,函數(shù)返回值的類(lèi)型最終取決于()
A)函數(shù)定義時(shí)在函數(shù)首部所說(shuō)明的函數(shù)類(lèi)型
B)return語(yǔ)句中表達(dá)式值的類(lèi)型
C)調(diào)用函數(shù)時(shí)主調(diào)函數(shù)所傳遞的實(shí)參類(lèi)型
D)函數(shù)定義時(shí)形參的類(lèi)型
A
[解析]在C語(yǔ)言中,應(yīng)當(dāng)在定義函數(shù)時(shí)指定函數(shù)值的類(lèi)型,凡不加類(lèi)型說(shuō)明的函數(shù),一律
自動(dòng)按整型處理。在定義函數(shù)時(shí)對(duì)函數(shù)值說(shuō)明的類(lèi)型一般應(yīng)該和return語(yǔ)句中的表達(dá)式類(lèi)型
一致。如果函數(shù)值的類(lèi)型和return語(yǔ)句中的表達(dá)式類(lèi)型不一致,則以函數(shù)類(lèi)型為主。即函數(shù)
類(lèi)型決定返回值的類(lèi)型。
27.已知大寫(xiě)字母A的ASCII碼是65,小寫(xiě)字母a的ASCII碼是97。以下不能將變量c中
的大寫(xiě)字母轉(zhuǎn)換為對(duì)應(yīng)小寫(xiě)字母的語(yǔ)句是()
A)c=(c-'A')%26+'a'B)c=c+32C)c=c-'A'+'a'D)c=('A'+c)%26-'a'
D
[解析]C語(yǔ)言中,字符數(shù)據(jù)參加運(yùn)算時(shí),實(shí)際上是其ASCII碼參與計(jì)算。大寫(xiě)字母的ASCII
碼比其對(duì)應(yīng)的小寫(xiě)字母的ASCII碼小31。因此要將大寫(xiě)字母轉(zhuǎn)化為小寫(xiě)字母只需將其加上
32即可。所以選項(xiàng)B)、C)都符合條件,因?yàn)樽兞緾中存儲(chǔ)的是大寫(xiě)字母,所以"c」A"’的
值一定小于26,故選項(xiàng)A)與選項(xiàng)C)的含義相同。故本題答案為D)。
28.有以下函數(shù)
intfun(char*s)
{char*t=s;
while(*t++);
return(t-s);
)
該函數(shù)的功能是
A)比較兩個(gè)字符串的大小
B)計(jì)算s所指字符串占用內(nèi)存字節(jié)的個(gè)數(shù)
C)計(jì)算s所指字符串的長(zhǎng)度
D)將s所指字符串復(fù)制到字符串t中
[解析]循環(huán)語(yǔ)句while(*t++);執(zhí)行完時(shí),指針變量t就指向了字符中結(jié)束符'\o'之后的位
置,所以語(yǔ)句return(t-s);返回的就是字符串s所用內(nèi)存的字節(jié)個(gè)數(shù)。
29.設(shè)已有定義:floatX;,則以下對(duì)指針變量p進(jìn)行定義且貝武初值的語(yǔ)句中正確的是()
A)float*p=1024;B)int*p=(float)x;C)floatp=&x;D)float*p=&x;
D
[解析]指針變量只能存儲(chǔ)地址,選項(xiàng)A)錯(cuò)誤。只有浮點(diǎn)型指針才能指向浮點(diǎn)型數(shù)據(jù),選項(xiàng)
B)錯(cuò)誤。在定義指針變量時(shí)必須加上星號(hào)"二遜C)錯(cuò)誤。故本題答案為D)。
30.有以下程序
#include<stdio.h>
main()
{intn,*p=NULL;
*p=&n;
printf("Inputn:n);
scanf("%d",&p);
printf("outputn:”);
printf("%d\nn,p);
)
該程序試圖通過(guò)指針p為變量n讀入數(shù)據(jù)并輸出,但程序有多處錯(cuò)誤,以卜語(yǔ)句正確的是()
A)intn,*p=NULL;B)*p=&n;C)scanf("%dn,&p)D)printf(n%d\nn,p);
A
[解析]指針變量在定義時(shí)需要加星號(hào),而在賦值時(shí)則不用,故選項(xiàng)B)錯(cuò)誤。本題中,scanf()
函數(shù)和printf()函數(shù)都是要對(duì)指針變量p指向的地址處的數(shù)據(jù)進(jìn)行訪問(wèn),不是變量本身。選
項(xiàng)C)中多了取地址運(yùn)算符,選項(xiàng)D)中少了指針運(yùn)算符。
31.以下程序中函數(shù)f的功能是:當(dāng)flag為1時(shí),進(jìn)行由小到大排序;當(dāng)flag為0時(shí),進(jìn)行
由大到小排序。
voidf(intb|],intn,intflag)
{inti,j,t;
for(i=0;i<n-l;i++)
for(j=i+l;j<n;j++)
if(flag?b[i]>b|j]:b[i]<b[j])
(t=b[i];b[i]=bU];b[j]=t;}
)
main()
{inta[10]={5,4,3,2,1,6,7,8,9,10},i;
f(&a[2],5,0);
f(a,5,1);
for(i=0;i<10;i++)
printf(n%d,",a[i]);
)
程序運(yùn)行后的輸出結(jié)果是()
A)1,2,3,4,5,6,7,8,9,10,
B)3,4,5,6,7,2,1,8,9,10,
C)5,4,3,2,1,6,7,8,9,10,
D)10,9,8,7,6,5,4,3,2,1,
B
[解析]在main。中“f(&a⑵,5,0);”語(yǔ)句的功能是對(duì)數(shù)組a[10]中從a⑵到a[6]的數(shù)宇(即
3,2,1,6,7)進(jìn)行從大到小排序,這時(shí)數(shù)組a[10]中的數(shù)字序列變?yōu)閧5,4,7,6,3,2,1,
8,9,10)oaf(a,5,1);”語(yǔ)句的功能是對(duì)數(shù)字序列{5,4,7,6,3,2,1,8,9,10}中的
5,4,7,6,3進(jìn)行從小到大的排序,所以數(shù)組a|10]中的數(shù)字序列最終變?yōu)閧3,4,5,6,7,
2,1,8,9,10}o
32.有以下程序
voidf(intb[])
{inti;
fbr(i=2;i<6;i++)
b[i]*=2;
)
main()
{inta[10]={l,2,3,4,5,6,7,8,9,10),i;
f(a);
for(i=0;i<10,i++)
printf(n%d,",a[i]);
程序運(yùn)行后的輸出結(jié)果是()
A)1,2,3,4,5,6,7,8,9,10,
B)1,2,6,8,10,12,7,8,9,10,
C)1,2,3,4,10,12,14,16,9,10,
D)1,2,6,8,10,12,14,16,9,10,
B
[解析]在main。中,f(a)語(yǔ)句的作用是對(duì)數(shù)組a[10]中從a⑵到a[5]的各個(gè)數(shù)字乘以2所以
數(shù)組或10]中的數(shù)字就變成了{(lán)1,2,6,8,10,12,7,8,9,10),最后在屏幕上輸出。
33.有以下程序
typedefstruct}intb,p;}A;
voidf(Ac)/*注意:c是結(jié)構(gòu)變量名*/
{intj;
cb+=l;
c.p+=2;
)
main()
{inti;
Aa={l,2};
f(a);
printf(u%d,%d\n",a.b,a.p);
)
程序運(yùn)行后的輸出結(jié)果是()
A)2,3B)2,4C)1,4D)1,2
D
[解析]本題考查的是函數(shù)調(diào)用時(shí)的數(shù)據(jù)傳遞問(wèn)題。因?yàn)樵谡{(diào)用函數(shù)f()時(shí)只是進(jìn)行的值傳遞,
即單向傳遞,函數(shù)的調(diào)用及對(duì)形參的處理過(guò)程并不會(huì)引起實(shí)參數(shù)值的變化。故本題答案為
D)o
34.有以下程序
main()
{inta[4][4]={{L4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,j,k,t;
for(i=0;<4:i++)
for(j=0;j<3;j++)
for(k=j+1;k<4;k++)
if(aU][i]>a[kJ[i]
{t=a[j][i];a[j][i]=a[k][i]=a[k][i]=t;}/*按列排序*/
for(i=0;i<4;i++)printf("%d,",a[i][i]);
)
程序運(yùn)行后的輸出結(jié)果是()
A)1,6,5,7,B)8,7,3,1,
C)4,7,5,2,D)1,6,2,1,
A
[解析]本題利用多重for循環(huán)的嵌套來(lái)實(shí)現(xiàn)對(duì)二維數(shù)組元素的按列排序。利用最外層循環(huán)來(lái)
實(shí)現(xiàn)對(duì)列的控制。內(nèi)部循環(huán)利用選擇法對(duì)數(shù)組元素按照從小到大的順序進(jìn)行排列。最后輸出
對(duì)角線上的元素值。故本題答案為A)。
35.有以下程序
main()
{inta[4][4]={{l,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,k,t;
for(i=0;i<3;i++)
for(k=i+1;k<4;k++)
if(a[i][i]<a[k][k])
{t=a[i][i];a[i][i]=a[k][k];a[k][k]=t;}
for(i=0;i<4;i++)
printf(H%d,M,a[0][i]);
)
程序運(yùn)行后的輸出結(jié)果是()
A)6,2,1,1,B)6,4,3,2,
C)1,1,2,6,D)2,3,4,6,
B
[解析]本題使用選擇法對(duì)二維數(shù)組對(duì)角線上的元素按從大到小的順序進(jìn)行排列。最后輸出
數(shù)組第?行的數(shù)據(jù)。故本題答案為B)。
36.有以下程序
voidf(int*q)
{inti=0:
fbr(;i<5;i++)
(*q)++;
)
main()
{inta[5]={l,2,3,4,5},i;
f(a);
fdr(i=O;i<5;i++)
printf(n%d,",a[i]);
)
程序運(yùn)行后的輸出結(jié)果是
A)2,2,3,4,5,B)6,2,3,4,5,
C)1,2,3,4,5,D)2,3,4,5,6,
B
[解析]調(diào)用函數(shù)f()時(shí),將數(shù)組a的地址傳遞給了指針q,此時(shí)q指向的就是數(shù)組a的第一
個(gè)元素a[0]。在5次循環(huán)過(guò)程中,q始終指向a[0],因此a[0]的值增加了5。最后的輸出結(jié)
果為“6,2,3,4,5”。
37.有以下程序
#inciude<string.h>
main()
{charp[20]={'a',K,'c\*d'},q[]=Mabc",r|]=,,abcden;
strcpy(p+strlen(q),r);
strcat(p,q);
printf(',%d%d\nu,sizeof(p),strlen(p));
)
程序運(yùn)行后的輸出結(jié)果是()
A)209B)99C)2011D)1111
C
[解析]函數(shù)strlen()返回的是數(shù)組的實(shí)際長(zhǎng)度,而sizeof返回的是數(shù)組定義的總長(zhǎng)度。因?yàn)?/p>
字符數(shù)組p[20]定義為20字節(jié)長(zhǎng)度,所以sizeof(p)的值為20?!皊trcpy(p+strien(q),r);”語(yǔ)
句的功能把字符數(shù)組r拷貝到字符數(shù)組p從p[3]開(kāi)始到p[7]的位置中,這時(shí)字符數(shù)組p的有
效字符長(zhǎng)度為8。然后再執(zhí)行"strcat(p,q);”語(yǔ)句(字符串連接),即把字符數(shù)組q連接到字
符數(shù)組p后面,這時(shí)字符數(shù)組p的有效長(zhǎng)度為11o
38.有以下程序
#include<string.h>
main()
{charp[20]={'a',V,'c',d},q[]="abcH,r[]=nabcde";
strcat(p,r);
strcpy(p+strlen(q),q);
printf(u%d\n",strlen(p));
)
程序運(yùn)行后的輸出結(jié)果是()
A)9B)6C)11D)7
B
[解析]strcpy()函數(shù)的功能是將字符串q復(fù)制到從p[3]位置開(kāi)始的存儲(chǔ)單元,同時(shí)復(fù)制字符串
結(jié)束標(biāo)志‘\0'到p[6]中。函數(shù)strlen()返回的是字符串中不包括<\0,在內(nèi)的實(shí)際長(zhǎng)度,故
本題答案為B)。
39.有以下程序
#include<string.h>
voidf(charp[][10],intn)/*字符串從小到大排序*/
{chart[10];inti,j;
fbr(i=O;i<n-l;i++)
fbr(j=i+l;j<n;j++)
if(strcmp(p[i],p[j])>0)
{strcpy(t,p[i]);
strcpy(p[i],p[j]);
strcpy(p[j],t);
)
)
main()
{charp[5][10]={Mabc%naabdfg:,nabbdM,"dcdbe'1,“cd”};
f(P,5);
printf("%d\n",strlen(p[O]));
)
程序運(yùn)行后的輸出結(jié)果是()
A)2B)4C)6D)3
C
[解析]本題中函數(shù)f()利用選擇法對(duì)字符串?dāng)?shù)組p中的字符中按從小到大排序,字符串比較
的方法是:依次對(duì)S1和S2所指字符串對(duì)應(yīng)位置上的字符兩兩進(jìn)行比較,當(dāng)出現(xiàn)第一對(duì)不
相同的字符時(shí),即由這兩個(gè)字符(ASCII碼值)決定所在串的大小,因此最后在p[0]中存儲(chǔ)的
是最小的字符串是“aabdfg"。最后用strlenO函數(shù)求得該字符串的長(zhǎng)度為6。
40.有以下程序
voidf(intn,int*r)
{intrl=0;
if(n%3==0)rl=n/3;
elseif(n%5==0)rl=n/5;
elsef(-n,&rl);
*r=rl;
)
main()
{intm=7,r;
f(m,&r);
printf(u%dM,r);
)
程序運(yùn)行后的輸出結(jié)果是()
A)2B)1C)3D)0
A
[解析]本題考查了函數(shù)的遞歸調(diào)用。在f函數(shù)中,當(dāng)m=7時(shí);程序執(zhí)行&H);”語(yǔ)
句,遞歸調(diào)用f(6,&rl),程序執(zhí)行,l=n/3;”語(yǔ)句,BPrl=6/3=2,然后執(zhí)行“*=rl;"語(yǔ)
句,所以輸出結(jié)果為2。
41.有以下程序
main(intargc,char*argv[])
{intn=0,i;
for(i=1;i<argc;i++)
n=n*10+*argv[i]-'O';
printf(n%d\nn,n);
)
編譯連接后生成可執(zhí)行文件tt.exe。若運(yùn)行時(shí)輸入以下命令行tt12345678。程序運(yùn)行
后的輸出結(jié)果是()
A)12B)12345C)12345678D)136
D
[解析]運(yùn)行時(shí)輸入該命令后,參數(shù)argc的值為4,字符串?dāng)?shù)組argv[l]、argv[2]>argv[3]分
別為“12”、“345”、“678”,然后取這3個(gè)參數(shù)的第一個(gè)字符,將其轉(zhuǎn)化成原來(lái)的數(shù)字并組
合成一個(gè)新的三位數(shù)。
42.有以下程序
inta=4;
intf(intn)
{intt=0;staticinta=5;
if(n%2)
{inta=6;t+=a++;}
else
{inta=7;t+=a++;}
returnt+a++;
)
main()
{ints=a,i=0;
fbr(;i<2;i++)s+=f(i);
printf(n%d\nH,s);
)
程序運(yùn)行后的輸出結(jié)果是()
A)24B)28C)32D)36
B
[解析]本題考查的是變量的作用域問(wèn)題。程序中定義了多個(gè)變量a,全局變量、靜態(tài)變量和
局部變量分別在自己的作用域中參與運(yùn)算。在main()函數(shù)中首先執(zhí)行“s+=f(0);”語(yǔ)句,而
f(0)返回值為12,所以第一次循環(huán)結(jié)束s的值等于4+12=16;第二次開(kāi)始時(shí),當(dāng)執(zhí)行f(l)時(shí),
在f⑴中執(zhí)行uif(n%2){inta=6;t+=a++;}”和"returnt+a++;”這兩條語(yǔ)句,所以f⑴的
返回值等于12。再在主函數(shù)中執(zhí)行"s+=f(l)「語(yǔ)句,也就是16+12=28。
43.有一個(gè)名為init.txt的文件,內(nèi)容如下:
#defineHDY(A,B)A/B
#definePRINT(Y)printf(ny=%d\nn,Y)
有以下程序
#include"init.txt,,
main()
{inta=l,b=2,c—3,d=4,k;
k=HDY(a+c,b+d);
PRINT(k);
)
下面針對(duì)該程序的敘述正確的是()
A)編譯出錯(cuò)B)運(yùn)行出錯(cuò)C)運(yùn)行結(jié)果為y=0D)運(yùn)行結(jié)果為y=6
D
[解析]本題考查的是帶參數(shù)的宏定義。不僅要進(jìn)行簡(jiǎn)單的字符替換,還要進(jìn)行參數(shù)替換。
根據(jù)宏替換的規(guī)則,本題在進(jìn)行替換宏HDY時(shí),沒(méi)有像所希望的那樣將HDY(a+c,b+d)
替換成(a+c)/(b+d),而是替換成了“a+c/b+d”,因此結(jié)果k為6。
44.有以下程序
main()
(
charch[]=MuvwxyzM,*pc;
pc=ch;
printf(*'%c\n”,*(pc+5));
)
程序運(yùn)行后的輸出結(jié)果是()
A)zB)0C)元素ch[5]的地址D)字符y的地址
A
[解析]將字符串的地址賦值給字符指針變量后,指針就指向了該字符串的第一個(gè)字符,即
所以*(p+5)指向的字符是30
45.有以下程序
structS{intn;inta[20];};
voidf(structS*p)
{inti,j,t;
fbr(i=O;i<p->n-l;i++)
fbr(j=i+l;j<p->n;j++)
if(p->a|i|>p->a|j])
{t=p->a[i];p->a[i]=p->a[j];p->a|j]=t;}
)
main()
{inti;
structSs={10,{2,3,1,6,8,7,5,4,10,9}};
f(&s);
for(i=0;i<s.n;i++)
printf(n%d,n,s.a[i]);
)
程序運(yùn)行后的輸出結(jié)果是()
A)1,2,3,4,5,6,7,8,9,10,
B)10,9,8,7,6,5,4,3,2,1,
C)2,3,1,6,8,7,5,4,10,9,
D)10,9,8,7,6,1,2,3,4,5,
A
[解析]本題中,在調(diào)用函數(shù)f()時(shí),實(shí)參是結(jié)構(gòu)體變量s的地址,所以在函數(shù)中對(duì)形參的改
變會(huì)影響到實(shí)參的數(shù)值。函數(shù)f()實(shí)現(xiàn)的功能是把結(jié)構(gòu)體的成員數(shù)組中的值按從小到大順序
進(jìn)行排列。
46.有以下程序
structS{intn;inta[20];};
voidf(int*a,intn)
{inti;
fbr(i=O;i<n-l;i++)a[i]+=i;
main()
{inti;
structSs={10,{2,3,1,6,8,7,5,4,10,9});
f(s.a,s.n);
fbr(i=O;i<s.n;i++)
printf(n%d,n,s.a[i]);
程序運(yùn)行后的輸出結(jié)果是(
A)2,4,3,9,11,11,18,9,
B)3,4,2,7,9,8,5,11,10,
C)2,3,1,6,8,7,5,4,10,9,
D)1,3,6,8,7,5,4,10,9,
[解析]本題中,在調(diào)用函數(shù)時(shí)將結(jié)構(gòu)體變量的兩個(gè)成員作為實(shí)參,其中的成員數(shù)組a實(shí)際
向函數(shù)f()傳遞的是該數(shù)組的地址,因此在函數(shù)f()中所對(duì)應(yīng)的形參發(fā)生改變時(shí),該數(shù)組內(nèi)的
數(shù)據(jù)也會(huì)發(fā)生改變。函數(shù)f()實(shí)現(xiàn)的功能是將成員數(shù)組中的前9個(gè)元素分別加上該元素的下
標(biāo),作為新的元素。
47.有以下程序段
typedefstructnode{intdata:structnode*next:}*NODE;
NODEp;
以下敘述中正確的是()
A)p是指向structnode結(jié)構(gòu)變量的指針的指針
B)NODEp;語(yǔ)句出錯(cuò)
C)p是指向structnode結(jié)構(gòu)變量的指針
D)p是structnode結(jié)構(gòu)變量
C
[解析]在C語(yǔ)言中,typedef用于說(shuō)明一種新的類(lèi)型名,本題中的node被定義為一種結(jié)構(gòu)體
類(lèi)型名,NODE被定義為指向這種結(jié)構(gòu)體變量的指針,我們可以用它來(lái)定義一個(gè)指向該類(lèi)型
結(jié)構(gòu)體變量的指針。
48.有以下程序
main()
(
unsignedchara=2,b=4,c=5,d;
d=alb;
d&=c;
printf(',%d\nu,d);
)
程序運(yùn)行后的輸出結(jié)果是()
A)3B)4C)5D)6
[解析]本題考查的內(nèi)容是按位與和按位或運(yùn)算符的使用,由運(yùn)算規(guī)則可知,d的最終結(jié)果為
49.有以下程序
#include<stdio.h>
main()
{FILE*fp;
intk,n,a[6]={1,2,3,4,5,6};
fp二fopen("d2.dat",”w");
fprintf(fp,H%d%d%d\nn,a[0],a[l],a[2]);
fprintf(fp,"%d%d%d\nM,a[3],a[4],a[5]);
fclose(fp);
fp=fopen("d2.dafH,"rn);
fscanf(fp,n%d%dn,&k,&n);
printf(n%d%d\n",k,n);
fclose(fp);
)
程序運(yùn)行后的輸出結(jié)果是()
A)12B)14C)1234D)123456
D
[解析]將有6個(gè)元素的整型數(shù)組分兩行輸出到一個(gè)文件中,因?yàn)檩敵龅亩际菙?shù)字并且每行
都沒(méi)有分隔符,所以當(dāng)再對(duì)其進(jìn)行讀取操作時(shí),每?行都會(huì)被認(rèn)為是一個(gè)完整的數(shù),而換行
符則作為它們的分隔符。故本題答案為D)。
50.有以下程序
#include<stdio.h>
main()
{FILE*fp;
inti,a[6]={l,2,3,4,5,6};
fp=fopen(,'d3.datM,"w+b");
fwrite(a.sizeof(int),6,fp);
fseek(fp,sizeof(int)*3,SEEK_SET);
/*該語(yǔ)句使讀文件的位置指針從文件頭向后移動(dòng)3個(gè)int型數(shù)據(jù)*/
fread(a,sizeof(int),3,fp):
fclose(fp);
for(i=0;i<6;i++)
printf(n%d,",a[i]);
}
程序運(yùn)行后的輸出結(jié)果是()
A)4,5,6,4,5,6,B)1,2,3,4,5,6,
C)4,5,6,1,2,3,D)6,5,4,3,2,1,
A
[解析]首先利用fwrite函數(shù)將數(shù)組a中的數(shù)據(jù)寫(xiě)到文件中,接著fseek函數(shù)的功能是讀文件
的位置,指針從文件頭向后移動(dòng)3個(gè)int型數(shù)據(jù),這時(shí)文件位置指針指向的是文件中的第4
個(gè)int數(shù)據(jù)“4”。然后fread函數(shù)將文件fp中的后3個(gè)數(shù)據(jù)4,5,6讀到數(shù)組a中,這樣就
覆蓋了數(shù)組中原來(lái)的前3項(xiàng)數(shù)據(jù)。最后數(shù)組中的數(shù)據(jù)就成了{(lán)4,5,6,4,5,6),故本題答
案為A)o
二、填空題
請(qǐng)將每一個(gè)空的正確答案寫(xiě)在【1】至【20】序號(hào)的橫線上。
(1-5,軟件技術(shù)基礎(chǔ)填空題)
1.在深度為7的滿(mǎn)二叉樹(shù)中,度為2的結(jié)點(diǎn)個(gè)數(shù)為【1】.
63
[解析]根據(jù)二叉樹(shù)的性質(zhì),一棵深度為k的滿(mǎn)二叉樹(shù)有2k-l個(gè)結(jié)點(diǎn),所以深度為7的滿(mǎn)二
叉樹(shù)有27-1=127個(gè)節(jié)點(diǎn);又因?yàn)樵谌我庖豢枚鏄?shù)中,若終端結(jié)點(diǎn)的個(gè)數(shù)為n0,度為2的
結(jié)點(diǎn)數(shù)為n2,貝iJnO=n2+l,即所以總節(jié)點(diǎn)數(shù)為n0+n2=2n2+l=127,所以n2=63,即度為2
的結(jié)點(diǎn)個(gè)數(shù)為63,所以⑴應(yīng)填入63。
2.軟件測(cè)試分為白箱(盒)測(cè)試和黑箱(盒)測(cè)試。等價(jià)類(lèi)劃分法屬于【2】測(cè)試。
黑箱或黑盒
[解析]黑箱測(cè)試是根據(jù)程序規(guī)格說(shuō)明所規(guī)定的功能來(lái)設(shè)計(jì)測(cè)試用例,它不考慮程序的內(nèi)部
結(jié)構(gòu)和處理過(guò)程。常用的黑箱測(cè)試技術(shù)分為等價(jià)類(lèi)劃分、邊界分析、錯(cuò)誤猜測(cè)以及因果圖等。
3.在數(shù)據(jù)庫(kù)系統(tǒng)中,實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱(chēng)為[31o
數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)
[解析]數(shù)據(jù)庫(kù)管理系統(tǒng)(DatabaseManagementSystem)簡(jiǎn)稱(chēng)DBMS,對(duì)數(shù)據(jù)庫(kù)進(jìn)行統(tǒng)??的管理
和控制,以保證數(shù)據(jù)庫(kù)的安全性和完整性。它是數(shù)據(jù)庫(kù)系統(tǒng)的核心軟件。
4.軟件生命周期可分為多個(gè)階段,一般分為定義階段、開(kāi)發(fā)階段和維護(hù)階段。編碼和測(cè)試
屬于【4】階段。
開(kāi)發(fā)
[解析]軟件生命周期(SDLC,軟件生存周期)是軟件的產(chǎn)生直到報(bào)廢的生命周期,周期內(nèi)有
問(wèn)題定義、可行性分析、總體描述、系統(tǒng)設(shè)計(jì)、編碼、調(diào)試和測(cè)試、驗(yàn)收與運(yùn)行、維護(hù)升級(jí)
到廢棄等階段,其中的編碼和測(cè)試屬于開(kāi)發(fā)階段。
5.在結(jié)構(gòu)化分析使用的數(shù)據(jù)流圖(DFD)中,利用【在對(duì)其中的圖形元素進(jìn)行確切解釋。
數(shù)據(jù)字典
[解析]數(shù)據(jù)字典(DataDictionary,簡(jiǎn)稱(chēng)DD)就是用來(lái)定義數(shù)據(jù)流圖中的各個(gè)成分的具體含
義。數(shù)據(jù)字典的任務(wù)是對(duì)于數(shù)據(jù)流圖中出現(xiàn)的所有被命名的圖形元素在數(shù)據(jù)字典中作為一個(gè)
詞條加以定義,使得每一個(gè)圖形元素的名字都有一?個(gè)確切的解釋。
6.執(zhí)行以下程序后的輸出結(jié)果是[6】。
main()
{inta=10;
a=(3*5,a+4);printf("a=%d\n",a);
a=14
[解析]本題考查的是的表達(dá)式的優(yōu)先級(jí)問(wèn)題。先計(jì)算表達(dá)式3*5=15,再計(jì)算a+4=14,將數(shù)
據(jù)14賦值給a,根據(jù)printf()函數(shù)內(nèi)的輸出格式控制串,最后的輸出結(jié)果應(yīng)為“a=14”。
7.當(dāng)執(zhí)行以下程序時(shí),輸入1234567890〈回車(chē),,則其中while循環(huán)體將執(zhí)行【7】次。
#include<stdio.h>
main()
{charch:
while((ch=getchar())=='O')prinft(,'#M);
0
[解析]通過(guò)getchar。函數(shù)來(lái)取得從鍵盤(pán)輸入的數(shù)據(jù),再判斷其是否是字符'0',如果是,則
執(zhí)行一次循環(huán),因?yàn)閺逆I盤(pán)輸入的1234567890都是整型數(shù),不是字符.所以while循環(huán)執(zhí)
行的條件始終不成立,循環(huán)體執(zhí)行的次數(shù)為0。
8.以下程序的運(yùn)行結(jié)果是【8】。
intk=0;
voidfun(intm)
{m+=k;
k+=m;
printf(Mm=%dk=%dn,m,k++);
)
main()
{inti=4;
fun(i++);
printf(ui=%dk=%d\nM,i,k);
)
m=4k=4i=5k=5
[解析]由于在main。函數(shù)中,變量i=4,所以就調(diào)用fun(4)則輸出“m=4k=4"。然后變量k
增1等于5,變量i增1等于5,所以main。函數(shù)的<<printf("i=%dk=%d\n”,i,k);”語(yǔ)句輸出
“i=5k=5'5
9.以下程序的運(yùn)行結(jié)果是[9】。
main()
{inta=2,b=7,c=5;
switch(a>0)
{case1:switch(b<0)
{case1:printf("@H);break;
case2:printf(“!“);break;
}
case0:switch(c==5)
{case0:printf("*");break;
case1:printf('1#");break;
case2:printf("$");break;
)
default:printf(n&n);
)
printf(n\nn);
#&
[解析]表試"c==5”的值為真,所以表達(dá)式的值等于1,因此輸出符號(hào)‘#、懶行,bleak”,
繼而去執(zhí)行""default:printf("&");"語(yǔ)句,輸出符號(hào)“&”。
10.以下程序的輸出結(jié)果是【10】。
#include<string.h>
main()
{printf(n%d\nH,strlen(nIBM\nO12\l\\M));}
9
[解析]本題的字符串中共有9個(gè)字符,它們分別是T,\n',T,T,",W,
其中“\n”表示換行,“\\”表示反斜杠字符所以本題的最后輸出結(jié)果為9。
II.已定義charch=芍,;inti=l,j;,執(zhí)行j!=ch&&i++以后,i的徜為【11】。
[解析]在執(zhí)行邏輯表達(dá)式“j=!ch&&i++”時(shí),首先判斷j=!ch的值,因?yàn)椤?=F'"不為0,
所以"j=!ch=0",
編譯系統(tǒng)便不再計(jì)算表達(dá)式“i++”的值,i的值不變,仍為lo
12.以下程序的輸出結(jié)果是【12】。
#include<string.h>
main()
{chara[]={'\r,^2',\3',M',AO');
printf("%d%d\n",sizeof(a),strlen(a));
)
54
[解析]字符串處理函數(shù)strlen。返回的是字符數(shù)組的實(shí)際長(zhǎng)度,不包括字符申結(jié)束標(biāo)志'\0'。
而sizeof運(yùn)算符則計(jì)算的是字符數(shù)組的總長(zhǎng)度,包括串末尾的結(jié)束標(biāo)志。
13.設(shè)有定義語(yǔ)句:inta[][3]={{0},{1}{2}};,則數(shù)組元素a[ll⑵的值是【13】。
0
[解析]本題考查的是二維數(shù)組初始化問(wèn)題。題中對(duì)數(shù)組的a[0][0],a⑴⑼,a⑵⑼3個(gè)元素
分別賦值為0,1,2,其余的元素都自動(dòng)貝武0
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024石材工程項(xiàng)目勞務(wù)分包服務(wù)合同3篇
- 2025年玻璃幕墻玻璃破碎風(fēng)險(xiǎn)評(píng)估與應(yīng)急預(yù)案合同樣本3篇
- 2025年度美容儀器銷(xiāo)售代理與市場(chǎng)運(yùn)營(yíng)支持合同4篇
- 2025年度人工智能研發(fā)與應(yīng)用合作協(xié)議3篇
- 家教中家長(zhǎng)自我成長(zhǎng)的重要性
- 現(xiàn)代家庭教育的五大核心能力
- 2025年度住宅小區(qū)物業(yè)費(fèi)專(zhuān)項(xiàng)維修資金使用與管理合同3篇
- 2025年城市特色餐廳與旅行社聯(lián)合營(yíng)銷(xiāo)合作協(xié)議2篇
- 2025年度網(wǎng)絡(luò)游戲代理合作協(xié)議書(shū)(聯(lián)合運(yùn)營(yíng))4篇
- 二零二五年貨車(chē)共營(yíng)項(xiàng)目合作協(xié)議3篇
- 2024年高考八省聯(lián)考地理適應(yīng)性試卷附答案解析
- 足浴技師與店內(nèi)禁止黃賭毒協(xié)議書(shū)范文
- 中國(guó)高血壓防治指南(2024年修訂版)要點(diǎn)解讀
- 2024-2030年中國(guó)光電干擾一體設(shè)備行業(yè)發(fā)展現(xiàn)狀與前景預(yù)測(cè)分析研究報(bào)告
- 湖南省岳陽(yáng)市岳陽(yáng)樓區(qū)2023-2024學(xué)年七年級(jí)下學(xué)期期末數(shù)學(xué)試題(解析版)
- 農(nóng)村自建房安全合同協(xié)議書(shū)
- 杜仲葉藥理作用及臨床應(yīng)用研究進(jìn)展
- 4S店售后服務(wù)6S管理新規(guī)制度
- 高性能建筑鋼材的研發(fā)與應(yīng)用
- 無(wú)線廣播行業(yè)現(xiàn)狀分析
- 漢語(yǔ)言溝通發(fā)展量表(長(zhǎng)表)-詞匯及手勢(shì)(8-16月齡)
評(píng)論
0/150
提交評(píng)論