華北理工大學(xué)《C語言》2020-2021學(xué)年第一學(xué)期期末試卷_第1頁
華北理工大學(xué)《C語言》2020-2021學(xué)年第一學(xué)期期末試卷_第2頁
華北理工大學(xué)《C語言》2020-2021學(xué)年第一學(xué)期期末試卷_第3頁
華北理工大學(xué)《C語言》2020-2021學(xué)年第一學(xué)期期末試卷_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

站名:站名:年級(jí)專業(yè):姓名:學(xué)號(hào):凡年級(jí)專業(yè)、姓名、學(xué)號(hào)錯(cuò)寫、漏寫或字跡不清者,成績(jī)按零分記?!堋狻€…………第1頁,共1頁華北理工大學(xué)

《C語言》2020-2021學(xué)年第一學(xué)期期末試卷題號(hào)一二三四總分得分批閱人一、單選題(本大題共30個(gè)小題,每小題1分,共30分.在每小題給出的四個(gè)選項(xiàng)中,只有一項(xiàng)是符合題目要求的.)1、在C語言中,關(guān)于結(jié)構(gòu)體指針的使用,假設(shè)定義了結(jié)構(gòu)體

structBook{chartitle[50];intprice;};

structBook*ptr;

,以下關(guān)于結(jié)構(gòu)體指針的描述,哪一項(xiàng)是不準(zhǔn)確的?()A.可以通過

ptr->title

訪問結(jié)構(gòu)體成員B.結(jié)構(gòu)體指針可以指向結(jié)構(gòu)體數(shù)組的元素C.使用結(jié)構(gòu)體指針可以更高效地操作結(jié)構(gòu)體數(shù)據(jù)D.結(jié)構(gòu)體指針本身的大小與結(jié)構(gòu)體的大小相同2、在C語言中,關(guān)于指針和數(shù)組的關(guān)系是一個(gè)復(fù)雜但重要的概念。假設(shè)我們有一個(gè)整型數(shù)組

intarr[10]

,同時(shí)有一個(gè)整型指針

int*ptr

。以下對(duì)于指針和數(shù)組關(guān)系的描述,哪一項(xiàng)是不準(zhǔn)確的?()A.數(shù)組名可以看作是一個(gè)指向數(shù)組首元素的常量指針B.可以通過指針來遍歷數(shù)組的元素,就像通過數(shù)組下標(biāo)一樣C.對(duì)指針進(jìn)行加減運(yùn)算時(shí),移動(dòng)的步長(zhǎng)取決于指針?biāo)赶虻臄?shù)據(jù)類型的大小D.數(shù)組和指針在內(nèi)存中的存儲(chǔ)方式完全相同,沒有任何區(qū)別3、在C語言中,若有函數(shù)聲明

voidf(int*p)

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

f(5)

B.

f(&5)

C.

f(int*q)

D.

f(&a)

(其中

inta;

)4、設(shè)有以下C語言代碼:

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

,使用

strcmp

函數(shù)比較這兩個(gè)字符串,返回值是什么?()A.0B.1C.-1D.不確定5、若有定義:inta=7;floatx=2.5,y=4.7;則表達(dá)式x+a%3*(int)(x+y)%2/4的值是()A.2.500000B.2.750000C.3.500000D.0.0000006、若有定義:charstr[20]="HelloWorld!";則strlen(str)的值是()A.11B.12C.20D.137、在C語言中,若有函數(shù)聲明

intfun(inta,floatb);

,以下調(diào)用正確的是()A.

fun(1.5,2);

B.

fun(1,2.5);

C.

fun(1,2);

D.

fun(1.5,2.5);

8、C語言中的

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ì)9、在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é)束條件10、在C語言中,關(guān)于數(shù)組作為函數(shù)參數(shù)的傳遞,以下代碼片段:

voidmodifyArray(intarr[],intsize){arr[0]=10;}intmain(){intarr[]={1,2,3};modifyArray(arr,3);

,以下關(guān)于數(shù)組

arr

的變化,正確的是:()A.數(shù)組

arr

的內(nèi)容沒有變化B.數(shù)組

arr

的第一個(gè)元素變?yōu)?0,其他元素不變C.數(shù)組

arr

的所有元素都變?yōu)?0D.程序會(huì)產(chǎn)生運(yùn)行時(shí)錯(cuò)誤,因?yàn)閿?shù)組參數(shù)傳遞不正確11、C語言中,若有函數(shù)定義

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

,以下關(guān)于函數(shù)調(diào)用的描述,正確的是:()A.調(diào)用該函數(shù)時(shí),實(shí)參和形參的類型必須完全一致B.函數(shù)的返回值可以不被接收C.可以通過

func(a=1,b=2);

的方式進(jìn)行調(diào)用D.函數(shù)調(diào)用時(shí),參數(shù)傳遞都是值傳遞12、若有定義

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

,則

a[1]

的值是()A.0B.1C.2D.313、C語言中的文件讀寫操作可以處理不同類型的數(shù)據(jù)。假設(shè)要從一個(gè)二進(jìn)制文件中讀取一個(gè)整數(shù),以下哪個(gè)函數(shù)是合適的?()A.

fscanf

B.

fprintf

C.

fread

D.

fwrite

14、假設(shè)我們有一個(gè)C語言程序,其中包含多個(gè)函數(shù)。在函數(shù)內(nèi)部定義的局部變量和在函數(shù)外部定義的全局變量,它們的存儲(chǔ)區(qū)域分別是什么?()A.局部變量在棧上,全局變量在堆上B.局部變量在堆上,全局變量在靜態(tài)存儲(chǔ)區(qū)C.局部變量在棧上,全局變量在靜態(tài)存儲(chǔ)區(qū)D.以上都不對(duì)15、C語言中的類型轉(zhuǎn)換需要小心處理。假設(shè)有

floatf=3.14;inti=(int)f;

,那么

i

的值是多少?()A.3B.3.14C.4D.不確定16、在C語言中,關(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");

17、設(shè)有定義:inta[5]={1,2,3,4,5},*p=a;,則不能表示數(shù)組a中元素的是()A.*aB.*pC.a[0]D.p[5]18、C語言中的自增(

++

)和自減(

--

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

inta=5;intb=++a;

,那么

b

的值是多少?()A.5B.6C.7D.不確定19、在C語言中,關(guān)于靜態(tài)變量,設(shè)有函數(shù)

voidfun(){staticintcount=0;count++;printf("%d",count);}

,連續(xù)調(diào)用該函數(shù)3次,輸出結(jié)果是什么?()A.123B.012C.111D.00020、若有定義:inta=5,b=3;則表達(dá)式a/b的值是()A.1B.1.666667C.1.0D.221、C語言中的數(shù)組操作經(jīng)常被考查。假設(shè)有一個(gè)整數(shù)數(shù)組

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

,現(xiàn)在要將數(shù)組的每個(gè)元素都乘以2,以下哪種循環(huán)方式是正確且高效的?()A.

for(inti=0;i<5;i++)arr[i]*=2;

B.

for(inti=0;i<=5;i++)arr[i]*=2;

C.

for(inti=1;i<5;i++)arr[i]*=2;

D.

for(inti=1;i<=5;i++)arr[i]*=2;

22、在C語言中,若有定義

int*p;

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

*p=10;

B.

p=10;

C.

p=&10;

D.

*p=&10;

23、C語言中的聯(lián)合體(

union

)可以讓不同類型的變量共享同一塊內(nèi)存空間。假設(shè)定義了

unionData{intnum;floatfnum;};

以下關(guān)于聯(lián)合體的描述,哪一項(xiàng)是錯(cuò)誤的?()A.在同一時(shí)刻,聯(lián)合體只能存儲(chǔ)其中一個(gè)成員的值B.聯(lián)合體的大小取決于其最大成員的大小C.可以通過不同的成員名來訪問和修改聯(lián)合體中的值D.聯(lián)合體常用于節(jié)省內(nèi)存空間,當(dāng)不同類型的數(shù)據(jù)不會(huì)同時(shí)使用時(shí)24、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ò)誤25、C語言中,對(duì)于函數(shù)聲明

voidfun(inta[],intn)

,以下關(guān)于函數(shù)參數(shù)的描述,正確的是:()A.在函數(shù)內(nèi)部修改數(shù)組元素的值,不會(huì)影響主調(diào)函數(shù)中的數(shù)組B.形參

n

用于指定數(shù)組

a

的長(zhǎng)度,其值在函數(shù)內(nèi)不可改變C.數(shù)組

a

實(shí)際上是以指針的形式傳遞給函數(shù)的D.函數(shù)無法返回?cái)?shù)組26、在C語言中,以下能正確將字符串

s1

復(fù)制到字符串

s2

的是()A.

s2=s1;

B.

strcpy(s2,s1);

C.

s2=strcpy(s1);

D.

strcpy(s1,s2);

27、C語言中的條件編譯指令(如

#ifdef

、

#ifndef

)可以根據(jù)條件決定代碼的編譯。假設(shè)有

#defineDEBUG

,然后在代碼中有

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

,會(huì)輸出什么?()A.輸出"Debuggingmode"B.不輸出任何內(nèi)容C.編譯錯(cuò)誤D.不確定28、對(duì)于C語言中的文件操作,若要判斷文件是否成功關(guān)閉,以下哪個(gè)函數(shù)是可用的?()A.feof()B.ferror()C.fclose()D.以上都不是29、若有定義:floatx=1.5;inty;,則以下表達(dá)式的值為1的是()A.(int)xB.(int)(x+y)C.(int)x+yD.x+(int)y30、假設(shè)在C語言中有以下代碼段

structpoint{intx;inty;}p1,p2;

,以下關(guān)于結(jié)構(gòu)體變量賦值的描述,正確的是:()A.可以使用

p1=p2;

直接將

p2

的值賦給

p1

B.結(jié)構(gòu)體變量之間不能相互賦值C.只能逐個(gè)成員進(jìn)行賦值,不能整體賦值D.賦值時(shí)會(huì)自動(dòng)進(jìn)行類型轉(zhuǎn)換二、判斷題(本大題共10小題,每小題2分,共20分.有多個(gè)選項(xiàng)是符合題目要求的.)1、C語言中的

feof

函數(shù)用于判斷文件是否到達(dá)末尾。()2、

typedef

定義的新類型名可以再次使用

typedef

重新定義。()3、

inta[5]={0};

,數(shù)組

a

的所有元素都被初始化為0。()4、C語言中的指針可以進(jìn)行比較運(yùn)算,比較的是指針?biāo)赶虻膬?nèi)存地址的大小。()5、在C語言中,使用指針可以實(shí)現(xiàn)對(duì)數(shù)組的遍歷,比使用下標(biāo)訪問更加高效。()6、C語言中的枚舉類型中的枚舉常量實(shí)際上是整數(shù),并且可以進(jìn)行整數(shù)運(yùn)算。()7、在C語言中,使用feof函數(shù)判斷文件是否結(jié)束時(shí),需要先進(jìn)行讀操作。()8、當(dāng)在C語言中定義一個(gè)函數(shù)時(shí),函數(shù)的返回值類型可以是任意有效的數(shù)據(jù)類型,包括基本數(shù)據(jù)類型和自定義的數(shù)據(jù)類型,如果函數(shù)不需要返回值,則可以將返回值類型定義為void。()9、在C語言中,

ungetc

函數(shù)用于將一個(gè)字符放回輸入流。()10、在C語言中,使用fscanf函數(shù)讀取數(shù)據(jù)時(shí),如果格式不匹配,可能會(huì)導(dǎo)致錯(cuò)誤的結(jié)果。()三、編程題(本大題共4個(gè)小題,共20分)1、(本題5分)編寫一個(gè)C語言程序,輸入一個(gè)整數(shù)n,計(jì)算并輸出n以內(nèi)(包括n)所有能被2整除或能被3整除的數(shù)的立方根之和。2、(本題5分)編寫C程序,輸入一個(gè)整數(shù)n,計(jì)算并輸出n以內(nèi)所有阿姆斯特朗數(shù)(阿姆斯特朗數(shù)是指一個(gè)n位

溫馨提示

  • 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)論