C語言程序設(shè)計(jì)中的常見誤區(qū)試題及答案_第1頁
C語言程序設(shè)計(jì)中的常見誤區(qū)試題及答案_第2頁
C語言程序設(shè)計(jì)中的常見誤區(qū)試題及答案_第3頁
C語言程序設(shè)計(jì)中的常見誤區(qū)試題及答案_第4頁
C語言程序設(shè)計(jì)中的常見誤區(qū)試題及答案_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

C語言程序設(shè)計(jì)中的常見誤區(qū)試題及答案姓名:____________________

一、單項(xiàng)選擇題(每題2分,共10題)

1.下列關(guān)于C語言變量的說法,錯(cuò)誤的是:

A.變量必須先聲明后使用

B.變量的作用域只能在其聲明的作用域內(nèi)有效

C.變量可以沒有類型

D.變量的作用域分為局部作用域和全局作用域

2.以下關(guān)于C語言數(shù)組的說法,正確的是:

A.數(shù)組名可以作為函數(shù)的參數(shù)傳遞

B.數(shù)組名代表數(shù)組第一個(gè)元素的地址

C.數(shù)組的大小必須在聲明時(shí)確定

D.數(shù)組名代表數(shù)組的大小

3.下列關(guān)于C語言函數(shù)的說法,錯(cuò)誤的是:

A.函數(shù)可以嵌套定義

B.函數(shù)可以沒有參數(shù)

C.函數(shù)可以沒有返回值

D.函數(shù)必須返回一個(gè)值

4.以下關(guān)于C語言結(jié)構(gòu)體的說法,正確的是:

A.結(jié)構(gòu)體變量可以包含任意類型的數(shù)據(jù)

B.結(jié)構(gòu)體變量的成員不能是結(jié)構(gòu)體類型

C.結(jié)構(gòu)體變量的成員可以是基本數(shù)據(jù)類型

D.結(jié)構(gòu)體變量的成員只能是函數(shù)

5.下列關(guān)于C語言指針的說法,錯(cuò)誤的是:

A.指針變量必須先聲明后使用

B.指針變量可以指向任意類型的數(shù)據(jù)

C.指針變量的值可以改變

D.指針變量可以指向數(shù)組

6.以下關(guān)于C語言位運(yùn)算的說法,正確的是:

A.位運(yùn)算符只適用于整數(shù)類型

B.位運(yùn)算符可以用于邏輯運(yùn)算

C.位運(yùn)算符的優(yōu)先級高于算術(shù)運(yùn)算符

D.位運(yùn)算符的優(yōu)先級低于算術(shù)運(yùn)算符

7.下列關(guān)于C語言文件的說法,錯(cuò)誤的是:

A.文件可以包含任意類型的數(shù)據(jù)

B.文件操作包括打開、讀取、寫入和關(guān)閉

C.文件必須先打開后才能進(jìn)行讀寫操作

D.文件在關(guān)閉后仍然可以訪問

8.以下關(guān)于C語言預(yù)處理器的說法,正確的是:

A.預(yù)處理器只處理源代碼中的注釋

B.預(yù)處理器可以處理源代碼中的宏定義

C.預(yù)處理器不能處理源代碼中的變量聲明

D.預(yù)處理器不能處理源代碼中的函數(shù)定義

9.下列關(guān)于C語言結(jié)構(gòu)體數(shù)組的說法,錯(cuò)誤的是:

A.結(jié)構(gòu)體數(shù)組可以包含任意類型的結(jié)構(gòu)體成員

B.結(jié)構(gòu)體數(shù)組的大小必須在聲明時(shí)確定

C.結(jié)構(gòu)體數(shù)組可以作為函數(shù)的參數(shù)傳遞

D.結(jié)構(gòu)體數(shù)組可以作為函數(shù)的返回值

10.以下關(guān)于C語言鏈表的說法,正確的是:

A.鏈表是一種線性數(shù)據(jù)結(jié)構(gòu)

B.鏈表中的節(jié)點(diǎn)可以包含任意類型的數(shù)據(jù)

C.鏈表中的節(jié)點(diǎn)必須包含指向下一個(gè)節(jié)點(diǎn)的指針

D.鏈表中的節(jié)點(diǎn)不能包含函數(shù)

二、多項(xiàng)選擇題(每題3分,共10題)

1.在C語言中,以下哪些情況會導(dǎo)致編譯錯(cuò)誤?

A.變量聲明后立即賦值

B.函數(shù)聲明和定義分開在不同的文件中

C.結(jié)構(gòu)體變量名與結(jié)構(gòu)體成員名相同

D.在同一個(gè)作用域內(nèi)定義了兩個(gè)同名函數(shù)

2.下列哪些是C語言中合法的函數(shù)參數(shù)類型?

A.整型

B.指針

C.數(shù)組

D.結(jié)構(gòu)體

3.以下關(guān)于C語言中的運(yùn)算符,哪些具有結(jié)合性?

A.加法運(yùn)算符+

B.乘法運(yùn)算符*

C.關(guān)系運(yùn)算符>

D.賦值運(yùn)算符=

4.在C語言中,以下哪些情況下會自動(dòng)退化為整數(shù)類型?

A.整數(shù)與浮點(diǎn)數(shù)進(jìn)行算術(shù)運(yùn)算

B.整數(shù)與字符進(jìn)行算術(shù)運(yùn)算

C.整數(shù)與邏輯運(yùn)算符進(jìn)行運(yùn)算

D.整數(shù)與位移運(yùn)算符進(jìn)行運(yùn)算

5.下列關(guān)于C語言中指針的內(nèi)存管理,哪些是正確的?

A.使用指針可以方便地實(shí)現(xiàn)動(dòng)態(tài)內(nèi)存分配

B.指針變量必須初始化,否則可能導(dǎo)致未定義行為

C.使用完動(dòng)態(tài)分配的內(nèi)存后,必須使用free()函數(shù)釋放

D.指針變量可以指向NULL,表示它不指向任何有效地址

6.在C語言中,以下哪些情況會導(dǎo)致數(shù)組越界訪問?

A.訪問數(shù)組的負(fù)索引

B.訪問數(shù)組的正索引超出數(shù)組實(shí)際大小

C.通過指針訪問未初始化的數(shù)組元素

D.使用指針遍歷字符串時(shí)超出字符串長度

7.下列關(guān)于C語言中結(jié)構(gòu)體和共用體的區(qū)別,哪些是正確的?

A.結(jié)構(gòu)體允許不同類型的成員共享相同的內(nèi)存空間

B.共用體允許不同類型的成員共享相同的內(nèi)存空間

C.結(jié)構(gòu)體的大小是其成員大小的總和

D.共用體的大小是其成員中最大的那個(gè)成員的大小

8.在C語言中,以下哪些是合法的函數(shù)調(diào)用方式?

A.函數(shù)名()

B.指針->函數(shù)名()

C.函數(shù)名(*指針)

D.函數(shù)名(指針)

9.以下關(guān)于C語言中的宏定義,哪些是正確的?

A.宏定義可以用于替換常量

B.宏定義可以用于替換變量

C.宏定義可以用于替換函數(shù)

D.宏定義不會影響程序的運(yùn)行速度

10.在C語言中,以下哪些是正確的文件操作函數(shù)?

A.fopen()

B.fread()

C.fwrite()

D.fseek()

三、判斷題(每題2分,共10題)

1.在C語言中,所有變量都必須在定義后才能使用。()

2.C語言中的函數(shù)可以嵌套定義,但不能嵌套調(diào)用。()

3.在C語言中,結(jié)構(gòu)體和數(shù)組的內(nèi)存布局是相同的。()

4.C語言中的指針變量可以指向任意類型的數(shù)據(jù),包括函數(shù)和數(shù)組。()

5.在C語言中,位運(yùn)算符的優(yōu)先級高于算術(shù)運(yùn)算符。()

6.C語言中的文件操作都是順序訪問,不能隨機(jī)訪問。()

7.在C語言中,宏定義可以用于替換函數(shù)調(diào)用。()

8.C語言中的結(jié)構(gòu)體和共用體都是用來存儲不同類型數(shù)據(jù)的復(fù)合類型。()

9.在C語言中,全局變量的作用域是整個(gè)程序。()

10.C語言中的數(shù)組名可以作為函數(shù)的參數(shù)傳遞。()

四、簡答題(每題5分,共6題)

1.簡述C語言中變量的作用域和存儲類別。

2.解釋C語言中指針的概念,并說明指針與數(shù)組的關(guān)系。

3.描述C語言中函數(shù)的遞歸調(diào)用原理。

4.簡述C語言中文件操作的步驟。

5.解釋C語言中宏定義的作用和用法。

6.闡述C語言中結(jié)構(gòu)體和共用體的區(qū)別。

試卷答案如下

一、單項(xiàng)選擇題答案及解析思路

1.C。變量必須先聲明后使用,變量可以沒有類型,但必須有類型。

2.B。數(shù)組名代表數(shù)組第一個(gè)元素的地址,數(shù)組的大小必須在聲明時(shí)確定。

3.A。函數(shù)可以嵌套定義,但不能嵌套調(diào)用,函數(shù)可以沒有參數(shù)和返回值。

4.C。結(jié)構(gòu)體變量可以包含任意類型的數(shù)據(jù),結(jié)構(gòu)體變量的成員可以是基本數(shù)據(jù)類型。

5.D。指針變量必須先聲明后使用,指針變量可以指向任意類型的數(shù)據(jù),指針變量的值可以改變。

6.A。位運(yùn)算符只適用于整數(shù)類型,位運(yùn)算符的優(yōu)先級高于算術(shù)運(yùn)算符。

7.D。文件在關(guān)閉后不能直接訪問,需要重新打開。

8.B。預(yù)處理器可以處理源代碼中的宏定義,但不能處理變量聲明和函數(shù)定義。

9.D。結(jié)構(gòu)體數(shù)組可以作為函數(shù)的參數(shù)傳遞,但不能作為函數(shù)的返回值。

10.B。鏈表是一種線性數(shù)據(jù)結(jié)構(gòu),鏈表中的節(jié)點(diǎn)可以包含任意類型的數(shù)據(jù),節(jié)點(diǎn)必須包含指向下一個(gè)節(jié)點(diǎn)的指針。

二、多項(xiàng)選擇題答案及解析思路

1.B,C。變量聲明后立即賦值不會導(dǎo)致編譯錯(cuò)誤,函數(shù)聲明和定義分開在不同的文件中也不會導(dǎo)致編譯錯(cuò)誤。

2.A,B,C,D。函數(shù)參數(shù)可以是整型、指針、數(shù)組和結(jié)構(gòu)體。

3.A,B,C,D。加法、乘法、關(guān)系和賦值運(yùn)算符都具有結(jié)合性。

4.A,B,D。整數(shù)與浮點(diǎn)數(shù)、整數(shù)與字符、整數(shù)與位移運(yùn)算符進(jìn)行運(yùn)算時(shí)會自動(dòng)退化為整數(shù)類型。

5.A,B,C,D。指針可以用于動(dòng)態(tài)內(nèi)存分配,指針變量必須初始化,使用完動(dòng)態(tài)分配的內(nèi)存后必須釋放,指針變量可以指向NULL。

6.A,B,C,D。訪問數(shù)組的負(fù)索引、正索引超出大小、未初始化的數(shù)組元素和超出字符串長度都會導(dǎo)致數(shù)組越界訪問。

7.A,C,D。結(jié)構(gòu)體允許不同類型的成員共享相同的內(nèi)存空間,結(jié)構(gòu)體的大小是其成員大小的總和,共用體的大小是其成員中最大的那個(gè)成員的大小。

8.A,B,C,D。函數(shù)可以通過函數(shù)名、指針->函數(shù)名、函數(shù)名(*指針)和函數(shù)名(指針)的方式調(diào)用。

9.A,B,C,D。宏定義可以用于替換常量、變量、函數(shù),但不會影響程序的運(yùn)行速度。

10.A,B,C,D。fopen()用于打開文件,fread()用于讀取文件,fwrite()用于寫入文件,fseek()用于定位文件指針。

三、判斷題答案及解析思路

1.×。變量在使用前必須先聲明,但不一定需要初始化。

2.×。函數(shù)可以嵌套定義,也可以嵌套調(diào)用。

3.×。結(jié)構(gòu)體的內(nèi)存布局與數(shù)組不同,結(jié)構(gòu)體成員可能會有額外的填充。

4.×。指針可以指向函數(shù),但不能指向數(shù)組。

5.×。位運(yùn)算符的優(yōu)先級低于算術(shù)運(yùn)算符。

6.×。文件操作可以是順序訪問,也可以是隨機(jī)訪問。

7.×。宏定義不能用于替換函數(shù)調(diào)用。

8.×。結(jié)構(gòu)體和共用體都是用來存儲不同類型數(shù)據(jù)的復(fù)合類型,但內(nèi)存布局不同。

9.×。全局變量的作用域是整個(gè)程序文件。

10.×。數(shù)組名可以作為函數(shù)的參數(shù)傳遞,但不能作為函數(shù)的返回值。

四、簡答題答案及解析思路

1.變量的作用域是指變量在程序中可以訪問的范圍,存儲類別是指變量在內(nèi)存中的存儲方式。作用域分為局部作用域和全局作用域,存儲類別包括自動(dòng)、靜態(tài)、寄存器和外部存儲類別。

2.指針是一個(gè)變量,用來存儲另一個(gè)變量的地址。指針與數(shù)組的關(guān)系是,數(shù)組名代表數(shù)組第一個(gè)元素的地址,指針可以通過數(shù)組名訪問數(shù)組元素。

3.函數(shù)遞歸調(diào)用是指函數(shù)在執(zhí)行過程中調(diào)用自身,遞歸調(diào)用需要滿足兩個(gè)條件:遞歸終止條件和遞歸過程。

4.文件操作的步驟包括打開文件、讀取文件、寫入文件和關(guān)閉文件。打開文件使用fopen()函數(shù)

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論