全國計算機等級考試C語言2級筆試題-(27)2008年4.doc_第1頁
全國計算機等級考試C語言2級筆試題-(27)2008年4.doc_第2頁
全國計算機等級考試C語言2級筆試題-(27)2008年4.doc_第3頁
全國計算機等級考試C語言2級筆試題-(27)2008年4.doc_第4頁
全國計算機等級考試C語言2級筆試題-(27)2008年4.doc_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2008年9月全國等級考試題目第27次(已經(jīng)修改)一、選擇題1. 程序流程圖中帶有箭頭的線段表示的是( )。 A) 圖元關(guān)系 B) 數(shù)據(jù)流 C) 控制流 D) 調(diào)用關(guān)系 C解析 程序流程圖是一種傳統(tǒng)的、應(yīng)用廣泛的軟件過程設(shè)計工具,通常也稱為程序框圖。其中,用帶箭頭的線段表示控制流,用矩形表示加工步驟,用菱形表示邏輯條件, 2. 結(jié)構(gòu)化程序設(shè)計的基本原則不包括( )。 A) 多態(tài)性 B) 自頂向下 C) 模塊化 D) 逐步求精 A解析 結(jié)構(gòu)化程序設(shè)計方法的主要原則可以概括為:自頂向下,逐步求精,模塊化和限制使用GOTO語句,其中不包括多態(tài)性。 3. 軟件設(shè)計中模塊劃分應(yīng)遵循的準(zhǔn)則是( )。 A) 低內(nèi)聚低耦合 B) 高內(nèi)聚低耦合 C) 低內(nèi)聚高耦合 D) 高內(nèi)聚高耦合 A B C D B解析 耦合性和內(nèi)聚性是模塊獨立性的兩個定性標(biāo)準(zhǔn),各模塊的內(nèi)聚性越強,則耦合性越弱。軟件設(shè)計應(yīng)該遵循高內(nèi)聚低耦合。 4. 在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是( )。 A) 可行性分析報告 B) 軟件需求規(guī)格說明書 C) 概要設(shè)計說明書 D) 集成設(shè)計計劃 B解析 需求分析的最終結(jié)果是生成軟件需要規(guī)格說明書,可以為用戶、分析人員和設(shè)計人員之間的交流提供方便,可以直接支持目標(biāo)確認(rèn),又可以作為控制軟件開發(fā)進程的依據(jù)。 5. 算法的有窮性是指( )。 A) 算法程序的運行時間是有限的 B) 算法程序所處理的數(shù)據(jù)量是有限的 C) 算法程序的長度是有限的 D) 算法只能被有限的用戶使用 A解析 算法的有窮性,是指算法必須能在有限的時間內(nèi)做完,即算法必須能在執(zhí)行有限個步驟之后終止。 6. 對長度為n的線性表排序,在最壞情況下,比較次數(shù)不是n(n-1)/2的排序方法是( )。 A) 快速排序 B) 冒泡排序 C) 直接插入排序 D) 堆排序 D解析 各種排序方法中最壞情況下需要比較的次數(shù)分別為:冒泡排序n(n-1)/2,快速排序n(n-1)/2、簡單插入排序n(n-1)/2、希爾排序O(n1.5),簡單選擇排序n(n-1)/2、堆排序O(nlog2n), 7. 下列關(guān)于棧的敘述正確的是( )。 A) 棧按“先進先出”組織數(shù)據(jù) B) 棧按“先進后出”組織數(shù)據(jù) C) 只能在棧底插入數(shù)據(jù) D) 不能刪除數(shù)據(jù) B解析 棧是限定在一端進行插入和刪除的線性表,允許進行插入和刪除元素的一端稱為棧頂,另一端稱為棧底。棧是按照“先進后出”的原則組織數(shù)據(jù)的。 8. 在數(shù)據(jù)庫設(shè)計中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過程屬于( )。 A) 需求分析階段 B) 概念設(shè)計階段 C) 邏輯設(shè)計階段 D) 物理設(shè)計階段 C解析 數(shù)據(jù)庫的設(shè)計階段包括需要分析、概念設(shè)計、邏輯設(shè)計和物理設(shè)計,其中將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過程屬于邏輯9V階段。 9. 有三個關(guān)系R、S和如下: 由關(guān)系R和S通過運算得到關(guān)系T,則所使用的運算為( )。 A) 并 B) 自然連接 C) 笛卡爾積 D) 交 D解析 關(guān)系R與S經(jīng)交運算后所得到的關(guān)系是由那些既在R內(nèi)又在S內(nèi)的有序組組成的,記為RS。 10. 設(shè)有表示學(xué)生選課的三張表,學(xué)生S(學(xué)號,姓名,性別,年齡,身份證號),課程C(課號,課名),Q選課SC(學(xué)號,課號,成績),則表SC的關(guān)鍵字(鍵或碼)為( )。 A) 課號,成績 B) 學(xué)號,成績 C) 學(xué)號,課號 D) 學(xué)號,姓名,成績 C解析 關(guān)鍵字是指屬性或?qū)傩缘慕M合,其值能夠唯一地標(biāo)識一個元組,而在SC中學(xué)號和課號的組合可以對元組進行唯一的標(biāo)識。 11. 下列敘述中正確的是( )。 A) C程序中的注釋只能出現(xiàn)在程序的開始位置和語句的后面 B) C程序書寫格式嚴(yán)格,要求一行內(nèi)只能寫一個語句 C) C程序書寫格式自由,一個語句可以寫在多行上 D) 用C語言編寫的程序只能放在一個程序文件中 C解析 本題主要考查的是C語言結(jié)構(gòu)中的源程序書寫格式這個知識點,在C語言中注釋部分對程序的運行結(jié)果不產(chǎn)生任何影響,它可以出現(xiàn)在任意位置;C語言書寫自由,一行內(nèi)可以寫多個語句,一個語句可以寫在多行上;由于C語言編寫的程序有很好的移植性,可以放在多個程序文件中。 12. 下列選項中不合法的標(biāo)識符是( )。 A) print B) FOR C) &a D) -00 C解析 本題考查的是數(shù)據(jù)類型及其運算中標(biāo)識符的定義,標(biāo)識符只能由數(shù)字、字母和下畫線組成,并且只能以字母和下畫線開頭,所以選項C)不合法。 13. 下列選項中不屬于字符常量的是( )。 A) C B) C C) xCC D) 072 B解析 字符常量是括在一對單引號內(nèi)的一個字符,選項A)中C是字符常量;選項B)中C是字符串常量;選項C)中xCC是十六進制表示的轉(zhuǎn)義字符:選項D)中中072是八進制表示的轉(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á)式中,賦值符號“=”的左邊只能為要賦值的變量,不能為表達(dá)式,右邊可以為常量或者是表達(dá)式,故選項A)錯誤,選項C)正確:在取余運算中,運算符“%”兩邊都必須是整型數(shù)據(jù),所以選項B)、D)錯誤。 15. 下列定義語句中正確的是( )。 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ù)類型的定義并賦值,選項A)中對變量聲明類型且賦值的情況是不允許出現(xiàn)的,必須單獨定義其類型。選項B)給實型變量賦值時不用引號,也不能將地址賦予實型變量:C語言允許在一個類型說明符后說明多個相同類型的變量,各變量之間要用逗號(,)隔開,而不是用分號(;)隔開;在計算機存儲字符時將字符相應(yīng)的ASCII碼以其對應(yīng)的二進制進行存放,選項B)中的定義是合法的,故選項B)正確。 16. 有下列程序段: char ch;int k; ch=a;k=12; printf(%c,%d,ch,ch,k); printf(k=%dn,k); 已知字符a的ASCII十進制代碼為97,則執(zhí)行上述程序段后輸出結(jié)果是( )。 A) 因變量類型與格式描述符的類型不匹配輸出無定值 B) 輸出項與格式描述符個數(shù)不符,輸出為零值或不定值 C) a,97,12k=12 D) a,97,k=12 D解析 在用基本輸出語句printf時,格式說明與輸出項的個數(shù)應(yīng)該相同。如果格式說明的個數(shù)少于輸出項的個數(shù)(正如本題的情況),多余的輸出項不予輸出,如果格式說明個數(shù)多于輸出項個數(shù),則對于多余的格式項輸出不定值或0。故本題選項D)是正確的輸出結(jié)果。 17. 已知字母A的ASCII代碼值為65,若變量kk為char型,下列不能正確判斷出比中的值為大寫字母的表達(dá)式是( )。 A) kk=A& kk=Z B) !(kk=Akk=Z) C) (kk+32)=a&(kk+32)=z D) isalpha(kk)&(kk91) B解析 選項A)用邏輯與運算符來連接關(guān)系表達(dá)式A=kk和kk=Z,以此來判斷kk的字母是否是大寫字母。選項C)用邏輯與運算符來連接關(guān)系表達(dá)式(kk+32)=a和(kk+32)=z,以此來判斷kk的字母是否是大寫字母。選項D)調(diào)用函數(shù)isalpha(),首先判斷kk是否為字母,接著通過與運算(kk=91)來判斷比是否為大寫字母;而選項B)中首先判斷語句(kkA),假如為真時,就不進行(kk=Z)的判斷,直接進入非運算,故不能正確判斷kk是否為大寫字母,故選項B)符合題意。 18. 當(dāng)變量c的值不為2、4、6時,值也為“真”的表達(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解析 邏輯或運算中,只要有一項為真,表達(dá)式的值就為真,故選項B)中c的值不為2、4、6時,表達(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) 程序段有語法錯 B) 3,5,3 C) 3,5,5 D) 3,5,7 B解析 本題考查的是程序結(jié)構(gòu)設(shè)計中if語句的應(yīng)用,當(dāng)if判斷條件成立時就執(zhí)行其后的相關(guān)語句,否則不執(zhí)行,本題中第一個if條件不成立,故不執(zhí)行“a=b”,接著執(zhí)行“c=a”,此時第二個if條件也不成立,故不執(zhí)行其后語句,最終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) ; 程序的運行結(jié)果是( )。 A) a=1,b=0 B) a=2,b=2 C) a=1,b=1 D) a=2,b=1 D解析 本題考查的是用switch語句實現(xiàn)多分支選擇結(jié)構(gòu),首先進入第一個switch(x)判斷,進入case 1中進行嵌套判斷,如果switch(y)也成立,a自加1,遇到break,退出嵌套,接著執(zhí)行case 2,a自加為2,b自加為1,遇到break,結(jié)束循環(huán),此時a=2,b=1,故選項D)正確 21. 有下列程序: #inelude stdio.h main() int x=8; for(;x0;x-) if(x%3) printf(%d,x-);continue; printf(%d,-x); 程序的運行結(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時,x%2為非0值,執(zhí)行語句printtr(%d, x-); continue;),輸出“8,”,此時經(jīng)過x-,x的值變?yōu)?,跳出此次循環(huán);執(zhí)行x-,x=6,x%3=0,后面語句不執(zhí)行,執(zhí)行語句print(%d,-x);,輸出“5,”:執(zhí)行for語句中的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)成無限循環(huán)的語句或語句組是( )。 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解析 選項B)中while(1)永遠(yuǎn)為真所以進入死循環(huán),選項C)中while(n=10)同理,選項D)中for循環(huán)沒有循環(huán)限定條件也將進入無限循環(huán),只有選項A)中while(n=0)循環(huán)判定成立,循環(huán)將不進入無限循環(huán)。 23. 有下列程序: #include stdio.h main() int a=1,2,3,4,y,*p=&a3; -p; y=*p; printf(y=%dn,y); 程序的運行結(jié)果是( )。 A) y=0 B) y=1 C) y=2 D) y=3 D解析 首先定義了一個一維數(shù)組和指針,接著將數(shù)組第四個元素的地址賦予*p,進行-p使指針p指向了數(shù)組的第三個元素,通過 y=*p:將數(shù)組第三個元素的值3賦予y,所以選項D)正確。 24. 下列錯誤的定義語句是( )。 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),故選項C)定義錯誤。 25. 設(shè)有下列程序段: char s20=Beijing,*p; p=s; 則執(zhí)行p=s;語句后,下列敘述正確的是( )。 A) 可以用*p表示s0 B) s數(shù)組中元素的個數(shù)和p所指字符串長度相等 C) s和p都是指針變量 D) 數(shù)組s中的內(nèi)容和指針變量p中的內(nèi)容相同 A解析 程序定義了字符數(shù)組s和字符型指針變量p,并且使得p指向數(shù)組,執(zhí)行p=s;語句后,*p即表示s0;s數(shù)組中元素的個數(shù)和 p所指字符串長度不相等,因為s數(shù)組中元素的個數(shù)包括字符串結(jié)束標(biāo)志“0”,而p所指字符串長度不包括“0”;s是字符型數(shù)組,p是指針變量;數(shù)組s中的內(nèi)容和指針變量p中的內(nèi)容不相同,數(shù)組中存放的是字符串,而指針變量p存放的是數(shù)組的首地址。 26. 若有定義:int a233;,下列選項中對a數(shù)組元素正確引用的是( )。 A) a2!1 B) a23 C) a03 D) a12!1 D解析 數(shù)組a23包括元素a00,a01,a02,a10,a11,a12,只有選項D)是正確的引用,即引用元素a00,其他選項的引用均是下標(biāo)越界。 27. 有定義語句:char s10;, 若要從終端給s輸入5個字符,錯誤的輸入語句是( )。 A) gets(&s0); B) scanf($s,3+1); C) gets(s); D) scanf(%s,s1); D解析 選項A)調(diào)用函數(shù)gets()使得s數(shù)組從s0開始得到輸入的字符;選項B)使得數(shù)組從元素s1開始得到輸入的5個字符;選項C)使得s數(shù)組從s0開始得到輸入的字符:而選項D)scanf(%s,s1);錯誤調(diào)用,應(yīng)為scanf(%s,&s1);,輸入項部分應(yīng)該是一個地址值。 28. 下列敘述中錯誤的是( )。 A) 在程序中凡是以“#”開始的語句行都是預(yù)處理命令行 B) 預(yù)處理命令行的最后不能以分號表示結(jié)束 C) #define MAX是合法的宏定義命令行 D) C程序?qū)︻A(yù)處理命令行的處理是在程序執(zhí)行的過程中進行的 C解析 預(yù)處理命令行是以“#”開始的語句,預(yù)處理命令行的最后不能以分號表示結(jié)束,預(yù)處理命令行。其中宏定義的字符替換的定義格式為:#define標(biāo)識符字符串,預(yù)處理命令行是在系統(tǒng)對源程序進行編譯之前進行處理的,不是在程序執(zhí)行的過程中。 29. 下列結(jié)構(gòu)體類型說明和變量定義中正確的是( )。 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)體類型的一般形式為:struct結(jié)構(gòu)體名成員列表:struct結(jié)構(gòu)體名后不能加“:”號,所以選項B)、C)錯誤,選項D)中定義無名稱的結(jié)構(gòu)體類型同時定義結(jié)構(gòu)體變量形式應(yīng)為struet t1,t2;選項A)為用戶自定義類型,其為正確的定義形式。 30. 下列敘述中錯誤的是( )。 A) gets函數(shù)用于從終端讀入字符串 !B) getchar函數(shù)用于從磁盤文件讀入字符 C) fputs函數(shù)用于把字符串輸出到文件 D) fwrite函數(shù)用于以二進制形式輸出數(shù)據(jù)到文件 B解析 本題考查的是輸入輸出函數(shù)的使用,gets和getchar函數(shù)用于從標(biāo)準(zhǔn)輸入設(shè)備終端讀八字符串和字符,并非從磁盤文件讀入,fputs用于把字符串輸出到文件,fwrite用于以二進制形式輸出數(shù)據(jù)到文件,故選項B)描述錯誤。 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); 程序的運行結(jié)果是( )。 A) 1 2 3 4 B) 2 3 4 4 C) 4 3 3 2 D) 1 1 2 3 C解析 本題考查for語句的循環(huán)控制,首先定義了兩個數(shù)組并賦予了初始值,第一個for循環(huán)語句循環(huán)12次遍歷s數(shù)組的各個元素,將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,故選項C)為正確的運行結(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); 程序的運行結(jié)果是( )。 A) 0987654321 B) 4321098765 C) 5678901234 D) 0987651234 C解析 從題目的主函數(shù)入手,定義了一個一維數(shù)組并賦韌值,接著調(diào)用函數(shù)fun(),fun()函數(shù)的功能為使數(shù)組中的元素逆序,當(dāng)調(diào)用 fun(a,0,3),將實參傳遞給形參實現(xiàn)數(shù)組a中a0-a3這4個元素逆序;同理調(diào)用fun(a,4,9)是將上步排列好的a數(shù)組中a4-a9這6個元素逆序;調(diào)用fun(a,0,9)是將數(shù)組中a0-a9這10個元素在逆序,再用printf()函數(shù)輸出結(jié)果為5678901234,故選項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); 程序的運行結(jié)果是( )。 A) xy,aaaacc B) aaaacc,xy C) bcc,aabcc D) aabcc,bcc A解析 從main函數(shù)入手,定義了指向字符串的指針數(shù)組,并賦予了初始值,調(diào)用fun()函數(shù),函數(shù)的功能是:比較數(shù)組中各個元素的長度,按元素長度從小到大排列數(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); 程序的運行結(jié)果是( )。 A) 0 B) 9 C) 6 D) 8 C解析 主函數(shù)調(diào)用f()函數(shù),將實參3傳遞給x,進行if條件語句的判斷不成立,接著執(zhí)行y=3*3-f(1),再執(zhí)行f(1)而f(1)滿足if條件語句,所以f(1)的值為3,那么代入y=3*3-f(1)=9-3=6,故選項C)為正確的運行結(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); 程序的運行結(jié)果是( )。 A) *a*b B) a*b C) a*b* D) ab C解析 主函數(shù)main()定義了指向字符串的指針和一個字符數(shù)組,接著調(diào)用fun(s,t)函數(shù),進行實參向形參傳遞,函數(shù)fun()第一個 while語句判斷*a中的值為“*”時繼續(xù)掃描,當(dāng)遇到不是“*”時結(jié)束,接著第二個while循環(huán)語句,將*a中從“a”開始的后續(xù)所有字符都賦予*b,也就是t80中的內(nèi)容為“a*b*”,所以此題的運行結(jié)果為選項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); 程序的運行結(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ù)的實參和形參的傳遞,調(diào)用f(C)后,實參傳向形參,進行f()函數(shù)功能的實現(xiàn),但程序中沒有返回語句,故形參不能將值傳回實參,它們值的傳遞具有不可逆性,所與printf輸出的還是c中實參的值,故選項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); 程序的運行結(jié)果是( )。 A) 12300 B) 123 C) 1 D) 321 B解析 本題考查以讀和寫的方式打開文件對文件內(nèi)容操作的不同,fp=fopen(d1.dat,w);以可寫的方式為輸出建立新文本文件,調(diào)用printf輸出“123”,fp=fopen(d1,dat,r);以只讀的方式打開文本文件,不能對文件內(nèi)容進行操作,故運行結(jié)果為選項B)。 38. 變量a中的數(shù)據(jù)用二進制進表示的形式是01011101,變量b中的數(shù)據(jù)用二進制表示的形式是 11110000,若要求將a的高4位取反,低4位不變,所要執(zhí)行的運算是( )。 A) a*b B) ab C) a&b D) a4 A解析 本題目要求a高4位取反,低4位不變,則a變?yōu)?0101101,再看選項中對位運算的操作,選項A)中a*b=10101101,選項 B)中ab=1111101,選項C)中a&b=01010000,選項D)中a4=11010000,故選項A)正確。 39. 在C語言中,只有在使用時才占用內(nèi)存單元的變量,其存儲類型是( )。 A) anto和register B) extern和register C) auto和static D) static和register A解析 在C語言中,動態(tài)變量(auto)存儲在內(nèi)存中的動態(tài)存儲區(qū),在程序運行中,只有當(dāng)調(diào)用變量所在的函數(shù)時,系統(tǒng)才臨時給變量分配內(nèi)存單元;全局變量(extern)一經(jīng)定義,系統(tǒng)為其分配固定的內(nèi)存單元;靜態(tài)變量(static),編譯系統(tǒng)為其分配固定的存儲空間;寄存器變量(register)不保存在內(nèi)存上,而是直接存儲在CPU的寄存器中。 40. 設(shè)有定義語句int(*f(int);,則下列敘述正確的是( )。 A) f是基類型為int的指針變量 B) f是指向函數(shù)的指針變量,該函數(shù)具有一個int類型的形態(tài) C) f是指向int類型一維數(shù)組的指針變量 D) f是函數(shù)名,該函數(shù)的返回值是其類型為int類型的地址 B解析 定義語句int(*f(int)中f是指向函數(shù)的指針變量,該函數(shù)中也只有一個int型的形參。 二、填空題1. 測試用例包括輸入值集和 【1】 值集。 輸出解析 測試用例曲測試輸入數(shù)據(jù)(輸入值集)和與之對應(yīng)的預(yù)期輸出結(jié)果(輸出值集)兩部分組成。 2. 深度為5的滿二叉樹有 【2】 個葉子結(jié)點。 16解析 在二叉樹中,深度為N的滿二叉樹的葉子結(jié)點的數(shù)目為:2N-1。 3. 設(shè)某循環(huán)隊列的容量為50,頭指針front=5(指向隊頭元素的前一位置),尾指針rear=29(指向隊尾元素),則該循環(huán)隊列中共有 【3】 個元素。 24解析 在循環(huán)隊列中因為頭指針指向的是隊頭元素的前一個位置,所以是從第6個位置開始有數(shù)據(jù)元素,所以隊列中的數(shù)據(jù)元素的個數(shù)為29-5=24。 4. 在關(guān)系數(shù)據(jù)庫中,用來表示實體之間聯(lián)系的是 【4】 。 關(guān)系解析 在關(guān)系數(shù)據(jù)庫中,用關(guān)系也就是二維表來表示實體之間的聯(lián)系。 5. 在數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)定義語言、數(shù)據(jù)操縱語言和數(shù)據(jù)控制語言中, 【5】 負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建。 數(shù)據(jù)定義語言解析 在數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)定義語言,數(shù)據(jù)操縱語言和數(shù)據(jù)控制語言中,數(shù)據(jù)定義語言負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建,數(shù)據(jù)操縱語言負(fù)責(zé)數(shù)據(jù)的操縱,包括查詢及增、刪、改等操作,數(shù)據(jù)控制語言負(fù)責(zé)數(shù)據(jù)完整性、安全性的定義與檢查以及并發(fā)控制、恢復(fù)等功能。 6. 已有定義;char c= ;int a=1,b;(此處c的初值為空格字符),執(zhí)行b=!c &a;后b的值為 【6】 。 0解析 本題考查數(shù)據(jù)類型及其運算的邏輯運算,c為空格字符但其ASCII碼不為0,所以!c=0,在邏輯與運算中,只要有一項為假,其值為0,所以b的值為0。 7. 改變量已正確定義為整型,則表達(dá)式n=i=2,+i,i+的值為 【7】 。 3解析 本題考查數(shù)據(jù)類型及其運算的逗號運算與逗號表達(dá)式,整個表達(dá)式的值為最后一個表達(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,此時不符合循環(huán)條件,所以輸出結(jié)果為“#2#4” 9. 下列程序的定義語句中,x1的初值是 【9】 ,程序運行后輸出的內(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的第二個元素,值為2:進入for循環(huán)i=0時,p0=&x1. 直到循環(huán)完畢,指針分別指向數(shù)組x中的第2、4、6、日個元素,所以空白處應(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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論