已閱讀5頁(yè),還剩10頁(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)介
2008年9月全國(guó)等級(jí)考試題目第27次(已經(jīng)修改)一、選擇題1. 程序流程圖中帶有箭頭的線(xiàn)段表示的是( )。 A) 圖元關(guān)系 B) 數(shù)據(jù)流 C) 控制流 D) 調(diào)用關(guān)系 C解析 程序流程圖是一種傳統(tǒng)的、應(yīng)用廣泛的軟件過(guò)程設(shè)計(jì)工具,通常也稱(chēng)為程序框圖。其中,用帶箭頭的線(xiàn)段表示控制流,用矩形表示加工步驟,用菱形表示邏輯條件, 2. 結(jié)構(gòu)化程序設(shè)計(jì)的基本原則不包括( )。 A) 多態(tài)性 B) 自頂向下 C) 模塊化 D) 逐步求精 A解析 結(jié)構(gòu)化程序設(shè)計(jì)方法的主要原則可以概括為:自頂向下,逐步求精,模塊化和限制使用GOTO語(yǔ)句,其中不包括多態(tài)性。 3. 軟件設(shè)計(jì)中模塊劃分應(yīng)遵循的準(zhǔn)則是( )。 A) 低內(nèi)聚低耦合 B) 高內(nèi)聚低耦合 C) 低內(nèi)聚高耦合 D) 高內(nèi)聚高耦合 A B C D B解析 耦合性和內(nèi)聚性是模塊獨(dú)立性的兩個(gè)定性標(biāo)準(zhǔn),各模塊的內(nèi)聚性越強(qiáng),則耦合性越弱。軟件設(shè)計(jì)應(yīng)該遵循高內(nèi)聚低耦合。 4. 在軟件開(kāi)發(fā)中,需求分析階段產(chǎn)生的主要文檔是( )。 A) 可行性分析報(bào)告 B) 軟件需求規(guī)格說(shuō)明書(shū) C) 概要設(shè)計(jì)說(shuō)明書(shū) D) 集成設(shè)計(jì)計(jì)劃 B解析 需求分析的最終結(jié)果是生成軟件需要規(guī)格說(shuō)明書(shū),可以為用戶(hù)、分析人員和設(shè)計(jì)人員之間的交流提供方便,可以直接支持目標(biāo)確認(rèn),又可以作為控制軟件開(kāi)發(fā)進(jìn)程的依據(jù)。 5. 算法的有窮性是指( )。 A) 算法程序的運(yùn)行時(shí)間是有限的 B) 算法程序所處理的數(shù)據(jù)量是有限的 C) 算法程序的長(zhǎng)度是有限的 D) 算法只能被有限的用戶(hù)使用 A解析 算法的有窮性,是指算法必須能在有限的時(shí)間內(nèi)做完,即算法必須能在執(zhí)行有限個(gè)步驟之后終止。 6. 對(duì)長(zhǎng)度為n的線(xiàn)性表排序,在最壞情況下,比較次數(shù)不是n(n-1)/2的排序方法是( )。 A) 快速排序 B) 冒泡排序 C) 直接插入排序 D) 堆排序 D解析 各種排序方法中最壞情況下需要比較的次數(shù)分別為:冒泡排序n(n-1)/2,快速排序n(n-1)/2、簡(jiǎn)單插入排序n(n-1)/2、希爾排序O(n1.5),簡(jiǎn)單選擇排序n(n-1)/2、堆排序O(nlog2n), 7. 下列關(guān)于棧的敘述正確的是( )。 A) 棧按“先進(jìn)先出”組織數(shù)據(jù) B) 棧按“先進(jìn)后出”組織數(shù)據(jù) C) 只能在棧底插入數(shù)據(jù) D) 不能刪除數(shù)據(jù) B解析 棧是限定在一端進(jìn)行插入和刪除的線(xiàn)性表,允許進(jìn)行插入和刪除元素的一端稱(chēng)為棧頂,另一端稱(chēng)為棧底。棧是按照“先進(jìn)后出”的原則組織數(shù)據(jù)的。 8. 在數(shù)據(jù)庫(kù)設(shè)計(jì)中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過(guò)程屬于( )。 A) 需求分析階段 B) 概念設(shè)計(jì)階段 C) 邏輯設(shè)計(jì)階段 D) 物理設(shè)計(jì)階段 C解析 數(shù)據(jù)庫(kù)的設(shè)計(jì)階段包括需要分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì),其中將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過(guò)程屬于邏輯9V階段。 9. 有三個(gè)關(guān)系R、S和如下: 由關(guān)系R和S通過(guò)運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為( )。 A) 并 B) 自然連接 C) 笛卡爾積 D) 交 D解析 關(guān)系R與S經(jīng)交運(yùn)算后所得到的關(guān)系是由那些既在R內(nèi)又在S內(nèi)的有序組組成的,記為RS。 10. 設(shè)有表示學(xué)生選課的三張表,學(xué)生S(學(xué)號(hào),姓名,性別,年齡,身份證號(hào)),課程C(課號(hào),課名),Q選課SC(學(xué)號(hào),課號(hào),成績(jī)),則表SC的關(guān)鍵字(鍵或碼)為( )。 A) 課號(hào),成績(jī) B) 學(xué)號(hào),成績(jī) C) 學(xué)號(hào),課號(hào) D) 學(xué)號(hào),姓名,成績(jī) C解析 關(guān)鍵字是指屬性或?qū)傩缘慕M合,其值能夠唯一地標(biāo)識(shí)一個(gè)元組,而在SC中學(xué)號(hào)和課號(hào)的組合可以對(duì)元組進(jìn)行唯一的標(biāo)識(shí)。 11. 下列敘述中正確的是( )。 A) C程序中的注釋只能出現(xiàn)在程序的開(kāi)始位置和語(yǔ)句的后面 B) C程序書(shū)寫(xiě)格式嚴(yán)格,要求一行內(nèi)只能寫(xiě)一個(gè)語(yǔ)句 C) C程序書(shū)寫(xiě)格式自由,一個(gè)語(yǔ)句可以寫(xiě)在多行上 D) 用C語(yǔ)言編寫(xiě)的程序只能放在一個(gè)程序文件中 C解析 本題主要考查的是C語(yǔ)言結(jié)構(gòu)中的源程序書(shū)寫(xiě)格式這個(gè)知識(shí)點(diǎn),在C語(yǔ)言中注釋部分對(duì)程序的運(yùn)行結(jié)果不產(chǎn)生任何影響,它可以出現(xiàn)在任意位置;C語(yǔ)言書(shū)寫(xiě)自由,一行內(nèi)可以寫(xiě)多個(gè)語(yǔ)句,一個(gè)語(yǔ)句可以寫(xiě)在多行上;由于C語(yǔ)言編寫(xiě)的程序有很好的移植性,可以放在多個(gè)程序文件中。 12. 下列選項(xiàng)中不合法的標(biāo)識(shí)符是( )。 A) print B) FOR C) &a D) -00 C解析 本題考查的是數(shù)據(jù)類(lèi)型及其運(yùn)算中標(biāo)識(shí)符的定義,標(biāo)識(shí)符只能由數(shù)字、字母和下畫(huà)線(xiàn)組成,并且只能以字母和下畫(huà)線(xiàn)開(kāi)頭,所以選項(xiàng)C)不合法。 13. 下列選項(xiàng)中不屬于字符常量的是( )。 A) C B) C C) xCC D) 072 B解析 字符常量是括在一對(duì)單引號(hào)內(nèi)的一個(gè)字符,選項(xiàng)A)中C是字符常量;選項(xiàng)B)中C是字符串常量;選項(xiàng)C)中xCC是十六進(jìn)制表示的轉(zhuǎn)義字符:選項(xiàng)D)中中072是八進(jìn)制表示的轉(zhuǎn)義字符。 14. 設(shè)變量已正確定義并賦值,下列正確的表達(dá)式是( )。 A) x=y*5=x+z B) int(15.8%5) C) x=y+z+5,+y D) x=25%5.0 C解析 在賦值表達(dá)式中,賦值符號(hào)“=”的左邊只能為要賦值的變量,不能為表達(dá)式,右邊可以為常量或者是表達(dá)式,故選項(xiàng)A)錯(cuò)誤,選項(xiàng)C)正確:在取余運(yùn)算中,運(yùn)算符“%”兩邊都必須是整型數(shù)據(jù),所以選項(xiàng)B)、D)錯(cuò)誤。 15. 下列定義語(yǔ)句中正確的是( )。 A) int a=b=0; B) char A=65+1,b=b; C) float a=1,b=&a,c=&b; D) double a=0.0;b=1.1; B解析 本題考查的是數(shù)據(jù)類(lèi)型的定義并賦值,選項(xiàng)A)中對(duì)變量聲明類(lèi)型且賦值的情況是不允許出現(xiàn)的,必須單獨(dú)定義其類(lèi)型。選項(xiàng)B)給實(shí)型變量賦值時(shí)不用引號(hào),也不能將地址賦予實(shí)型變量:C語(yǔ)言允許在一個(gè)類(lèi)型說(shuō)明符后說(shuō)明多個(gè)相同類(lèi)型的變量,各變量之間要用逗號(hào)(,)隔開(kāi),而不是用分號(hào)(;)隔開(kāi);在計(jì)算機(jī)存儲(chǔ)字符時(shí)將字符相應(yīng)的ASCII碼以其對(duì)應(yīng)的二進(jìn)制進(jìn)行存放,選項(xiàng)B)中的定義是合法的,故選項(xiàng)B)正確。 16. 有下列程序段: char ch;int k; ch=a;k=12; printf(%c,%d,ch,ch,k); printf(k=%dn,k); 已知字符a的ASCII十進(jìn)制代碼為97,則執(zhí)行上述程序段后輸出結(jié)果是( )。 A) 因變量類(lèi)型與格式描述符的類(lèi)型不匹配輸出無(wú)定值 B) 輸出項(xiàng)與格式描述符個(gè)數(shù)不符,輸出為零值或不定值 C) a,97,12k=12 D) a,97,k=12 D解析 在用基本輸出語(yǔ)句printf時(shí),格式說(shuō)明與輸出項(xiàng)的個(gè)數(shù)應(yīng)該相同。如果格式說(shuō)明的個(gè)數(shù)少于輸出項(xiàng)的個(gè)數(shù)(正如本題的情況),多余的輸出項(xiàng)不予輸出,如果格式說(shuō)明個(gè)數(shù)多于輸出項(xiàng)個(gè)數(shù),則對(duì)于多余的格式項(xiàng)輸出不定值或0。故本題選項(xiàng)D)是正確的輸出結(jié)果。 17. 已知字母A的ASCII代碼值為65,若變量kk為char型,下列不能正確判斷出比中的值為大寫(xiě)字母的表達(dá)式是( )。 A) kk=A& kk=Z B) !(kk=Akk=Z) C) (kk+32)=a&(kk+32)=z D) isalpha(kk)&(kk91) B解析 選項(xiàng)A)用邏輯與運(yùn)算符來(lái)連接關(guān)系表達(dá)式A=kk和kk=Z,以此來(lái)判斷kk的字母是否是大寫(xiě)字母。選項(xiàng)C)用邏輯與運(yùn)算符來(lái)連接關(guān)系表達(dá)式(kk+32)=a和(kk+32)=z,以此來(lái)判斷kk的字母是否是大寫(xiě)字母。選項(xiàng)D)調(diào)用函數(shù)isalpha(),首先判斷kk是否為字母,接著通過(guò)與運(yùn)算(kk=91)來(lái)判斷比是否為大寫(xiě)字母;而選項(xiàng)B)中首先判斷語(yǔ)句(kkA),假如為真時(shí),就不進(jìn)行(kk=Z)的判斷,直接進(jìn)入非運(yùn)算,故不能正確判斷kk是否為大寫(xiě)字母,故選項(xiàng)B)符合題意。 18. 當(dāng)變量c的值不為2、4、6時(shí),值也為“真”的表達(dá)式是( )。 A) (c=2)(c=4)(c=6) B) (c=2&c=6)(c!=3)(c!=5) C) (c=2&c-6)&!(c%2) D) (c=2&c=6)&(c%2!=1) B解析 邏輯或運(yùn)算中,只要有一項(xiàng)為真,表達(dá)式的值就為真,故選項(xiàng)B)中c的值不為2、4、6時(shí),表達(dá)式的值也為真。 19. 若變量已正確定義,有下列程序段: int a=3,b=5,c=7; if(aB) a=b;c=a; if(c!=A) c=b; printf(%d,%d,%dn,a,b,C) ; 其輸出結(jié)果是( )。 A) 程序段有語(yǔ)法錯(cuò) B) 3,5,3 C) 3,5,5 D) 3,5,7 B解析 本題考查的是程序結(jié)構(gòu)設(shè)計(jì)中if語(yǔ)句的應(yīng)用,當(dāng)if判斷條件成立時(shí)就執(zhí)行其后的相關(guān)語(yǔ)句,否則不執(zhí)行,本題中第一個(gè)if條件不成立,故不執(zhí)行“a=b”,接著執(zhí)行“c=a”,此時(shí)第二個(gè)if條件也不成立,故不執(zhí)行其后語(yǔ)句,最終c的值為3。 20. 有下列程序: #include stdio.h main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0:a+;break; case 1:b+;break; case 2: a+;b+;break; case 3: a+;b+; printf(a=%d,b=%dn,a,B) ; 程序的運(yùn)行結(jié)果是( )。 A) a=1,b=0 B) a=2,b=2 C) a=1,b=1 D) a=2,b=1 D解析 本題考查的是用switch語(yǔ)句實(shí)現(xiàn)多分支選擇結(jié)構(gòu),首先進(jìn)入第一個(gè)switch(x)判斷,進(jìn)入case 1中進(jìn)行嵌套判斷,如果switch(y)也成立,a自加1,遇到break,退出嵌套,接著執(zhí)行case 2,a自加為2,b自加為1,遇到break,結(jié)束循環(huán),此時(shí)a=2,b=1,故選項(xiàng)D)正確 21. 有下列程序: #inelude stdio.h main() int x=8; for(;x0;x-) if(x%3) printf(%d,x-);continue; printf(%d,-x); 程序的運(yùn)行結(jié)果是( )。 A) 7,4,2 B) 8,7,5,2 C) 9,7,6,4 D) 8,5,4,2 D解析 “x-”表示先執(zhí)行程序,再令x的值減1;而“-x”表示令x的值減1,再執(zhí)行程序。x=8時(shí),x%2為非0值,執(zhí)行語(yǔ)句printtr(%d, x-); continue;),輸出“8,”,此時(shí)經(jīng)過(guò)x-,x的值變?yōu)?,跳出此次循環(huán);執(zhí)行x-,x=6,x%3=0,后面語(yǔ)句不執(zhí)行,執(zhí)行語(yǔ)句print(%d,-x);,輸出“5,”:執(zhí)行for語(yǔ)句中的x-,得到x=5,輸出“5,”判斷x%3,輸出“4,”,執(zhí)行兩次x-后,x=2,執(zhí)行printf(d,x-);continue;后,輸出“2,”;然后執(zhí)行兩次x-后,x=0,不符合“x0”,循環(huán)全部結(jié)束。 22. 下列不構(gòu)成無(wú)限循環(huán)的語(yǔ)句或語(yǔ)句組是( )。 A) n=0; do +n; while (n=0); B) n=0; while (1) n+; C) n=10; While (n); n-; D) for(n=0, i=1; ;i+)n+=i A解析 選項(xiàng)B)中while(1)永遠(yuǎn)為真所以進(jìn)入死循環(huán),選項(xiàng)C)中while(n=10)同理,選項(xiàng)D)中for循環(huán)沒(méi)有循環(huán)限定條件也將進(jìn)入無(wú)限循環(huán),只有選項(xiàng)A)中while(n=0)循環(huán)判定成立,循環(huán)將不進(jìn)入無(wú)限循環(huán)。 23. 有下列程序: #include stdio.h main() int a=1,2,3,4,y,*p=&a3; -p; y=*p; printf(y=%dn,y); 程序的運(yùn)行結(jié)果是( )。 A) y=0 B) y=1 C) y=2 D) y=3 D解析 首先定義了一個(gè)一維數(shù)組和指針,接著將數(shù)組第四個(gè)元素的地址賦予*p,進(jìn)行-p使指針p指向了數(shù)組的第三個(gè)元素,通過(guò) y=*p:將數(shù)組第三個(gè)元素的值3賦予y,所以選項(xiàng)D)正確。 24. 下列錯(cuò)誤的定義語(yǔ)句是( )。 A) int x 3=0,1,1,2,3; B) int x43=1,2,3,1,2,3,1,2,3,1,2,3; C) int x4 =1,2,3,1,2,3,1,2,3,1,2,3; D) int x 3=1,2,3,4; C解析 一維數(shù)組定義和初始化是允許省略行下標(biāo),不允許省略列下標(biāo),故選項(xiàng)C)定義錯(cuò)誤。 25. 設(shè)有下列程序段: char s20=Beijing,*p; p=s; 則執(zhí)行p=s;語(yǔ)句后,下列敘述正確的是( )。 A) 可以用*p表示s0 B) s數(shù)組中元素的個(gè)數(shù)和p所指字符串長(zhǎng)度相等 C) s和p都是指針變量 D) 數(shù)組s中的內(nèi)容和指針變量p中的內(nèi)容相同 A解析 程序定義了字符數(shù)組s和字符型指針變量p,并且使得p指向數(shù)組,執(zhí)行p=s;語(yǔ)句后,*p即表示s0;s數(shù)組中元素的個(gè)數(shù)和 p所指字符串長(zhǎng)度不相等,因?yàn)閟數(shù)組中元素的個(gè)數(shù)包括字符串結(jié)束標(biāo)志“0”,而p所指字符串長(zhǎng)度不包括“0”;s是字符型數(shù)組,p是指針變量;數(shù)組s中的內(nèi)容和指針變量p中的內(nèi)容不相同,數(shù)組中存放的是字符串,而指針變量p存放的是數(shù)組的首地址。 26. 若有定義:int a233;,下列選項(xiàng)中對(duì)a數(shù)組元素正確引用的是( )。 A) a2!1 B) a23 C) a03 D) a12!1 D解析 數(shù)組a23包括元素a00,a01,a02,a10,a11,a12,只有選項(xiàng)D)是正確的引用,即引用元素a00,其他選項(xiàng)的引用均是下標(biāo)越界。 27. 有定義語(yǔ)句:char s10;, 若要從終端給s輸入5個(gè)字符,錯(cuò)誤的輸入語(yǔ)句是( )。 A) gets(&s0); B) scanf($s,3+1); C) gets(s); D) scanf(%s,s1); D解析 選項(xiàng)A)調(diào)用函數(shù)gets()使得s數(shù)組從s0開(kāi)始得到輸入的字符;選項(xiàng)B)使得數(shù)組從元素s1開(kāi)始得到輸入的5個(gè)字符;選項(xiàng)C)使得s數(shù)組從s0開(kāi)始得到輸入的字符:而選項(xiàng)D)scanf(%s,s1);錯(cuò)誤調(diào)用,應(yīng)為scanf(%s,&s1);,輸入項(xiàng)部分應(yīng)該是一個(gè)地址值。 28. 下列敘述中錯(cuò)誤的是( )。 A) 在程序中凡是以“#”開(kāi)始的語(yǔ)句行都是預(yù)處理命令行 B) 預(yù)處理命令行的最后不能以分號(hào)表示結(jié)束 C) #define MAX是合法的宏定義命令行 D) C程序?qū)︻A(yù)處理命令行的處理是在程序執(zhí)行的過(guò)程中進(jìn)行的 C解析 預(yù)處理命令行是以“#”開(kāi)始的語(yǔ)句,預(yù)處理命令行的最后不能以分號(hào)表示結(jié)束,預(yù)處理命令行。其中宏定義的字符替換的定義格式為:#define標(biāo)識(shí)符字符串,預(yù)處理命令行是在系統(tǒng)對(duì)源程序進(jìn)行編譯之前進(jìn)行處理的,不是在程序執(zhí)行的過(guò)程中。 29. 下列結(jié)構(gòu)體類(lèi)型說(shuō)明和變量定義中正確的是( )。 A) typedef structint n; char c;REC; REC t1,t2; B) struct REC; int n; char c; REC t1,t2; C) typedef struct REC; int n=0; char c=A; t1,t2; D) stmct int n; char c; REC; REC t1,t2; A解析 定義結(jié)構(gòu)體類(lèi)型的一般形式為:struct結(jié)構(gòu)體名成員列表:struct結(jié)構(gòu)體名后不能加“:”號(hào),所以選項(xiàng)B)、C)錯(cuò)誤,選項(xiàng)D)中定義無(wú)名稱(chēng)的結(jié)構(gòu)體類(lèi)型同時(shí)定義結(jié)構(gòu)體變量形式應(yīng)為struet t1,t2;選項(xiàng)A)為用戶(hù)自定義類(lèi)型,其為正確的定義形式。 30. 下列敘述中錯(cuò)誤的是( )。 A) gets函數(shù)用于從終端讀入字符串 !B) getchar函數(shù)用于從磁盤(pán)文件讀入字符 C) fputs函數(shù)用于把字符串輸出到文件 D) fwrite函數(shù)用于以二進(jìn)制形式輸出數(shù)據(jù)到文件 B解析 本題考查的是輸入輸出函數(shù)的使用,gets和getchar函數(shù)用于從標(biāo)準(zhǔn)輸入設(shè)備終端讀八字符串和字符,并非從磁盤(pán)文件讀入,fputs用于把字符串輸出到文件,fwrite用于以二進(jìn)制形式輸出數(shù)據(jù)到文件,故選項(xiàng)B)描述錯(cuò)誤。 31. 有下列程序: #include stdio.h main() int s12=1,2,3,4,4,3,2,1,1,1,2,3,c5=0,i; for(i=0;i12;i+)csi+; for(i=1;i5;i+)printf(%d,ci); printf(n); 程序的運(yùn)行結(jié)果是( )。 A) 1 2 3 4 B) 2 3 4 4 C) 4 3 3 2 D) 1 1 2 3 C解析 本題考查for語(yǔ)句的循環(huán)控制,首先定義了兩個(gè)數(shù)組并賦予了初始值,第一個(gè)for循環(huán)語(yǔ)句循環(huán)12次遍歷s數(shù)組的各個(gè)元素,將s中的元素值作為c數(shù)組中的下標(biāo),使相應(yīng)的值自加。例如當(dāng)i=0,cs0)+為c1+,其值變?yōu)?,當(dāng)執(zhí)行i=1,2,.11后,c1、c2、 c3、c4分別為4、3、3,2,故選項(xiàng)C)為正確的運(yùn)行結(jié)果。 32. 有下列程序: #include stdio.h void fun(int * s,int n1,int n2) int i,j,t; i=n1;j=n2; while(ij)t=si;si=sj;sj=t;i+;j-; main() int a10=1,2,3,4,5,6,7,8,9,0,k; fun(a,0,3); fun(a,4,9);fun(a,0,9); for(k=0;k10;k+)printf(%d,ak);printf(n); 程序的運(yùn)行結(jié)果是( )。 A) 0987654321 B) 4321098765 C) 5678901234 D) 0987651234 C解析 從題目的主函數(shù)入手,定義了一個(gè)一維數(shù)組并賦韌值,接著調(diào)用函數(shù)fun(),fun()函數(shù)的功能為使數(shù)組中的元素逆序,當(dāng)調(diào)用 fun(a,0,3),將實(shí)參傳遞給形參實(shí)現(xiàn)數(shù)組a中a0-a3這4個(gè)元素逆序;同理調(diào)用fun(a,4,9)是將上步排列好的a數(shù)組中a4-a9這6個(gè)元素逆序;調(diào)用fun(a,0,9)是將數(shù)組中a0-a9這10個(gè)元素在逆序,再用printf()函數(shù)輸出結(jié)果為5678901234,故選項(xiàng)C)正確。 33. 有下列程序: #include stdio.h #include string.h void tim(char *s,int n) char *t;int i,j; for(i=0;in-1;i+) for(j=i+1;jn;j+) if(strlen(si)strlen(sj) t=si;si=sj;sj=t; main() char *ss= bcc,bbcc,xy,aaaacc,aabcc; fun(ss,5);printf(%s,%sn,ss0,ss4); 程序的運(yùn)行結(jié)果是( )。 A) xy,aaaacc B) aaaacc,xy C) bcc,aabcc D) aabcc,bcc A解析 從main函數(shù)入手,定義了指向字符串的指針數(shù)組,并賦予了初始值,調(diào)用fun()函數(shù),函數(shù)的功能是:比較數(shù)組中各個(gè)元素的長(zhǎng)度,按元素長(zhǎng)度從小到大排列數(shù)組元素,所以執(zhí)行fun(ss,5)函數(shù)后,*ss=xy,bcc,bbcc,aabcc,aaaacc,所以調(diào)用printf函數(shù)輸出ss0,ss4的值分別為xy,aaaacc。 34. 有下列程序: #include stdio.h int f(int x) int y; if(x=0x=1)return(3); y=x*x-f(x-2); return y; main() int z; z=f(3);printf(%dn,z); 程序的運(yùn)行結(jié)果是( )。 A) 0 B) 9 C) 6 D) 8 C解析 主函數(shù)調(diào)用f()函數(shù),將實(shí)參3傳遞給x,進(jìn)行if條件語(yǔ)句的判斷不成立,接著執(zhí)行y=3*3-f(1),再執(zhí)行f(1)而f(1)滿(mǎn)足if條件語(yǔ)句,所以f(1)的值為3,那么代入y=3*3-f(1)=9-3=6,故選項(xiàng)C)為正確的運(yùn)行結(jié)果。 35. 有下列程序: #include stdio.h void fun(char *a, char *B) while(*a=*)a+; while(*b=*A) b+;a+; main() char *s=*a*b*,t80; fun(s,t);puts(t); 程序的運(yùn)行結(jié)果是( )。 A) *a*b B) a*b C) a*b* D) ab C解析 主函數(shù)main()定義了指向字符串的指針和一個(gè)字符數(shù)組,接著調(diào)用fun(s,t)函數(shù),進(jìn)行實(shí)參向形參傳遞,函數(shù)fun()第一個(gè) while語(yǔ)句判斷*a中的值為“*”時(shí)繼續(xù)掃描,當(dāng)遇到不是“*”時(shí)結(jié)束,接著第二個(gè)while循環(huán)語(yǔ)句,將*a中從“a”開(kāi)始的后續(xù)所有字符都賦予*b,也就是t80中的內(nèi)容為“a*b*”,所以此題的運(yùn)行結(jié)果為選項(xiàng)C)。 36. 有下列程序: #include stdio.h #include string.h typedef structchar name9; char sex;float score2;STU; void f(STU A) STU b=Zhao,m,85.0,90.0; int i; strcpy(,); a.sex=b.sex; for(i=0;i2;i+) a.scorei=b.scorei; main() STU c=Qian,f,95.0,92.0; f(C) ; printf(%s,%c,%2.0f,%2.0fn,,c.sex,c.score0,c.score1); 程序的運(yùn)行結(jié)果是( )。 A) Qian,f,95,92 B) Qian,m,85,90 C) Zhao,f,95,92 D) Zhao,m, 85,90 注意區(qū)分! A解析 本題考查在結(jié)構(gòu)體中函數(shù)的實(shí)參和形參的傳遞,調(diào)用f(C)后,實(shí)參傳向形參,進(jìn)行f()函數(shù)功能的實(shí)現(xiàn),但程序中沒(méi)有返回語(yǔ)句,故形參不能將值傳回實(shí)參,它們值的傳遞具有不可逆性,所與printf輸出的還是c中實(shí)參的值,故選項(xiàng)A)正確。 37. 有下列程序: #include stdio.h main() FILE *fp; int a10=1,2,3,i,n; fp=fopen(d1.dat,w); for(i=0;i3;i+) fprintf(fp,%d,ai); fprintf(fp,n); fclose(fp); fp=open(d1.dat,r); fscanf(fp,%d,&n); fclose(fp); prinff(%dn,n); 程序的運(yùn)行結(jié)果是( )。 A) 12300 B) 123 C) 1 D) 321 B解析 本題考查以讀和寫(xiě)的方式打開(kāi)文件對(duì)文件內(nèi)容操作的不同,fp=fopen(d1.dat,w);以可寫(xiě)的方式為輸出建立新文本文件,調(diào)用printf輸出“123”,fp=fopen(d1,dat,r);以只讀的方式打開(kāi)文本文件,不能對(duì)文件內(nèi)容進(jìn)行操作,故運(yùn)行結(jié)果為選項(xiàng)B)。 38. 變量a中的數(shù)據(jù)用二進(jìn)制進(jìn)表示的形式是01011101,變量b中的數(shù)據(jù)用二進(jìn)制表示的形式是 11110000,若要求將a的高4位取反,低4位不變,所要執(zhí)行的運(yùn)算是( )。 A) a*b B) ab C) a&b D) a4 A解析 本題目要求a高4位取反,低4位不變,則a變?yōu)?0101101,再看選項(xiàng)中對(duì)位運(yùn)算的操作,選項(xiàng)A)中a*b=10101101,選項(xiàng) B)中ab=1111101,選項(xiàng)C)中a&b=01010000,選項(xiàng)D)中a4=11010000,故選項(xiàng)A)正確。 39. 在C語(yǔ)言中,只有在使用時(shí)才占用內(nèi)存單元的變量,其存儲(chǔ)類(lèi)型是( )。 A) anto和register B) extern和register C) auto和static D) static和register A解析 在C語(yǔ)言中,動(dòng)態(tài)變量(auto)存儲(chǔ)在內(nèi)存中的動(dòng)態(tài)存儲(chǔ)區(qū),在程序運(yùn)行中,只有當(dāng)調(diào)用變量所在的函數(shù)時(shí),系統(tǒng)才臨時(shí)給變量分配內(nèi)存單元;全局變量(extern)一經(jīng)定義,系統(tǒng)為其分配固定的內(nèi)存單元;靜態(tài)變量(static),編譯系統(tǒng)為其分配固定的存儲(chǔ)空間;寄存器變量(register)不保存在內(nèi)存上,而是直接存儲(chǔ)在CPU的寄存器中。 40. 設(shè)有定義語(yǔ)句int(*f(int);,則下列敘述正確的是( )。 A) f是基類(lèi)型為int的指針變量 B) f是指向函數(shù)的指針變量,該函數(shù)具有一個(gè)int類(lèi)型的形態(tài) C) f是指向int類(lèi)型一維數(shù)組的指針變量 D) f是函數(shù)名,該函數(shù)的返回值是其類(lèi)型為int類(lèi)型的地址 B解析 定義語(yǔ)句int(*f(int)中f是指向函數(shù)的指針變量,該函數(shù)中也只有一個(gè)int型的形參。 二、填空題1. 測(cè)試用例包括輸入值集和 【1】 值集。 輸出解析 測(cè)試用例曲測(cè)試輸入數(shù)據(jù)(輸入值集)和與之對(duì)應(yīng)的預(yù)期輸出結(jié)果(輸出值集)兩部分組成。 2. 深度為5的滿(mǎn)二叉樹(shù)有 【2】 個(gè)葉子結(jié)點(diǎn)。 16解析 在二叉樹(shù)中,深度為N的滿(mǎn)二叉樹(shù)的葉子結(jié)點(diǎn)的數(shù)目為:2N-1。 3. 設(shè)某循環(huán)隊(duì)列的容量為50,頭指針front=5(指向隊(duì)頭元素的前一位置),尾指針rear=29(指向隊(duì)尾元素),則該循環(huán)隊(duì)列中共有 【3】 個(gè)元素。 24解析 在循環(huán)隊(duì)列中因?yàn)轭^指針指向的是隊(duì)頭元素的前一個(gè)位置,所以是從第6個(gè)位置開(kāi)始有數(shù)據(jù)元素,所以隊(duì)列中的數(shù)據(jù)元素的個(gè)數(shù)為29-5=24。 4. 在關(guān)系數(shù)據(jù)庫(kù)中,用來(lái)表示實(shí)體之間聯(lián)系的是 【4】 。 關(guān)系解析 在關(guān)系數(shù)據(jù)庫(kù)中,用關(guān)系也就是二維表來(lái)表示實(shí)體之間的聯(lián)系。 5. 在數(shù)據(jù)庫(kù)管理系統(tǒng)提供的數(shù)據(jù)定義語(yǔ)言、數(shù)據(jù)操縱語(yǔ)言和數(shù)據(jù)控制語(yǔ)言中, 【5】 負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建。 數(shù)據(jù)定義語(yǔ)言解析 在數(shù)據(jù)庫(kù)管理系統(tǒng)提供的數(shù)據(jù)定義語(yǔ)言,數(shù)據(jù)操縱語(yǔ)言和數(shù)據(jù)控制語(yǔ)言中,數(shù)據(jù)定義語(yǔ)言負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建,數(shù)據(jù)操縱語(yǔ)言負(fù)責(zé)數(shù)據(jù)的操縱,包括查詢(xún)及增、刪、改等操作,數(shù)據(jù)控制語(yǔ)言負(fù)責(zé)數(shù)據(jù)完整性、安全性的定義與檢查以及并發(fā)控制、恢復(fù)等功能。 6. 已有定義;char c= ;int a=1,b;(此處c的初值為空格字符),執(zhí)行b=!c &a;后b的值為 【6】 。 0解析 本題考查數(shù)據(jù)類(lèi)型及其運(yùn)算的邏輯運(yùn)算,c為空格字符但其ASCII碼不為0,所以!c=0,在邏輯與運(yùn)算中,只要有一項(xiàng)為假,其值為0,所以b的值為0。 7. 改變量已正確定義為整型,則表達(dá)式n=i=2,+i,i+的值為 【7】 。 3解析 本題考查數(shù)據(jù)類(lèi)型及其運(yùn)算的逗號(hào)運(yùn)算與逗號(hào)表達(dá)式,整個(gè)表達(dá)式的值為最后一個(gè)表達(dá)式的值,其值為3。 8. 若有定義:int k;,下列程序段的輸出結(jié)果是 【8】 。 for(k=2;k6;k+,k+)printf(+%dk); #2#4解析 本題中從k=2輸出,printf中“%d”前的內(nèi)容原樣輸出,所以第一次輸出#2,接著k兩次自加為4,接著輸出#4,接著k再兩次自加為6,此時(shí)不符合循環(huán)條件,所以輸出結(jié)果為“#2#4” 9. 下列程序的定義語(yǔ)句中,x1的初值是 【9】 ,程序運(yùn)行后輸出的內(nèi)容是 【10】 。 #include stdio.h main() int x=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,*p4,i; for(i=0;i4;i+) pi=&x2*i+1; printf(%d,pi0); printf(n); 9 2 10 2 4 6 8解析 p為指向數(shù)組的指針變量,數(shù)組x1為數(shù)組x的第二個(gè)元素,值為2:進(jìn)入for循環(huán)i=0時(shí),p0=&x1. 直到循環(huán)完畢,指針?lè)謩e指向數(shù)組x中的第2、4、6、日個(gè)元素,所以空白處應(yīng)填2 4 680 10. 下列程序的輸出結(jié)果是 【11】 。 #include stdio.h void swap(int *a, int *B) int *t; t=a;a=b;b=t; main() int i=3,j=5,*p=&i,*q=&j
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東水利電力職業(yè)技術(shù)學(xué)院《分子生物學(xué)(英文)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東石油化工學(xué)院《建筑工程概預(yù)算課程A》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025新北師大版英語(yǔ)七年級(jí)下單詞默寫(xiě)表(英譯漢)
- 【名師伴你行】2020高考?xì)v史-二輪強(qiáng)化提能專(zhuān)訓(xùn):綜合檢測(cè)卷(含2013年模擬、調(diào)研試題-含解析)
- 《紅對(duì)勾》2022屆高考英語(yǔ)人教版新課標(biāo)一輪總復(fù)習(xí)-滾動(dòng)測(cè)試28
- 【9語(yǔ)一模】2024年合肥市蜀山區(qū)中考一模語(yǔ)文試題
- 【高考總動(dòng)員】2022屆高考語(yǔ)文一輪總復(fù)習(xí)-考點(diǎn)綜合練4
- 2025年七年級(jí)統(tǒng)編版語(yǔ)文寒假?gòu)?fù)習(xí) 專(zhuān)題07 寫(xiě)作(考點(diǎn)剖析+對(duì)點(diǎn)訓(xùn)練)
- 天津市紅橋區(qū)2024-2025學(xué)年高三上學(xué)期期末英語(yǔ)試題詞匯清單(含答案)
- 吉林省長(zhǎng)春八中2024-2025學(xué)年高一(上)期末物理試卷(含答案)
- 柯橋區(qū)五年級(jí)上學(xué)期語(yǔ)文期末學(xué)業(yè)評(píng)價(jià)測(cè)試試卷
- 《人工智能基礎(chǔ)》課件-AI的前世今生:她從哪里來(lái)
- 中國(guó)礦業(yè)大學(xué)《自然辯證法》2022-2023學(xué)年期末試卷
- 北京市豐臺(tái)區(qū)2024屆高三下學(xué)期二模試題 數(shù)學(xué) 含解析
- TCWAN 0105-2024 攪拌摩擦焊接機(jī)器人系統(tǒng)技術(shù)條件
- 江蘇省期無(wú)錫市天一實(shí)驗(yàn)學(xué)校2023-2024學(xué)年英語(yǔ)七年級(jí)第二學(xué)期期末達(dá)標(biāo)檢測(cè)試題含答案
- 質(zhì)量保證措施
- 耕地占補(bǔ)平衡系統(tǒng)課件
- 2022年山東師范大學(xué)自考英語(yǔ)(二)練習(xí)題(附答案解析)
- 醫(yī)院工作流程圖較全
- NB/T 11431-2023土地整治煤矸石回填技術(shù)規(guī)范
評(píng)論
0/150
提交評(píng)論