最新C語(yǔ)言考試試題集_第1頁(yè)
最新C語(yǔ)言考試試題集_第2頁(yè)
最新C語(yǔ)言考試試題集_第3頁(yè)
最新C語(yǔ)言考試試題集_第4頁(yè)
最新C語(yǔ)言考試試題集_第5頁(yè)
已閱讀5頁(yè),還剩81頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、2007-2021學(xué)年第一學(xué)期?C語(yǔ)言程序設(shè)計(jì)?課程考試試題一、選擇題每題2分,共50分(1)C語(yǔ)言開(kāi)始于二十世紀(jì)( )年代 A) 六十 B) 七十 C) 八十 D) 九十(2)下面的數(shù)據(jù)類型中,C語(yǔ)言沒(méi)有的是( ) A) 空類型 B) 布爾型 C) 枚舉類型 D) 共用體類型(3)printf(“65”); 語(yǔ)句輸出的是( ) A) 65 B) 65 C) 5 D) A(4)x=(a=3*5,a*4);那么x的值為( ) A) 15 B) 60 C) 75 D) 不確定值(5)假設(shè)變量已正確定義并賦值,下面符合C語(yǔ)言語(yǔ)法的表達(dá)式是( ) A) a:=b+1 B) a=b=c+1 C) int

2、 8.5%3 D) a=a+1=c+b(6)C語(yǔ)言中運(yùn)算對(duì)象必須是整型的運(yùn)算符是( ) A) %= B) / C) D) =1 or a=1 | a=1 & a=1 | a=0(11)有如下程序 main( ) int x=1,a=0,b=0; switch(x) case 0: b+; case 1: a+ case 2: a+;b+ printf(“a=%d,b=%dn,a,B) ; 該程序的輸出結(jié)果是( ) A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2(12)有如下程序 main() float x=2.0,y; if(x0.0) y=0.0;

3、else if(x10.0) y=1.0/x; else y=1.0; printf(“%fn,y); 該程序的輸出結(jié)果是( ) A) 0.000000 B) 0.250000 C(13)有如下程序 main() int a=2,b=-1,c=2; if(if(b0) c=0; else c+ printf(“%dn,C) ; 該程序的輸出結(jié)果是( ) A) 0 B) 1 C) 2 D) 3(14)有如下程序 main( ) int i,sum; for(i=1;i=3;sum+) sum+=i; printf(“%dn,sum); 該程序的執(zhí)行結(jié)果是( ) A) 6 B) 3 C) 死循環(huán)

4、D) 0(15)有如下程序 #define N 2 #define M N+1 #define NUM 2*M+1 main() int i; for(i=1;i=NUM;i+) printf(“%dn,i); 該程序中的for循環(huán)執(zhí)行的次數(shù)是( ) A) 5 B) 6 C) 7 D) 8(16)有如下程序段 int a=14,b=15,x; char c=A; x=(a & B) & (cB); 執(zhí)行該程序段后,x的值為( ) A) true B) false C) 0 D) 1(17)以下表達(dá)正確的選項(xiàng)是( ) A) do-while語(yǔ)句構(gòu)成的循環(huán)不能用其它語(yǔ)句構(gòu)成的循環(huán)來(lái)代替。 B) d

5、o-while語(yǔ)句構(gòu)成的循環(huán)只能用break語(yǔ)句退出。 C) 用do-while語(yǔ)句構(gòu)成的循環(huán),在while后的表達(dá)式為非零時(shí)結(jié)束循環(huán)。 D) 用do-while語(yǔ)句構(gòu)成的循環(huán),在while后的表達(dá)式為零時(shí)結(jié)束循環(huán)。(18)設(shè)x和y均為int 型變量,那么以下語(yǔ)句:x+y=y;y=x-y;y=x-y;x-=y;的功能是( ) A) 把x 和y按從大到小排列 B) 把x和y按從小到大排列 C) 無(wú)確定結(jié)果 D) 交換x和y中的值(19)在VC+6.0的編輯環(huán)境下,使用 進(jìn)行對(duì)已翻開(kāi)的源程序進(jìn)行編譯并執(zhí)行 A) F5 B) CTRL+F5 C) ALT+F9 D) ALT+F5(20)C語(yǔ)言屬于

6、A) 機(jī)器語(yǔ)言 B) 匯編語(yǔ)言 C) 面向過(guò)程的語(yǔ)言 D) 面向?qū)ο蟮恼Z(yǔ)言(21) 以下選項(xiàng)中,能做為C程序自定義標(biāo)識(shí)符的是( )A) num(10) B)file_bak C) break D) class+2(22)以下選項(xiàng)中,不是C語(yǔ)言提供的合法關(guān)鍵字的是( )A) switch B) begin C) case D) default(23)字符串xyz在內(nèi)存中占用的字節(jié)數(shù)是( )A) 3 B) 4 C) 5 D) 6(24)一個(gè)char型數(shù)據(jù),它的值在內(nèi)存中存放的是( )A) ASCII碼值 B) BCD碼值 C) 內(nèi)碼值 D) 十進(jìn)制碼值(25)設(shè)a為5,執(zhí)行以下語(yǔ)句后,b的值不為2

7、的是( )A) b=a/2B B) b=6-(-a) C) b=a%2 D) b=a0 & b0 & c0 & a+bc & a+cb & b+ca) s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c); printf(三角形的面積為:%fn,area); else printf(不能構(gòu)成三角形);2.求百元百雞問(wèn)題。用100元錢來(lái)買100只雞,其中公雞5元一只,母雞3元一只,小雞一元5只,問(wèn)該如何買,才能100元錢買到100只雞。#include stdio.hvoid main()int x,y,z; printf(百雞問(wèn)題解:n); for(x=0;x=

8、100;x+) for(y=0;y7) printf(“*);x-;A * B * C * D *4、以下語(yǔ)句中錯(cuò)誤的選項(xiàng)是A while(x=y)5; B do x+ while(x= =10);C while(0); D do 2;while(a= =b);5、循環(huán)語(yǔ)句for(x=0,y=0;(y!=123)|(x4);x+);的循環(huán)執(zhí)行A 無(wú)限次 B 不確定次 C 4次 D 3次6、假設(shè)i、j已定義為int類型,那么以下程序段中的內(nèi)循環(huán)體的執(zhí)行次數(shù)是for(i=5;i;i-) for(j=0;j6)if(b7)if(c8)x=2;else x=3;后x的值是( )A 0 B 1 C 2

9、D 318、以下語(yǔ)句中,將c定義為文件類型指針的是( )A FILE c; B FILE *c; C file c; D file *c;19、存儲(chǔ)整形數(shù)據(jù)-7856時(shí),在二進(jìn)制文件和文本文件中占用的字節(jié)數(shù)分別是( )A 2,2 B 2,5 C 5,5 D 5,220、C語(yǔ)言中運(yùn)算對(duì)象必須是整型的運(yùn)算符是( )A %= B / C D =二、程序題每題20分,共40分1、編程序解百雞問(wèn)題:100元錢買100只雞,公雞每只3元,母雞每只5元,小雞3只1元,問(wèn)公雞、母雞、小雞各多少只?#include stdio.hvoid main()int x,y,z; printf(百雞問(wèn)題解:n); fo

10、r(x=0;x=100;x+) for(y=0;y=100;y+) z=100-x-y; if(5*x+3*y+(float)z/3=100) printf(tx=%3d y=%3d z=%3dn,x,y,z); printf(n);2、用遞歸的方法求n!float fac(int n) float f; if (n0) printf(“n0,data error!); else if (n=0|n=1) f=1; else f=fac(n-1)*n; return f; main() int n; scanf(“%d,&n); printf(“%d!=%,n,fac(n);2007-2021

11、學(xué)年第一學(xué)期?C語(yǔ)言程序設(shè)計(jì)?課程期末考試試題(G卷)一、選擇題每題1.5分,共45分1、以下選項(xiàng)中,不是用來(lái)表達(dá)轉(zhuǎn)義字符的是A B C 074 D 02、以下選項(xiàng)中,不是C語(yǔ)言提供的合法關(guān)鍵字的是A switch B begin C case D default3、以下選項(xiàng)中,能作為C程序自定義標(biāo)識(shí)符的是A num(10) B file_bak C break D class+24、設(shè)a為5,執(zhí)行以下語(yǔ)句后,b的值不為2的是A b=a/2 B b=6-(-a) C b=a%2 D b=a3?3:25、執(zhí)行語(yǔ)句x=(a=3,b=a-);后,x,a,b的值依次為A 3,3,2 B 2,3,2 C

12、 3,2,3 D 2,3,36、在以下一組運(yùn)算符中,優(yōu)先級(jí)最高的運(yùn)算符是A = B = C % D &7、設(shè)a為整形變量,以下C表達(dá)式中,不能表達(dá)數(shù)學(xué)關(guān)系式10a15的是A 10a10&a15 D !(a=15)8、假設(shè)有以下定義:char a;int b;float c;double d;那么表達(dá)式a*b+d-c值的類型為A float B int C char D double9、設(shè)a,b為字符型變量,執(zhí)行scanf(“a=%c,b=%c,&a,&b)函數(shù)調(diào)用后使a為A,b為B,正確的輸入是A A B B A,B C A=A,B=B D a=A,b=B10、設(shè)有int i=010,j=10

13、;執(zhí)行printf(“%d,%dn,+i,j-);語(yǔ)句后的輸出是A 11,10 B 9,10 C 010,9 D 10,911、設(shè)a=3,b=4,執(zhí)行printf(“%d,%d,(a,b),(b,a);語(yǔ)句后的輸出是A 3,4 B 4,3 C 3,3 D 4,412、假定所有變量均已正確定義,以下程序段運(yùn)行后x的值是a=b=c=0;x=35; if(!a)x-;else if(b);if(c) x=3;else x=4;A 34 B 4 C 35 D 313、執(zhí)行以下程序段后的輸出結(jié)果是 x=9; while(x7) printf(“*);x-;A * B * C * D *14、以下語(yǔ)句中錯(cuò)

14、誤的選項(xiàng)是A while(x=y)5; B do x+ while(x= =10);C while(0); D do 2;while(a= =b);15、循環(huán)語(yǔ)句for(x=0,y=0;(y!=123)|(x4);x+);的循環(huán)執(zhí)行A 無(wú)限次 B 不確定次 C 4次 D 3次16、假設(shè)i、j已定義為int類型,那么以下程序段中的內(nèi)循環(huán)體的執(zhí)行次數(shù)是for(i=5;i;i-) for(j=0;j4;j+)A 20 B 24 C 25 D 3017、以只寫(xiě)方式翻開(kāi)一個(gè)二進(jìn)制文件,應(yīng)選擇的使用方式是A “a+ B “w+ C “rb D “wb18、設(shè)有定義語(yǔ)句“int(*ptr)10,其中的ptr

15、是A 10個(gè)指向整型變量的指針B 指向10個(gè)整型變量的函數(shù)指針C 一個(gè)指向具有10個(gè)元素的一維數(shù)組的指針D 具有10個(gè)指針元素的一維數(shù)組19、執(zhí)行語(yǔ)句char a10=“abcd,*p=a;后,*(p+4)的值是A “abcd B d C 0 D 不能確定20、C語(yǔ)言中,函數(shù)的隱含存儲(chǔ)類型是A auto B static C extern D 無(wú)存儲(chǔ)類別21、函數(shù)調(diào)用時(shí),以下說(shuō)法中不正確的選項(xiàng)是A 假設(shè)用值傳遞方式,那么形式參數(shù)不予分配內(nèi)存B 實(shí)際參數(shù)和形式參數(shù)可以同名C 主調(diào)函數(shù)和被調(diào)用函數(shù)可以不在同一個(gè)文件中D 函數(shù)間傳遞數(shù)據(jù)可以使用全局變量22、定義一個(gè)具有10個(gè)元素的整型數(shù)組,應(yīng)該使用

16、語(yǔ)句A int a10; B int a2,5; C int a; D int *a1023、設(shè)有定義int a=3,b,*p=&a;,那么以下語(yǔ)句中不能使為3的語(yǔ)句是A b=*&a B b=*p C b=a D b=*a24、假設(shè)已定義:int a9,*p=a;,并在以后的語(yǔ)句中未改變p的值,不能表示a1地址的表達(dá)式是A p+1 B a+1 C a+ D +p25、設(shè)有定義語(yǔ)句structint x;int y;d2=1,3,2,7;,那么printf(“%dn,d0.y/d0.x*d1.x);的輸出是A 0 B 1 C 3 D 626、存儲(chǔ)整形數(shù)據(jù)-7856時(shí),在二進(jìn)制文件和文本文件中占用

17、的字節(jié)數(shù)分別是A 2,2 B 2,5 C 5,5 D 5,227、以下數(shù)據(jù)類型屬于構(gòu)造類型的是A 整型 B 字符型 C 數(shù)組型 D 單精度實(shí)型28、字符串mx42np102q的長(zhǎng)度是A 7 B 9 C 15 D 1629、執(zhí)行以下程序段后*(p+7)的值為char s=student,*p;p=s;A t B t的地址 C 0 D 不確定值30、假設(shè)fp是指向某文件的指針,且已讀到該文件的末尾,那么C語(yǔ)言函數(shù)feof(fp)的返回值是A EOF B -1 C 非零值 D NULL二、判斷題每題1.5分,共15分1、C語(yǔ)言中,優(yōu)先級(jí)最低的運(yùn)算符是邏輯運(yùn)算符f2、C語(yǔ)言本身沒(méi)有輸入輸出語(yǔ)句t3、C

18、語(yǔ)言的標(biāo)識(shí)符只能由字母和數(shù)字組成f4、for語(yǔ)句中的三個(gè)表達(dá)式都可以省略,但兩個(gè)分號(hào)不能省略t5、一個(gè)函數(shù)調(diào)用自己,必將產(chǎn)生死循環(huán)f6、函數(shù)的定義和調(diào)用都可以嵌套f7、宏定義是C語(yǔ)句,要在行末尾加分號(hào)f8、int (*p)4定義的是一個(gè)指針數(shù)組,該數(shù)組每個(gè)元素是指向整型變量的指針f9、fwrite()函數(shù)的正確調(diào)用形式是fwrite(buffer,count,fp,size);f10、do和char都是合法的關(guān)鍵字t三、程序題每題10分,共40分1、編程序解百雞問(wèn)題:100元錢買100只雞,公雞每只3元,母雞每只5元,小雞3只1元,問(wèn)公雞、母雞、小雞各多少只?#include stdio.hv

19、oid main()int x,y,z; printf(百雞問(wèn)題解:n); for(x=0;x=100;x+) for(y=0;y=100;y+) z=100-x-y; if(5*x+3*y+(float)z/3=100) printf(tx=%3d y=%3d z=%3dn,x,y,z); printf(n);2、輸入n個(gè)整數(shù),對(duì)它們用冒泡法從小到大排序,然后輸出。#include stdio.h#define N 1000void main()int i,n,j,temp,k,up; int aN; printf(輸入整數(shù)序列的整數(shù)個(gè)數(shù)n(0n=%d),N); scanf(%d,&n);

20、if(nN) printf(輸入n不合理!n);return; printf(輸入整數(shù)序列!n); for(j=0;jn;j+) scanf(%d,&aj); up=0; while(upup;j-) if(ajaj-1) temp=aj;aj=aj-1;k=j; up=k; for(i=0;in;i+) if(i%5=0) printf(n);printf(%dt,ai); printf(n); 3、使用遞歸函數(shù)將輸入的一個(gè)正整數(shù)按逆序輸出。如:輸入12345,輸出54321。#include stdio.hvoid back(int n) printf(%2d,n%10); if(n10)

21、return; else back(n/10);void main() int n; printf(請(qǐng)輸入一個(gè)正整數(shù):); scanf(%d,&n); printf(逆序后的結(jié)果為:); back(n); printf(n);4、輸入5個(gè)學(xué)生的學(xué)號(hào),姓名,語(yǔ)文成績(jī),數(shù)學(xué)成績(jī),英語(yǔ)成績(jī),并把它們的相關(guān)信息保存到student.dat文件中。#include #include #define SIZE 5struct studentint num; char name10; int score3;studSIZE;void main(void)FILE *fp; int i; printf(n N

22、o. name chinese english mathn); printf(-n); for(i=0;iSIZE;i+) scanf(%d%s%d%d%d,&studi.num,,&studi.score0,&studi.score1,&studi.score2); if(fp=fopen(student.dat,wb)=NULL) printf(The file can not openn); return; for(i=0;iSIZE;i+) if(fwrite(&studi,sizeof(struct student),1,fp)!=1) printf(file w

23、rite errorn); return; fclose(fp);2007-2021學(xué)年第一學(xué)期?C語(yǔ)言程序設(shè)計(jì)?課程期末考試試題(H卷)一、選擇題每題1.5分,共45分1、以下選項(xiàng)中,能做為C程序自定義標(biāo)識(shí)符的是( )A num(10) Bfile_bak C break D class+22、以下選項(xiàng)中,不是C語(yǔ)言提供的合法關(guān)鍵字的是( )A switch B begin C case D default3、字符串xyz在內(nèi)存中占用的字節(jié)數(shù)是( )A 3 B 4 C 5 D 64、一個(gè)char型數(shù)據(jù),它的值在內(nèi)存中存放的是( )A ASCII碼值 B BCD碼值 C 內(nèi)碼值 D 十進(jìn)制碼值

24、5、設(shè)a為5,執(zhí)行以下語(yǔ)句后,b的值不為2的是( )A b=a/2B b=6-(-a)C b=a%2 D b=a6)if(b7)if(c8)x=2;else x=3;后x的值是( )A 0 B 1 C 2 D 311、執(zhí)行以下程序段:x=9;while(x7)printf(*);x-;后輸出的結(jié)果是( ) A *B * C * D *12、假設(shè)i,j已定義為int類型,那么以下程序段中的內(nèi)循環(huán)的執(zhí)行次數(shù)是( )for (i=5;i;i-)for (j=0;j4;j+)A 20 B 24 C 25 D 3013、在c語(yǔ)言中,以下說(shuō)法中正確的選項(xiàng)是( )A 編程時(shí)盡量不要使用do語(yǔ)句while(條

25、件)的循環(huán)B do語(yǔ)句while(條件)的循環(huán)中必須使用break語(yǔ)句退出循環(huán)C do語(yǔ)句while(條件)的循環(huán)中,當(dāng)條件非0時(shí)將結(jié)束循環(huán)D do語(yǔ)句while(條件)的循環(huán)中,當(dāng)條件為0時(shí)將結(jié)束循環(huán)14、以下c代碼中,合法的數(shù)組定義是( )A int a=string; B int a5=0,1,2,3,4,5;C char a=string; D char a=0,1,2,3,4,5;15、字符串mx42np102q的長(zhǎng)度是( )A 7 B 9 C 15 D 1616、設(shè)有如下定義,那么正確的表達(dá)為( )char x=abcdefg,y=a,b,c,d,e,f,g; A 數(shù)組x和數(shù)組y等

26、價(jià) B 數(shù)組x和數(shù)組y長(zhǎng)度相同C 數(shù)組x的長(zhǎng)度大于數(shù)組y的長(zhǎng)度 D 數(shù)組x的長(zhǎng)度小于數(shù)組y的長(zhǎng)度17、在c語(yǔ)言中,以下說(shuō)法中錯(cuò)誤的選項(xiàng)是( )A 函數(shù)定義可以分為兩個(gè)局部:函數(shù)說(shuō)明局部和函數(shù)體B 主函數(shù)可以調(diào)用任何非主函數(shù)C 任何非主函數(shù)可以調(diào)用其他任何非主函數(shù)D 程序可以從任何函數(shù)開(kāi)始執(zhí)行18、函數(shù)調(diào)用時(shí),以下說(shuō)法中不正確的選項(xiàng)是( )A 假設(shè)用值傳遞方式,那么形式參數(shù)不予分配內(nèi)存B 實(shí)際參數(shù)和形式參數(shù)可以同名C 主調(diào)函數(shù)和被調(diào)用函數(shù)可以不在同一個(gè)文件中D 函數(shù)間傳遞數(shù)據(jù)可以使用全局變量19、假設(shè)有說(shuō)明語(yǔ)句int a10,*p=a;,對(duì)數(shù)組元素的正確引用是( )A ap B pa C *(p

27、+2) D p+220、假設(shè)有以下定義,那么不能表示a數(shù)組元素的表達(dá)式是( )int a10=1,2,3,4,5,6,7,8,9,10,*p=a;A *p B a10 C *a D ap-a21、執(zhí)行語(yǔ)句char a10=abcd,*p=a;后,*(p+4)的值是( )A abcd B d C 0 D 不能確定22、以下對(duì)C語(yǔ)言函數(shù)的有關(guān)描述中,正確的選項(xiàng)是( )A 在C語(yǔ)言中,調(diào)用函數(shù)時(shí),只能把實(shí)參的值傳遞給形參,形參的值不能傳遞給實(shí)參B C函數(shù)既可以嵌套定義,又可以遞歸調(diào)用C 函數(shù)必須有返回值,否那么不能使用函數(shù)D C程序中,有調(diào)用關(guān)系的所有函數(shù)必須放在同一個(gè)源程序文件中A int a10

28、; B int a2,5; C int a; D int *a1023、以只寫(xiě)方式翻開(kāi)一個(gè)二進(jìn)制文件,應(yīng)選擇的使用方式是( )A a+ B w+ C rb C wb24、以下語(yǔ)句中,將c定義為文件類型指針的是( )A FILE c; B FILE *c; C file c; D file *c;25、存儲(chǔ)整形數(shù)據(jù)-7856時(shí),在二進(jìn)制文件和文本文件中占用的字節(jié)數(shù)分別是( )A 2,2 B 2,5 C 5,5 D 5,226、C語(yǔ)言中運(yùn)算對(duì)象必須是整型的運(yùn)算符是( )A %= B / C D =27、C語(yǔ)言開(kāi)始于二十世紀(jì)( )年代A 六十 B 七十 C 八十 D 九十28、函數(shù)調(diào)用語(yǔ)句f(e1,

29、e2),(e3,e4,e5);中參數(shù)的個(gè)數(shù)是( )A 1 B 2 C 4 D 529、在以下一組運(yùn)算符中,優(yōu)先級(jí)最高的運(yùn)算符是( )A = B = C % D &30、設(shè)有定義int a=3,b,*p=&a;,那么以下語(yǔ)句中不能使為3的語(yǔ)句是( )A b=*&a; B b=*p C b=a; D b=*a;二、判斷題每題1.5分,共15分1假設(shè)有說(shuō)明int c;那么while(c=getchar();是正確的C語(yǔ)句。 t 2int i,*p=&i;是正確的。 t37&3+12的值是15。 f4在利用fread函數(shù)從文件中讀數(shù)據(jù)時(shí),可以用數(shù)組名給數(shù)組中所有元素讀入數(shù)據(jù).( )5for(;)S;中

30、的語(yǔ)句S必執(zhí)行無(wú)窮屢次。 f6unsigned 和void 在C中都是關(guān)鍵字。 t7C語(yǔ)言中,函數(shù)值類型的定義可以缺省,此時(shí)函數(shù)值的隱含類型是void.(f )8C語(yǔ)言中,函數(shù)的隱含存儲(chǔ)類型是extern.(t )9全局變量的有效范圍為,從定義變量的位置開(kāi)始到本文件結(jié)束。 (t )C語(yǔ)言的標(biāo)識(shí)符可以由一個(gè)字母或數(shù)字開(kāi)頭。 (f )三、程序題每題10分,共40分1求出100-999的所有的水仙花數(shù)(水仙花數(shù)既xyz=x*x*x+y*y*y+z*z*z)main() int i,j,k,n; for(n=101;n1000;n+) k=n%10; /*個(gè)位*/ j=n%100/10; /*十位*/

31、 i=n/100; /*百位*/ if(n=i*i*i+j*j*j+k*k*k) printf(“%5d,n); 2使用數(shù)組,對(duì)用戶輸入的10個(gè)數(shù)進(jìn)行排序后輸出.main() int a10, i,j,t; printf(“input 10 number:n); for(i=0;i=9;i+) scanf(“%d,&ai); printf(“n); for(j=0;j=9;j+) for(i=0;iai+1) t=ai;ai=ai+1; ai+1=t; printf(“the sorted numbers:n); for(i=0;i=9;i+) printf(“%4d,ai); 3用遞歸的方法

32、求n! float fac(int n) float f; if (n0) printf(“n0,data error!); else if (n=0|n=1) f=1; else f=fac(n-1)*n; return f; main() int n; scanf(“%d,&n); printf(“%d!=%,n,fac(n);編程將一個(gè)文本文件中的內(nèi)容復(fù)制到的一個(gè)新的文本文件里面.main() FILE *in,*out; char ch=0,infile20,outfile20; scanf(%s,infile); scanf(%s,outfile); if (fopen(infile

33、,r)=NULL | fopen(outfile,w)=NULL) printf(cannot open infile or outfilen);exit(0); in=fopen(infile,r); out=fopen(outfile,w); while(ch=fgetc(in)!=EOF) fputc(ch,out); fclose(in); fclose(out); 2021-2021學(xué)年第一學(xué)期?C語(yǔ)言程序設(shè)計(jì)?課程期末考試試題(K卷)一、選擇題每題1.5分,共45分1、C語(yǔ)言中最簡(jiǎn)單的數(shù)據(jù)類型包括A 整型、實(shí)型、邏輯型 B 整型、實(shí)型、字符型 C 整型、字符型、邏輯型 D 整型、實(shí)

34、型、邏輯型、字符型2、假設(shè)變量已正確說(shuō)明為float類型,要通過(guò)語(yǔ)句scanf(%f %f %f ,&a,&b,&c);給a賦于10.0,b賦予22.0,c賦予33.0,不正確的輸入形式是:A 102233 B ,33.0 C 10.022.0 33.0 D 10 22333、假設(shè)變量c為char類型,能正確判斷出c為小寫(xiě)字母的表達(dá)式是A a=c= a)|(c= z) C (a=c) D (c= a)&(c= z)4、假設(shè)有定義:int a34;不能表示數(shù)組元素a11的是A *(a1+1) B *(&a11) C (*(a+1)1 D *(a+5)5、假定所有變量均已正確說(shuō)明,以下是程序段運(yùn)行

35、后x的值是? a=b=c=0;x=33;if(!a) x-;else if(b);if(c) x=7;else x=6;A 32 B 33 C 7 D 66、程序中定義以下宏 #define S(a,b) a*b,假設(shè)定義 int area; 且令area=S(3+1,3+4),那么變量area的值為:A 10 B 12 C 21 D 287、以下所列的C語(yǔ)言常量中,錯(cuò)誤的選項(xiàng)是A 0 xFF B C 2L D 728、假設(shè)指針p1已經(jīng)指向了某個(gè)整型變量,要使指針p2也指向同一個(gè)變量,那么下面各項(xiàng)中正確的選項(xiàng)是:A p2=*p1 B p2=*&p1 C p2=*p1 D p2=&*p19、函數(shù)

36、調(diào)用語(yǔ)句func(exp1,exp2),(exp3,exp4,exp5);中,實(shí)參的個(gè)數(shù)為:A 1 B 2 C 4 D 510、以下c語(yǔ)言函數(shù)聲明中,不正確的選項(xiàng)是:A void fun (int x, int y); B fun (int x, int y); C int fun (int x,y) D char *fun (char *s);11、表達(dá)式1&3&5&7的值為:A 1 B 3 C 5 D 712、假設(shè)i、j已定義為int型,那么以下程序段中內(nèi)循環(huán)體的總的執(zhí)行次數(shù)是for(i=5;i0;i-)for(j=0;j4;j+)A 20 B 24 C 25 D 3013、以下程序的輸出

37、結(jié)果是fun(int x, int y, int z) z=x*x+y*y; main() int a=31; fun(5,2,a); printf(%d,a);A 0 B 29 C 31 D 無(wú)確定值14、假設(shè)有以下說(shuō)明和語(yǔ)句,那么輸出結(jié)果是? (strlen(s)為求字符串s的長(zhǎng)度的函數(shù))char sp=tv0willn; printf(%d,strlen(sp);A 14 B 3 C 9 D 字符串中有非法字符15、循環(huán)語(yǔ)句while(!E)中的表達(dá)式!E等價(jià)于:A E!=0 B E=0 C E!=1 D E=116、函數(shù)調(diào)用:strcat(strcpy(str1,str2),str3)

38、的功能是()A 將串str1復(fù)制到串str2中后再連接到串str3之后B 將串str1連接到串str2之后再?gòu)?fù)制到串str3之后C 將串str2復(fù)制到串str1中后再將串str3連接到串str1之后D 將串str2連接到串str1之后再將串str1復(fù)制到串str3中17、以只讀方式翻開(kāi)一個(gè)二進(jìn)制文件,應(yīng)選擇的使用方式是A “a+ B “w+ C “rb D “wb18、設(shè)有定義語(yǔ)句“int *ptr 10,其中的ptr是A 10個(gè)指向整型變量的指針B 指向10個(gè)整型變量的函數(shù)指針C 一個(gè)指向具有10個(gè)元素的一維數(shù)組的指針D 具有10個(gè)指針元素的一維數(shù)組19、執(zhí)行語(yǔ)句char a10=“abcd

39、,*p=a;后,*(p+4)的值是A “abcd B d C 0 D 不能確定20、假設(shè)t為double類型,表達(dá)式t=1,t+5,t+的值是A 1 B 6.0 C21、表達(dá)式-1=3=-5值是:A 0 B 1 C 3 D 表達(dá)式語(yǔ)法有錯(cuò)22、定義一個(gè)具有10個(gè)元素的整型數(shù)組,應(yīng)該使用語(yǔ)句A int a10; B int a2,5; C int a; D int *a1023、在以下一組運(yùn)算中,優(yōu)先級(jí)最高的運(yùn)算符是A = B = C % C &24、在用一個(gè)字節(jié)存儲(chǔ)一個(gè)字符的系統(tǒng)中,n在內(nèi)存中占用的字節(jié)數(shù)是A 1 B 2 C 3 D 425、設(shè)變量m,n,a,b,c,d均為0,執(zhí)行(m=a=b

40、)|(n=c=d)后,m,n的值是A 0,0 B 0,1 C 1,0 D 1,126、存儲(chǔ)整型數(shù)據(jù)-7684時(shí),在二進(jìn)制文件和文本文件中占用的字節(jié)數(shù)分別是A 4,4 B 5,4 C 4,5 D 5,527、以下選項(xiàng)中,不是C的合法關(guān)鍵字的是A scanf B do while C for D continue28、設(shè)a=3,b=4,執(zhí)行printf(“%d,%d,(b,a,a+b),(a,b,b-a)A 3,4 B 4,3 C 4, 1 D 7,129、設(shè)a=1,b=2,c=3,d=4,那么表達(dá)式ab?a:cd?c,d的結(jié)果為A 4 B 3 C 2 D 130、以下語(yǔ)句中,將c定義為文件型指針

41、的是A FILE c; B FILE *c; C file c D file *c二、程序題共55分1、翻開(kāi),編程序求解以下問(wèn)題:輸入長(zhǎng)方體的長(zhǎng)、寬、高,求長(zhǎng)方體的體積并輸出。#include stdio.hvoid main() double l,w,h,v; printf(請(qǐng)輸入長(zhǎng)、寬、高:); scanf(%lf%lf%lf,&l,&w,&h); v=l*w*h; printf(長(zhǎng)方體的體積是:%fn,v);2、翻開(kāi),先從鍵盤上輸入一個(gè)3行3列矩陣的各個(gè)元素的值, 然后輸出主對(duì)角線元素之和。例如, 輸入下面的矩陣:100 200 300400 500 600700 800 900程序輸出

42、:主對(duì)角線元素之和為:100+500+900=1500 #include stdio.hvoid main() int a33,i,j,s=0; printf(請(qǐng)輸入矩陣:n); for(i=0;i3;i+) for(j=0;j3;j+) scanf(%d,&aij); for(i=0;i3;i+) s=s+aii; printf(主對(duì)角線的和為:%d+%d+%d=%dn,a00,a11,a22,s);3、翻開(kāi),輸入正整數(shù)n,輸出n行n列的空心四邊形圖案。以下是n等于4的圖案。 * * * * * * * * * * * * #include stdio.hvoid main() int i,

43、j,n; printf(請(qǐng)輸入n:); scanf(%d,&n); for(i=1;i=n;i+) for(j=1;j=n;j+) if(i=1|j=1|i=n|j=n) printf( *); else printf( ); printf(n); 4、翻開(kāi),使用遞歸方法將輸入的一個(gè)正整數(shù)按逆序輸出。例如:輸入1234,輸出4321 #include stdio.hvoid back(int n) printf(%2d,n%10); if(n*jp) if(*ip*kp) printf(最大值是:%fn,*ip); else printf(最大值是:%fn,*kp); else if(*jp*

44、kp) printf(最大值是:%fn,*jp); else printf(最大值是:%fn,*kp);6、翻開(kāi)program6.c,輸入3個(gè)教師的姓名,性別,單位,工資,并把它們的相關(guān)信息保存到teacher.dat文件中。#include #include #define SIZE 3struct teacherchar name10; char sex10; char department20; int gongzi;tSIZE;void main(void)FILE *fp; int i; printf(n name sex department gongzin);for(i=0;iS

45、IZE;i+) scanf(%s%s%s%d,,ti.sex,ti.department,&ti.gongzi); if(fp=fopen(teacher.dat,wb)=NULL) printf(The file can not openn); return; for(i=0;iSIZE;i+) if(fwrite(&ti,sizeof(struct teacher),1,fp)!=1) printf(file write errorn); return; fclose(fp);1、翻開(kāi)program1.c,輸入梯形的上底、下底和高,輸出梯形的面積。main() float a

46、,b,h,s; scanf(“%f%f%f,&a,&b,&h); s=(a+b)*h/2; printf(“s=%fn,s);2、翻開(kāi)program2.c,輸入一個(gè)5位數(shù),判斷它是不是回文數(shù)。即12321是回文數(shù),個(gè)位與萬(wàn)位相同,十位與千位相同。main( ) int ge,shi,qian,wan,x;scanf(%d,&x);wan=x/10000;qian=x%10000/1000;shi=x%100/10;ge=x%10;if (ge=wan&shi=qian)printf(this number is a huiwenn);elseprintf(this number is not

47、a huiwenn); 3、翻開(kāi)program3.c,輸入正整數(shù)n,將其分解質(zhì)因數(shù)。例如:輸入90,打印出90=2*3*3*5。main() int n,i;scanf(%d,&n);printf(%d=,n);for(i=2;i=n;i+) while(n!=i) if(n%i=0) printf(%d*,i);n=n/i;elsebreak;printf(%d,n);4、翻開(kāi)program4.c,利用遞歸函數(shù)調(diào)用方式,將所輸入的5個(gè)字符,以相反順序輸出。#include stdio.hvoid palin(n)int n; char next;if(n=1) next=getchar();

48、 printf(n);putchar(next);else next=getchar();palin(n-1);putchar(next);main() int i=5;palin(i);5、翻開(kāi)program5.c,輸入3個(gè)數(shù)a,b,c,使用指針(不用指針不給分)按從大到小順序輸出。swap(int *a,int *b) int t; t=*a,*a=*b,*b=t; exchange(q1,q2,q3)int *q1,*q2,*q3; if(*q1*q2) swap(q1,q2); if(*q1*q3) swap(q1,q3); if(*q2*q3) swap(q2,q3);main()

49、int a,b,c,*p1,*p2,*p3; scanf(“%d%d%d,&a,&b,&c); p1=&a,p2=&b,p3=&c; exchange(p1,p2,p3); printf(“%d,%d,%dn,a,b,c);6、翻開(kāi)program6.c,將一個(gè)文本文件中的內(nèi)容復(fù)制到的一個(gè)新的文本文件里面。#include main() FILE *in,*out; char ch=0,infile20,outfile20; scanf(%s,infile); scanf(%s,outfile); if (fopen(infile,r)=NULL | fopen(outfile,w)=NULL)

50、 printf(cannot open infile or outfilen);exit(0); in=fopen(infile,r); out=fopen(outfile,w); while(ch=fgetc(in)!=EOF) fputc(ch,out); fclose(in); fclose(out);2021-2021學(xué)年第一學(xué)期?C語(yǔ)言程序設(shè)計(jì)?課程期末考試試題(M卷)一、選擇題每題2分,共60分1、下述語(yǔ)句中, if語(yǔ)句語(yǔ)法是錯(cuò)誤的。()A if (xy);B if (x=y) x+=y;C if (x!=y) scanf(%d, &x) else scanf(%d,&y);D i

51、f (xy) x+;y+; 2、假設(shè)變量已正確說(shuō)明為float類型,要通過(guò)語(yǔ)句scanf(%f %f %f ,&a,&b,&c);給a賦于10.0,b賦予22.0,c賦予33.0,不正確的輸入形式是:A 102233 B ,33.0 C 10.022.0 33.0 D 10 22333、假設(shè)變量c為char類型,能正確判斷出c為小寫(xiě)字母的表達(dá)式是A a=c= a)|(c= z) C (a=c) D (c= a)&(c= z)4、設(shè)有如下定義;int x=10,y=3,z;那么語(yǔ)句printf(%dn,z=(x%y,x/y);的輸出結(jié)果是()A 3 B 0 C 4 D 15、假定所有變量均已正確

52、說(shuō)明,以下是程序段運(yùn)行后x的值是? a=b=c=0;x=33;if(!a) x-;else if(b);if(c) x=7;else x=6;A 32 B 33 C 7 D 66、以下選項(xiàng)中不屬于C語(yǔ)言數(shù)據(jù)類型的是()A 整型 B 邏輯型 C 雙精度型 D 枚舉型7、以下所列的C語(yǔ)言常量中,錯(cuò)誤的選項(xiàng)是A 0 xFF B C 2L D 728、C語(yǔ)言中各種根本數(shù)據(jù)類型的存儲(chǔ)空間長(zhǎng)度排列為()A charlongintfloatdouble B doublefloatlongintcharC charintlongfloatdouble D floatintlongchardouble9、函數(shù)調(diào)

53、用語(yǔ)句func(exp1,exp2),(exp3,exp4,exp5);中,實(shí)參的個(gè)數(shù)為:A 1 B 2 C 4 D 510、以下c語(yǔ)言函數(shù)聲明中,不正確的選項(xiàng)是:A void fun (int x, int y); B fun (int x, int y); C int fun (int x,y) D char *fun (char *s);11、表達(dá)式1&3&5&7的值為:A 1 B 3 C 5 D 712、假設(shè)i、j已定義為int型,那么以下程序段中內(nèi)循環(huán)體的總的執(zhí)行次數(shù)是for(i=5;i0;i-) for(j=0;j4;j+)A 20 B 24 C 25 D 3013、以下選項(xiàng)中,能

54、作為C程序自定義標(biāo)識(shí)符的是A num(10) B file_bak C break D class+214、以下表達(dá)中錯(cuò)誤的選項(xiàng)是()A 在C程序中,APH和aph是兩個(gè)不同的變量B C程序中的變量,代表內(nèi)存中的一個(gè)存儲(chǔ)單元,它的值可以根據(jù)需要隨時(shí)修改C 在C程序中,無(wú)論是整數(shù)還是實(shí)數(shù),都能準(zhǔn)確無(wú)誤地表示D 在C程序中,一個(gè)正整數(shù)可以用十進(jìn)制、八進(jìn)制和十六進(jìn)制的形式來(lái)表示15、循環(huán)語(yǔ)句while(!E)中的表達(dá)式!E等價(jià)于:A E!=0 B E=0 C E!=1 D E=116、C語(yǔ)言中運(yùn)算對(duì)象必須是整型的是()A %= B / C D =17、C語(yǔ)言可執(zhí)行程序的開(kāi)始執(zhí)行點(diǎn)是()A 程序中第一

55、條可執(zhí)行語(yǔ)言 B 程序中第一個(gè)函數(shù)C 程序中的main函數(shù) D 包含文件中的第一個(gè)函數(shù)18、C語(yǔ)言程序的根本單位是()A 函數(shù) B 過(guò)程 C 字符 D 語(yǔ)句19、有以下程序:int x=10,y=10;printf(%d,%dn,x-,-y);程序運(yùn)行后的輸出結(jié)果是()A 10,10 B 9,9 C 9,10 D 10,920、假設(shè)t為double類型,表達(dá)式t=1,t+5,t+的值是A 1 B 6.0 C 2.0 21、表達(dá)式-1=3=-5值是:A 0 B 1 C 3 D 表達(dá)式語(yǔ)法有錯(cuò)22、定義一個(gè)具有10個(gè)元素的整型數(shù)組,應(yīng)該使用語(yǔ)句A int a10; B int a2,5; C in

56、t a; D int *a1023、在以下一組運(yùn)算中,優(yōu)先級(jí)最高的運(yùn)算符是A = B = C % C &24、在用一個(gè)字節(jié)存儲(chǔ)一個(gè)字符的系統(tǒng)中,n在內(nèi)存中占用的字節(jié)數(shù)是A 1 B 2 C 3 D 425、設(shè)變量m,n,a,b,c,d均為0,執(zhí)行(m=a=b)|(n=c=d)后,m,n的值是A 0,0 B 0,1 C 1,0 D 1,126、以下選項(xiàng)中,與k=n+完全等價(jià)的表達(dá)式是()A k=n,n=n+1 B n=n+1,k=n C k=+n D k+=n+127、以下選項(xiàng)中,不是C的合法關(guān)鍵字的是A scanf B do while C for D continue28、設(shè)a=3,b=4,執(zhí)

57、行printf(“%d,%d,(b,a,a+b),(a,b,b-a)A 3,4 B 4,3 C 4, 1 D 7,129、設(shè)a=1,b=2,c=3,d=4,那么表達(dá)式ab?a:cd?c,d的結(jié)果為A 4 B 3 C 2 D 130、以下正確的數(shù)組定義語(yǔ)句是()A int y14=1,2,3,4,5, B float x3=1,2,3C long s23=1,1,21,2,3, D double t3=0二、程序題每題10分,共40分1、翻開(kāi),編程序解問(wèn)題:輸入n,求1+2+3+n的和。#include stdio.hvoid main() int n,s=0,i ; printf(請(qǐng)輸入n:)

58、; scanf(%d,&n); for(i=1;i=n;i+) s=s+i; printf(1+2+3+.+%d=%dn,n,s);2、翻開(kāi),將一個(gè)數(shù)組中的值按逆序重新存放,例如原來(lái)數(shù)組a=8,6,5,7,4,要求改為4,7,5,6,8 #include stdio.h#define n 5void main() int an,i,t; printf(請(qǐng)輸入矩陣:n); for(i=0;in;i+) scanf(%d,&ai); for(i=0;in;i+) printf(%d,ai); printf(“n);i=0;while(in-i-1)t=ai;ai=an-1-i;an-1-i=t;i

59、+ for(i=0;i=3)位數(shù)字的數(shù),它等于每個(gè)數(shù)字的n次冪之和)。 #include void main()int i,j,k,n; printf(水仙花數(shù)是:);for(n=100;n=999;n+) i=n/100;j=(n-i*100)/10;k=n%10;if(n=i*i*i+j*j*j+k*k*k) printf(%d,n)printf(n);2021-2021學(xué)年第一學(xué)期?C語(yǔ)言程序設(shè)計(jì)?課程期末考試試題(N卷)一、選擇題每題2分,共60分1、C語(yǔ)言可執(zhí)行程序的開(kāi)始執(zhí)行點(diǎn)是()A 程序中第一條可執(zhí)行語(yǔ)言 B 程序中第一個(gè)函數(shù)C 程序中的main函數(shù) D 包含文件中的第一個(gè)函數(shù)2

60、、以下表達(dá)中錯(cuò)誤的選項(xiàng)是()A 在C程序中,APH和aph是兩個(gè)不同的變量B C程序中的變量,代表內(nèi)存中的一個(gè)存儲(chǔ)單元,它的值可以根據(jù)需要隨時(shí)修改C 在C程序中,無(wú)論是整數(shù)還是實(shí)數(shù),都能準(zhǔn)確無(wú)誤地表示D 在C程序中,一個(gè)正整數(shù)可以用十進(jìn)制、八進(jìn)制和十六進(jìn)制的形式來(lái)表示3、假設(shè)變量c為char類型,能正確判斷出c為小寫(xiě)字母的表達(dá)式是A a=c= a)|(c= z) C (a=c) D (c= a)&(c0);D if(b=0)m=l;n=2;7、設(shè)a和b均為double型常量,且a=55、b=25,那么表達(dá)式(int)a+bb的值是。 A 6500000 B 6C 5500000D 600000

溫馨提示

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