二級C語言筆試24_第1頁
二級C語言筆試24_第2頁
二級C語言筆試24_第3頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、二級 C 語言筆試 24( 總分: 84.00 ,做題時間: 90 分鐘 )一、 B 選擇題 /B( 總題數(shù): 50,分數(shù): 50.00)1. 下列程序執(zhí)行后的輸出結(jié)果是 。 main() int m3=1,4,7,2,5,8,3,6,9; int i,k=2;for(i=0;i v 3;i+) printf(%d,mki); (分數(shù): 1.00 )A. 456B. 258C. 369VD. 789解析: 評析 根據(jù)二維數(shù)組的定義得出: m00=1,m01=4,m02=7,m10=2,m11=5,m12=8,m20=3,m21=6, m22=9,所以本題的輸出是第 3 行的值 m20,m21,

2、m22,即 369。2. 設(shè)已定義 i 和 k 為 int 類型變量,則以下 for 循環(huán)語句 。 for(i=0;k=-1,k=1,i+,k+)printf(*/n);(分數(shù): 1.00 )A. 判斷循環(huán)結(jié)束的條件不合法B. 是無限循環(huán) VC. 循環(huán)次也不執(zhí)行D. 循環(huán)只執(zhí)行一次解析: 評析 本題定義了一個 for 循環(huán),循環(huán)變量是 i ,但由于本題并沒有設(shè)置循環(huán)條件,所以循環(huán)的條 件永遠默認為真,即無限次執(zhí)行循環(huán)。3. 對于 n 個結(jié)點的單向鏈表 ( 無表頭結(jié)點 ) ,需要指針單元的個數(shù)至少為 。(分數(shù): 1.00 )A. n-1B. nC. n+1 VD. 2n解析: 評析 在 n 個結(jié)

3、點的單向鏈表 ( 無表頭結(jié)點 ) 中,每個結(jié)點都有個指針單元 ( 即指針域 ) ,加上頭指 針,至少需要 n+1 個指針單元。4. 數(shù)據(jù)存儲和數(shù)據(jù)流都是 ,僅僅是所處的狀態(tài)不同。(分數(shù): 1.00 )A. 分析結(jié)果B. 事件C. 動作D. 數(shù)據(jù) V解析: 評析 數(shù)據(jù)流圖有 4種成分:源點或終點、處理、數(shù)據(jù)存儲和數(shù)據(jù)流。數(shù)據(jù)存儲是處于靜止?fàn)顟B(tài)的 數(shù)據(jù),數(shù)據(jù)流是處于運動中的數(shù)據(jù)。5. C 語言函數(shù)返回值的類型是由 決定的。(分數(shù): 1.00 )A. return 語句中的表達式類型B. 調(diào)用函數(shù)的主調(diào)函數(shù)類型C. 調(diào)用函數(shù)時臨時D. 定義函數(shù)時所指定的函數(shù)類型 V解析: 評析 函數(shù)值的類型應(yīng)當(dāng)是在

4、定義函數(shù)時指定的。在定義函數(shù)時對函數(shù)值說明的類型一般應(yīng)該和 return 語句中的表達式類型致,如果不致,則以函數(shù)類型為準,即函數(shù)類型決定返回值的類型。6. 請讀程序:#include #include main() char *s仁AbCdEf,*s2=aB;s1+;s2+; printf(%d/n,strcmp(s1,s2); 上面程序的輸出結(jié)果是 。(分數(shù): 1.00 )A. 正數(shù) VB. 負數(shù)C.零D. 不確定的值解析:評析函數(shù)strcmp的功能是比較字符串 s1和s2,如果s1 s2,則返回個正數(shù);如果 s1 s2,所以函數(shù)的值為正數(shù)。7. 下列程序的執(zhí)行結(jié)果是 。 #include

5、 union int i; char c2; void main() unionun x; x.c0=10; x.c1=1; printf(/n%d,x.i); (分數(shù): 1.00 )A. 266 VB. 11C. 265D. 138解析: 評析 由于本題定義的是共用體,所以成員表列中的整型變量 x 與字符數(shù)組 c 共占用同個存儲單 元,且此存儲單元為 2 個字節(jié),通常 c0 位于低字節(jié), c1 位于高字節(jié),所以兄 i 的值為 266。8. 下面是對宏定義的描述,不正確的是 。(分數(shù): 1.00 )A. 宏不存在類型問題,宏名無類型,它的參數(shù)也無類型B. 宏替換不占用運行時間C. 宏替換時先求

6、出實參表達式的值,然后代入形參運算求值VD. 宏替換只不過是字符替代而已解析:評析宏替換實質(zhì)上就是字符替代,它不可能進行計算,故C錯誤。帶參數(shù)的宏與函數(shù)相比,宏在程序編譯之前已經(jīng)將代碼替換到程序內(nèi), 執(zhí)行時不會產(chǎn)生類似于函數(shù)調(diào)用的問題, 可以說不占用運行時間。9. 排序方法中,將整個無序序列分割成若干小的子序列并分別進行插入排序的方法,稱為 。(分數(shù): 1.00 )A. 希爾排序 VB. 冒泡排序C. 插入排序D. 選擇排序解析: 評析 希爾排序法的基本思想是:將整個無序序列分割成若干小的子序列分別進行插入排序。10. 已知下面的程序段,正確的判斷是 。 #define A 3 #define

7、 B(A) (A+1)*a) int a=3; X=3*(A+B(7);(分數(shù): 1.00 )A. 程序錯誤,不允許嵌套定義B. X=93C. X=81 VD. 程序錯誤,宏定義不允許有參數(shù)解析: 評析 本題的宏定義是合法的,宏定義展開為 3*(3+(A+1)*a)=3*(3+(7+1)*3)=81。11. 下列程序的輸出結(jié)果是 。 main() int i; for(i=1;i+1;i+) if(i4)printf(%d,i+);break; printf(%d,i+); (分數(shù): 1.00 )A. 55B. 56 VC. 程序錯誤,沒有輸出D. 循環(huán)條件永遠為真,死循環(huán)解析:評析 本程序中

8、有個 for 循環(huán),但注意到 for 循環(huán)的條件是“ i+1 ”,也就是只要i+1 的值為真(非零值均為真 ) ,就執(zhí)行循環(huán)。當(dāng) i=1 的時候, i+1 的值為真,判斷 if 條件不成立,執(zhí)行 i+ ,輸出 i 的值為 5。12. 下列程序的輸出結(jié)果是 。 main() int i=3; switch(i) case 1: case 2:printf(%d,i); case3: case 4:break; default:printh(OK; (分數(shù): 1.00 )A. 0B. 3C. OKD. 沒有任何輸出V解析: 評析 在題中, i 的值為 3,由于“ case 3: ”后面沒有 bre

9、ak 語句,所以繼續(xù)向下執(zhí)行“ case 4: ” 后面的語句,由于“ case 4: ”后面的語句為 break 強行退出 switch 語句,所以,本題沒有任何輸出。13. 設(shè)有以下語句: char str 1=string,str28,*str3,*str4=string;則 不是對庫函數(shù)的正確調(diào)用。(分數(shù): 1.00 )A. strcpy(str 1,HELLO1);B. strcpy(str2,HELLO2);C. strcpy(str3,HELLO3);VD. strcpy(str4,HELLO4);解析: 評析 C 語言中: strcpy(st1,st2); ,其兩個參數(shù)均為字符

10、指針或字符數(shù)組,選項 C 中的目的串指 針 str3 沒有指向具體有效的存儲單元,故是錯誤的調(diào)用。14. 下面程序的輸出結(jié)果是 。#include main() char *p=BOOL,OPK,H,SP;int i; for(i=3;i =0;i-,i-) printf(%c,*pi); printf(/n); (分數(shù): 1.00 )A. SO VB. SPC. SPOPKD. SHOB解析:評析p0存放的是“ BOOL/0的首地址;p1存放的是“ OPK/0的首址等。在printf 語句中輸出的*pi表示pi字符串的第一個字符。在for循環(huán)中,i的初值為3,那么輸出的第一個字符為“ S,

11、接著兩次i-,則輸出的值為*p1,即字符“O,所以本題的輸出為SO15. 已知形成鏈表的存儲結(jié)構(gòu)如下圖所示,則下述類型描述中的空白處應(yīng)填 。 struct link chardata; , node;(分數(shù): 1.00 )A. dataB. next解析: 評析 在單向鏈表中,由于每個結(jié)點需要存儲下一個結(jié)點的地址,且下個結(jié)點的數(shù)據(jù)類型與前 個結(jié)點的數(shù)據(jù)類型完全相同,故應(yīng)為 struct link *next 。16. 以下程序的輸出結(jié)果是 。 #include void prt(int *x,int *y,int *z) printf(%d,%d,%d/n,+*x,+y,*(z+); int

12、a=10,b=40,c=20; main() prt(&a,&b&c); prt(&a,&b,&c); (分數(shù): 1.00 )A. 11,42,31 12,22,41B. 11,41,20 12,42,20VC. 11,21,40 11,21,41D. 11,41,21 12,42,22解析: 評析 由于實參傳送的是變量的地址,所以對形參指針?biāo)赶虻膯卧獌?nèi)容的改變,即對實參內(nèi)容的 改變。17. 下述函數(shù)功能是 。 int fun(char *x) char *y=x; while(*y+); retum y-x-1; (分數(shù): 1.00 )A. 求字符串的長度VB. 求字符串存放的位置C. 比

13、較兩個字符串的大小D. 將字符串 x 連接到字符串 y 后面解析:評析在函數(shù)體內(nèi)定義一字符型指針并指向形參,然后遍歷其中各字符直到NULL,最后返回字符串首尾地址的差值,即字符串的長度。18. 請讀程序段: char str=ABCD,*p=str; printf(%d/n,*(p+4);程序段的輸出結(jié)果是 。(分數(shù): 1.00 )A. 68B. 0 VC. 字符 D 的地址D. 不確定的值解析: 評析 在對字符數(shù)組賦字符串值時,系統(tǒng)會自動在字符串的末尾加上一個字符串結(jié)束標(biāo)志“ /0”, 故指向字符數(shù)組的指針 p的*(p+4)的值為“/0”。由于“ /0 ”的編碼值就是0,所以本題輸出為0。1

14、9. 在軟件開發(fā)過程中,軟件結(jié)構(gòu)設(shè)計是描述 。(分數(shù): 1.00 )A. 數(shù)據(jù)存儲結(jié)構(gòu)B. 軟件體系結(jié)構(gòu) VC. 軟件結(jié)構(gòu)測試D. 軟件控制過程解析: 評析 從工程管理角度來看,軟件設(shè)計分兩步完成:概要設(shè)計和詳細設(shè)計。概要設(shè)計( 又稱結(jié)構(gòu)設(shè)計) 將軟件需求轉(zhuǎn)化為軟件體系結(jié)構(gòu)、確定系統(tǒng)級接口、全局數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)庫模式。20. 以下程序的輸出結(jié)果是 。#include #define SQR(x)x*x main() int a,k=3;a=+SQR(k+1); printf(%d/n,a); (分數(shù): 1.00 )A. 8B. 9 VC. 17D. 20解析:評析本題宏替換中遇到形參 x以實參k

15、+1代替,其他字符不變。SQR(k+1)展開后應(yīng)為字符串k+1*k+121. 已知小寫字母a的ASCII碼為97,大寫字母A的ASCII碼為65,以下程序的結(jié)果是 。main() unsigned int a=32,b=66; printf(%c/n,a|b); (分數(shù): 1.00 )A. 66B. 98C. b VD. B解析: 評析 位運算符“ |”的作用是按位或,即兩個二進制數(shù)的相應(yīng)位中只要有一個為1,該位的結(jié)果值為 1。最后以字符型輸出,98 對應(yīng)的字符“ b”。22. 關(guān)系代數(shù)運算是以 為基礎(chǔ)的運算。(分數(shù): 1.00 )A. 關(guān)系運算B. 謂詞運算C. 集合運算 VD. 代數(shù)運算解

16、析: 評析 關(guān)系代數(shù)運算是以關(guān)系代數(shù)作為運算對象的組高級運算的集合。它的基本操作是并、交、 差、笛卡爾積,另外還包括垂直分割 (投影) 、水平分割 (選擇) 、關(guān)系的結(jié)合 (連接)等。23. main() float x=123.456; printf(%-5.2f/n,x); 以上程序輸出的結(jié)果是 。(分數(shù): 1.00 )A. 123.4B. 123.5C. 123.45D. 123.46 V解析:評析f格式符,用來輸出實數(shù),以小數(shù)形式式輸出。“-m.nf”的含義是:輸出數(shù)據(jù)共占m列,其中n位小數(shù),如果輸出位數(shù)小于 m則右端補空恪。如果總長度大于列數(shù),則按實際情況四舍五入輸出。24. 以下程

17、序(程序左邊的數(shù)字為附加的行號 )。1 #include 2 #include 3main() 4 char s=string; 5 puts(s); 6 strcpy(s,hello); 7 printf(%3s/n,s);(分數(shù): 1.00 )A. 沒有錯B. 第1行有錯 VC. 第 6 行有錯D. 第 7 行有錯解析: 評析 字符串復(fù)制函數(shù) strcpy 包含在頭文件 string.h 中,因此,程序中的第 1 行文件包含命令是 錯誤的。25. 模塊本身的內(nèi)聚是模塊獨立性的重要性度量因素之。 在 7類內(nèi)聚中, 具有最強內(nèi)聚的類是 。(分數(shù): 1.00 )A. 順序性內(nèi)聚B. 過程性內(nèi)聚C

18、. 邏輯性內(nèi)聚D. 功能性內(nèi)聚 V解析: 評析 內(nèi)聚性是個模塊內(nèi)部各元素間彼此結(jié)合的緊密程度的度量。內(nèi)聚共有7 類,它們之間的內(nèi)聚性由弱到強排列順序為: 偶然內(nèi)聚、 邏輯內(nèi)聚、 時間內(nèi)聚、過程內(nèi)聚、 通信內(nèi)聚、 順序內(nèi)聚和功能內(nèi)聚。26. 若進棧序列為 1, 2, 3, 4,進棧過程中可以出棧,則下列不可能的個出棧序列是 。(分數(shù): 1.00 )A. 1 , 4, 3, 2B. 2, 3, 4, 1C. 3, 1, 4, 2 VD. 3, 4, 2, 1解析:評析棧是一種后進先出表,選項C中,先出棧的是3,說明此時棧內(nèi)必然有 1,2,由于1先于2進棧,所以1不可能在2之前出棧,故選項 C這種出

19、棧序列是不可能的。27. 能將高級語言程序轉(zhuǎn)換成目標(biāo)語言程序的是 。(分數(shù): 1.00 )A. 調(diào)試程序B. 解釋程序C. 編譯程序 VD. 編輯程序解析: 評析 用高級語言編寫的程序稱為“源程序”,而計算機只能識別和執(zhí)行由0和 1 組成的二進制指令,所以高級語言必須先用種稱為“編譯程序”的軟件,把源程序翻譯成二進制形式的“目標(biāo)程序”。28. 以下程序輸出的結(jié)果為 。 main() char*alpha6=ABCD,EFGH,IJKL,MNOP,QRST,UVWX); char *p; int i; p=alpha; for(i=0;i4;i+) printf(%s,pi); (分數(shù): 1.0

20、0 )A. ABCDEFGHIJKLB. ABCDC. ABCDEFGHIJKLMNOPVD. AEIM解析:評析alphaO指向“ ABCD的首地址;alpha1指向“ EFGH的首地址;alpha2指向“ IJKL” 的首地址,依此類推。當(dāng)執(zhí)行p=alpha后,p指向指針數(shù)組alpha的首地址。for循環(huán)中輸出了 4個字符串。29. 若一個外部變量的定義形式為 static int x; ,那么,其中 static 的作用應(yīng)該是 。(分數(shù): 1.OO )A. 將變量存儲在靜態(tài)存儲區(qū)B. 使變量 x 可以由系統(tǒng)自動初始化C. 使x只能在文本文件內(nèi)引用VD. 使 x 的值可以永久保留解析:評析

21、事實上,無論有無static 修飾,外部變量都具有 A、B和C三種特性。作為一種修飾,static 僅是限制此類型外部變量的引用范圍:只能在定義它的文件范圍內(nèi)使用。30. 已知字母A的ASCII碼值是65,字母a的ASCII碼值是97,以下程序 。maini() char a=A;int b=2O; printh(%d,%o,(a=a+a,a+b,b),a+a-A,b); (分數(shù): 1.00 )A. 表達式非法,輸出零或不確定值B. 因輸出項過多,無輸出或輸出不確定值C. 輸出結(jié)果為20,141 VD. 輸出結(jié)果為20,141,20解析:評析本題中首先輸出逗號表達式a=a+a,a+b,b ”的

22、值,即20。然后以八進制的形式輸出a+a-A的值為 97 對應(yīng)的八進制數(shù) 141,由于最后一個表達式 b 沒有對應(yīng)輸出格式的輸出項表列就不會輸出。31. 下面程序的輸出是 。char s=ABCD; main() char *p; for(p=s;p s+4;p+)printf(%s/n,p); (分數(shù): 1.00 )A. ABCD BCD CD D VB. A B C DC. D C B AD. ABCD ABC AB A解析:評析在第一次執(zhí)行for循環(huán)時,字符數(shù)組的首地址賦給了指針變量 p,使得指針變量p指向了 s 的首地址,輸出p所指向的字符串;第二次執(zhí)行for循環(huán)時,p值增加1 ,p指

23、向了 s的第二個元素輸出BCD 第三次輸出CD第四次輸出D;直到p指向字符串的結(jié)束字符“ /0”, for循環(huán)終止執(zhí)行。32. 數(shù)據(jù)的完整性是指數(shù)據(jù)的正確性、有效性和 。(分數(shù): 1.00 )A. 可維護性B. 獨立性C. 安全性D. 相容性 V解析: 評析 數(shù)據(jù)模型的完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,用以限 定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)及其狀態(tài)的變化,以保證數(shù)據(jù)的正確性、有效性和相容性。33. 下面程序的輸出結(jié)果是 。 unsigned fun(unsigned num) unsigned k=1; do k*=num%10;num/=10; while(num)

24、; return(k); main() unsigned n=26; printf(%d/n,fun(n); (分數(shù): 1.00 )A. 0B. 4C. 12 VD. 無限次循環(huán)解析:評析本題定義了一個fun函數(shù),用于num求和,具體執(zhí)行過程如下:num=26:k=k*(num%10)=1*(26%10) ,所以 k=6, num=num/10=2; num=2: k=k*(num%10)=6*(2%10) ,所以 k=12, num=num/10=0; num=0: while 條件不成立,所以返回 k 的值 12。34. 以下程序的輸出結(jié)果是 。 main() char str12=s,t

25、,r,i,n,g;printf(%d/n,strlen(str); (分數(shù): 1.00 )A. 6 VB. 7C. 11D. 12解析:評析在C語言中,字符串的長度是其首字符到NULL不含)字符的總字符個數(shù)。本題定義字符數(shù)組str的同時,對第7個元素,由系統(tǒng)自動添加上“ /0”,故字符串的長度為6。35. 下列程序的輸出結(jié)果是 。 #define A 100 main() int i=0,sun=0; do if(i=(i/2)*2)continue;sum+i; while (+i A) ; printf(%d/n,sun); (分數(shù): 1.00 )A. 2500VB. 2050C. 4D.

26、 0解析: 評析 本題程序的功能是求 1到 99之間(包括 1和 99)所有奇數(shù)之和。程序中的 while 循環(huán)的終止 條件為 +i=100 ,在 while 循環(huán)體內(nèi),如果 i 是偶數(shù),則執(zhí)行 continue ,跳過這一次循環(huán),執(zhí)行下次循 環(huán),否則求和。最后輸出的值是 1到 99 之間(包括 1 和99) 所有奇數(shù)之和 (1+99)*50/2=2500 。36. 下列程序執(zhí)行后輸出的結(jié)果是 。 int d=1; fun(intp) int d=5; d+=p+; printh(%d,d);main() int a=3; fuin(a); d+=a+; printf(:%d/n,d); (分

27、數(shù): 1.00 )A. 8 , 12B. 9 , 13C. 8 , 4 VD. 9 , 5解析:評析本題執(zhí)行過程如下:首先調(diào)用fun函數(shù),使得實參a的值3傳遞給形參p,得到局部變量d=8, 打印出局部變量d的值8 ;返回主函數(shù)執(zhí)行“ d+=a+,此處的 d為全局變量,所以d=1+3=4(由于本題是 值傳遞,所以在函數(shù) fun 中對 p 值的改變并不能引起 a 的改變),故本題的輸出是 8,4 。37. 是構(gòu)成C語言程序的基本單位。(分數(shù): 1.00 )A. 函數(shù) VB. 過程C. 子程序D. 子例程解析:評析C程序是由函數(shù)構(gòu)成的。一個C源程序至少包含一個 main函數(shù),也可以包含一個main函

28、數(shù)和若干個其他函數(shù),因此,函數(shù)是C程序的基本單位。38. 若有定義: int a410; ,則以下選項中對數(shù)組元素 aij 引用錯誤的是 。 (0 =i4,0=j代表回車符)aaa v CR bbb v CR(分數(shù): 1.00 )A. aaa bbbB. aaa bbbVC. aaa/0bbb/0D. aaabbb解析:評析scanf是標(biāo)準輸入函數(shù),在輸入字符串 aaa時,實際的內(nèi)容為aaa/0”,/0”是由系統(tǒng) 自動加入的; gets 的功能是從終端讀入行字符,即一直讀到換行符為止,并由系統(tǒng)自動以“ /0”代替換 行符。44. 若有如下說明,則 的敘述是正確的。 struct st int

29、a; int b2; a;(分數(shù): 1.00 )A. 結(jié)構(gòu)體變量 a 與結(jié)構(gòu)體成員 a 同名,定義是非法的B. 程序只在執(zhí)行到該定義時才為結(jié)構(gòu)體 st 分配存儲單元C. 程序運行時為結(jié)構(gòu)體 st 分配 6 個字節(jié)存儲單元D. 類型名 struct st 可以通過 extern 關(guān)鍵字提前引用 ( 即引用在前,說明在后 ) V解析:評析結(jié)構(gòu)體變量a與結(jié)構(gòu)體成員a同名是合法的定義,引用成員a的方法是a.a,變量a處于不同的“層次”上,系統(tǒng)完全能夠分情。 st 是個結(jié)構(gòu)體名,不會為結(jié)構(gòu)體名分配存儲空間,應(yīng)該是在運行 時為結(jié)構(gòu)體變量a分配6個字節(jié)的存儲單元,故選項 B和選項C錯誤。45. 在順序表 (

30、3,6,8,10,12,15,16,18,21,25,30) 中,用二分法查找關(guān)鍵碼值11,所需的關(guān)鍵碼比較次數(shù)為 。(分數(shù): 1.00 )A. 2B. 3C. 4 VD. 5解析: 評析 二分法查找是用關(guān)鍵碼與線性表的中間元素比較,然后根據(jù)比較結(jié)果來判斷是結(jié)束查找,還 是在左邊或者右邊子表按相同的方法繼續(xù)查找。本題中,與 11比較的關(guān)鍵碼分別為 15,8,10,12 四個。46. 可以在C語言中用做用戶標(biāo)識符的是 。(分數(shù): 1.00 )A. void define WORDB. as_b3 _123 IfVC. for -abc casD. 2c Do SIG解析: 評析 C 語言規(guī)定,標(biāo)

31、識符只能由字母、數(shù)字和下劃線三種符號組成,而且第個字符必須是字母或下劃線。另外還需要注意的是關(guān)鍵字不能作標(biāo)識符。選項A中void , C中for都為關(guān)鍵字,D中2c以字母開頭。47. 下述程序向文件輸出的結(jié)果是 。#include void main() FILE*fp=fopen(TESY,wb); fprintf(fp,%d%5.0f%c%d,58,76273.0,-,2278); fclose(fp); (分數(shù): 1.00 )A. 58 76273-2278B. 5876273.000000-2278C. 5876273-2278VD. 因文件為二進制文件而不可讀解析:評析fprintf

32、函數(shù)工作時,多個數(shù)據(jù)間不會自珈口分隔符,選項A錯誤;浮點數(shù)的輸出格式是“ 5.0f”表明其小數(shù)部分輸出0位,即沒有輸出,所以選項B也是錯誤的。48. 在數(shù)據(jù)結(jié)構(gòu)中,從邏輯上可以把數(shù)據(jù)結(jié)構(gòu)分為 。(分數(shù): 1.00 )A. 動態(tài)結(jié)構(gòu)和靜態(tài)結(jié)構(gòu)B. 緊湊結(jié)構(gòu)和非緊湊結(jié)構(gòu)C. 線性結(jié)構(gòu)和非線性結(jié)構(gòu) VD. 內(nèi)部結(jié)構(gòu)和外部結(jié)構(gòu)解析: 評析 邏輯結(jié)構(gòu)反映數(shù)據(jù)元素之間的邏輯關(guān)系,線性結(jié)構(gòu)表示數(shù)據(jù)元素之間對的關(guān)系,非線性 結(jié)構(gòu)表示數(shù)據(jù)元素之間對多或多對的關(guān)系。49. 若有以下類型說明語句: char w;int x;flooat y,z;則表達式 w*x+z-y 的結(jié)果為 類型。(分數(shù): 1.00 )A.

33、floatVB. charC. intD. double解析: 評析 在進行運算時,不同類型的數(shù)據(jù)參加運算,需要先將其轉(zhuǎn)換成同類型的數(shù)據(jù),然后再進行運算。轉(zhuǎn)換的順序由低到高為: char,short Tnt unsigned Tong double float ,故結(jié)果為float 型。50. 下列程序的輸出結(jié)果,是 。 main() int a=0,b=0,c=0; if(+a 0|+b 0)+c;printf(/na=%d,b=%d,c=%d,a,b,c); (分數(shù): 1.00 )A. a=0,b=0,c=0B. a=1,b=1,c=1C. a=1,b=0,c=1VD. a=0,b=1,c

34、=1解析: 評析 “| ”是或運算,它有個“短路”的特點需特別注意,當(dāng)“ | ”運算符左邊的表達式的值為 真時,則程序就不再對“ | ”右邊的表達式的值進行運算,而是使得整個表達式的值直接為真。二、 B 填空題 /B( 總題數(shù): 17,分數(shù): 34.00)51. 對于長度為 n 的順序存儲的線性表, 當(dāng)隨機插入和刪除個元素時, 需平均移動元素的個數(shù)為 U 【 1】 /U 。(分數(shù): 2.00 )填空項 1: (正確答案: n/2 )解析:評析刪除一個元素,平均移動的元素個數(shù)為(n-1+n- 2+O)/n=(n -1)/2 ;插入一個元素,平均移動元素個數(shù)為(n+n-1+n- 2+1)/n=(n

35、+1)/2 :所以總體平均移動元素個數(shù)為n/2。52. 注釋說明了程序的功能,它分為U 【2】 /U 注釋和功能性注釋。(分數(shù): 2.OO )填空項 1: (正確答案:序言性)解析: 評析 注釋一般分為序言性注釋和功能性注釋。53. 軟件測試中路徑覆蓋測試是整個測試的基礎(chǔ),它是對軟件 U【3】 /U 進行測試。(分數(shù): 2.OO )填空項 1: (正確答案:結(jié)構(gòu))解析: 評析 路徑測試是白盒測試方法中的種,它要求對程序中的每條路徑最少檢查一次,目的是對軟 件的結(jié)構(gòu)進行測試。54. 數(shù)據(jù)庫技術(shù)的主要特點為數(shù)據(jù)的集成性、數(shù)據(jù)的高 U 【4】 /U 和低冗余性、數(shù)據(jù)獨立性和數(shù)據(jù) 統(tǒng)一管理與控制。(分

36、數(shù): 2.OO )填空項 1: (正確答案:共享性)解析: 評析 數(shù)據(jù)庫技術(shù)的主要特點有以下幾個方面:數(shù)據(jù)的集成性,數(shù)據(jù)的高共享性與低冗余性,數(shù)據(jù) 的獨立性,數(shù)據(jù)統(tǒng)一管理與控制。55. 數(shù)據(jù)元素之間 U【5】 /U 的整體稱為邏輯結(jié)構(gòu)。(分數(shù): 2.OO )填空項 1: (正確答案:邏輯關(guān)系)解析: 評析 數(shù)據(jù)元素之間邏輯關(guān)系的整體稱為邏輯結(jié)構(gòu)。數(shù)據(jù)的邏輯結(jié)構(gòu)就是數(shù)據(jù)的組織形式。56. 若有定義int m=5,y=2,則執(zhí)行表達式y(tǒng)+=y-=m*=y后,y的值為U【6】/U。(分數(shù): 2.OO )填空項 1: (正確答案: -16 )解析: 評析 將賦值運算符右側(cè)的“表達式”的值賦給左側(cè)的變量

37、,并且賦值運算符按照“自右而左”的結(jié)合順序,本題表達式應(yīng)先算m的值為10,再運算y的值為8,最后計算y=y+(-8)=-8+(-8)=-16。57. 若 x 和 y 都是 buble 型變量,且 x 的初值為 3.O ,y 的初值為 2.O ,則表達式 pow(y,fabs(x) 的值為 U【 7】 /U 。(分數(shù): 2.00 )填空項 1: (正確答案: 8.000000 )解析:評析fabs函數(shù)功能是求x的絕對值,計算結(jié)果為double型。pow功能是計算x的y次方的值,計算結(jié)果同樣為 double 型。所以本題表達式相當(dāng)于 2.0 的 3.0 次方,結(jié)果為 8.000000 。58. 沒

38、有char a,b;,若要通過a&b運算屏蔽掉a中的其他位,只保留第2位和笫8位(右起為第1位),則b 的二進制是 U【 8】 /U。(分數(shù): 2.00 )填空項 1: (正確答案:10000010)解析: 評析 運算“&”的規(guī)則是只有當(dāng)兩個相應(yīng)的二進制位都為1 時,該位的結(jié)果才為 1。要保留第 2、8 位,只要將其與二進制數(shù) 10000010相與。59. 下列程序執(zhí)行后輸出的結(jié)果是U【9】 /U 。 f(int a) static c=0; c=a+c+; return(c); main() int a=2,i,k; for(i=0;i 2;i+) k=f(a+); prinf(%d/n,k

39、); (分數(shù): 2.00 )填空項 1: (正確答案: 7)解析: 評析 在程序執(zhí)行時, static 變量僅初始化一次,下次使用時將使用上次保存的值。60. 下面程序執(zhí)行后輸出的結(jié)果是 U 【10】 /U 。 int m=13; int fun(int x,int y) int m=3; return(x*y-m); main() int a=7,b=5; printf(%d/n,fun(a,b)/m); (分數(shù): 2.00 )填空項 1: (正確答案: 2)解析:評析本題變量m既是外部變量(值是13),又是fun函數(shù)的局部變量(值為3)。函數(shù)fun(x*y-m) 的值為7*5-3=32,在

40、main函數(shù)中,fun(a,b)/m 中的m應(yīng)取外部變量的值13,因此輸出2。61. 下列程序執(zhí)行后輸出的結(jié)果是U【11】/U。main() int arr10,i,k=0; for(i=0;i10;i+)arri=i; for(i=1;i 4;i+) k+=arri+i; printf(%d/n,k); (分數(shù): 2.00 )填空項 1: (正確答案:12)解析: 評析 本題的第個 for 循環(huán)用于紿數(shù)組 arr 賦初值,第二個 for 循環(huán)用于求和運算。由于第二個 for循環(huán)初始值為1,而循環(huán)條件為i x); (分數(shù): 2.00 )填空項 1: (正確答案: 11 )解析: 評析 程序中結(jié)構(gòu)體數(shù)組 data 首地址 ( 即 &data0) 賦值給結(jié)構(gòu)體指針變量 p, +(

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論