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

下載本文檔

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

文檔簡介

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

2、witchB) printf C )- - defaultD) case- -3設(shè)有語句inta=4; ,則執(zhí)行了語句- - a+=a-=a*a; 后,變量a 的值是()。- -A) 24B) -24C) 4 D) 16- -4已知inti;floatd; ,則正確的表達(dá)- - 式是()。-A) (intd)B ) int(d)%iC ) (int)d%iD )int(d%i)5 已 知 inti,a; , 執(zhí) 行 語 句i=(a=3*9,a/5),a+11; 后,變量i 的值是()。A) 5B) 16C) 27D)386 下列選項(xiàng)中合法的字符型常量是()。A) "a"B)

3、 'n'7下面程序的運(yùn)行結(jié)果是()。#include<stdio.h>voidmain()intk=15;printf("k=%d,k=%o,k=%xn",k,k,k);A) k=15,k=15,k=15B ) k=15,k=17,k=17C) k=15,k=017,k=0xfD ) 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) 10B) 1

4、0C) 10,20,30D ) 102020203030309 已知intx=1,y=2,z=3; ,執(zhí)行下列程序段后,輸出的結(jié)果是()。if(x>y)z=x;x=y;y=z;printf("%d,%d,%d",x,y,z);A) 1,2,3B) 2,3,3C) 2,3,1 D) 2,3,210若變量c 為 char 類型,能正確判斷出 c 為大寫字母的表達(dá)式是()。A )'A'<=c<='Z'B)('A'<=c)|(c<='Z')C) (A<=c)&&(c&

5、lt;=Z)D)('A'<=c)&&(c<='Z')11有以下程序段:intk=0;while(k=1)k+;while 循環(huán)執(zhí)行的次數(shù)是()。A)無限次B)有語法錯,不能執(zhí)行C)一次也不執(zhí)行D)執(zhí)行1 次12以下程序的輸出結(jié)果是()。voidmain()intx=1,a=0,b=0;switch(x)case0:b+;case1:a+;case2:a+;b+;printf("a=%d,b=%d",a,b);A) a=1,b=0B) a=1,b=113 若 有 定 義inti=1;, 執(zhí) 行 語 句while(i&

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

7、,5,6;for(i=0;i<3;i+)s=s+aii;則 s 的值是()。A) 5B)6C)12D) 2118 下述對字符數(shù)組的描述中,錯誤的C) a=2是()。 ,b=1D) a=2,b=2A)字符數(shù)組可以存放字符串8) 字符數(shù)組中的字符串可以整體輸入輸出C)可以在賦值語句中通過賦值運(yùn)算符“=”對字符數(shù)組整體賦值D)不可以用關(guān)系運(yùn)算符對字符數(shù)組23 要使函數(shù)體內(nèi)的某局部變量能保19 設(shè)有宏定義#defineY(x) ( x) +2,則下面程序段的運(yùn)行結(jié)果是()。inta=2,b=2,c=1;printf("%dn",a*Y(b+c);A) 7B) 8C) 9D)

8、1020若用數(shù)組名作為函數(shù)調(diào)用的實(shí)參,傳遞給形參的是()。A)數(shù)組的長度C)數(shù)組中全部元素的值21下面敘述中,不正確的是()。A) 在不同的函數(shù)中可以使用相同名字的變量B)函數(shù)中的形式參數(shù)是局部變量C) 在一個函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效D)在一個函數(shù)內(nèi)的復(fù)合語句中定義的變量在本函數(shù)范圍內(nèi)有效22若在程序中定義了以下函數(shù):floatmax(floata,floatb)return(a>b?a:b);并將其放在主調(diào)函數(shù)之后,則在調(diào)用之前應(yīng)該對該函數(shù)進(jìn)行聲明,以下選項(xiàng)中錯誤的聲明是()。A)floatmax(floata,b);B)floatmax( float,float);C)f

9、loatmax(floata,floatb);D)floa留函數(shù)前一次調(diào)用后的值,供下 一次調(diào)用時繼續(xù)使用,該變量的 存儲類型應(yīng)是()。A)autoB)externC)staticD)register 24類型相同的兩個指針變量之間不能 進(jìn)行的運(yùn)算是()。A) +B)-C) =D) =B)數(shù)組第一個元素的值25若有說明語句:inti,x34;,D)數(shù)組的首地址則不能 將 x11 的值賦值給變量i 的語句是()。A) i=*(*(x+1)+1);B)i=x11;C) i=*(*(x+1);D)i=*(x1+1);26有如下程序段:inta6=1,2,3,4,5,6;intm,*ptr;ptr=&

10、amp;a0;m=(*ptr)*(*(ptr+2)*(*(ptr+4);執(zhí)行該程序段后,m的值為()。A)15B) 48C) 24D) 827設(shè)有定義enumteammy,your=4,his,her=his+10;則枚舉元素my、 your 、 his 、 hertmax(floatx,floaty);A) 0123B)04010C)04515D)1451528下面程序的運(yùn)行結(jié)果是()。unionmyun struct intx,y,z;u;intk;a;voidmain()a.u.x=4;a.u.y=5;a.u.z=6;a.k=0;printf("%dn",a.u.x)

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

12、1; ,則執(zhí)行程序段 p=&a;a=*p+b; 后, a 的值為。7 已 知 : intx=1,y=2,z;, 則 執(zhí) 行z=x>y?+x:+y; 后, z 的值為。8 當(dāng)執(zhí)行下面程序且輸入:ABC<回車 >時,輸出的結(jié)果是。#include<stdio.h>voidmain() charss10="12345"gets(ss);printf( “ %sn” ,ss);9下面程序的功能是用函數(shù)的遞歸調(diào)用求 n! ( n 1) , 請?zhí)羁?。floatf(intn)if(n=1)return(1);elsereturn();1 C 語言源程

13、序編譯后生成程序,然voidmain() intn;得分閱卷人復(fù)核人scanf("%d",&n);printf("%.0fn",f(n);10以下程序執(zhí)行后的輸出結(jié)果是voidmain()inta=3,b=1,t;t=(a<<2) | b;printf("%dn",t);三、程序閱讀題(每小題4 分,共計(jì)20 分)。1以下程序執(zhí)行后的輸出結(jié)果是。#include<stdio.h>voidmain() inti;for(i=1;i<5;i+)putchar( # );2. 以下程序執(zhí)行后的輸出結(jié)果是

14、。voidmain()intarr10=-1,2,3,4,-5,6,7,-8,9,0,i,k=0;for(i=0;i<10;i+)if(arri<0)k+;printf("%dn",k);3以下程序執(zhí)行后的輸出結(jié)果是。voidfun(inta10)inti,j,t;for(i=0;i<9;i+)for(j=0;j<9-i;j+)if(aj>aj+1)t=aj;aj=aj+1;aj+1=t;voidmain()inti;inta10=4,3,5,1,0,8,2,6,7,9;fun(a);for(i=0;i<10;i+)printf(&quo

15、t;%3d",ai);printf("n");4以下程序執(zhí)行后的輸出結(jié)果是。#include<stdio.h>structstu intx;int*y;*p;inta2=10,20;structstuaa2=150,&a0,250,&a1;voidmain()dop=aa;得分閱卷人復(fù)核人printf("%dn",(+p)-> x);5以下程序執(zhí)行后的輸出結(jié)果是。voidswap(int*p1,int*p2) intk;k=*p1;*p1=*p2;*p2=k;voidmain()inta=3,b=6,*x=&a

16、mp;a,*y=&b;swap(x,y);printf("%d,%dn",*x,*y);四、程序改錯題(共2 小題,每正確修改一處錯誤得2 分,共計(jì)10 分)。注意:不得增行或刪行,寫出改正后的程序行, 使之能夠得出正確的結(jié)果。1 下 列 程 序 的 功 能 是 計(jì) 算 數(shù) 列 1,3,5, ,2n-1, 的 前 n 項(xiàng) 之 和,其中n 由鍵盤輸入。voidmain()ints=0,n,i=1;scanf("%d",n);/*1)該行有錯誤*/s=s+i;i=i+2; while(i>2*n-1);/*2)該行有錯誤*/printf(&qu

17、ot;s=%dn",s);2 下 列 給 定 的 程 序 中 , 函 數(shù) average 的功能是:求10 個數(shù)的平均值。#include<stdio.h>floataverage(float*array)inti;floataver,sum;/*1 ) 該 行有錯誤 */for(i=0;i<10;i+)sum=arrayi;/*2 ) 該行有錯誤 */aver=sum/10;return(aver);voidmain() floatdata10,aver;inti;printf("Pleaseinput10data:n");for(i=0;i&

18、lt;10;i+) scanf("%f",&datai);aver=average(data0);/*3 )該行有錯誤*/printf("averegedatais%5.2fn",aver);得分閱卷人復(fù)核人五、程序設(shè)計(jì)題(共3 小題,第1 小題 6 分,第 2 、 3 小題各 7 分,共 20 分) 。1 輸入x,計(jì)算并輸出下列分段函數(shù) y 的值 ( 結(jié)果保留2 位小數(shù) ) 。2在一個已排序的整型數(shù)組(設(shè)從小到大)中,插入一個整數(shù),使之仍然有序 (要求數(shù)組中原有的10 個整數(shù)從鍵盤按順序輸入)。3 請 先 編 寫 一 個 函 數(shù) concat(

19、charstr1,charstr2), 實(shí) 現(xiàn)兩個字符串的連接(注意不要用strcat 函數(shù));再編寫一個main()函數(shù)進(jìn)行測試:在主函數(shù)中輸入兩個字符串,然后調(diào)用concat 函數(shù),最后將連接后的字符串輸出。參考答案一、單項(xiàng)選擇題。從A、 B、 C、 D 四個ACBBCC212223242526DACACA得分閱卷人復(fù)核人2 分,共 20 分,錯填、漏填均不得分)題號123答案目標(biāo)指數(shù)形式使文件的位置指針返回到文件頭題號678答案33ABC得分閱卷人復(fù)核人三、程序閱讀題(每小題4 分,共 20 分)題12345答案#301234567892506,3說明:對于程序閱讀題,如果該題考生所給出

20、的答案僅僅是書寫格式上的內(nèi) ( 每小題1 分,共30 分,錯選、漏一處錯誤得2 分,共計(jì)10 分)。選、多選均不得分) 。注意:不得增行或刪行,寫出改正后的123456程序行 7, 使之能夠得出正確的結(jié)果。 8910BBBCABD1. 1 )scaCnf("%d",&nB);D111213141516172 ) while(i18<=2*n-1);1920選項(xiàng)中,選擇一個最佳答案填入括號2 小題,每正確修改2. 1 ) floataver,sum=0;得分閱卷人復(fù)核人2) sum=sum+arrayi;( 或者改為sum+=arrayi; 、sum=sum+*

21、(array+i); 、sum+=*(array+i);sum=sum+(*(array+i); 也正確 )3) aver=average(data);( 或者改為 aver=average(&data0); 也正五、程序設(shè)計(jì)題(共 3 小題,第1 小題6 分,第2、 3 小題各 7 分,共 20分)評分總則:若考生給出的程序語法正確,符合要求,能夠?qū)崿F(xiàn)具體功能,即可得滿分;若程序存在錯誤,不能得出正確結(jié)果,閱卷教師酌情給分,給分方法參考下列評分標(biāo)準(zhǔn)。1 )源程序代碼#include<stdio.h>main()floatx,y; 1分printf("inputx:");scanf("%f",&x);elseif(x<=15)y=4*x/3;elsey=2.5*

溫馨提示

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

評論

0/150

提交評論