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

下載本文檔

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

文檔簡介

1、2007-2021學年第一學期?C語言程序設(shè)計?課程考試試題一、選擇題每題2分,共50分(1)C語言開始于二十世紀( )年代 A) 六十 B) 七十 C) 八十 D) 九十(2)下面的數(shù)據(jù)類型中,C語言沒有的是( ) A) 空類型 B) 布爾型 C) 枚舉類型 D) 共用體類型(3)printf(“65”); 語句輸出的是( ) 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語言語法的表達式是( ) A) a:=b+1 B) a=b=c+1 C) int

2、 8.5%3 D) a=a+1=c+b(6)C語言中運算對象必須是整型的運算符是( ) 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)以下表達正確的選項是( ) A) do-while語句構(gòu)成的循環(huán)不能用其它語句構(gòu)成的循環(huán)來代替。 B) d

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

6、A) 機器語言 B) 匯編語言 C) 面向過程的語言 D) 面向?qū)ο蟮恼Z言(21) 以下選項中,能做為C程序自定義標識符的是( )A) num(10) B)file_bak C) break D) class+2(22)以下選項中,不是C語言提供的合法關(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)一個char型數(shù)據(jù),它的值在內(nèi)存中存放的是( )A) ASCII碼值 B) BCD碼值 C) 內(nèi)碼值 D) 十進制碼值(25)設(shè)a為5,執(zhí)行以下語句后,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.求百元百雞問題。用100元錢來買100只雞,其中公雞5元一只,母雞3元一只,小雞一元5只,問該如何買,才能100元錢買到100只雞。#include stdio.hvoid main()int x,y,z; printf(百雞問題解:n); for(x=0;x=

8、100;x+) for(y=0;y7) printf(“*);x-;A * B * C * D *4、以下語句中錯誤的選項是A while(x=y)5; B do x+ while(x= =10);C while(0); D do 2;while(a= =b);5、循環(huán)語句for(x=0,y=0;(y!=123)|(x4);x+);的循環(huán)執(zhí)行A 無限次 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、以下語句中,將c定義為文件類型指針的是( )A FILE c; B FILE *c; C file c; D file *c;19、存儲整形數(shù)據(jù)-7856時,在二進制文件和文本文件中占用的字節(jié)數(shù)分別是( )A 2,2 B 2,5 C 5,5 D 5,220、C語言中運算對象必須是整型的運算符是( )A %= B / C D =二、程序題每題20分,共40分1、編程序解百雞問題:100元錢買100只雞,公雞每只3元,母雞每只5元,小雞3只1元,問公雞、母雞、小雞各多少只?#include stdio.hvoid main()int x,y,z; printf(百雞問題解: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、學年第一學期?C語言程序設(shè)計?課程期末考試試題(G卷)一、選擇題每題1.5分,共45分1、以下選項中,不是用來表達轉(zhuǎn)義字符的是A B C 074 D 02、以下選項中,不是C語言提供的合法關(guān)鍵字的是A switch B begin C case D default3、以下選項中,能作為C程序自定義標識符的是A num(10) B file_bak C break D class+24、設(shè)a為5,執(zhí)行以下語句后,b的值不為2的是A b=a/2 B b=6-(-a) C b=a%2 D b=a3?3:25、執(zhí)行語句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ōu)先級最高的運算符是A = B = C % D &7、設(shè)a為整形變量,以下C表達式中,不能表達數(shù)學關(guān)系式10a15的是A 10a10&a15 D !(a=15)8、假設(shè)有以下定義:char a;int b;float c;double 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-);語句后的輸出是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);語句后的輸出是A 3,4 B 4,3 C 3,3 D 4,412、假定所有變量均已正確定義,以下程序段運行后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、以下語句中錯

14、誤的選項是A while(x=y)5; B do x+ while(x= =10);C while(0); D do 2;while(a= =b);15、循環(huán)語句for(x=0,y=0;(y!=123)|(x4);x+);的循環(huán)執(zhí)行A 無限次 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、以只寫方式翻開一個二進制文件,應選擇的使用方式是A “a+ B “w+ C “rb D “wb18、設(shè)有定義語句“int(*ptr)10,其中的ptr

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

16、語句A int a10; B int a2,5; C int a; D int *a1023、設(shè)有定義int a=3,b,*p=&a;,那么以下語句中不能使為3的語句是A b=*&a B b=*p C b=a D b=*a24、假設(shè)已定義:int a9,*p=a;,并在以后的語句中未改變p的值,不能表示a1地址的表達式是A p+1 B a+1 C a+ D +p25、設(shè)有定義語句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、存儲整形數(shù)據(jù)-7856時,在二進制文件和文本文件中占用

17、的字節(jié)數(shù)分別是A 2,2 B 2,5 C 5,5 D 5,227、以下數(shù)據(jù)類型屬于構(gòu)造類型的是A 整型 B 字符型 C 數(shù)組型 D 單精度實型28、字符串mx42np102q的長度是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語言函數(shù)feof(fp)的返回值是A EOF B -1 C 非零值 D NULL二、判斷題每題1.5分,共15分1、C語言中,優(yōu)先級最低的運算符是邏輯運算符f2、C語言本身沒有輸入輸出語句t3、C

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

19、oid main()int x,y,z; printf(百雞問題解: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個整數(shù),對它們用冒泡法從小到大排序,然后輸出。#include stdio.h#define N 1000void main()int i,n,j,temp,k,up; int aN; printf(輸入整數(shù)序列的整數(shù)個數(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ù)將輸入的一個正整數(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(請輸入一個正整數(shù):); scanf(%d,&n); printf(逆序后的結(jié)果為:); back(n); printf(n);4、輸入5個學生的學號,姓名,語文成績,數(shù)學成績,英語成績,并把它們的相關(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學年第一學期?C語言程序設(shè)計?課程期末考試試題(H卷)一、選擇題每題1.5分,共45分1、以下選項中,能做為C程序自定義標識符的是( )A num(10) Bfile_bak C break D class+22、以下選項中,不是C語言提供的合法關(guān)鍵字的是( )A switch B begin C case D default3、字符串xyz在內(nèi)存中占用的字節(jié)數(shù)是( )A 3 B 4 C 5 D 64、一個char型數(shù)據(jù),它的值在內(nèi)存中存放的是( )A ASCII碼值 B BCD碼值 C 內(nèi)碼值 D 十進制碼值

24、5、設(shè)a為5,執(zhí)行以下語句后,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語言中,以下說法中正確的選項是( )A 編程時盡量不要使用do語句while(條

25、件)的循環(huán)B do語句while(條件)的循環(huán)中必須使用break語句退出循環(huán)C do語句while(條件)的循環(huán)中,當條件非0時將結(jié)束循環(huán)D do語句while(條件)的循環(huán)中,當條件為0時將結(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的長度是( )A 7 B 9 C 15 D 1616、設(shè)有如下定義,那么正確的表達為( )char x=abcdefg,y=a,b,c,d,e,f,g; A 數(shù)組x和數(shù)組y等

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

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

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

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

30、的語句S必執(zhí)行無窮屢次。 f6unsigned 和void 在C中都是關(guān)鍵字。 t7C語言中,函數(shù)值類型的定義可以缺省,此時函數(shù)值的隱含類型是void.(f )8C語言中,函數(shù)的隱含存儲類型是extern.(t )9全局變量的有效范圍為,從定義變量的位置開始到本文件結(jié)束。 (t )C語言的標識符可以由一個字母或數(shù)字開頭。 (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; /*個位*/ j=n%100/10; /*十位*/

31、 i=n/100; /*百位*/ if(n=i*i*i+j*j*j+k*k*k) printf(“%5d,n); 2使用數(shù)組,對用戶輸入的10個數(shù)進行排序后輸出.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);編程將一個文本文件中的內(nèi)容復制到的一個新的文本文件里面.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學年第一學期?C語言程序設(shè)計?課程期末考試試題(K卷)一、選擇題每題1.5分,共45分1、C語言中最簡單的數(shù)據(jù)類型包括A 整型、實型、邏輯型 B 整型、實型、字符型 C 整型、字符型、邏輯型 D 整型、實

34、型、邏輯型、字符型2、假設(shè)變量已正確說明為float類型,要通過語句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為小寫字母的表達式是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、假定所有變量均已正確說明,以下是程序段運行

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語言常量中,錯誤的選項是A 0 xFF B C 2L D 728、假設(shè)指針p1已經(jīng)指向了某個整型變量,要使指針p2也指向同一個變量,那么下面各項中正確的選項是:A p2=*p1 B p2=*&p1 C p2=*p1 D p2=&*p19、函數(shù)

36、調(diào)用語句func(exp1,exp2),(exp3,exp4,exp5);中,實參的個數(shù)為:A 1 B 2 C 4 D 510、以下c語言函數(shù)聲明中,不正確的選項是: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、表達式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 無確定值14、假設(shè)有以下說明和語句,那么輸出結(jié)果是? (strlen(s)為求字符串s的長度的函數(shù))char sp=tv0willn; printf(%d,strlen(sp);A 14 B 3 C 9 D 字符串中有非法字符15、循環(huán)語句while(!E)中的表達式!E等價于:A E!=0 B E=0 C E!=1 D E=116、函數(shù)調(diào)用:strcat(strcpy(str1,str2),str3)

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

39、,*p=a;后,*(p+4)的值是A “abcd B d C 0 D 不能確定20、假設(shè)t為double類型,表達式t=1,t+5,t+的值是A 1 B 6.0 C21、表達式-1=3=-5值是:A 0 B 1 C 3 D 表達式語法有錯22、定義一個具有10個元素的整型數(shù)組,應該使用語句A int a10; B int a2,5; C int a; D int *a1023、在以下一組運算中,優(yōu)先級最高的運算符是A = B = C % C &24、在用一個字節(jié)存儲一個字符的系統(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、存儲整型數(shù)據(jù)-7684時,在二進制文件和文本文件中占用的字節(jié)數(shù)分別是A 4,4 B 5,4 C 4,5 D 5,527、以下選項中,不是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,那么表達式ab?a:cd?c,d的結(jié)果為A 4 B 3 C 2 D 130、以下語句中,將c定義為文件型指針

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

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

43、j,n; printf(請輸入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、翻開,使用遞歸方法將輸入的一個正整數(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、翻開program6.c,輸入3個教師的姓名,性別,單位,工資,并把它們的相關(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、翻開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、翻開program2.c,輸入一個5位數(shù),判斷它是不是回文數(shù)。即12321是回文數(shù),個位與萬位相同,十位與千位相同。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、翻開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、翻開program4.c,利用遞歸函數(shù)調(diào)用方式,將所輸入的5個字符,以相反順序輸出。#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、翻開program5.c,輸入3個數(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、翻開program6.c,將一個文本文件中的內(nèi)容復制到的一個新的文本文件里面。#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學年第一學期?C語言程序設(shè)計?課程期末考試試題(M卷)一、選擇題每題2分,共60分1、下述語句中, if語句語法是錯誤的。()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è)變量已正確說明為float類型,要通過語句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為小寫字母的表達式是A a=c= a)|(c= z) C (a=c) D (c= a)&(c= z)4、設(shè)有如下定義;int x=10,y=3,z;那么語句printf(%dn,z=(x%y,x/y);的輸出結(jié)果是()A 3 B 0 C 4 D 15、假定所有變量均已正確

52、說明,以下是程序段運行后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、以下選項中不屬于C語言數(shù)據(jù)類型的是()A 整型 B 邏輯型 C 雙精度型 D 枚舉型7、以下所列的C語言常量中,錯誤的選項是A 0 xFF B C 2L D 728、C語言中各種根本數(shù)據(jù)類型的存儲空間長度排列為()A charlongintfloatdouble B doublefloatlongintcharC charintlongfloatdouble D floatintlongchardouble9、函數(shù)調(diào)

53、用語句func(exp1,exp2),(exp3,exp4,exp5);中,實參的個數(shù)為:A 1 B 2 C 4 D 510、以下c語言函數(shù)聲明中,不正確的選項是: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、表達式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、以下選項中,能

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

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

56、t a; D int *a1023、在以下一組運算中,優(yōu)先級最高的運算符是A = B = C % C &24、在用一個字節(jié)存儲一個字符的系統(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、以下選項中,與k=n+完全等價的表達式是()A k=n,n=n+1 B n=n+1,k=n C k=+n D k+=n+127、以下選項中,不是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,那么表達式ab?a:cd?c,d的結(jié)果為A 4 B 3 C 2 D 130、以下正確的數(shù)組定義語句是()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、翻開,編程序解問題:輸入n,求1+2+3+n的和。#include stdio.hvoid main() int n,s=0,i ; printf(請輸入n:)

58、; scanf(%d,&n); for(i=1;i=n;i+) s=s+i; printf(1+2+3+.+%d=%dn,n,s);2、翻開,將一個數(shù)組中的值按逆序重新存放,例如原來數(shù)組a=8,6,5,7,4,要求改為4,7,5,6,8 #include stdio.h#define n 5void main() int an,i,t; printf(請輸入矩陣: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ù),它等于每個數(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學年第一學期?C語言程序設(shè)計?課程期末考試試題(N卷)一、選擇題每題2分,共60分1、C語言可執(zhí)行程序的開始執(zhí)行點是()A 程序中第一條可執(zhí)行語言 B 程序中第一個函數(shù)C 程序中的main函數(shù) D 包含文件中的第一個函數(shù)2

60、、以下表達中錯誤的選項是()A 在C程序中,APH和aph是兩個不同的變量B C程序中的變量,代表內(nèi)存中的一個存儲單元,它的值可以根據(jù)需要隨時修改C 在C程序中,無論是整數(shù)還是實數(shù),都能準確無誤地表示D 在C程序中,一個正整數(shù)可以用十進制、八進制和十六進制的形式來表示3、假設(shè)變量c為char類型,能正確判斷出c為小寫字母的表達式是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,那么表達式(int)a+bb的值是。 A 6500000 B 6C 5500000D 600000

溫馨提示

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

評論

0/150

提交評論