北京郵電大學(xué)《C高級(jí)語(yǔ)言程序設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷_第1頁(yè)
北京郵電大學(xué)《C高級(jí)語(yǔ)言程序設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷_第2頁(yè)
北京郵電大學(xué)《C高級(jí)語(yǔ)言程序設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷_第3頁(yè)
北京郵電大學(xué)《C高級(jí)語(yǔ)言程序設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷_第4頁(yè)
北京郵電大學(xué)《C高級(jí)語(yǔ)言程序設(shè)計(jì)》2023-2024學(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)介

學(xué)校________________班級(jí)____________姓名____________考場(chǎng)____________準(zhǔn)考證號(hào)學(xué)校________________班級(jí)____________姓名____________考場(chǎng)____________準(zhǔn)考證號(hào)…………密…………封…………線…………內(nèi)…………不…………要…………答…………題…………第2頁(yè),共2頁(yè)北京郵電大學(xué)《C高級(jí)語(yǔ)言程序設(shè)計(jì)》

2023-2024學(xué)年第一學(xué)期期末試卷題號(hào)一二三四總分得分批閱人一、單選題(本大題共15個(gè)小題,每小題1分,共15分.在每小題給出的四個(gè)選項(xiàng)中,只有一項(xiàng)是符合題目要求的.)1、C語(yǔ)言中的字符串處理是常見的操作。假設(shè)定義了兩個(gè)字符串

charstr1[]="Hello";

char*str2="World";

,以下關(guān)于字符串操作的描述,哪一項(xiàng)是錯(cuò)誤的?()A.可以使用

strcpy

函數(shù)將一個(gè)字符串復(fù)制到另一個(gè)字符串B.可以使用

strcmp

函數(shù)比較兩個(gè)字符串的大小C.字符串以

'\0'

作為結(jié)束標(biāo)志D.對(duì)字符串指針進(jìn)行加減運(yùn)算,可以直接操作字符串的內(nèi)容2、在C語(yǔ)言的函數(shù)調(diào)用中,參數(shù)傳遞的方式有值傳遞和地址傳遞。假設(shè)有以下函數(shù)定義:

voidswap(int*a,int*b){inttemp=*a;*a=*b;*b=temp;}

,以及主函數(shù)中的調(diào)用

intx=3,y=5;swap(&x,&y);

。以下關(guān)于函數(shù)

swap

的作用,正確的是:()A.函數(shù)

swap

不能交換

x

y

的值,因?yàn)槭侵祩鬟fB.函數(shù)

swap

可以交換

x

y

的值,并且這種交換在主函數(shù)中是有效的C.函數(shù)

swap

可以交換

x

y

的值,但這種交換只在函數(shù)內(nèi)部有效,主函數(shù)中的

x

y

值不變D.函數(shù)

swap

會(huì)導(dǎo)致程序運(yùn)行錯(cuò)誤,因?yàn)橹羔樀氖褂貌徽_3、C語(yǔ)言中的

typedef

關(guān)鍵字常用于為數(shù)據(jù)類型定義新的名稱。假設(shè)我們有

typedefintINTEGER;

,以下關(guān)于

INTEGER

的使用,哪一個(gè)是正確的?()A.

INTEGERa=5;

等價(jià)于

inta=5;

B.

INTEGER

不能用于聲明數(shù)組C.

INTEGER

不能作為函數(shù)的返回類型D.以上都不對(duì)4、以下C語(yǔ)言代碼段的輸出結(jié)果是什么?intnum=5;int*ptr=#*ptr=10;printf("%d",num);()A.5B.10C.0D.程序報(bào)錯(cuò)5、設(shè)有以下語(yǔ)句:charstr1[]="string",str2[8],*str3,*str4="string";則()是對(duì)庫(kù)函數(shù)strcpy的不正確調(diào)用。A.strcpy(str2,"hello");B.strcpy(str3,"hello");C.strcpy(str1,"hello");D.strcpy(str4,"hello");6、在C語(yǔ)言中,關(guān)于字符串的比較,假設(shè)有

charstr1[]="hello";charstr2[]="hello";

,使用

strcmp(str1,str2)

比較的結(jié)果是什么?()A.0B.1C.-1D.不確定7、在C語(yǔ)言中,關(guān)于文件操作,若以只讀方式打開一個(gè)文本文件,以下哪個(gè)函數(shù)調(diào)用是正確的?()A.

fp=fopen("file.txt","w");

B.

fp=fopen("file.txt","r");

C.

fp=fopen("file.txt","a");

D.

fp=fopen("file.txt","rb");

8、若有定義:floata[3]={1.2,2.3,3.4};則a[1]的值是()A.1.2B.2.3C.3.4D.09、C語(yǔ)言中的類型轉(zhuǎn)換需要注意數(shù)據(jù)的精度和范圍。假設(shè)有以下代碼:

floatf=3.14;inti=(int)f;

,以下關(guān)于變量

i

的值,正確的是:()A.

i

的值為3B.

i

的值為3.14C.

i

的值為4D.程序會(huì)產(chǎn)生運(yùn)行時(shí)錯(cuò)誤,因?yàn)轭愋娃D(zhuǎn)換不正確10、在C語(yǔ)言中,關(guān)于字符數(shù)組和字符串的初始化,以下代碼:

charstr1[10]="Hello";charstr2[]="World";

,哪個(gè)數(shù)組的長(zhǎng)度是不確定的?()A.

str1

B.

str2

C.兩者長(zhǎng)度都不確定D.兩者長(zhǎng)度都確定11、C語(yǔ)言中的類型轉(zhuǎn)換需要小心處理。假設(shè)有

floatf=3.14;inti=(int)f;

,那么

i

的值是多少?()A.3B.3.14C.4D.不確定12、若有定義:structstudent{intnum;charname[20];}s;則以下對(duì)成員num的正確引用是()A.student.numB.s.numC.s->numD.(*s).num13、在C語(yǔ)言的函數(shù)指針使用中,假設(shè)我們定義了一個(gè)函數(shù)指針

int(*func_ptr)(int,int);

,并且有兩個(gè)函數(shù)

intadd(inta,intb){returna+b;}

intsubtract(inta,intb){returna-b;}

,如何通過(guò)函數(shù)指針調(diào)用這兩個(gè)函數(shù)?()A.直接使用函數(shù)名調(diào)用B.將函數(shù)名賦值給函數(shù)指針,然后通過(guò)函數(shù)指針調(diào)用C.無(wú)法通過(guò)函數(shù)指針調(diào)用D.以上都不對(duì)14、對(duì)于C語(yǔ)言中的宏定義,假設(shè)有

#defineSQUARE(x)x*x

,然后在代碼中使用

intresult=SQUARE(2+3);

result

的值會(huì)是多少?()A.25B.11C.10D.不確定15、在C語(yǔ)言的預(yù)處理器指令中,

#define

用于定義常量和宏。假設(shè)定義了

#definePI3.14

#defineSQUARE(x)(x*x)

,以下關(guān)于預(yù)處理器指令的描述,哪一項(xiàng)是不正確的?()A.在程序中使用

PI

就相當(dāng)于使用3.14B.宏

SQUARE(x)

在展開時(shí)會(huì)進(jìn)行參數(shù)的替換和表達(dá)式的計(jì)算C.預(yù)處理器指令在編譯前進(jìn)行處理,會(huì)改變?cè)创a的結(jié)構(gòu)D.宏定義中的參數(shù)不需要指定數(shù)據(jù)類型二、判斷題(本大題共15小題,每小題2分,共30分.有多個(gè)選項(xiàng)是符合題目要求的.)1、在C語(yǔ)言中,不同文件中的全局變量可以重名,只要它們不在同一個(gè)作用域內(nèi)。()2、在C語(yǔ)言中,

memset

函數(shù)用于將一段內(nèi)存區(qū)域設(shè)置為指定的值。()3、C語(yǔ)言中,typedef定義的新類型名可以省略類型名。()4、C語(yǔ)言中的位域可以將一個(gè)結(jié)構(gòu)體中的成員按照位進(jìn)行存儲(chǔ),從而節(jié)省存儲(chǔ)空間。()5、C語(yǔ)言中,字符串常量在內(nèi)存中存儲(chǔ)時(shí)會(huì)自動(dòng)加上'\0'結(jié)束符。()6、在C語(yǔ)言中,聯(lián)合體的大小等于其最大成員的大小。()7、在C語(yǔ)言中,一個(gè)函數(shù)可以沒(méi)有形式參數(shù),例如

voidmyFunction(){//函數(shù)體}

。()8、在C語(yǔ)言中,函數(shù)的形參和實(shí)參在類型、數(shù)量和順序上必須一致。()9、在C語(yǔ)言中,靜態(tài)變量在函數(shù)調(diào)用結(jié)束后其值會(huì)被保留。()10、C語(yǔ)言中的函數(shù)可以沒(méi)有返回值,如果沒(méi)有返回值則默認(rèn)返回值類型為void。()11、C語(yǔ)言里,若有函數(shù)聲明

intcalculate(inta,intb);

,在主函數(shù)中調(diào)用此函數(shù)時(shí),參數(shù)的傳遞順序和聲明中的參數(shù)順序可以不一致。()12、在C語(yǔ)言中,函數(shù)的遞歸調(diào)用會(huì)占用大量的內(nèi)存空間,可能會(huì)導(dǎo)致棧溢出。()13、C語(yǔ)言中,fscanf函數(shù)用于從文件讀取格式化的數(shù)據(jù)。()14、C語(yǔ)言中的宏定義在編譯時(shí)會(huì)被展開,不會(huì)進(jìn)行語(yǔ)法檢查。()15、C語(yǔ)言中的

const

關(guān)鍵字用于修飾變量時(shí),該變量的值就不能被修改,但如果是通過(guò)指針間接訪問(wèn),仍然可以修改其值。()三、編程題(本大題共5個(gè)小題,共25分)1、(本題5分)編寫一個(gè)C語(yǔ)言程序,輸入一個(gè)整數(shù)數(shù)組,找出其中所有相鄰元素乘積最大的對(duì),并輸出乘積。2、(本題5分)寫一個(gè)C程序,計(jì)算用戶輸入的整數(shù)數(shù)組中所有奇數(shù)元素的平方和。3、(本題5分)設(shè)計(jì)一個(gè)C程序,輸入一個(gè)字符串,將其中的數(shù)字和字母分別提取出來(lái),組成兩個(gè)新的字符串并輸出。4、(本題5分)編寫一個(gè)C語(yǔ)言程序,實(shí)現(xiàn)兩個(gè)有序鏈表的合并,合并后的鏈表依然有序,并輸出合并后的鏈表。5、(本題5分)設(shè)計(jì)一個(gè)C程序,輸入一個(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)論