常見程序設(shè)計模式試題及答案_第1頁
常見程序設(shè)計模式試題及答案_第2頁
常見程序設(shè)計模式試題及答案_第3頁
常見程序設(shè)計模式試題及答案_第4頁
常見程序設(shè)計模式試題及答案_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

常見程序設(shè)計模式試題及答案姓名:____________________

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

1.下列關(guān)于面向?qū)ο蟪绦蛟O(shè)計特點的描述,錯誤的是()。

A.封裝性

B.繼承性

C.多態(tài)性

D.可重用性

2.在C語言中,以下哪個關(guān)鍵字用于定義類()。

A.class

B.struct

C.union

D.enum

3.下面哪個函數(shù)用于計算一個整數(shù)數(shù)組中元素的平均值()。

A.sum(arr,n)

B.average(arr,n)

C.mean(arr,n)

D.avg(arr,n)

4.以下哪個結(jié)構(gòu)體成員的訪問權(quán)限是私有()。

A.public

B.protected

C.private

D.publicorprotected

5.在C語言中,以下哪個關(guān)鍵字用于聲明一個函數(shù)()。

A.func

B.function

C.def

D.int

6.以下哪個函數(shù)用于將字符串復(fù)制到另一個字符串中()。

A.strcpy

B.copy

C.clone

D.replicate

7.在C語言中,以下哪個關(guān)鍵字用于聲明一個全局變量()。

A.global

B.extern

C.static

D.local

8.以下哪個函數(shù)用于獲取字符串的長度()。

A.strlen

B.length

C.size

D.measure

9.在C語言中,以下哪個關(guān)鍵字用于聲明一個常量()。

A.const

B.final

C.define

D.constant

10.以下哪個函數(shù)用于將一個整數(shù)轉(zhuǎn)換為字符串()。

A.inttostr

B.int2str

C.int2string

D.int2char

二、填空題(每空2分,共10分)

1.在C語言中,結(jié)構(gòu)體是一種用于存儲多個不同類型數(shù)據(jù)的數(shù)據(jù)類型,其關(guān)鍵字為__________。

2.在C語言中,函數(shù)是一種可以重復(fù)使用的代碼塊,其關(guān)鍵字為__________。

3.在C語言中,字符串是一種以__________結(jié)尾的字符序列。

4.在C語言中,數(shù)組的下標(biāo)是從__________開始的。

5.在C語言中,指針是一種可以存儲__________的變量。

6.在C語言中,函數(shù)的返回值類型由__________指定。

7.在C語言中,聲明一個二維數(shù)組的語法為__________。

8.在C語言中,聲明一個字符指針的語法為__________。

9.在C語言中,聲明一個函數(shù)指針的語法為__________。

10.在C語言中,聲明一個結(jié)構(gòu)體的語法為__________。

三、編程題(共20分)

1.編寫一個C語言程序,實現(xiàn)一個簡單的計算器,可以計算兩個整數(shù)的加、減、乘、除運算。

2.編寫一個C語言程序,實現(xiàn)一個字符串反轉(zhuǎn)功能。

3.編寫一個C語言程序,實現(xiàn)一個冒泡排序算法,對整數(shù)數(shù)組進行排序。

4.編寫一個C語言程序,實現(xiàn)一個查找算法,在整數(shù)數(shù)組中查找一個指定的元素。

5.編寫一個C語言程序,實現(xiàn)一個學(xué)生信息管理系統(tǒng),可以添加、刪除、修改和查詢學(xué)生信息。

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

1.C語言中的面向?qū)ο缶幊蹋∣OP)特性包括()。

A.封裝

B.繼承

C.多態(tài)

D.假設(shè)

E.多態(tài)性

2.以下哪些是C語言中結(jié)構(gòu)體的特點()。

A.可以包含不同數(shù)據(jù)類型的成員

B.可以進行成員訪問控制

C.結(jié)構(gòu)體成員的默認訪問權(quán)限是私有

D.結(jié)構(gòu)體可以包含靜態(tài)成員

E.結(jié)構(gòu)體不能包含函數(shù)

3.在C語言中,以下哪些是合法的數(shù)組聲明方式()。

A.intarr[10];

B.intarr[5][3];

C.intarr[3][5];

D.intarr[][]={{1,2,3},{4,5,6}};

E.intarr[10,20];

4.以下哪些是C語言中指針的特性()。

A.指針可以指向變量或數(shù)組的地址

B.指針可以改變其指向的地址

C.指針可以指向指針

D.指針本身不占用存儲空間

E.指針不能指向函數(shù)

5.以下哪些是C語言中函數(shù)的特性()。

A.函數(shù)可以返回值

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

C.函數(shù)可以調(diào)用其他函數(shù)

D.函數(shù)可以改變?nèi)肿兞康闹?/p>

E.函數(shù)必須定義在主函數(shù)中

6.以下哪些是C語言中字符串操作函數(shù)()。

A.strlen

B.strcpy

C.strcat

D.sprintf

E.printf

7.在C語言中,以下哪些是合法的函數(shù)參數(shù)傳遞方式()。

A.值傳遞

B.指針傳遞

C.數(shù)組傳遞

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

E.文件傳遞

8.以下哪些是C語言中結(jié)構(gòu)體指針的使用場景()。

A.訪問結(jié)構(gòu)體成員

B.修改結(jié)構(gòu)體成員

C.比較兩個結(jié)構(gòu)體

D.傳遞結(jié)構(gòu)體到函數(shù)

E.創(chuàng)建結(jié)構(gòu)體數(shù)組

9.以下哪些是C語言中枚舉(enum)的特點()。

A.枚舉類型可以包含整數(shù)值

B.枚舉類型可以包含字符值

C.枚舉類型的每個值都可以有一個名字

D.枚舉類型的值可以自動遞增

E.枚舉類型不能包含函數(shù)

10.以下哪些是C語言中靜態(tài)變量的特性()。

A.靜態(tài)變量在程序運行期間只初始化一次

B.靜態(tài)變量的作用域是全局的

C.靜態(tài)變量在函數(shù)調(diào)用結(jié)束后仍然存在

D.靜態(tài)變量可以跨文件訪問

E.靜態(tài)變量的值在每次函數(shù)調(diào)用時都會被重置

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

1.C語言中的結(jié)構(gòu)體成員默認是公有的。()

2.C語言中的指針變量可以指向函數(shù)的返回值。()

3.C語言中的數(shù)組名可以作為指針使用。()

4.C語言中的函數(shù)可以遞歸調(diào)用自身。()

5.C語言中的字符串可以使用下標(biāo)訪問。()

6.C語言中的結(jié)構(gòu)體可以包含另一個結(jié)構(gòu)體作為成員。()

7.C語言中的全局變量可以在任何函數(shù)內(nèi)部訪問。()

8.C語言中的靜態(tài)局部變量在整個程序運行期間只初始化一次。()

9.C語言中的位域可以用于優(yōu)化內(nèi)存使用。()

10.C語言中的預(yù)處理器指令不是編譯時執(zhí)行的。()

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

1.簡述C語言中結(jié)構(gòu)體和聯(lián)合體的區(qū)別。

2.解釋C語言中指針的概念及其在程序中的作用。

3.簡述C語言中函數(shù)參數(shù)的傳遞方式,并說明它們的優(yōu)缺點。

4.簡述C語言中數(shù)組的初始化方法和數(shù)組元素的訪問方式。

5.解釋C語言中靜態(tài)局部變量的作用域和生命周期。

6.簡述C語言中文件操作的基本步驟,包括打開、讀寫和關(guān)閉文件。

試卷答案如下

一、單項選擇題答案及解析:

1.D.可重用性(面向?qū)ο蟪绦蛟O(shè)計的特點不包括假設(shè)性)

2.A.class(C語言中沒有class關(guān)鍵字,用于定義類的是C++)

3.A.sum(arr,n)(計算平均值通常需要求和和除以元素個數(shù))

4.C.private(私有成員的訪問權(quán)限是受保護的,只能在類內(nèi)部訪問)

5.B.function(C語言中沒有function關(guān)鍵字,用于聲明函數(shù)的是int)

6.A.strcpy(strcpy用于復(fù)制字符串)

7.B.extern(C語言中extern用于聲明全局變量)

8.A.strlen(strlen用于獲取字符串長度)

9.A.const(C語言中const用于聲明常量)

10.B.inttostr(inttostr用于將整數(shù)轉(zhuǎn)換為字符串)

二、多項選擇題答案及解析:

1.A.封裝B.繼承C.多態(tài)D.假設(shè)E.多態(tài)性(OOP特性包括封裝、繼承、多態(tài),假設(shè)性和多態(tài)性是同義詞)

2.A.可以包含不同數(shù)據(jù)類型的成員B.可以進行成員訪問控制C.結(jié)構(gòu)體成員的默認訪問權(quán)限是私有D.結(jié)構(gòu)體可以包含靜態(tài)成員E.結(jié)構(gòu)體不能包含函數(shù)(結(jié)構(gòu)體可以包含不同數(shù)據(jù)類型的成員,可以進行訪問控制,靜態(tài)成員存在,但結(jié)構(gòu)體可以包含函數(shù))

3.A.intarr[10];B.intarr[5][3];C.intarr[3][5];D.intarr[][]={{1,2,3},{4,5,6}};E.intarr[10,20];(C語言中數(shù)組聲明方式包括一維和二維數(shù)組,但數(shù)組大小必須在聲明時確定)

4.A.指針可以指向變量或數(shù)組的地址B.指針可以改變其指向的地址C.指針可以指向指針D.指針本身不占用存儲空間E.指針不能指向函數(shù)(指針可以指向任何類型的變量或數(shù)組,可以改變指向,可以指向指針,不占用額外存儲空間,但不能指向函數(shù))

5.A.函數(shù)可以返回值B.函數(shù)可以沒有參數(shù)C.函數(shù)可以調(diào)用其他函數(shù)D.函數(shù)可以改變?nèi)肿兞康闹礒.函數(shù)必須定義在主函數(shù)中(函數(shù)可以返回值,可以沒有參數(shù),可以調(diào)用其他函數(shù),可以改變?nèi)肿兞康闹担瘮?shù)不一定必須定義在主函數(shù)中)

6.A.strlenB.strcpyC.strcatD.sprintfE.printf(strlen、strcpy、strcat和sprintf是字符串操作函數(shù),printf是格式化輸出函數(shù))

7.A.值傳遞B.指針傳遞C.數(shù)組傳遞D.結(jié)構(gòu)體傳遞E.文件傳遞(C語言中函數(shù)參數(shù)傳遞方式包括值傳遞、指針傳遞、數(shù)組傳遞、結(jié)構(gòu)體傳遞和文件傳遞)

8.A.訪問結(jié)構(gòu)體成員B.修改結(jié)構(gòu)體成員C.比較兩個結(jié)構(gòu)體D.傳遞結(jié)構(gòu)體到函數(shù)E.創(chuàng)建結(jié)構(gòu)體數(shù)組(結(jié)構(gòu)體指針可以用于訪問和修改結(jié)構(gòu)體成員,比較結(jié)構(gòu)體,傳遞結(jié)構(gòu)體到函數(shù),但不能直接創(chuàng)建結(jié)構(gòu)體數(shù)組)

9.A.枚舉類型可以包含整數(shù)值B.枚舉類型可以包含字符值C.枚舉類型的每個值都可以有一個名字D.枚舉類型的值可以自動遞增E.枚舉類型不能包含函數(shù)(枚舉類型可以包含整數(shù)值或字符值,每個值可以有一個名字,值可以自動遞增,但不能包含函數(shù))

10.A.靜態(tài)變量在程序運行期間只初始化一次B.靜態(tài)變量的作用域是全局的C.靜態(tài)變量在函數(shù)調(diào)用結(jié)束后仍然存在D.靜態(tài)變量可以跨文件訪問E.靜態(tài)變量的值在每次函數(shù)調(diào)用時都會被重置(靜態(tài)變量初始化一次,作用域是全局的,調(diào)用結(jié)束后仍然存在,可以跨文件訪問,但值不會在每次函數(shù)調(diào)用時重置)

三、判斷題答案及解析:

1.×(結(jié)構(gòu)體成員默認是公有的,而非私有的)

2.√(指針變量可以指向函數(shù)的返回值)

3.√(數(shù)組名可以作為指針使用)

4.√(函數(shù)可以遞歸調(diào)用自身)

5.√(字符串可以使用下標(biāo)訪問)

6.√(結(jié)構(gòu)體可以包含另一個結(jié)構(gòu)體作為成員)

7.√(全局變量可以在任何函數(shù)內(nèi)部訪問)

8.√(靜態(tài)局部變量在整個程序運行期間只初始化一次)

9.√(位域可以用于優(yōu)化內(nèi)存使用)

10.×(預(yù)處理器指令在預(yù)處理階段執(zhí)行,不是編譯時執(zhí)行)

四、簡答題答案及解析:

1.結(jié)構(gòu)體和聯(lián)合體的區(qū)別在于結(jié)構(gòu)體可以包含不同數(shù)據(jù)類型的成員,而聯(lián)合體中的所有成員共享同一塊內(nèi)存。

2.指針是一個變量,存儲了另一個變量的地址。指針在程序中的作用包括訪問和修改內(nèi)存中的數(shù)據(jù),以及實現(xiàn)數(shù)據(jù)結(jié)構(gòu)的動態(tài)分配和引用。

3.函數(shù)參數(shù)的傳遞方式包括值傳遞和引用傳遞。值傳遞是將實參的值復(fù)制給形參,引用傳

溫馨提示

  • 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論