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

下載本文檔

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

文檔簡介

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

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

structBook{chartitle[50];intprice;};

structBook*ptr;

,以下關(guān)于結(jié)構(gòu)體指針的描述,哪一項是不準確的?()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)系是一個復雜但重要的概念。假設我們有一個整型數(shù)組

intarr[10]

,同時有一個整型指針

int*ptr

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

voidf(int*p)

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

f(5)

B.

f(&5)

C.

f(int*q)

D.

f(&a)

(其中

inta;

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

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

,使用

strcmp

函數(shù)比較這兩個字符串,返回值是什么?()A.0B.1C.-1D.不確定5、若有定義:inta=7;floatx=2.5,y=4.7;則表達式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ù)類型定義新的名稱。假設我們有

typedefintINTEGER;

,以下關(guān)于

INTEGER

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

INTEGERa=5;

等價于

inta=5;

B.

INTEGER

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

INTEGER

不能作為函數(shù)的返回類型D.以上都不對9、在C語言中,關(guān)于循環(huán)結(jié)構(gòu)的使用是基本的編程技能。假設有以下代碼:

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ù)不確定,取決于運行時的條件D.循環(huán)會無限執(zhí)行,因為沒有正確的結(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

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

arr

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

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

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

func(a=1,b=2);

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

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

,則

a[1]

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

fscanf

B.

fprintf

C.

fread

D.

fwrite

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

floatf=3.14;inti=(int)f;

,那么

i

的值是多少?()A.3B.3.14C.4D.不確定16、在C語言中,關(guān)于文件操作,若以只讀方式打開一個文本文件,以下哪個函數(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、設有定義:inta[5]={1,2,3,4,5},*p=a;,則不能表示數(shù)組a中元素的是()A.*aB.*pC.a[0]D.p[5]18、C語言中的自增(

++

)和自減(

--

)運算符需要注意運算順序。假設有

inta=5;intb=++a;

,那么

b

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

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

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

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

,現(xiàn)在要將數(shù)組的每個元素都乘以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)存空間。假設定義了

unionData{intnum;floatfnum;};

以下關(guān)于聯(lián)合體的描述,哪一項是錯誤的?()A.在同一時刻,聯(lián)合體只能存儲其中一個成員的值B.聯(lián)合體的大小取決于其最大成員的大小C.可以通過不同的成員名來訪問和修改聯(lián)合體中的值D.聯(lián)合體常用于節(jié)省內(nèi)存空間,當不同類型的數(shù)據(jù)不會同時使用時24、C語言中的類型轉(zhuǎn)換有隱式轉(zhuǎn)換和顯式轉(zhuǎn)換。假設定義了

intnum=5;floatfnum=3.14;

,以下關(guān)于類型轉(zhuǎn)換的描述,哪一項是錯誤的?()A.進行算術(shù)運算時,不同類型的變量會進行隱式類型轉(zhuǎn)換B.顯式類型轉(zhuǎn)換使用強制類型轉(zhuǎn)換運算符,可能導致數(shù)據(jù)精度丟失C.隱式類型轉(zhuǎn)換總是安全的,不會導致數(shù)據(jù)錯誤D.盡量避免不必要的類型轉(zhuǎn)換,以防止?jié)撛诘腻e誤25、C語言中,對于函數(shù)聲明

voidfun(inta[],intn)

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

n

用于指定數(shù)組

a

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

a

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

s1

復制到字符串

s2

的是()A.

s2=s1;

B.

strcpy(s2,s1);

C.

s2=strcpy(s1);

D.

strcpy(s1,s2);

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

#ifdef

、

#ifndef

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

#defineDEBUG

,然后在代碼中有

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

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

structpoint{intx;inty;}p1,p2;

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

p1=p2;

直接將

p2

的值賦給

p1

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

feof

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

typedef

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

typedef

重新定義。()3、

inta[5]={0};

,數(shù)組

a

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

ungetc

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

溫馨提示

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

評論

0/150

提交評論