浙大城市學(xué)院《C程序設(shè)計(jì)》2021-2022學(xué)年第一學(xué)期期末試卷_第1頁
浙大城市學(xué)院《C程序設(shè)計(jì)》2021-2022學(xué)年第一學(xué)期期末試卷_第2頁
浙大城市學(xué)院《C程序設(shè)計(jì)》2021-2022學(xué)年第一學(xué)期期末試卷_第3頁
浙大城市學(xué)院《C程序設(shè)計(jì)》2021-2022學(xué)年第一學(xué)期期末試卷_第4頁
浙大城市學(xué)院《C程序設(shè)計(jì)》2021-2022學(xué)年第一學(xué)期期末試卷_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

自覺遵守考場(chǎng)紀(jì)律如考試作弊此答卷無效密自覺遵守考場(chǎng)紀(jì)律如考試作弊此答卷無效密封線第1頁,共3頁浙大城市學(xué)院《C程序設(shè)計(jì)》

2021-2022學(xué)年第一學(xué)期期末試卷院(系)_______班級(jí)_______學(xué)號(hào)_______姓名_______題號(hào)一二三四總分得分一、單選題(本大題共35個(gè)小題,每小題1分,共35分.在每小題給出的四個(gè)選項(xiàng)中,只有一項(xiàng)是符合題目要求的.)1、假設(shè)在C語言中有如下代碼段

inta=5;int*p=&a;

,以下關(guān)于指針運(yùn)算的描述,正確的是:()A.

p+1

指向的是下一個(gè)整數(shù)的地址B.對(duì)指針進(jìn)行乘法運(yùn)算(如

p*2

)是合法的C.可以直接將兩個(gè)指針相加(如

p+p

)D.指針的減法運(yùn)算(如

p1-p2

)結(jié)果的單位是字節(jié)2、在C語言的文件操作中,以下關(guān)于文本文件和二進(jìn)制文件的描述,不準(zhǔn)確的是()A.文本文件以字符形式存儲(chǔ)數(shù)據(jù),便于閱讀和編輯B.二進(jìn)制文件存儲(chǔ)數(shù)據(jù)的效率比文本文件高,因?yàn)樗恍枰M(jìn)行字符轉(zhuǎn)換C.對(duì)文本文件和二進(jìn)制文件的讀寫操作使用的函數(shù)是完全相同的D.二進(jìn)制文件更適合存儲(chǔ)圖像、音頻等非文本數(shù)據(jù)3、若有定義:int*p,a=4;p=&a;以下均代表地址的是()A.a,pB.&a,&*pC.&a,pD.*p,&a4、以下C語言代碼段的輸出結(jié)果是什么?

inta=-1;unsignedintb=1;if(a<b)printf("Yes");elseprintf("No");

()A.YesB.NoC.不確定D.運(yùn)行時(shí)錯(cuò)誤5、C語言中的字符串比較函數(shù)

strcmp

用于比較兩個(gè)字符串。假設(shè)我們有兩個(gè)字符串

charstr1[]="Hello";

charstr2[]="HelloWorld";

,當(dāng)使用

strcmp(str1,str2)

進(jìn)行比較時(shí),結(jié)果是什么?()A.0(表示相等)B.負(fù)數(shù)(表示

str1

小于

str2

)C.正數(shù)(表示

str1

大于

str2

)D.不確定6、若有定義:charstr[20]="HelloWorld!";則strlen(str)的值是()A.11B.12C.20D.137、在C語言中,關(guān)于數(shù)組名作為函數(shù)參數(shù)的傳遞,假設(shè)定義了函數(shù)

voidmodifyArray(intarr[],intsize)

,以下關(guān)于數(shù)組參數(shù)傳遞的描述,哪一項(xiàng)是不準(zhǔn)確的?()A.數(shù)組名作為參數(shù)傳遞時(shí),實(shí)際上傳遞的是數(shù)組的首地址B.在函數(shù)內(nèi)部修改數(shù)組元素的值,會(huì)影響到調(diào)用函數(shù)中的數(shù)組C.函數(shù)無法通過參數(shù)獲取數(shù)組的實(shí)際大小,需要額外傳遞數(shù)組大小的參數(shù)D.數(shù)組名作為參數(shù)傳遞時(shí),會(huì)復(fù)制整個(gè)數(shù)組到函數(shù)內(nèi)部8、在C語言的內(nèi)存對(duì)齊中,以下關(guān)于結(jié)構(gòu)體內(nèi)存對(duì)齊的說法,不準(zhǔn)確的是()A.結(jié)構(gòu)體成員的存儲(chǔ)地址通常是其類型大小的整數(shù)倍B.為了提高內(nèi)存訪問效率,結(jié)構(gòu)體可能會(huì)進(jìn)行內(nèi)存填充C.可以通過#pragmapack指令來改變結(jié)構(gòu)體的內(nèi)存對(duì)齊方式D.結(jié)構(gòu)體內(nèi)存對(duì)齊對(duì)程序的性能沒有任何影響9、C語言中的文件操作可以實(shí)現(xiàn)對(duì)數(shù)據(jù)的持久存儲(chǔ)和讀取。假設(shè)要從一個(gè)文本文件中讀取數(shù)據(jù),以下關(guān)于文件操作的描述,哪一項(xiàng)是錯(cuò)誤的?()A.使用

fopen

函數(shù)以適當(dāng)?shù)哪J酱蜷_文件,如"r"表示只讀B.通過

fscanf

fgets

等函數(shù)從文件中讀取數(shù)據(jù)C.文件讀取完畢后,使用

fclose

關(guān)閉文件,否則可能會(huì)導(dǎo)致數(shù)據(jù)丟失D.對(duì)文件的讀寫操作是自動(dòng)緩沖的,無需手動(dòng)處理緩沖問題10、C語言中的類型轉(zhuǎn)換有隱式轉(zhuǎn)換和顯式轉(zhuǎn)換。假設(shè)定義了

intnum=5;floatfnum=3.14;

,以下關(guān)于類型轉(zhuǎn)換的描述,哪一項(xiàng)是錯(cuò)誤的?()A.進(jìn)行算術(shù)運(yùn)算時(shí),不同類型的變量會(huì)進(jìn)行隱式類型轉(zhuǎn)換B.顯式類型轉(zhuǎn)換使用強(qiáng)制類型轉(zhuǎn)換運(yùn)算符,可能導(dǎo)致數(shù)據(jù)精度丟失C.隱式類型轉(zhuǎn)換總是安全的,不會(huì)導(dǎo)致數(shù)據(jù)錯(cuò)誤D.盡量避免不必要的類型轉(zhuǎn)換,以防止?jié)撛诘腻e(cuò)誤11、若有定義:inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};則a[1][2]的值是()A.6B.7C.8D.012、若有定義:intx=3,y=2;則表達(dá)式x=(y++)+x的值是()A.5B.6C.7D.813、在C語言的結(jié)構(gòu)體嵌套和共用體中,以下關(guān)于共用體的描述,不正確的是()A.共用體的成員共用同一段內(nèi)存空間,同一時(shí)刻只能存儲(chǔ)其中一個(gè)成員的值B.共用體的大小等于其最大成員的大小C.可以對(duì)共用體的成員進(jìn)行初始化D.共用體常用于節(jié)省內(nèi)存空間或?qū)崿F(xiàn)某些特殊的數(shù)據(jù)存儲(chǔ)需求14、在C語言中,關(guān)于位運(yùn)算,若有

inta=5;intb=3;

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

a&b

的結(jié)果是7B.

a|b

的結(jié)果是3C.

~a

的結(jié)果是-6D.

a<<2

的結(jié)果是2015、在C語言中,關(guān)于循環(huán)結(jié)構(gòu)的使用是基本的編程技能。假設(shè)有以下代碼:

inti,sum=0;for(i=1;i<=10;i++){sum+=i;}

,以下關(guān)于這段循環(huán)的描述,正確的是:()A.循環(huán)執(zhí)行10次,

sum

的最終值為55B.循環(huán)執(zhí)行11次,

sum

的最終值為66C.循環(huán)執(zhí)行次數(shù)不確定,取決于運(yùn)行時(shí)的條件D.循環(huán)會(huì)無限執(zhí)行,因?yàn)闆]有正確的結(jié)束條件16、在C語言中,關(guān)于字符數(shù)組和字符串的處理是常見的操作。假設(shè)有一個(gè)字符數(shù)組

charstr[100]

,以下對(duì)于字符數(shù)組和字符串的描述,哪一項(xiàng)是不準(zhǔn)確的?()A.可以使用

strcpy

函數(shù)將一個(gè)字符串復(fù)制到字符數(shù)組中,但要確保數(shù)組有足夠的空間B.字符串是以'\0'作為結(jié)束標(biāo)志的,在處理字符串時(shí)需要注意這個(gè)特殊字符C.可以通過比較字符數(shù)組的地址來判斷兩個(gè)字符串是否相等D.字符數(shù)組可以存儲(chǔ)任意字符,包括不可打印字符17、以下能正確計(jì)算1+2+3+...+100的程序段是()A.inti,sum=0;for(i=1;i<=100;i++)sum+=i;B.inti=0,sum=0;while(i<=100){sum+=i;i++;}C.inti=1,sum=0;do{sum+=i;i++;}while(i<=100);D.以上都正確18、C語言中的文件操作可以實(shí)現(xiàn)數(shù)據(jù)的持久存儲(chǔ)和讀取。假設(shè)有一個(gè)文本文件

data.txt

,以下對(duì)于文件操作的描述,哪一項(xiàng)是不正確的?()A.可以使用

fopen

函數(shù)以不同的模式(如"r"表示讀,"w"表示寫)打開文件B.使用

fscanf

函數(shù)從文件中讀取數(shù)據(jù)時(shí),需要指定數(shù)據(jù)的格式C.文件讀寫完成后,不需要使用

fclose

函數(shù)關(guān)閉文件,系統(tǒng)會(huì)自動(dòng)處理D.對(duì)文件進(jìn)行寫入操作時(shí),如果文件不存在,

fopen

函數(shù)會(huì)自動(dòng)創(chuàng)建新文件19、在C語言中,關(guān)于指針的概念和使用是一個(gè)重要且復(fù)雜的部分。假設(shè)我們有以下代碼段:

inta=5;int*p=&a;

。以下關(guān)于指針

p

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

*p

的值為5,

p

存儲(chǔ)的是變量

a

的值B.

*p

的值為變量

a

的地址,

p

存儲(chǔ)的是5C.

*p

的值為5,

p

存儲(chǔ)的是變量

a

的地址D.

*p

的值為變量

a

的地址,

p

存儲(chǔ)的也是變量

a

的地址20、C語言中的類型轉(zhuǎn)換需要小心處理。假設(shè)有

floatf=3.14;inti=(int)f;

,那么

i

的值是多少?()A.3B.3.14C.4D.不確定21、在C語言中,若要將一個(gè)整數(shù)轉(zhuǎn)換為字符串,以下哪個(gè)函數(shù)是合適的?()A.itoa()B.sprintf()C.atoi()D.strtol()22、在C語言中,關(guān)于指針的使用,假設(shè)我們有一個(gè)整數(shù)變量

intnum=5;

,同時(shí)定義了一個(gè)指針

int*ptr=#

。以下關(guān)于指針操作的描述,哪一項(xiàng)是不正確的?()A.通過

*ptr

可以訪問

num

的值,并對(duì)其進(jìn)行修改B.可以將另一個(gè)整數(shù)變量的地址直接賦給

ptr

,而無需類型匹配C.對(duì)

ptr

進(jìn)行加減運(yùn)算,可以使其指向相鄰的內(nèi)存位置D.指針

ptr

本身也占據(jù)一定的內(nèi)存空間23、在C語言的預(yù)編譯條件判斷中,以下關(guān)于#ifdef、#ifndef和#endif的使用,錯(cuò)誤的是()A.#ifdef用于判斷某個(gè)標(biāo)識(shí)符是否已經(jīng)被定義,如果已定義則執(zhí)行相應(yīng)的代碼塊B.#ifndef用于判斷某個(gè)標(biāo)識(shí)符是否未被定義,如果未定義則執(zhí)行相應(yīng)的代碼塊C.可以在預(yù)編譯條件判斷中嵌套使用其他預(yù)編譯指令D.預(yù)編譯條件判斷只在編譯時(shí)起作用,對(duì)程序的運(yùn)行沒有影響24、以下C語言代碼段的輸出結(jié)果是多少?

inti;for(i=0;i<10;i++){if(i%2==0)continue;printf("%d",i);}

()A.13579B.02468C.123456789D.012345678925、在C語言的結(jié)構(gòu)體使用中,假設(shè)我們定義了一個(gè)結(jié)構(gòu)體

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

,并且創(chuàng)建了一個(gè)結(jié)構(gòu)體變量。如果要將這個(gè)結(jié)構(gòu)體變量作為函數(shù)參數(shù)傳遞,以下哪種方式效率更高并且能避免不必要的內(nèi)存復(fù)制?()A.按值傳遞B.按指針傳遞C.按引用傳遞(C語言中無引用)D.以上效率相同26、在C語言的指針運(yùn)算中,假設(shè)我們有一個(gè)指針

int*ptr

,并且它指向一個(gè)整數(shù)數(shù)組的某個(gè)元素。如果進(jìn)行

ptr+=2

的操作,指針會(huì)指向什么位置?()A.數(shù)組的下一個(gè)元素B.數(shù)組的第三個(gè)元素C.不確定的位置D.以上都不對(duì)27、假設(shè)有以下C語言代碼段:

int*p1,*p2;p1=(int*)malloc(sizeof(int));p2=p1;free(p2);

,此時(shí)

p1

指向的內(nèi)存是否已被釋放?()A.是B.否C.不確定D.以上都不對(duì)28、若有定義

inta[5]={1,2,3,4,5};

,則

a[1]

的值是()A.0B.1C.2D.329、C語言中的函數(shù)可以遞歸調(diào)用自身。假設(shè)有以下遞歸函數(shù)定義:

intfactorial(intn){if(n==0||n==1)return1;elsereturnn*factorial(n-1);}

,調(diào)用

factorial(5)

,以下關(guān)于函數(shù)返回值的描述,正確的是:()A.5B.15C.120D.程序會(huì)產(chǎn)生運(yùn)行時(shí)錯(cuò)誤,因?yàn)檫f歸次數(shù)過多30、在C語言中,關(guān)于指針的算術(shù)運(yùn)算,假設(shè)有以下代碼:

intarr[5]={10,20,30,40,50};int*ptr=arr;ptr+=2;

,以下關(guān)于指針

ptr

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

ptr

指向數(shù)組的第3個(gè)元素B.

*ptr

的值為20C.

ptr

的值為

arr+2

的地址D.以上都不正確31、若有定義:inta=3,b=2,c=1;,則表達(dá)式a-b>c的值為()A.0B.1C.2D.-132、假設(shè)我們有一個(gè)C語言程序,其中包含多個(gè)函數(shù)。在函數(shù)內(nèi)部定義的局部變量和在函數(shù)外部定義的全局變量,它們的存儲(chǔ)區(qū)域分別是什么?()A.局部變量在棧上,全局變量在堆上B.局部變量在堆上,全局變量在靜態(tài)存儲(chǔ)區(qū)C.局部變量在棧上,全局變量在靜態(tài)存儲(chǔ)區(qū)D.以上都不對(duì)33、以下C語言代碼段中,

sizeof

操作符的返回值是多少?

charstr[]="Hello";

()A.5B.6C.10D.不確定34、在以下C語言代碼中:

intarr[]={5,3,1,7,2};int*p=arr;

,執(zhí)行

qsort(arr,sizeof(arr)/sizeof(arr[0]),sizeof(int),compare);

(假設(shè)

compare

函數(shù)已正確定義),排序完成后,

*p

的值是多少?()A.1B.2C.3D.535、若有定義:inta[3][2]={{1},{2,3}};則a[2][1]的值是()A.0B.1C.2D.3二、判斷題(本大題共10小題,每小題2分,共20分.有多個(gè)選項(xiàng)是符合題目要求的.)1、在C語言中,使用strncpy函數(shù)可以指定復(fù)制字符串的長度,避免緩沖區(qū)溢出的風(fēng)險(xiǎn)。()2、

const

修飾的指針變量不能通過解引用修改所指向的值。()3、

inta;scanf("%f",&a);

,這樣的輸入格式是錯(cuò)誤的,因?yàn)轭愋筒黄ヅ?。(?、C語言中的文件指針用于標(biāo)識(shí)文件在內(nèi)存中的位置和狀態(tài),通過文件指針可以對(duì)文件進(jìn)行各種操作。()5、在C

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論