C語言程序設(shè)計(jì)期末考試卷及答案_第1頁
C語言程序設(shè)計(jì)期末考試卷及答案_第2頁
C語言程序設(shè)計(jì)期末考試卷及答案_第3頁
C語言程序設(shè)計(jì)期末考試卷及答案_第4頁
C語言程序設(shè)計(jì)期末考試卷及答案_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、-第-2-裝-線-班級(jí) 姓名 學(xué)號(hào) -第-1-裝-線- C語言程序設(shè)計(jì)期末考試卷及答案得分閱卷人復(fù)核人一、單項(xiàng)選擇題。從A、B、C、D四個(gè)選項(xiàng)中,選擇一個(gè)最佳答案填入括號(hào)內(nèi)( 每小題1分,共計(jì)30分)。1一個(gè)C語言程序的執(zhí)行是從( )。A)本程序文件的第一個(gè)函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束B)本程序的main函數(shù)開始,到main函數(shù)結(jié)束C)本程序的main函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束D)本程序文件的第一個(gè)函數(shù)開始,到本程序的main函數(shù)結(jié)束2下列選項(xiàng)中不屬于C語言關(guān)鍵字的是( )。A)switch B)printf C)default D)case3設(shè)有語句 int a =

2、 4; ,則執(zhí)行了語句 a += a -= a * a; 后,變量a的值是( )。A)24 B) -24 C)4 D)16 4已知int i;float d;,則正確的表達(dá)式是( )。A)(int d) B)int(d)%i C)(int)d%i D)int(d%i)5已知int i,a;,執(zhí)行語句i=(a=3*9,a/5),a+11; 后,變量i的值是( )。A)5 B)16 C)27 D)386下列選項(xiàng)中合法的字符型常量是( )。A)a B)n C)n D)a7下面程序的運(yùn)行結(jié)果是( )。 #include void main( ) int k = 15; printf(k = %d,k

3、= %o,k = %xn,k,k,k);A)k = 15,k = 15,k = 15 B)k = 15,k = 17,k = 17 C)k = 15,k = 017,k = 0xf D)k = 15,k = 17,k = f8已知a,b,c為int類型,執(zhí)行語句:scanf(%d%d%d,&a,&b,&c);使得a為10,b為20,c為30,以下不正確的輸入形式是( )。A)10 B)10 C)10,20,30 D)10 2020 20 30 30309已知int x=1,y=2,z=3;,執(zhí)行下列程序段后,輸出的結(jié)果是( )。if(xy) z=x;x=y;y=z; printf(%d,%d,

4、%d,x,y,z); A)1,2,3 B)2,3,3 C)2,3,1 D)2,3,210若變量c為char類型,能正確判斷出c為大寫字母的表達(dá)式是( )。A)A=c=Z B)(A=c)|(c=Z) C)(A=c)&(c=Z) D)(A=c)&(c=Z)11有以下程序段:int k=0;while(k=1) k+; while循環(huán)執(zhí)行的次數(shù)是( )。 A)無限次 B)有語法錯(cuò),不能執(zhí)行 C)一次也不執(zhí)行 D)執(zhí)行1次12以下程序的輸出結(jié)果是( )。void main( )int x=1,a=0,b=0; switch(x) case 0:b+; case 1:a+; case 2:a+;b+;

5、printf(a=%d,b=%d,a,b);A)a=1,b=0 B)a=1,b=1 C)a=2,b=1 D)a=2,b=2 13若有定義int i = 1;,執(zhí)行語句while ( i 10 ) i+; 后,i的值為( )。A)9 B)10 C)11 D)1214有說明語句int a =1,2,3,4,5;,則數(shù)組a包括了( )個(gè)元素。A)10 B)5 C)6 D)不確定15以下程序段執(zhí)行后,輸出結(jié)果是( )。char str=abcn012n;printf(%d,strlen(str);A)5 B)6 C)7 D)1316若有以下定義:float t54;,能正確引用t數(shù)組元素的表達(dá)式是(

6、)。A)t14 B)t50C)t00 D)t0,0 17執(zhí)行下列程序段:int i,s = 0;int a 3 = 1,2,3,4,5,6;for ( i = 0;i b?a:b); 并將其放在主調(diào)函數(shù)之后,則在調(diào)用之前應(yīng)該對該函數(shù)進(jìn)行聲明,以下選項(xiàng)中錯(cuò)誤的聲明是( )。A) float max( float a,b ); B) float max( float ,float );C) float max( float a ,float b ); D) float max( float x ,float y );23要使函數(shù)體內(nèi)的某局部變量能保留函數(shù)前一次調(diào)用后的值,供下一次調(diào)用時(shí)繼續(xù)使用,該

7、變量的存儲(chǔ)類型應(yīng)是( )。A) auto B) extern C) static D) register24類型相同的兩個(gè)指針變量之間不能進(jìn)行的運(yùn)算是( )。A)+ B)- C)= D)=25若有說明語句:int i, x34 ;,則不能將x11的值賦值給變量i的語句是( )。A)i = *( *( x + 1 ) + 1 ); B)i = x11; C)i = *( *( x + 1 ) ); D)i = *( x1 + 1 );26有如下程序段:int a6 = 1,2,3,4,5,6 ;int m,*ptr;ptr = &a0;m = ( *ptr )*( *( ptr + 2 ) )

8、*( *( ptr + 4 ) );執(zhí)行該程序段后,m的值為( )。A) 15 B)48 C)24 D)827設(shè)有定義:enum team my,your=4,his,her = his+10;則枚舉元素my、your、his、her的值分別是( )。A)0 1 2 3 B)0 4 0 10 C)0 4 5 15 D)1 4 5 1528下面程序的運(yùn)行結(jié)果是( )。union myunstruct int x,y,z; u; int k;a;void main( ) a.u.x = 4; a.u.y = 5; a.u.z = 6; a.k = 0;printf(%dn,a.u.x);A)4 B

9、)0 C)5 D)629表達(dá)式11 & 18的值是( )。A)0 B)1 C)2 D)2730當(dāng)順利執(zhí)行了文件關(guān)閉操作后,fclose函數(shù)的返回值是( )。A) 0 B)true C) -1 D) 1得分閱卷人復(fù)核人二、填空題(每小題2分,共計(jì)20分)。1C語言源程序編譯后生成 程序,然后經(jīng)過連接生成可執(zhí)行程序。2實(shí)型常量有兩種表示方法:小數(shù)形式和 。3rewind函數(shù)的功能是 。4. 若ch是字符型變量,與ch=getchar();功能相同的語句是 。5以下程序段要使指針變量p指向一個(gè)整型的動(dòng)態(tài)存儲(chǔ)單元,請?zhí)羁?。int * p;p= malloc(sizeof(int); 6已知:int *

10、p,a = 2,b = 1;,則執(zhí)行程序段p = &a;a = *p + b; 后,a的值為 。 7已知:int x = 1, y = 2, z;,則執(zhí)行z = x y ? +x : +y;后,z的值為 。8當(dāng)執(zhí)行下面程序且輸入:ABC時(shí),輸出的結(jié)果是 。#include void main( ) char ss10 =12345; gets(ss);printf(“%sn”,ss);9下面程序的功能是用函數(shù)的遞歸調(diào)用求n!(n1),請?zhí)羁?。float f(int n) if (n=1) return(1);else return ( );void main( ) int n; scanf(%

11、d,&n); printf(%.0fn,f(n);10以下程序執(zhí)行后的輸出結(jié)果是 。void main( ) int a = 3,b = 1,t; t = ( a 2 ) | b; printf(%dn,t ); 得分閱卷人復(fù)核人三、程序閱讀題(每小題4分,共計(jì)20分)。1以下程序執(zhí)行后的輸出結(jié)果是 。#include void main( )int i;for ( i = 1;i 5;i+ ) putchar(#);2. 以下程序執(zhí)行后的輸出結(jié)果是 。void main( ) int arr10=-1,2,3,4,-5,6,7,-8,9,0,i,k = 0; for ( i = 0;i 10

12、;i + ) if(arri0) k+; printf(%dn,k );3以下程序執(zhí)行后的輸出結(jié)果是 。void fun(int a10)int i,j,t; for (i=0;i9;i+) for (j=0;jaj+1) t=aj;aj=aj+1;aj+1=t; void main( )int i; int a10=4,3,5,1,0,8,2,6,7,9; fun(a); for (i=0;i10;i+) printf(%3d,ai); printf(n); 4以下程序執(zhí)行后的輸出結(jié)果是 。#include struct stu int x; int *y;*p;int a2 = 10,20

13、;struct stu aa2 = 150,&a0,250,&a1;void main( ) p = aa; printf(%dn,(+p)- x ); 5以下程序執(zhí)行后的輸出結(jié)果是 。void swap( int *p1 ,int *p2) int k; k = *p1; *p1 = *p2; *p2 = k;void main( ) int a = 3,b = 6,*x = &a,*y = &b; swap( x,y ); printf(%d,%dn,*x,*y ); 得分閱卷人復(fù)核人四、程序改錯(cuò)題(共2小題,每正確修改一處錯(cuò)誤得2分,共計(jì)10分)。注意:不得增行或刪行,寫出改正后的程序行

14、,使之能夠得出正確的結(jié)果。1下列程序的功能是計(jì)算數(shù)列1,3,5,2n-1,的前n項(xiàng)之和,其中n由鍵盤輸入。void main( )int s=0,n,i=1; scanf(%d,n); /* 1)該行有錯(cuò)誤*/ do s=s+i; i=i+2; while (i2*n-1); /* 2)該行有錯(cuò)誤*/ printf(s=%dn,s);2下列給定的程序中,函數(shù)average的功能是:求10個(gè)數(shù)的平均值。#include float average(float *array) int i; float aver,sum; /* 1)該行有錯(cuò)誤*/ for (i=0;i10;i+) sum=arra

15、yi; /* 2)該行有錯(cuò)誤*/ aver=sum/10; return(aver);void main( ) float data10,aver; int i; printf(Please input 10 data:n); for (i=0;i10;i+) scanf(%f,&datai); aver=average(data0); /* 3)該行有錯(cuò)誤*/ printf(averege data is %5.2fn,aver);得分閱卷人復(fù)核人五、程序設(shè)計(jì)題(共3小題,第1小題6分,第2、3小題各7分,共20分)。1輸入x,計(jì)算并輸出下列分段函數(shù)y的值(結(jié)果保留2位小數(shù))。2在一個(gè)已排序

16、的整型數(shù)組(設(shè)從小到大)中,插入一個(gè)整數(shù),使之仍然有序(要求數(shù)組中原有的10個(gè)整數(shù)從鍵盤按順序輸入)。3請先編寫一個(gè)函數(shù)concat(char str1 ,char str2 ),實(shí)現(xiàn)兩個(gè)字符串的連接(注意不要用strcat函數(shù));再編寫一個(gè)main( )函數(shù)進(jìn)行測試:在主函數(shù)中輸入兩個(gè)字符串,然后調(diào)用concat函數(shù),最后將連接后的字符串輸出。參考答案一、單項(xiàng)選擇題。從A、B、C、D四個(gè)選項(xiàng)中,選擇一個(gè)最佳答案填入括號(hào)內(nèi)( 每小題1分,共30分,錯(cuò)選、漏選、多選均不得分)。12345678910BBBCABDCBD11121314151617181920ACBBCCACBD212223242

17、52627282930DACACACBCA得分閱卷人復(fù)核人二、填空題(每小題2分,共20分,錯(cuò)填、漏填均不得分)。題 號(hào)12345答 案目標(biāo)指數(shù)形式使文件的位置指針返回到文件頭scanf(“%c”,&ch);(int *)題 號(hào)678910答 案33ABCn*f(n-1)13得分閱卷人復(fù)核人三、程序閱讀題(每小題4分,共20分)題 號(hào)12345答 案#3 0 1 2 3 4 5 6 7 8 9 2506,3說明:對于程序閱讀題,如果該題考生所給出的答案僅僅是書寫格式上的錯(cuò)誤,沒有其它方面錯(cuò)誤,扣1分,否則該題不得分。得分閱卷人復(fù)核人四、程序改錯(cuò)題(共2小題,每正確修改一處錯(cuò)誤得2分,共計(jì)10分

18、)。注意:不得增行或刪行,寫出改正后的程序行,使之能夠得出正確的結(jié)果。1. 1)scanf(%d,&n);2)while (i=2*n-1);2. 1)float aver,sum=0;2)sum=sum+arrayi; (或者改為sum+=arrayi; 、sum=sum+*(array+i); 、sum+= *(array+i);sum=sum+(*(array+i);也正確)3)aver=average(data); (或者改為aver=average(&data0); 也正確)得分閱卷人復(fù)核人五、程序設(shè)計(jì)題(共3小題,第1小題6分,第2、3小題各7分,共20分)評分總則:若考生給出的程序語法正確,符合要求,能夠?qū)崿F(xiàn)具體功能,即可得滿分;若程序存在錯(cuò)誤,不能得出正確結(jié)果,閱卷教師酌情給分,給分方法參考下列評分標(biāo)準(zhǔn)。1)源程序代碼

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論