c語言期末考試題及其答案_第1頁
c語言期末考試題及其答案_第2頁
c語言期末考試題及其答案_第3頁
c語言期末考試題及其答案_第4頁
c語言期末考試題及其答案_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、建甌市技工學(xué)校2015-2016年第二期C語言試題姓名: 班級(jí): 成績(jī):一選擇題(每小題2分,共50分)語言源程序的基本單位是()0A過程 B 函數(shù) C 子程序 D 標(biāo)識(shí)符2 .下列程序的輸出結(jié)果是()0main() int a=7,b=5;printf("%dn",b=b/a);A 5 B 1 C 0 D 不確定值3 .假設(shè)變量a,b均為整型,表達(dá)式(a=5,b=2,a>ba+:b+,a+b)的值是()。A 7 B 8 C 9 D 24 .設(shè)a為int型變量,執(zhí)行下列賦值語句后,a的取值分別是()。a=; a=(int)%4; a=5<<2;A 125,

2、31,1 B 125,1,20 C 125,31,20 D ,2,205 .設(shè)有如下程序段,下面描述中正確的是()。int k=10; while(k=0) k=k-1;A循環(huán)執(zhí)行一次B循環(huán)是無限循環(huán)C循環(huán)體語句一次也不執(zhí)行D循環(huán)體語句執(zhí)行一次6 .以下程序的輸出結(jié)果為()0int i;void prt() for(i=5;i<8;i+) printf("%c",'*');printf("t");main( ) for(i=5;i<=8;i+) prt( );A * B * * * * C * D * *7. 在C語言程序中,

3、以下說法正確的是()。A 函數(shù)的定義可以嵌套, 但函數(shù)的調(diào)用不可以嵌套B 函數(shù)的定義不可以嵌套, 但函數(shù)的調(diào)用可以嵌套C函數(shù)的定義和函數(shù)的調(diào)用都不可以嵌套D 函數(shù)的定義和函數(shù)的調(diào)用都可以嵌套8. 以下函數(shù)調(diào)用語句中含有( )個(gè)實(shí)參。func(e1,e2),(e3,e4,e5);A 2 B 3 C 5 D語法錯(cuò)誤9. 以下程序的輸出結(jié)果為( ) 。#define ADD(x) x*xmain( ) int a=4,b=6,c=7,d=ADD(a+b)*c;printf("d=%d",d);A d=70 B d=80 C d=140 D d=700)字節(jié)10. 已知職工記錄描述

4、如下,在Turbo C 中,系統(tǒng)為變量w 分配(的空間。struct worker int no;char name20;char sex;union int day; int month; int year;birth; w;A 29 B 20 C 25 D 611. 設(shè)有以下定義,值為 5 的枚舉常量是( )。enum weeksun, mon=4, tue , wed, thu , fri , sat w ;A tue B sat C fri D thu12. 下面選項(xiàng)中正確的賦值語句是(設(shè)char a5,*p=a;)()。A p="abcd" B a="a

5、bcd" C *p="abcd" D *a="abcd"13. 設(shè)有以下程序段,則值為 6 的表達(dá)式是( ) 。struct st int n; struct st *next;static struct st a3=5,&a1,7,&a2,9,0 , *p;p=&a0;A p+->n B +p->n C p->n+ D (*p).n+語言中的文件類型只有( ) 。A 索引文件和文本文件兩種 B 文本文件一種C 二進(jìn)制文件一種 D ASCII 碼文件和二進(jìn)制文件兩種15 已知函數(shù) fread 的調(diào)用形式

6、為fread (buffer , size , count , fp ) ,其中 buffer 代表的是( )。A 存放讀入數(shù)據(jù)項(xiàng)的存儲(chǔ)區(qū) B 存放讀入數(shù)據(jù)的地址或指向此地址的指針C 一個(gè)指向所讀文件的文件指針 D 一個(gè)整形變量, 代表要讀入的數(shù)據(jù)項(xiàng)總數(shù)16以下程序的輸出結(jié)果為()。main( ) int i=010,j=10;printf("%d,%dn",i+,j-);17. 設(shè) a 為 int 型變量,執(zhí)行下列賦值語句后, a 的取值分別是( )。 a=;a=3;a=(int)%4;a=5<<2;A 125,6,31,1 B 125,6,1,20 C 12

7、5,31,20 D ,2,2018. 設(shè) i 和 k 都是 int 類型,則 for 循環(huán)語句( )。 for(i=0,k=-1;k=1;i+,k+) printf("*n");A 循環(huán)結(jié)束的條件不合法B 循環(huán)體一次也不執(zhí)行C 循環(huán)體只執(zhí)行一次D 是無限循環(huán)19. 以下程序的輸出結(jié)果為( )。 main( ) char c;int i;for(i=65;i<68;i+) c=i+32;switch(c) case 'a':case 'b':case 'c':printf("%c,",c);break;

8、 default:printf("end");A a,b,c,end B a,a,a,end C a,a,a, D a,b,c,20函數(shù)調(diào)用語句:fseek ( fp , -10L , 2);的含義是()。A 將文件位置指針從文件末尾處向文件頭的方向移動(dòng)10 個(gè)字節(jié)B 將文件位置指針從當(dāng)前位置向文件頭的方向移動(dòng)10 個(gè)字節(jié)C 將文件位置指針從當(dāng)前位置向文件末尾方向移動(dòng)10 個(gè)字節(jié)D 將文件位置指針移到距離文件頭10 個(gè)字節(jié)處21 以下程序的輸出結(jié)果為()。main( ) char s140="country",s220="side"i

9、nt i=0,j=0;while(s1i!='0') i+;while(s2j!='0') s1i+=s2j+;s1i=0;printf("%sn",s1);A side B country C sidetry D countryside22 下列說法不正確的是( )。A 主函數(shù)main 中定義的變量在整個(gè)文件或程序中有效B 不同函數(shù)中 , 可以使用相同名字的變量C 形式參數(shù)是局部變量D 在一個(gè)函數(shù)內(nèi)部, 可以在復(fù)合語句中定義變量,這些變量只在本復(fù)合語句中有效23在下列程序段中,枚舉變量c1 的值是( )。enumcolor red,yell

10、ow,blue=4,green,whitec1; c1=yellow; c1=white;A 1 B 3 C 5 D 624設(shè)有說明 int (*ptr)(); 其中標(biāo)識(shí)符ptr 是( )。A 是一個(gè)指向整形變量的指針 B 是一個(gè)指針, 它指向一個(gè)函數(shù)值是 int 的函數(shù)C 是一個(gè)函數(shù)名 D定義不合法25定義由 n 個(gè)指向整形數(shù)據(jù)的指針組成的數(shù)組p, 其正確的方式為( )。A int p; B int (*p)n; C int *pn; D int (*p)( );二判斷對(duì)錯(cuò),對(duì)的劃,錯(cuò)的劃“X”(每小題1分,共20分)1在 Turbo C 中,整型數(shù)據(jù)在內(nèi)存中占 2 個(gè)字節(jié)。 ()2 int

11、 i=20;switch(i/10)case 2:printf("A");case 1:printf("B");A。 ()3 break 語句用在循環(huán)體中,可結(jié)束本層循環(huán), continue 語句用在循環(huán)體中,可結(jié)束本次循環(huán)。 ()4函數(shù)的遞歸調(diào)用不過是一個(gè)函數(shù)直接或間接地調(diào)用它自身。 ()5函數(shù) strlen("ASDFGn") 的值是 7。 ()6通過 return 語句,函數(shù)可以帶回一個(gè)或一個(gè)以上的返回值。 ()7結(jié)構(gòu)體類型只有一種。 ()8 char *p="girl" ;的含義是定義字符型指針變量p ,

12、p 的值是字符串"girl" 。 ()9 .若有定義:char*p(char a10); 則p是函數(shù)名。()10用fopen("file","r+"); 打開的文件"file" 可以進(jìn)行修改。 ()11參加位運(yùn)算的數(shù)據(jù)可以是任何類型的數(shù)據(jù)。 ( )12. 若有定義和語句: int a; char c;float f;scanf("%d,%c,%f",&a,&c,&f);若通過鍵盤輸入: 10,A, ,則 a=10,c= A ,f= 。 ( )語言把文件看作是一個(gè)字符(字節(jié)

13、)的序列。 ( )14. 若有宏定義: #define S(a,b) t=a;a=b;b=t 由于變量 t 沒定義,所以此宏定義是錯(cuò)誤的。 ( )15. 在 Turbo C 中,下面的定義和語句是合法的:file*fp;fp=fopen("","r");( )16. 若有定義:char s = "china";則Turbo C系統(tǒng)為數(shù)組s開辟6個(gè)字節(jié)的內(nèi)存單元。 ( )17. 若有定義和語句:int a33=3,5,8,9,12,35,i,sum=0;for(i=0;i<3;i+) sum+=ai2-i; 則 sum=21。 (

14、 )18. 若有定義和語句: struct student int num; char name10;float score;s5=1,"lili",9,"xiaohua",66,*p=s;printf("%d",*p+);輸出結(jié)果是1。 ( )19在程序中定義了一個(gè)結(jié)構(gòu)體類型后,可以多次用它來定義具有該類型( )20.在 Turbo C中,此定義和語句是合法的:enumaa a=5,b,cbb;bb=(enumaa)5;()三、閱讀下列程序,在處填入適當(dāng)內(nèi)容,使程序完整(每個(gè)空5分,共30分)1 .有一個(gè)3*4矩陣,求其中的最大元素

15、。max_value( (1) ) int i,j,max;max=array00;for(i=0;i<3;i+)for(j=0;j<4;j+)if(arrayij>max)max=arrayij;(2);main() int a34, i,j;for(i=0;i<3;i+)for(j=0;j<4;j+)(3) Jprintf("max value is %dn " ,max_value(a);2 .輸入x、y兩個(gè)整數(shù),按先大后小的順序輸出x、v。#includemain() int x,y, *px,*py, (4) ;scanf("

16、;d%d ,&x,&y);(5) ; (6) ; if(x<y) p=px; px=py; py=p; printf("x=%d,y=%dni' ,x,y);printf("MAX=%d,MIN=%dn,*px,*py);選擇題(每小題2分)1. B 2. C 3.A 10. C 11. A 12. A18. D 19. D 20. AC二判斷對(duì)錯(cuò),對(duì)的劃1 .X2.6. X7.11. ( X )16.(,)四閱讀下列程序,在1.(1)int(3)scanf( " %d ,&aij)B 4. B 5. C 6. A 7. B1

17、3. B 14. D 15. B 16. C21. D 22. A 23. D24. B,錯(cuò)的劃“x”(每小題1分)X3.V4.V5.x8.x9.V10.2.( , ) 1 3. ( ,)14.17.( , )18.( X )19.一處填入適當(dāng)內(nèi)容,使程序完整(每個(gè)空array34(intarray口4)8. A 9.17 .B25.x/(x )15.( X )(,)20.(,)5分)(2)return(max)2.(4)*p (5)px=&x(py=&y) (6)py=&y(px=&x)2003c語言試題3一選擇題(24分,每小題2分)1 .已知函數(shù)fread

18、的調(diào)用形式為fread (buffer , size , count , fp ),其中buffer 代表的是()。A存放讀入數(shù)據(jù)項(xiàng)的存儲(chǔ)區(qū)B存放讀入數(shù)據(jù)的地址或指向此地址的指針C 一個(gè)指向所讀文件的文件指針 D 一個(gè)整形變量, 代表要讀入的數(shù)據(jù)項(xiàng)總數(shù)2 以下程序的輸出結(jié)果為( )。main( ) int i=010,j=10;printf("%d,%dn",i+,j-);A 11,9 B 9,10 C 8,10 D 9,93 設(shè)a 為 int 型變量,執(zhí)行下列賦值語句后, a 的取值分別是( )。a=;a=3;a=(int)%4;a=5<<2;A 125,6,

19、31,1 B 125,6,1,20 C 125,31,20 D ,2,204 設(shè) i 和 k 都是 int 類型,則 for 循環(huán)語句( )。for(i=0,k=-1;k=1;i+,k+) printf("*n");A 循環(huán)結(jié)束的條件不合法B 循環(huán)體一次也不執(zhí)行C 循環(huán)體只執(zhí)行一次D 是無限循環(huán)5 以下程序的輸出結(jié)果為( )。main( ) char c;int i;for(i=65;i<68;i+) c=i+32;switch(c) case 'a':case 'b':case 'c':printf("%c,

20、",c);break; default:printf("end");A a,b,c,end B a,a,a,end C a,a,a, D a,b,c,6 函數(shù)調(diào)用語句: fseek (fp , -10L , 2);的含義是()。A 將文件位置指針從文件末尾處向文件頭的方向移動(dòng) 10 個(gè)字節(jié)B 將文件位置指針從當(dāng)前位置向文件頭的方向移動(dòng)10 個(gè)字節(jié)C 將文件位置指針從當(dāng)前位置向文件末尾方向移動(dòng)10 個(gè)字節(jié)D 將文件位置指針移到距離文件頭10 個(gè)字節(jié)處7 以下程序的輸出結(jié)果為( )。main( ) char s140="country",s220=

21、"side"int i=0,j=0;while(s1i!='0') i+;while(s2j!='0') s1i+=s2j+;s1i=0;printf("%sn",s1);A side B country C sidetry D countryside8 下列說法不正確的是( )。A 主函數(shù) main 中定義的變量在整個(gè)文件或程序中有效B 不同函數(shù)中 , 可以使用相同名字的變量C 形式參數(shù)是局部變量D 在一個(gè)函數(shù)內(nèi)部, 可以在復(fù)合語句中定義變量,這些變量只在本復(fù)合語句中有效9 在下列程序段中,枚舉變量c1 的值是( )。e

22、num color red,yellow,blue=4,green,whitec1; c1=yellow; c1=white;A 1 B 3 C 5 D 610設(shè)有說明int (*ptr)(); 其中標(biāo)識(shí)符ptr 是( )。A 是一個(gè)指向整形變量的指針 B 是一個(gè)指針 , 它指向一個(gè)函數(shù)值是int 的函數(shù)C 是一個(gè)函數(shù)名 D定義不合法11 .定義由n個(gè)指向整形數(shù)據(jù)的指針組成的數(shù)組p,其正確的方式為()。A int p; B int (*p)n; C int *pn; D int (*p)( );12具有相同類型的指針類型變量p 與數(shù)組 a, 不能進(jìn)行的操作是( )。A p=a; B *p=a0

23、; C p=&a0; D p=&a;二 判斷對(duì)錯(cuò),對(duì)的劃“,”,錯(cuò)的劃“X”(20分,每小題2分)1 參加位運(yùn)算的數(shù)據(jù)可以是任何類型的數(shù)據(jù)。 ( )2 若有定義和語句: int a ; char c;float f;scanf("%d,%c,%f",&a,&c,&f);若通過鍵盤輸入: 10,A, ,則 a=10,c= A ,f= 。 ( )3 . C語言把文件看作是一個(gè)字符(字節(jié))的序列。 ()4 若有宏定義: #define S(a,b) t=a;a=b;b=t 由于變量 t 沒定義,所以此宏定義是錯(cuò)誤的。 ( )5 在 Turb

24、o C 中,下面的定義和語句是合法的: file *fp;fp=fopen("","r");( )6 .若有定義:char s = "china"則Turbo C系統(tǒng)為數(shù)組s開月6 6個(gè)字節(jié)的內(nèi)存單元。()7 .若有定義和語句:int a33= 3,5,8,9,12,35,i,sum=0; for(i=0;i<3;i+)sum+=ai2-i; 則 sum=21。 ( )8 若有定義和語句: struct student int num; char name10; float score;s5=1,"lili"

25、,9,"xiaohua",66,*p=s;printf("%d",*p+);輸出結(jié)果是1。 ( )9 在程序中定義了一個(gè)結(jié)構(gòu)體類型后,可以多次用它來定義具有該類型的變量。 ( )10 .在 Turbo C 中,此定義和語句是合法的:enum aa a = 5,b,cbb;bb=(enum aa)5;()三 寫出下列程序的運(yùn)行結(jié)果( 36 分,每小題 6 分)( ) int i=29,j=6,k=2,s;s=i+i/j%k-9;printf(“s=%dn” ,s);( ) int x=31,y=2,s=0;do s-=x*y;x+=2;y-=3; whil

26、e( x%3=0);printf( “ x=%dty=%dts=%dn ” ,x,y,s);( ) int a6= 10,20,30,40,50,60,i;invert(a,0,5);for(i=0;i<6;i+) printf(“%d,” ,ai);printf( “ n ” );invert(int s ,int i,int j) int t;if(i<j) invert(s,i+1j-1);t=si;si=sj;sj=t;4.#include<>main() char str =“ The C program ” ,c;int i;for(i=2;(c=stri)

27、!= 0 ;i+) switch(c) case g : +i; break;case o : continue;default: printf(“%(5 ,c); continue; printf( "*"); printf( "n ” ); w char low ; char high ;; union u struct w byte ; short word ;uw ; main() int result ;=0x1234;printf("word value:%04xn",;printf("high byte:%02x'

28、;n "printf("low byte:%02x'n "printf("word value:%04xn",;result=+0x2a34;printf("the result:%04xn”,result);6. main () char *s2="I love China! ” ,*s1=&s2 ;char *s3,c,*s4="w ;s3=&c;*s3=' H's2=s2+2;printf( " st%ct%st%cn ",s2,*s3,s4,*s1

29、);四 閱讀下列程序,在 處填入適當(dāng)內(nèi)容,使程序完整(20分,每個(gè)空2分) 1.百馬百擔(dān)問題:有 100匹馬,馱100擔(dān)貨,大馬馱3擔(dān),中馬馱2擔(dān),兩匹小馬馱1擔(dān),問大、中、小馬各多少匹main() int hb,hm,hl,n=0;for(hb=0;hb<=100;hb+=) for(hm=0;hm<=100-hb;hm+= (2) J hl=100-hb- (3) ; if(hb/3+hm/2+2* (3) =100) n+;printf("hb=%d,hm=%d,hl=%dn",hb/3,hm/2,2*hl);printf("n=%d'n

30、",n);2.用“起泡法”對(duì)輸入的10個(gè)字符排序后按從小到大的次序輸出。#define N 10char strN;main() int i,flag;for(flag=1;flag=1;) scanf("%s",str);flag=0;printf("n");sort(4);for(i=0;i<N;i+) printf("%c",stri); printf("n");sort(char strN) int i,j;chart;for(j=1;j<N;j+)for(i=0;(i<N-j)&&(stri!='0');i+)if(stri>stri+1) t=stri;(5);(6); 3 .以下程序是一個(gè)函數(shù),功能是求二階矩陣( m行n列矩陣)的所有靠外側(cè)的各元素值之和。(本程序 中二階矩陣用一維數(shù)組來表示。)例如,矩陣為:3 0 0 32 5 7 31 0 4 2則所有靠外側(cè)的各元素值之和為3+0+0+3+2+3+1+0+4+2=1&add(int m,int 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)論