《C程序設(shè)計(jì)語(yǔ)言》模擬試卷1.doc
《《C程序設(shè)計(jì)語(yǔ)言》模擬試卷1.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《《C程序設(shè)計(jì)語(yǔ)言》模擬試卷1.doc(9頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
一、單項(xiàng)選擇題 1. 以下并非C語(yǔ)言的特點(diǎn)的是___B______。 A. C語(yǔ)言簡(jiǎn)潔緊湊 B. 能夠編寫出功能復(fù)雜的程序 C. C語(yǔ)言可以直接對(duì)硬件進(jìn)行操作 D. C語(yǔ)言移植性好 2. 在C程序中,main()的位置_____C_______。 A. 必須作為第一個(gè)函數(shù) B. 必須作為最后一個(gè)函數(shù) C. 可以任意 D. 必須放在它所調(diào)用的函數(shù)之后 3. 一個(gè)C程序是由_____B_______。 A. 一個(gè)主程序和若干個(gè)子程序構(gòu)成 B. 一個(gè)或多個(gè)函數(shù)構(gòu)成 C. 若干過(guò)程組成 D. 若干子程序組成 4. 以下字符串為標(biāo)識(shí)符的是____a________。 A. _MY B. 2_2222 C. short D. LINE 5 5. 下列符號(hào)可以作為變量名的是___c_________。 A. +a B. *p C. _DAY D. next day 6. 設(shè)c是字符變量,則以下表達(dá)式正確的是_______b_____。 A. c=666 B. c=c C. c="c" D. c="abcd" 7. 以下說(shuō)法正確的是____d________。 A. 輸入項(xiàng)可以為一個(gè)實(shí)型常量,如scanf("%f", 3.5) B. 只有格式控制沒有輸入項(xiàng)也能進(jìn)行正確輸入,如scanf("%d") C. 當(dāng)輸入一個(gè)實(shí)型數(shù)據(jù)時(shí),格式控制部分應(yīng)規(guī)定小數(shù)點(diǎn)后的位數(shù),如scanf(%4.2f", &f) D. 當(dāng)輸入數(shù)據(jù)時(shí),必須指定變量的地址,如scanf("%f", &f) 8. 若a, b, c均定義為整型,要給它們輸入數(shù)據(jù),正確的輸入語(yǔ)句是_____d_______。 A. read(a, b, c); B. scanf("%d%d%d", a, b, c); C. scanf("%D%D%D", a, b, c); D. scanf(%d%d%d", &a, &b, &c); 9. 若a是float變量,b是unsigned型變量,以下輸入語(yǔ)句中合法的是______C______。 A. scanf("%6.2f%d", &a, &b); B. scanf("%f%n", &a, &b); C. scanf("%f%3o", &a, &b); D. scanf("%f%f", &a, &b); 10. if后面的表達(dá)式之值_______A____。 A. 只能是0或1 B. 只能是正整數(shù)或負(fù)整數(shù) C. 只能是整數(shù)或字符型數(shù)據(jù) D. 可以是任何類型的數(shù)據(jù) 11. 為了避免嵌套的if-else語(yǔ)句的二義性,C語(yǔ)言規(guī)定else總是與_____c_______組成配對(duì)關(guān)系。 A. 縮排位置相同的if B. 在其之前未配對(duì)的if C. 在其直接最近的未配對(duì)的if D. 同一行上的if 12. 選擇出合法的if語(yǔ)句(設(shè)int x, a, b, c;)_____A_____。 A. if(a = b0 x++; B. if (a =< b) x++; C. if(a <> b) x++; D. if (a=>b) x++; 13. 語(yǔ)句while(!e); 中的條件!e等價(jià)于_____a_______。 A. e == 0 B. e!=1 C. e!=0 D. ~e 14. C語(yǔ)言中while和do-while循環(huán)的主要區(qū)別是_______a_____。 A. do-while的循環(huán)體至少無(wú)條件執(zhí)行一次 B. while的循環(huán)控制條件比do-while的循環(huán)控制條件嚴(yán)格 C. do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi) D. do-while的循環(huán)體不能是復(fù)合語(yǔ)句 15. 以下程序段_____c_______。 int x = -1; do { x = x * x} while (x != 0); A. 是死循環(huán) B. 循環(huán)執(zhí)行二次 C. 循環(huán)執(zhí)行一次 D. 有語(yǔ)法錯(cuò)誤 16. 以下關(guān)于數(shù)組的描述正確的是______c______。 A. 數(shù)組的大小是固定的,但可以有不同類型的數(shù)組元素 B. 數(shù)組的大小是可變的,但所有數(shù)組元素的類型必須相同 C. 數(shù)組的大小是固定的,所有數(shù)組元素的類型必須相同 D. 數(shù)組的大小是可變的,可以有不同類型的數(shù)組元素 17. 以下關(guān)于字符數(shù)組的描述中錯(cuò)誤的是_____C_______ A. 字符數(shù)組可以存放字符串 B. 字符數(shù)組中的字符串可以整體輸入和輸出 C. 可以在賦值語(yǔ)句中通過(guò)賦值運(yùn)算符"="對(duì)字符數(shù)組整體賦值 D. 不可以用關(guān)系運(yùn)算符對(duì)字符數(shù)組中的字符串進(jìn)行比較 18. 以下合法的數(shù)組定義是____d______。 A. int a[] = "string"; B. int a[5] = {0, 1, 2, 3, 4, 5}; C. char a = "string"; D. char a[] = {0, 1, 2, 3, 4, 5}; 19. 在C語(yǔ)言程序中,下列敘述正確的是_____b_______。 A. 函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套 B. 函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套 C. 函數(shù)的定義和調(diào)用都可以嵌套 D. 函數(shù)的定義和調(diào)用均不可以嵌套 20. 在C語(yǔ)言程序中,簡(jiǎn)單變量做實(shí)參時(shí),它和對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是______b______。 A. 地址傳遞 B. 單向值傳遞 C. 由用戶指定參數(shù)傳遞方式 D. 由實(shí)參傳給形參,再由形參傳遞給實(shí)參 21. 在一個(gè)源文件中定義的外部變量的作用域?yàn)開_____D_____。 A. 本文件的全部范圍 B. 本程序的全部范圍 C. 本函數(shù)的全部范圍 D. 從定義該變量的位置開始至文件結(jié)束 22. 已知變量a已定義為int型變量,以下定義并初始化指針變量p的語(yǔ)句中正確的是____D_______。 A. int *p = a; B. int *p = *a; C. int p = &a; D. int *p = &a; 23. C語(yǔ)言中規(guī)定函數(shù)的返回值的類型是由______D______。 A. return語(yǔ)句中的表達(dá)式類型所決定 B. 調(diào)用該函數(shù)是的主調(diào)用函數(shù)所決定 C. 調(diào)用該函數(shù)時(shí)系統(tǒng)臨時(shí)決定 D. 在定義該函數(shù)時(shí)所指定的函數(shù)類型所決定 24. 在C語(yǔ)言程序中,下列敘述正確的是_____a_B______。 A. 實(shí)參可以是常量、變量或表達(dá)式 B. 實(shí)參可以是任意類型 C. 形參可以是常量、實(shí)參或表達(dá)式 D. 形參與隊(duì)友的實(shí)參類型要求可以不一致 25. 在定義一個(gè)結(jié)構(gòu)體變量時(shí)系統(tǒng)分配給它的存儲(chǔ)空間是_____d_______。 A. 該結(jié)構(gòu)體變量中第一個(gè)成員所需存儲(chǔ)空間 B. 該結(jié)構(gòu)體變量中最后一個(gè)成員所需存儲(chǔ)空間 C. 該結(jié)構(gòu)體變量中占用最大存儲(chǔ)空間的成員所需存儲(chǔ)空間 D. 該結(jié)構(gòu)體變量中所有成員所需存儲(chǔ)空間的總和 26. 以下關(guān)于typedef的敘述不正確的是______D______。 A. 用typedef可以定義各種類型名,但不能用來(lái)定義變量 B. 用typedef可以增加新類型 C. 用typedef只是將已存在的類型用一個(gè)新的名字來(lái)代表 D. 使用typedef便于程序的調(diào)用 27. 在聲明一個(gè)結(jié)構(gòu)體類型時(shí)系統(tǒng)分配給它的存儲(chǔ)空間是_____D___。 A. 該結(jié)構(gòu)體變量中第一個(gè)成員所需存儲(chǔ)空間 B. 該結(jié)構(gòu)體變量中最后一個(gè)成員所需存儲(chǔ)空間 C. 該結(jié)構(gòu)體變量中所有成員所需存儲(chǔ)空間的總和 D. 結(jié)構(gòu)體類型本身并不占用存儲(chǔ)空間,即系統(tǒng)并不給結(jié)構(gòu)體類型分配存儲(chǔ)空間 28. fopen()函數(shù)的打開文件模式"r"和"w"的差別是_____B_______。 A. "r"可向文件寫,"w"不可向文件寫 B. "r"不可向文件寫,"w"可向文件寫 C. "r"不可由文件讀, "w"可由文件讀 D. 文件不存在時(shí),"r"建立新文件,"w"出錯(cuò) 29. 以下正確的定義語(yǔ)句是______d______。 A. int A[a]; B. int A[3, 4]; C. int a[][3]; D. int a[10]; 30. 在定義int a[3][6];后,第10個(gè)元素是_____。 A. a[2][4] B. a[1][3] C. a[3][1] D. a[4][2] 二、填空題 1. 任何C語(yǔ)句必須以____分號(hào)________結(jié)束。 2. C編譯程序的功能是_____將C源程序編譯成目標(biāo)代碼(這樣就可以糊弄老師了!下面是編譯的全部過(guò)程!如有錯(cuò)誤,還請(qǐng)雅正!呵呵! 編譯程序讀取源程序(字符流),對(duì)之進(jìn)行詞法和語(yǔ)法的分析,將高級(jí)語(yǔ)言指令轉(zhuǎn)換為功能等效的匯編代碼,再由匯編程序轉(zhuǎn)換為機(jī)器語(yǔ)言,并且按照操作系統(tǒng)對(duì)可執(zhí)行文件格式的要求鏈接生成可執(zhí)行程序。)________。 3. 表達(dá)式語(yǔ)句與表達(dá)式的不同是____語(yǔ)句必須以分號(hào)結(jié)尾,而表達(dá)式結(jié)尾沒有分號(hào);語(yǔ)句可以出現(xiàn)函數(shù)體中數(shù)據(jù)定義或聲明語(yǔ)句之后任何位置,而表達(dá)式只能出現(xiàn)在語(yǔ)句中規(guī)定的位置或表達(dá)式中(嵌套出現(xiàn))。________。 4. 在C語(yǔ)言中可以利用___強(qiáng)制類型轉(zhuǎn)換____將一個(gè)表達(dá)式的值轉(zhuǎn)換成指定的類型 5. 表達(dá)式3 * 4 + 5的值是_17__________。 6. 表達(dá)式3 / 4 + 5的值是_____5______。 7. 判斷整型變量n是否是偶數(shù)的邏輯表達(dá)式是_____n%2==0_______。 8. 程序的三種基本控制結(jié)構(gòu)分別是_____順序結(jié)構(gòu)_______、_______循環(huán)結(jié)構(gòu)_____和_____選擇結(jié)構(gòu)_______。 9. _____break;_______語(yǔ)句強(qiáng)行結(jié)束循環(huán),轉(zhuǎn)向循環(huán)語(yǔ)句下面的語(yǔ)句。_____continue;_______語(yǔ)句結(jié)束本次循環(huán)體的執(zhí)行。 10. 常用的一維數(shù)組排序方法有冒泡排序、直接插入排序和_____希爾排序_____。 11. C語(yǔ)言通過(guò)函數(shù)實(shí)現(xiàn)模塊化程序設(shè)計(jì)。函數(shù)分為_____主函數(shù)_______和______子函數(shù)______。 12. 在函數(shù)中可以利用__return___語(yǔ)句返回函數(shù)計(jì)算結(jié)果 13. 訪問(wèn)結(jié)構(gòu)體變量s的成員x,應(yīng)使用表達(dá)式__s.x___,使用結(jié)構(gòu)體指針變量ps訪問(wèn)成員y,應(yīng)使用表達(dá)式___ps->y_或(*p).sy____。 14. C語(yǔ)言使用關(guān)鍵字__ ____定義結(jié)構(gòu)體類型。 15. 計(jì)算字符串長(zhǎng)度的庫(kù)函數(shù)是__length()____。 三、程序分析題 1. 寫出以下程序的運(yùn)行結(jié)果(假定程序已包含正確的頭文件)。 main() { int n = 10; n++; n += 5; printf("%d\n", n); } 16 2. 寫出以下程序的運(yùn)行結(jié)果(假定程序已包含正確的頭文件)。 main() { int a = 3, b = 5; if (a > b) printf("a大于b\n") else printf("a不大于b\n"); } a不大于b\n 3. 寫出以下程序的運(yùn)行結(jié)果(假定程序已包含正確的頭文件)。 main() { int n = 1, sum = 0; while (n < 5) { sum = sum + n; n++; } printf("%d\n", sum); } 10 4. 寫出以下程序的運(yùn)行結(jié)果(假定程序已包含正確的頭文件)。 main() { int a[] = {0, 1, 2, 3, 4, 5}; printf("%d\n", a[4] + a[1]); } 5. 寫出以下程序的運(yùn)行結(jié)果(假定程序已包含正確的頭文件)。 main() { int a = 3; *pa = &a; *pa = 10; printf("%d\n", a); } 10 6. 寫出以下程序的運(yùn)行結(jié)果(假定程序已包含正確的頭文件)。 int fun(int n) { int m; m = 2 * n; return m; } main() { int k = 50, s; s = fun(k); printf("%d\n", s); } 100 四、程序設(shè)計(jì)題 1. 編寫一個(gè)交換兩個(gè)int型數(shù)據(jù)的函數(shù)swap,在main函數(shù)中從標(biāo)準(zhǔn)輸入讀取兩個(gè)整數(shù)到兩個(gè)整型變量中,輸出調(diào)用swap函數(shù)之前和之后的結(jié)果。 #include- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- C程序設(shè)計(jì)語(yǔ)言 程序設(shè)計(jì)語(yǔ)言 模擬 試卷
鏈接地址:http://www.820124.com/p-9552656.html