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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(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ì)》2021-2022學(xué)年第一學(xué)期期末試卷院(系)_______班級(jí)_______學(xué)號(hào)_______姓名_______題號(hào)一二三四總分得分批閱人一、單選題(本大題共35個(gè)小題,每小題1分,共35分.在每小題給出的四個(gè)選項(xiàng)中,只有一項(xiàng)是符合題目要求的.)1、假設(shè)我們有一個(gè)C語言程序,需要在不同的操作系統(tǒng)上運(yùn)行。在進(jìn)行代碼編寫時(shí),需要考慮哪些與操作系統(tǒng)相關(guān)的差異?()A.文件路徑的表示方式B.線程和進(jìn)程的管理方式C.內(nèi)存分配和釋放的方式D.以上都是2、C語言中的循環(huán)結(jié)構(gòu)是實(shí)現(xiàn)重復(fù)操作的重要手段。假設(shè)有一個(gè)

for

循環(huán)

for(inti=0;i<10;i++)

,以下對(duì)于循環(huán)結(jié)構(gòu)的描述,哪一項(xiàng)是不準(zhǔn)確的?()A.循環(huán)條件

i<10

在每次循環(huán)開始時(shí)都會(huì)被判斷,如果條件不滿足則循環(huán)結(jié)束B.可以在循環(huán)體內(nèi)使用

continue

語句直接開始下一次循環(huán),跳過本次循環(huán)剩余的代碼C.循環(huán)變量

i

的作用域僅限于循環(huán)體內(nèi),在循環(huán)體外無法訪問D.循環(huán)可以嵌套使用,內(nèi)層循環(huán)會(huì)先執(zhí)行完所有的迭代,然后外層循環(huán)才會(huì)進(jìn)行下一次迭代3、C語言中的字符串常量存儲(chǔ)在只讀的內(nèi)存區(qū)域。假設(shè)定義了

char*str="Hello"

,以下關(guān)于字符串常量的描述,哪一項(xiàng)是錯(cuò)誤的?()A.試圖修改字符串常量的內(nèi)容會(huì)導(dǎo)致運(yùn)行時(shí)錯(cuò)誤B.可以通過指針來操作字符串常量C.字符串常量在程序結(jié)束后會(huì)自動(dòng)釋放內(nèi)存D.多個(gè)相同的字符串常量在內(nèi)存中只有一份副本4、若有定義:inta[5]={1,2,3,4,5},*p=a;則以下不能表示數(shù)組元素a[3]的是()A.p[3]B.*(p+3)C.*(a+3)D.a+35、以下能正確計(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.以上都正確6、若有定義: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.0000007、設(shè)有以下C語言函數(shù):

intfun(intn){if(n<=0)return0;elsereturnn+fun(n-1);}

,調(diào)用

fun(5)

的返回值是多少?()A.5B.10C.15D.不確定8、以下C語言代碼段的輸出結(jié)果是多少?

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

()A.13579B.02468C.123456789D.01234567899、在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");

10、C語言中的位運(yùn)算可以對(duì)二進(jìn)制位進(jìn)行操作,實(shí)現(xiàn)一些特殊的功能。假設(shè)有兩個(gè)整數(shù)

inta=5;intb=3;

,以下對(duì)于位運(yùn)算的描述,哪一項(xiàng)是不準(zhǔn)確的?()A.

a&b

執(zhí)行按位與操作,結(jié)果是1B.

a|b

執(zhí)行按位或操作,結(jié)果是7C.

a^b

執(zhí)行按位異或操作,結(jié)果是6D.

~a

執(zhí)行按位取反操作,結(jié)果是-6,并且取反后的數(shù)在所有位上的值都與原數(shù)相反11、對(duì)于以下C語言結(jié)構(gòu)體定義

structpoint{intx;inty;};

,創(chuàng)建兩個(gè)該結(jié)構(gòu)體變量

structpointp1,p2;

,以下哪種方式可以正確地比較它們的

x

坐標(biāo)是否相等?()A.

if(p1.x==p2.x)

B.

if(p1==p2)

C.

if(&p1.x==&p2.x)

D.以上都不對(duì)12、設(shè)有定義:intx=10,y=20,z=30;以下語句執(zhí)行后,x、y、z的值是()if(x>y)z=x;x=y;y=z;A.x=10,y=20,z=30B.x=20,y=30,z=30C.x=20,y=30,z=10D.x=20,y=30,z=2013、在C語言的預(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ù)類型14、在C語言中,關(guān)于枚舉類型(enum)的使用,假設(shè)有以下定義:

enumColor{RED,GREEN,BLUE};

,以下關(guān)于枚舉類型的描述,正確的是:()A.枚舉常量

RED

、

GREEN

BLUE

的值分別為0、1、2B.可以直接將整數(shù)賦值給枚舉變量C.枚舉類型的變量占用的內(nèi)存空間與

int

類型相同D.不能對(duì)枚舉類型進(jìn)行比較操作15、若有定義:chars[10]="program";則以下不能將字符串"language"賦給數(shù)組s的語句是()A.strcpy(s,"language");B.strncpy(s,"language",8);C.s="language";D.memcpy(s,"language",8);16、若有定義:charstr[20]="HelloWorld!";則strlen(str)的值是()A.11B.12C.20D.1317、在C語言的復(fù)雜數(shù)據(jù)類型中,以下關(guān)于指針數(shù)組和數(shù)組指針的說法,不準(zhǔn)確的是()A.指針數(shù)組是一個(gè)數(shù)組,其元素都是指針B.數(shù)組指針是指向一個(gè)數(shù)組的指針C.指針數(shù)組和數(shù)組指針在內(nèi)存中的存儲(chǔ)方式相同D.在使用指針數(shù)組和數(shù)組指針時(shí),需要注意指針的運(yùn)算和數(shù)組的下標(biāo)操作18、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)處理緩沖問題19、若有定義:inta[5]={1,2,3,4,5},*p=a;,以下不能表示數(shù)組元素a[3]的是()A.*(a+3)B.p[3]C.*(p+3)D.a[3]20、以下C語言代碼段的輸出結(jié)果是什么?intx=5;if(x>3&&x<8)printf("Yes");elseprintf("No");()A.YesB.NoC.程序報(bào)錯(cuò)D.無輸出21、在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ù)22、若有定義:inta[][3]={1,2,3,4,5,6};則數(shù)組a的第一維大小是()A.2B.3C.4D.不確定23、C語言中的文件讀寫操作可以處理不同類型的數(shù)據(jù)。假設(shè)要從一個(gè)二進(jìn)制文件中讀取一個(gè)整數(shù),以下哪個(gè)函數(shù)是合適的?()A.

fscanf

B.

fprintf

C.

fread

D.

fwrite

24、在C語言中,若要打開一個(gè)文本文件進(jìn)行讀操作,以下哪個(gè)函數(shù)是正確的?()A.fopen("file.txt","r");B.fopen("file.txt","w");C.fopen("file.txt","a");D.fopen("file.txt","rb");25、C語言中的文件讀寫模式有多種,如只讀、只寫、讀寫等。假設(shè)要以讀寫方式打開一個(gè)文件,以下關(guān)于文件模式的描述,哪一項(xiàng)是錯(cuò)誤的?()A.使用

fopen("file.txt","r+")

可以以讀寫方式打開一個(gè)文本文件B.在讀寫模式下,可以同時(shí)進(jìn)行讀取和寫入操作C.讀寫模式下,文件指針的初始位置在文件開頭D.以讀寫模式打開一個(gè)不存在的文件會(huì)導(dǎo)致錯(cuò)誤26、在C語言的函數(shù)指針使用中,假設(shè)我們定義了一個(gè)函數(shù)指針

int(*func_ptr)(int,int);

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

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

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

,如何通過函數(shù)指針調(diào)用這兩個(gè)函數(shù)?()A.直接使用函數(shù)名調(diào)用B.將函數(shù)名賦值給函數(shù)指針,然后通過函數(shù)指針調(diào)用C.無法通過函數(shù)指針調(diào)用D.以上都不對(duì)27、C語言中,對(duì)于以下代碼:

typedefstruct{intx;inty;}point;

,以下說法正確的是?()A.創(chuàng)建了一個(gè)名為

point

的變量B.定義了一個(gè)新的數(shù)據(jù)類型

point

C.以上都不對(duì)D.聲明了一個(gè)結(jié)構(gòu)體指針

point

28、在C語言中,關(guān)于函數(shù)的參數(shù)傳遞,假設(shè)有函數(shù)

voidmodify(int*p){*p=100;}

,在主函數(shù)中有

intnum=5;modify(&num);

,那么

num

的值會(huì)變成多少?()A.5B.100C.不確定D.程序出錯(cuò)29、在C語言中,關(guān)于

switch

語句,以下代碼:

intnum=2;switch(num){case1:printf("One");break;case2:printf("Two");break;default:printf("Default");}

,輸出結(jié)果是什么?()A.OneB.TwoC.DefaultD.程序會(huì)出錯(cuò)30、在C語言中,關(guān)于結(jié)構(gòu)體的嵌套使用,假設(shè)定義了結(jié)構(gòu)體

structPoint{intx;inty;};

structRectangle{structPointtopLeft;structPointbottomRight;};

以下關(guān)于結(jié)構(gòu)體嵌套的描述,哪一項(xiàng)是不準(zhǔn)確的?()A.可以通過嵌套結(jié)構(gòu)體來構(gòu)建更復(fù)雜的數(shù)據(jù)結(jié)構(gòu)B.訪問嵌套結(jié)構(gòu)體的成員需要使用多個(gè)成員訪問運(yùn)算符C.嵌套結(jié)構(gòu)體的內(nèi)存布局是連續(xù)的D.對(duì)嵌套結(jié)構(gòu)體的成員進(jìn)行賦值和操作與普通結(jié)構(gòu)體成員相同31、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ù)過多32、在C語言中,若有定義

int*p;

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

*p=10;

B.

p=10;

C.

p=&10;

D.

*p=&10;

33、在C語言中,若要按照特定格式讀取文件中的數(shù)據(jù),以下哪個(gè)函數(shù)是適用的?()A.fscanf()B.fread()C.fgets()D.getc()34、在C語言中,若要將一個(gè)整數(shù)轉(zhuǎn)換為字符串,以下哪個(gè)函數(shù)是合適的?()A.itoa()B.sprintf()C.atoi()D.strtol()35、設(shè)有以下C語言代碼段:

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

,在主函數(shù)中有

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

,調(diào)用

swap

函數(shù)后,

x

y

的值發(fā)生了怎樣的變化?()A.

x

變?yōu)?0,

y

變?yōu)?B.

x

變?yōu)?,

y

變?yōu)?0C.

x

y

的值不變D.程序會(huì)出錯(cuò)二、判斷題(本大題共10小題,每小題2分,共20分.有多個(gè)選項(xiàng)是符合題目要求的.)1、在C語言中,函數(shù)的形參是指針時(shí),實(shí)參也必須是指針。()2、在C語言的遞歸函數(shù)中,如果沒有設(shè)置合理的終止條件,函數(shù)會(huì)無限遞歸調(diào)用,導(dǎo)致程序崩潰,但不會(huì)造成系統(tǒng)死機(jī)。()3、在C語言中,數(shù)組名作為函數(shù)參數(shù)傳遞時(shí),在函數(shù)內(nèi)部對(duì)數(shù)組的修改會(huì)影響到原數(shù)組。()4、在C語言中,使

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論