浙大城市學(xué)院《C程序設(shè)計(jì)基礎(chǔ)與實(shí)驗(yàn)》2021-2022學(xué)年第一學(xué)期期末試卷_第1頁(yè)
浙大城市學(xué)院《C程序設(shè)計(jì)基礎(chǔ)與實(shí)驗(yàn)》2021-2022學(xué)年第一學(xué)期期末試卷_第2頁(yè)
浙大城市學(xué)院《C程序設(shè)計(jì)基礎(chǔ)與實(shí)驗(yàn)》2021-2022學(xué)年第一學(xué)期期末試卷_第3頁(yè)
浙大城市學(xué)院《C程序設(shè)計(jì)基礎(chǔ)與實(shí)驗(yàn)》2021-2022學(xué)年第一學(xué)期期末試卷_第4頁(yè)
浙大城市學(xué)院《C程序設(shè)計(jì)基礎(chǔ)與實(shí)驗(yàn)》2021-2022學(xué)年第一學(xué)期期末試卷_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

裝訂線裝訂線PAGE2第1頁(yè),共3頁(yè)浙大城市學(xué)院《C程序設(shè)計(jì)基礎(chǔ)與實(shí)驗(yàn)》

2021-2022學(xué)年第一學(xué)期期末試卷院(系)_______班級(jí)_______學(xué)號(hào)_______姓名_______題號(hào)一二三四總分得分批閱人一、單選題(本大題共15個(gè)小題,每小題1分,共15分.在每小題給出的四個(gè)選項(xiàng)中,只有一項(xiàng)是符合題目要求的.)1、C語(yǔ)言中的位域(BitField)可以用于節(jié)省內(nèi)存空間。假設(shè)有以下定義:

struct{unsignedintflag1:1;unsignedintflag2:2;}flags;

,以下關(guān)于位域的描述,正確的是:()A.整個(gè)結(jié)構(gòu)體

flags

占用4個(gè)字節(jié)的內(nèi)存空間B.可以對(duì)

flag1

flag2

進(jìn)行單獨(dú)的位操作C.位域的順序和內(nèi)存分配順序一定相同D.位域不能作為函數(shù)的參數(shù)傳遞2、C語(yǔ)言中的結(jié)構(gòu)體為我們提供了一種將不同類型數(shù)據(jù)組合在一起的方式。假設(shè)有如下結(jié)構(gòu)體定義:

structStudent{intid;charname[20];floatscore;};

,以下關(guān)于結(jié)構(gòu)體變量的使用,正確的是:()A.可以直接將一個(gè)結(jié)構(gòu)體變量賦值給另一個(gè)結(jié)構(gòu)體變量,如

structStudents1,s2;s1=s2;

B.要訪問(wèn)結(jié)構(gòu)體成員

score

,可以使用

s1.score

的方式,其中

s1

是結(jié)構(gòu)體變量名C.結(jié)構(gòu)體變量在內(nèi)存中是連續(xù)存儲(chǔ)其成員的,并且成員的存儲(chǔ)順序與定義順序相反D.結(jié)構(gòu)體的大小就是其所有成員大小的總和,不包含任何額外的內(nèi)存開銷3、對(duì)于以下C語(yǔ)言代碼:

inta=10,b=20;int*p1=&a,*p2=&b;*p1=*p2;

,執(zhí)行完上述操作后,

a

的值是多少?()A.10B.20C.不確定D.運(yùn)行時(shí)錯(cuò)誤4、在C語(yǔ)言中,若有定義

int*p;

,以下操作合法的是()A.

*p=10;

B.

p=10;

C.

p=&10;

D.

*p=&10;

5、在C語(yǔ)言中,若有函數(shù)聲明

voidf(int*p)

,調(diào)用該函數(shù)時(shí),以下傳遞參數(shù)的方式正確的是:()A.

f(5)

B.

f(&5)

C.

f(int*q)

D.

f(&a)

(其中

inta;

)6、若有定義:charstr[20]="HelloWorld";,則strlen(str)的值為()A.11B.12C.19D.207、在C語(yǔ)言中,設(shè)有以下數(shù)組定義

intarr[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

,那么

arr[1][2]

的值是多少?()A.5B.6C.7D.88、在C語(yǔ)言中,關(guān)于函數(shù)指針的定義和使用,假設(shè)有以下代碼:

int(*funcPtr)(int,int);

,以下關(guān)于函數(shù)指針的描述,正確的是:()A.這是一個(gè)指向返回值為

int

,有兩個(gè)

int

類型參數(shù)的函數(shù)的指針B.這是一個(gè)返回值為指針,參數(shù)為兩個(gè)

int

的函數(shù)聲明C.這是一個(gè)錯(cuò)誤的函數(shù)指針定義,C語(yǔ)言中不允許這樣定義D.這是一個(gè)指向

int

類型數(shù)組的指針9、假設(shè)在C語(yǔ)言中有以下代碼

typedefintINT;

,以下描述正確的是:()A.

INT

int

是完全不同的類型B.可以使用

INTa,b;

來(lái)定義變量C.

typedef

定義的新類型不能用于函數(shù)參數(shù)和返回值類型D.

typedef

只是給已有類型起了一個(gè)別名,不會(huì)創(chuàng)建新的類型10、在C語(yǔ)言中,關(guān)于函數(shù)的默認(rèn)返回值類型,如果沒(méi)有明確指定,默認(rèn)是什么類型?()A.

void

B.

int

C.

float

D.沒(méi)有默認(rèn)類型,必須指定11、C語(yǔ)言中的預(yù)處理指令可以實(shí)現(xiàn)條件編譯。假設(shè)有以下代碼:

#ifdefDEBUGprintf("Debugginginformation\n");#endif

,如果在編譯時(shí)沒(méi)有定義

DEBUG

宏,以下輸出結(jié)果正確的是:()A.輸出"Debugginginformation"B.不輸出任何內(nèi)容C.程序會(huì)產(chǎn)生編譯錯(cuò)誤D.輸出結(jié)果不確定,取決于編譯器的設(shè)置12、若有定義:inta[3][4]={{1,2},{3,4},{5,6}};則a[1][1]的值是()A.1B.2C.3D.413、設(shè)有以下C語(yǔ)言程序段:

inta=5,b=6,c;c=a>b?a:b;

,變量

c

的值最終是多少?()A.5B.6C.0D.不確定14、C語(yǔ)言中的自增(

++

)和自減(

--

)運(yùn)算符需要注意運(yùn)算順序。假設(shè)有

inta=5;intb=++a;

,那么

b

的值是多少?()A.5B.6C.7D.不確定15、C語(yǔ)言中,若有以下代碼段

uniondata{inti;floatf;};uniondatad;

,以下描述正確的是:()A.聯(lián)合體

data

的大小是其成員大小的總和B.可以同時(shí)給聯(lián)合體的多個(gè)成員賦值C.在同一時(shí)刻,聯(lián)合體中只有一個(gè)成員的值是有效的D.聯(lián)合體成員的訪問(wèn)方式與結(jié)構(gòu)體相同二、判斷題(本大題共10小題,每小題2分,共20分.有多個(gè)選項(xiàng)是符合題目要求的.)1、在C語(yǔ)言中,

volatile

關(guān)鍵字用于修飾變量,以防止編譯器對(duì)該變量進(jìn)行優(yōu)化。()2、在C語(yǔ)言中,指針的類型決定了它可以指向的數(shù)據(jù)類型以及對(duì)指向的數(shù)據(jù)進(jìn)行操作的方式。()3、在C語(yǔ)言中,

setbuf

函數(shù)可以設(shè)置文件的緩沖區(qū)類型和大小。()4、在C語(yǔ)言中,使用fscanf函數(shù)讀取格式化數(shù)據(jù)時(shí),如果輸入不匹配會(huì)導(dǎo)致錯(cuò)誤。()5、C語(yǔ)言中的字符串處理函數(shù)strcspn()可以計(jì)算一個(gè)字符串中不包含指定字符集的連續(xù)字符的長(zhǎng)度。()6、C語(yǔ)言中的文件可以以文本模式或二進(jìn)制模式打開,對(duì)于文本文件和二進(jìn)制文件的讀寫操作方式有所不同。()7、

static

修飾的局部變量在函數(shù)調(diào)用結(jié)束后其值會(huì)被重置。()8、C語(yǔ)言中的全局變量可以在程序的任何地方被訪問(wèn)和修改。()9、C語(yǔ)言中的共用體成員的地址是相同的,即共用體的所有成員共享同一塊內(nèi)存空間。()10、在C語(yǔ)言中,

break

語(yǔ)句不僅可以用于

switch

語(yǔ)句,還可以用于跳出循環(huán)語(yǔ)句。()三、論述題(本大題共5個(gè)小題,共25分)1、(本題5分)探討C語(yǔ)言中如何處理不同文件格式的解析(如CSV、XML等)。2、(本題5分)論述在C語(yǔ)言中,如何使用深度優(yōu)先搜索算法遍歷圖和樹,分析深度優(yōu)先搜索的遞歸和非遞歸實(shí)現(xiàn)方式,以及在不同問(wèn)題中的應(yīng)用。3、(本題5分)論述在C語(yǔ)言中,如何利用動(dòng)態(tài)內(nèi)存分配和鏈表實(shí)現(xiàn)一個(gè)動(dòng)態(tài)數(shù)組,支持元素的添加和刪除。4、(本題5分)探討C語(yǔ)言中如何使用結(jié)構(gòu)體和指針實(shí)現(xiàn)鏈表的旋轉(zhuǎn)操作。5、(本題5分)詳細(xì)論述C語(yǔ)言中如何進(jìn)行指針運(yùn)算以訪問(wèn)數(shù)組中的特定元素。四、編程題(本大題共4個(gè)小題,共40分)1、(本題10分)編寫C程序,輸入一個(gè)正整數(shù)n,計(jì)算并輸出1到n之間所有數(shù)的正弦值之和。2、(本題10分)編寫一個(gè)C程序,使用二維數(shù)組模擬一個(gè)矩

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論