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

下載本文檔

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

文檔簡介

1、選擇練習(xí)題 1、C語言中最簡單的數(shù)據(jù)類型包括( B )。 A、整型,實(shí)型,邏輯型B、整型,實(shí)型,字符型 C、整型,字符型,邏輯型D、整型,實(shí)型,邏輯型,字符型 2、C語言中,運(yùn)算對(duì)象必須是整型數(shù)的運(yùn)算符是(A )。 A、%B、/C、%和/D、* 3、為表示關(guān)系xyz,應(yīng)使用C語言表達(dá)式( A )。 A、(xy)&&(yz) B、(xy)AND(yz) C、(xyz) D、(xy) &(yz) 4、C語言程序的基本單位是( C )。 A、程序行 B、語句 C、函數(shù) D、字符 5、C語言的程序一行寫不下時(shí),可以( D )。 A、用逗號(hào)換行 B、用分號(hào)換行 C、用回車符換行

2、D、在任意一空格處換行標(biāo)識(shí)符由字母,數(shù)字和下劃線組成且第一個(gè)字符必須為字母或下劃線 6、下述標(biāo)識(shí)符中,( C )是合法的用戶標(biāo)識(shí)符。 A、A&B B、void C、_student D、ab* 7、在C語言中,字符型數(shù)據(jù)在內(nèi)存中以( B )形式存放。 A、補(bǔ)碼 B、ASCII碼 C、反碼 D、原碼 8、一個(gè)程序由若干文件組成,共用同一變量,則此變量的存儲(chǔ)類別應(yīng)該為( B )。auto自動(dòng)變量register寄存器變量extern 外部變量static靜態(tài)變量 A、auto B、extern C、static D、Register 9、以下關(guān)于switch語句和break語句的描述中,只

3、有(B )是正確的。 A、在switch語句中必須使用break語句 B、在switch語句中,可以根據(jù)需要使用或不使用break語句 C、break語句只能用于switch語句中 D、break語句是switch語句的一部分 10、C語言規(guī)定:調(diào)用一個(gè)函數(shù)時(shí),實(shí)參變量和形參變量之間的數(shù)據(jù)傳遞是(B )。 A、地址傳遞 B、值傳遞 C、由實(shí)參傳給形參,并由形參傳回給實(shí)參 D、由用戶指定傳遞方式 11、下述C語言轉(zhuǎn)義符中( D )是非法的。 A、'b' B、'037' C、'0xf ' D、''' 12、為了要計(jì)算s=10!

4、(10的階乘),則以下對(duì)s的定義正確的是( D )。 A、int s B、unsigned s C、short s D、long s 13、判斷變量ch中的字符是否為大寫字母,最簡單的正確表達(dá)式是( A )。 A、ch='A'&&ch='z' B、A=ch=Z C、'A'=ch='z' D、ch=A&&ch=z 14、在C語言中,能表示無符號(hào)長整型常數(shù)的是(D )。 A、OL B、4962710U C、912374u D、2UL 15、能正確表示C語言的字符常量的是( C )。 A、'0x4

5、1' B、''A'' C、'0' D、''0'' 16、C語言中邏輯表達(dá)式的值為( A )。 A、0或1 B、非零值或零值 C、true或false D、'true'或'false' 17、C語言提供的基本數(shù)據(jù)類型關(guān)鍵字是( C )。 A、integer B、FLOAT C、unsigned D、Double 18、若定義語句:int b =1,2,3,4,5,*P=b;則表達(dá)式*p+的值是( A )。 A、1 B、2 C、b0的地址 D、b1的地址 19、在下列選項(xiàng)中,不正

6、確的表達(dá)式是( C )。 A、ab B、c-, +b, a+=1 C、a=c+bn-m=k D、p+ 20、若有以下定義: int a =1,2,3,4,5,6,7; char cl='b',c2='2'; 則數(shù)值不為2的表達(dá)式是( D )。 A、a1 B、'd'-cl C、a'3'-c2 D、c2-0 25、下述對(duì)C語言字符數(shù)組的描述中錯(cuò)誤的是( C )。 A、字符數(shù)組可以存放字符串 B、字符數(shù)組中的字符串可以整體輸入、輸出 C、可以在賦值語句中通過賦值運(yùn)算符=對(duì)字符數(shù)組整體賦值 D、不可以用關(guān)系運(yùn)算符對(duì)字符組中的字符串進(jìn)行比較

7、 27、以下程序的輸出結(jié)果是( A )。 main( ) int i=010, j=10, k=ox10; printf(''%d,%d,%dn'',i,j,k); A、8,10,16 B、8,10,10 C、10,10,10 D、10,10,16 28、以下程序的輸出結(jié)果是( B )。 #includestdio.h main( ) printf(''%dn'',NULL); A、不確定的值(因變量無定義) B、0 C、-1 D、1 29、以下程序的輸出結(jié)果是( B )。 main( ) char c1='6',

8、c2='0'; printf(''%d,%d,%dn'',c1,c2,c1-c2); A、因輸出格式不合法,輸出出錯(cuò)信息 B、54,48,6 C、6.0,7 D、6,0,6 32、下述對(duì)C語言字符數(shù)組的描述中錯(cuò)誤的是( C )。 A、字符數(shù)組可以存放字符串 B、字符數(shù)組中的字符串可以整體輸入、輸出 C、可以在賦值語句中通過賦值運(yùn)算符''=''對(duì)字符數(shù)組整體賦值 D、不可以用關(guān)系運(yùn)算符對(duì)字符組中的字符串進(jìn)行比較 33、Turbo C中,對(duì)于以下程序( A )。 main( ) int x,y; y=creat(&am

9、p;x); printf(''%d n'', y); creat(int a) return a+; A、編譯時(shí)會(huì)給出錯(cuò)信息 B、順利進(jìn)行編譯、連接、執(zhí)行;不報(bào)任何錯(cuò)誤 C、順利通過編譯、連接、但不能執(zhí)行 D、順利通過編譯,但連接出錯(cuò) 34、設(shè)有如下定義: int x=10, y=4,z;則語句: printf(''%dn'', z=(x%y, x/y);的輸出結(jié)果是( C )。 A、1 B、0 C、2 D、3 35、下述程序段的輸出結(jié)果是( D )。 main( ) int x=10, y=10; printf('

10、9;%d, %dn'', x+, +y); A、10,10 B、11,11 C、11,10 D、10,11 36、定義如下變量和數(shù)組: int j; int x33=1,2,3,4,5,6,7,8,9;則下面語句的輸出結(jié)果是( C )。 for(i=0;i3;i+ printf(''%d'', xi2-i); A、159 B、147 C、357 D、369 37、若要求在if后一對(duì)圓括號(hào)中表示a不等于0的關(guān)系,則不能正確表示這一關(guān)系的表達(dá)式為( C )。 A、a0 B、!a C、a=0 D、a 38、若m,y,z均為int型變量,則執(zhí)行下面語句后

11、m值是(A )。 m=1;x=2;y=3;z=4; m=(mx)?m:x; m=(my)?m:y; m=(mz) ?m:z; A、1 B、2 C、3 D、4 39、若有定義:int a=7;float x=2.5,y=4.7,則表達(dá)式x+a%3*(int)(x+y)%2/4的值是( A )。 A、2.500000 B、2.750000 C、3.500000 D、0.000000 40、如下說法不正確的是( C )。 A、ca+b等效于c(a+b) B、若a,b均為真,則a|b為真 C、表達(dá)式'c'&&'d'的值為0 D、邏輯運(yùn)算符!比邏輯運(yùn)算符|

12、的優(yōu)先級(jí)高 41、putchar()函數(shù)可以向終端輸出一個(gè)( B )。 A、整型變量表達(dá)式值 B、字符 C、字符串 D、實(shí)型變量值 42、表達(dá)式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型為( C )。 A、int B、float C、double D、不確定 43、若已定義a為整型變量: a=-2L; printf(''%dn'',a);則以上語句( B )。 A、賦值不合法 B、輸出值為-2 C、輸出為不確定值 D、輸出值為2 45、若int類型數(shù)據(jù)占兩個(gè)字節(jié),則以下語句的輸出為( D )。 int k= -1; printf(''%d,%u

13、n'',k,k); A、-1,-1 B、-1,32767 C、-1,32768 D、-1,65535 46、已知字母a的ASCII碼十進(jìn)制值為97,則執(zhí)行以下語句后的輸出為( C )。yhg char a='a' a-; printf(''%d,%cn'',a+'2'-'0',a+'3'-'0'); A、b,c B、a運(yùn)算不合法,故有語法錯(cuò) C、98,c D、格式描述和輸出項(xiàng)不匹配,輸出無定值 47、下面語句中( B )是C語言的正確賦值語句。 A、a=1,b=2 B

14、、I+; C、a=b=5 D、y=int(x);A中聲明變量并初始化時(shí):int a=1,b=5;但是,只賦值時(shí)是不能這樣寫的,應(yīng)該寫成a=1;b=2;C無分號(hào),不是完整的語句,D中x沒有定義,如果是 int x=3;int y; y=int(x);這樣是對(duì)的 48、設(shè)有以下說明語句 struct stu int a; float b; stutype;則下面的敘述不正確的是( C )。 A、struct是結(jié)構(gòu)體類型的關(guān)鍵字 B、struct stu是用戶定義的結(jié)構(gòu)體類型 C、stutype是用戶定義的結(jié)構(gòu)體類型名 D、a和b都是結(jié)構(gòu)體成員名 49、能正確表示:當(dāng)x的取值范圍在1,10或100,

15、110內(nèi)為真,否則為假的表達(dá)式是( C )。 A、(x1)&&(x10)&&(x100)&&(x110) B、(x1)|(x10)|(x100)|(x110) C、(x1)&&(x10)|(x100)&&(x110) D、(x1)|(x10)&&(x100)&&(x110) 50、設(shè)n為整型變量,則循環(huán)語句for(n=10;n0;n-)的循環(huán)次數(shù)為( A )。 A、10 B、9 C、11 D、12 51、在對(duì)文件進(jìn)行操作時(shí),若要求文件的位置指針回到文件的開頭,則應(yīng)當(dāng)調(diào)用的庫函數(shù)是(

16、D )。 A、fopen() B、fseek() C、fclose() D、rewind() 52、下列哪個(gè)數(shù)組定義是正確的( D )。 A、int a5.5; B、INT a10; C、int an; D、int a3+2; 53、一個(gè)變量的指針就是( A )。 A、變量的地址 B、變量的值 C、變量的名稱 D、變量的類型 55、下列正確的說法是(C )。 A、宏替換是在程序運(yùn)行時(shí)進(jìn)行的 B、函數(shù)調(diào)用是在程序編譯時(shí)進(jìn)行的 C、宏替換時(shí),如果實(shí)參是表達(dá)式,應(yīng)先求表達(dá)式的值,再替換 D、函數(shù)調(diào)用時(shí),如果實(shí)參是表達(dá)式,應(yīng)先求表達(dá)式的值,再替換 56、對(duì)于數(shù)學(xué)式/2a,下面正確的C語言表達(dá)式是( D

17、 )。 A、sqr(x)/2a B、sqr(x)/2*a C、sqrt(x)/(2*a) D、sqrt(x)/2*a 57、若int類型數(shù)據(jù)占2字節(jié),則以下語句的輸出為( D )。 int k=32768; printf(''%d,%un'',k,k); A、-1,65535 B、-1,32767 C、-1,-1, D、-32768,32768 59、下面程序中( B )有錯(cuò)誤。 1)#includestdio.h 2)main ( ) 3) 4)int a3=0,0,0; 5)int i; 6)for(i=0;i3;i+scanf(''%D&#

18、39;',&ai); 7)for(i=1;i3;i+a0=a0+ai; 8)printf(''%dn'',a0; A、第4行 B、第6行 C、第7行 D、第8行 60、下面程序的運(yùn)行結(jié)果( C )。 main( ) unsigned a=3,b=10;5 printf(''%dn''a2|b1; A、3 B、10 C、13 D、14%m.nd表示最大場(chǎng)寬m,小數(shù)位為n位,整數(shù)位則為m-n-1位,夠m位右對(duì)齊。%-m.nf可以控制輸出左對(duì)齊 61、已定義x為float型變量。 x=213.82631; Printf(

19、''%-4.2fn'',x);則以上程序( A )。 A、輸出格式描述符的域?qū)挷粔?,不能輸?B、輸出為213.83 C、輸出為213.82 D、輸出為-213.82 62、設(shè)已定義整型變量K,則下面的程序輸出為( D )。 k=017;s=111; printf(''%d'',+k); printf(''%xn'',s+); A、15 6f B、16 70 C、15 71 D、16 6f 63、不能正確表示a*b/c*d的C語言表達(dá)式是( C )。 A、a*b/c*d B、a/(c*d)*b C、

20、a*b/c/d D、a*b/(c*d) 64、下列( C )表達(dá)式不滿足;當(dāng)x的值為偶數(shù)時(shí)值為“真”,為奇數(shù)時(shí)值為“假”。 A、x%2= =0 B、!x%2!=0 C、x/2*2-x= =0 D、!(x%2) 65、設(shè)已定義k為int型變量,則下面while循環(huán)執(zhí)行( C )次。 k=10; while(k=0)k=-1; A、執(zhí)行10次 B、無限循環(huán) C、一次也不執(zhí)行 D、執(zhí)行一次 67、用高級(jí)語言編寫的程序稱之為( A )。 A、源程序 B、目標(biāo)程序 C、匯編程序 D、命令程序 69、有以下程序的輸出結(jié)果為( B )。 main( ) char a=0x95,b,c; b=(a&0

21、xf)4; c=(a&0xf0)4; a=b|c; printf(''%xn'',a); A、24 B、59 C、34 D、56 70、下述程序段的輸出結(jié)果是( A )。 int a=3;b=4; int c=ab3; printf(''%d'',c) A、3 B、4 C、5 D、6 73、設(shè)int型變量在內(nèi)存中占用兩個(gè)字節(jié)存儲(chǔ)單元,定義如下結(jié)構(gòu)體: struct student char name10; char sex; int age; struct int year; int month; int day; bir

22、th; stul;則表達(dá)式sizeof(stul)的值是( )。 A、5 B、8 C、2 D、26 75、下述程序段的運(yùn)行結(jié)果是( B )。 #include <stdio.h> main( ) int m=7,n=4; float a=38.4,b=0.4,x; x=m/2+n*a/b+1/2; printf(''%fn'',x); A、22 B、387.000000 C、27 D、26 76、下面程序的運(yùn)行結(jié)果是( C )。 main( ) int cl=2,c2=0; while(!c2- -) printf(''%d%d

23、9;',cl- -,c2); A、陷入死循環(huán) B、不輸出任何內(nèi)容 C、輸出2 -1 D、輸出20 77、下面程序的運(yùn)行結(jié)果是( B )。 int m=4,n=6; max(int x,int y) int max; max=x>y?x:y; return(max); main( ) int m=10; printf(''%dn'',max(m,n); A、4 B、10 C、6 D、5 78、下面程序的運(yùn)行結(jié)果是( B )。 fun(int p) int k=1; static t=2; k=k+1; t=t+1; return(p*k*t); ma

24、in( ) int x=4; fun(x); printf(''%dn'',fun(x); A、4 B、32 C、30 D、16 79、閱讀下面的程序: main( ) char ch; scanf(''%c'',&ch); if(ch>='a'&& ch<='z') ch=ch-32; printf(''%c'',ch); 若輸入字符為:e,則程序運(yùn)行結(jié)果為( A )。 A、E B、A C、e D、z 80、下面程序的運(yùn)行結(jié)果是(

25、 B )。 main( ) static int a33=3,2,1,(4,5,6),-2,9,1; int i,j,sum=0; for(i=0;i<3;i+) for(j=0;j<3;j+) if(i= =j) sum=sum+aiJj; printf(''sum=%d'',sum); A、sum=10 B、sum=9 C、9 D、10 84、下述程序的運(yùn)行結(jié)果是( A )。 #include<stdio.h> void fun(int x) putchar('0'+(x% 10); fun(x/10); main(

26、) printf(''n''); fun(1234); A、4321 B、321 C、21 D、1 86、設(shè)已定義i和k為int類型變量,則以下for循環(huán)語句( B )。 for(i=0,k=-1;i+,k+) printf(''* * * *n''); A、判斷循環(huán)結(jié)束的條件不合法 B、是無限循環(huán) C、循環(huán)一次也不執(zhí)行 D、循環(huán)只執(zhí)行一次 87、下列程序段選擇項(xiàng)中,使i的運(yùn)行結(jié)果為4的程序段是( D )。 A、int i=0,j=0; B、int i=1,j=70; (i=3,(j+)+i); j=i=(i=3) *2); C、

27、int i=0,j=1; D、int i=1,j=1; (j= =1)?(i=1):(i=3); i+=j+=2; 89、閱讀以下程序(最左邊是附加的行號(hào))。 1)#include<stdio.h> 2)main( ) 3) float s5; 4) int i,k=0; 5) for(i=0;i<5;i+) 6) scanf(''%d'',s+i); 7) for(i=0;i<5;i+) 8) k=si; 9) printf(''n%f'',(float)k); 10)此段程序( A )。 A、沒有錯(cuò)誤

28、B、第4行錯(cuò)誤 C、第6行錯(cuò)誤 D、第9行錯(cuò)誤 90、下列程序中有三個(gè)是完全相同的功能,只有( B )所完成的功能與其他程序不同。 A、s=0; B、s=0; i=0; i=1; while(i<=100) while(i+<100) s+=i+; s+=i; C、s=0; D、s=0; i=0; i=0; while(i<=100) while(+i<=100) s+=+i; s+=i; 92、執(zhí)行下面的程序后,a的值為( D )。 main( ) int a,b; for(a=1,b=1;a<=100;a+) if(b>=20)break; if(b%3

29、= =1) b+3; continue; b-=5; A、7 B、8 C、 D、10 93、下面的程序中( C )有錯(cuò)誤。 1)#include<stdio.h> 2)main( ) 3) 4) float a3=0.0; 5) int i; 6) for(i=0;i<3;i+) 7) scanf(''%D'',&ai); 8) for(i=1;i<3;i+)a0=a0+ai; 9) printf(''%fn'',a0); A、第4行 B、第6行 C、第7行 D、第8行 94、以下程序的輸出結(jié)果是(

30、 C )。 #include<stdio.h> main( ) int i; for(i=1;i<5;i+) if(i%2) printf(''+'') else continue; printf(''-'') printf(''n''); A、+-+-+- B、-+-+-+ C、+-+- D、-+-+ 95、下述程序段的輸出結(jié)果是( C )。 int x=3; do printf(''%d'',x-=2); while(!(-x); A、1 B、3

31、0 C、1-2 D、死循環(huán) 96、定義如下變量: int n=10;則下列循環(huán)的輸出結(jié)果是( A )。 while(n>7) n-; printf(''%d'',n); A、1098 B、987 C、10987 D、9876 100、兩次運(yùn)行下面的程序,如果鍵盤上分別輸入6和4,則輸出結(jié)果是( A )。 main( ) int x; scanf(''%d'',&x); int(x+>5) printf(''%dn'',x-); A、7和5 B、6和3 C、7和4 D、6和4 10

32、1、運(yùn)行下段程序的結(jié)果是( D )。 #include<stdio.h> main( ) int x; for(x=1;x<=100;x+) if(+x%= =0) if(+x%3= =0) if(+x%5= =0) printf(''%d'',x); A、31,61,91 B、30,60,90 C、不輸出任何內(nèi)容 D、29,59,89 102、運(yùn)行下述程序段后,i值為4的是( B )。 A、int i=1,j=0; B、inti=1,j=1; i=j=(i=3)+); i+=i+=2; C、int i= =0,j=0; D、int i=0,j

33、=1; (i=2,i+(j=2); (j= =1)?i+=3:i=2; 104、以下程序的輸出結(jié)果是( D )。 main() int a=-1,b=4,k; k=(+a,0)&&!(b-<=0); printf(''%d,%d,%dn'',k,a,b); A、1,0,4 B、1,0,3 C、0,0,3 D、0,0,4 105、以下程序的輸出結(jié)果是( A )。 main( ) int x=3,y=0,z=0; if(x=y+z) printf(''* * * *''); else printf('&#

34、39;# # # #''); A、# # # # B、* * * * C、1 D、4 106、以下程序的輸出結(jié)果是( A )。 int m=13; int fun2(int x, int y) int m=3; return(x*y-m); main( ) int a=7,b=5; printf(''%dn'',fun2(a,b)/m); A、2 B、3 C、7 D、5 112、閱讀程序: #include<stdio.h> main( ) int m,n,w; scanf(''%d,%d'',&

35、;m,&n); while(n) w=m%n; m=n; n=w; printf(''%d'',m); 如果輸入10,6,則輸出結(jié)果是( D )。 A、60 B、120 C、2 D、10 113、下列程序執(zhí)行后輸出的結(jié)果是( A )。 #include<stdio.h> f(int a) int b=0; static c=2; a=c+, b+; return(a+b); main( ) int a=2,i,k; for(i=0;i<2;i+); k=f(a+); printf(''%dn'',k);

36、A、3 B、0 C、4 D、5 115、下列程序的運(yùn)行結(jié)果是( B )。 main( ) static int a34=1,2,3,4,5,6,7,8,9,10,11,12; int i,j, sum=0; for(i=0;i<3;i+) for(j=0;j<4;j+) if(j>i) sum+=aij; printf(''sum=%dn'',sum); A、40 B、36 C、24 D、30 120、閱讀下列程序: main( ) int n3,i,j,k; for(i=0;i<3;i+) ni=0; k=2; for(i=0;i<k;i+) for(j=0;j<k;j+) nj=ni+1; for(i=0;i<3;i+) printf(''%d'',ni); printf(''n''); 運(yùn)行該程序,其輸出結(jié)果是( B

溫馨提示

  • 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)論