C語(yǔ)言期末題庫(kù)_第1頁(yè)
C語(yǔ)言期末題庫(kù)_第2頁(yè)
C語(yǔ)言期末題庫(kù)_第3頁(yè)
C語(yǔ)言期末題庫(kù)_第4頁(yè)
C語(yǔ)言期末題庫(kù)_第5頁(yè)
已閱讀5頁(yè),還剩77頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、期末考試試題,填空題只出第五章內(nèi)容,改錯(cuò)題為第六章,程序設(shè)計(jì)為第三、八章。選擇題部分第一章,概述1,以下敘述中錯(cuò)誤的是( B )A.一個(gè)C語(yǔ)言程序只能有一個(gè)主函數(shù)B.C語(yǔ)言編寫(xiě)的每個(gè)函數(shù)都可以進(jìn)行獨(dú)立的編譯并執(zhí)行C.C語(yǔ)言編寫(xiě)的函數(shù)都可以作為一個(gè)獨(dú)立的源程序文件D.C語(yǔ)言編寫(xiě)的函數(shù)源程序,其文件名后綴可以是C2, 計(jì)算機(jī)高級(jí)語(yǔ)言程序的運(yùn)行方法有編譯執(zhí)行和解釋執(zhí)行兩種,以下敘述中正確的是( A )A.C語(yǔ)言程序僅可以編譯執(zhí)行B.C語(yǔ)言程序僅可以解釋執(zhí)行C.以上說(shuō)法都不對(duì)D.C語(yǔ)言程序既可以編譯執(zhí)行又可以解釋執(zhí)行3, C語(yǔ)言規(guī)定:在一個(gè)源程序中,main的位置( A )A.可以任意 B.必須在最后

2、C.必須在最開(kāi)始 D.必須在系統(tǒng)調(diào)用的庫(kù)函數(shù)后面4, 一個(gè)C語(yǔ)言程序是由( C )A.若干過(guò)程組成B.若干子程序組成C.函數(shù)組成D.一個(gè)主程序和若干子程序組成5, 以下關(guān)于結(jié)構(gòu)化程序設(shè)計(jì)的敘述中正確的是( B )A.一個(gè)結(jié)構(gòu)化程序必須同時(shí)由順序、分支、循環(huán)三種結(jié)構(gòu)組成B.在C語(yǔ)言中,程序的模塊化是利用函數(shù)實(shí)現(xiàn)的C.由三種基本結(jié)構(gòu)構(gòu)成的程序只能解決小規(guī)模的問(wèn)題D.結(jié)構(gòu)化程序使用goto語(yǔ)句會(huì)很便捷6, 以下敘述正確的是( C )A.在C程序中,main函數(shù)必須位于程序的最前面B.在對(duì)一個(gè)C程序進(jìn)行編譯的過(guò)程中,可發(fā)現(xiàn)注釋中的拼寫(xiě)錯(cuò)誤C.C語(yǔ)言本身沒(méi)有輸入輸出語(yǔ)句D.程序的每行中只能寫(xiě)一條語(yǔ)句7,

3、 以下敘述中錯(cuò)誤的是( A ) A.C語(yǔ)言編寫(xiě)的每個(gè)函數(shù)都可以進(jìn)行獨(dú)立的編譯并執(zhí)行B.C語(yǔ)言編寫(xiě)的函數(shù)源程序,其文件名后綴可以是CC.一個(gè)C語(yǔ)言程序只能有一個(gè)主函數(shù)D.C語(yǔ)言編寫(xiě)的函數(shù)都可以作為一個(gè)獨(dú)立的源程序文件8, 以下敘述正確的是( B )A.C程序的書(shū)寫(xiě)格式是固定的,每行只能寫(xiě)一條語(yǔ)句B.C程序中注釋部分可以單獨(dú)占一行C.構(gòu)成C程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶(hù)命名D.在對(duì)C語(yǔ)言程序進(jìn)行編譯時(shí),可以發(fā)現(xiàn)注釋行中的拼寫(xiě)錯(cuò)誤9, 以下敘述正確的是( D )A.C語(yǔ)言程序是由過(guò)程和函數(shù)組成的B.C語(yǔ)言函數(shù)不可以單獨(dú)編譯C.C語(yǔ)言中除了main函數(shù),其他函數(shù)不可作為單獨(dú)文件形式存在D

4、.C語(yǔ)言函數(shù)可以嵌套調(diào)用,例如:fun(fun(x)10, 一個(gè)C程序的執(zhí)行是從( D ) A.本程序文件的第一個(gè)函數(shù)開(kāi)始,到本程序main函數(shù)結(jié)束B(niǎo).本程序文件的第一個(gè)函數(shù)開(kāi)始,到本程序文件的最后一個(gè)函數(shù)結(jié)束C.本程序的main函數(shù)開(kāi)始,到本程序文件的最后一個(gè)函數(shù)結(jié)束D.本程序的main函數(shù)開(kāi)始,到main函數(shù)結(jié)束11, 以下敘述不正確的是( A )A.在C程序中,注釋說(shuō)明只能位于一條語(yǔ)句的后面B.C程序的基本組成單位是函數(shù)C.一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成D.一個(gè)C源程序必須包含一個(gè)main函數(shù)第二章,數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式1,若有數(shù)學(xué)式,則不正確的C語(yǔ)言表達(dá)式是( A )A.3*a

5、*e/b*cB.a/b/c*e*3C.3*a*e/b/cD.a*e/c/b*32, 設(shè):int a=1,b=2,c=3,d=4,m=2,n=2;執(zhí)行(m=ab) & (n=cd)后n的值為( C )。A.4 B.3 C.2 D.13, 下列表達(dá)式中,不滿(mǎn)足當(dāng)x的值為偶數(shù)時(shí)值為真,為奇數(shù)時(shí)值為假的要求的是( C) A.(x/2*2-x)=0 B.!(x%2) C.!(x%2=0) D.x%2=04, 表達(dá)式18/4*sqrt(4.0)/8值的數(shù)據(jù)類(lèi)型為( B )。A.char B.double C.不確定 D.float5, 在C語(yǔ)言中,要求運(yùn)算數(shù)必須是整型的運(yùn)算符是( A ) A.% B./

6、C.+ D.!=6,若x,i,j和k都是int型變量,則計(jì)算表達(dá)式x=(i=4,j=16,k=32)后,x的值為( B )。A.4 B.32 C.16 D.527, C語(yǔ)言中的標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種字符組成,且第一個(gè)字符( D )A.必須為下劃線B.必須為字母C.可以是字母、數(shù)字和下劃線中的任意一種D.必須為字母或下劃線8, 若a是數(shù)值類(lèi)型,則邏輯表達(dá)式(a=1)|(a!=1)的值是( D )A.不知道a的值,不能確定 B.0 C.2 D.19, 判斷字符型變量c1是否為數(shù)字字符的正確表達(dá)式為(A)A.(c1=0)&(c1=0)&(c1=c1)|(9=c1)D.0=c1=c1)|(

7、z=a)&(c1=a)&(c1=z)D.a=c1k2)&(k2=k2k1)后,k1和k2的值分別為 ( B)A.0和1 B.0和20 C.10和1 D.10和2020, 以下選項(xiàng)中,能表示邏輯值假的是( B )A.0.000001 B.0 C.100.0 D.121, 以下選項(xiàng)中非法的字符常量是( B )A.102 B.019 C.xff,算法和控制語(yǔ)句部分1, 為表示關(guān)系xyz,應(yīng)使用的表達(dá)式是AA.(x=y)&(y=z)B.(x=y=z)C.(x=y)AND(y=z)D.(x=y)&(y=z)2, 有以下程序 main() int i; for(i=0; i3; i+) switch(i)

8、 case 1: printf(%d, i); case 2: printf(%d, i); default : printf(%d, i); 執(zhí)行后輸出結(jié)果是AA.011122B.120C.012020D.0123, 對(duì) for(表達(dá)式1; ;表達(dá)式3) 可理解為(A)。A.for(表達(dá)式1;1;表達(dá)式3)B.for(表達(dá)式1;0;表達(dá)式3)C.for(表達(dá)式1;表達(dá)式1;表達(dá)式3)D.for(表達(dá)式1;表達(dá)式3;表達(dá)式3)4, 若i為整型變量,則以下循環(huán)執(zhí)行次數(shù)是(A)。for(i=2;i=0;) printf(%d,i-);A.0次B.1次C.無(wú)限次D.2次5, 有以下程序段int n=

9、0,p;do scanf(%d,&p); n+;while(p!=12345&n3);此處do-while循環(huán)的結(jié)束條件是_D_。A.p的值等于12345并且n的值大于等于3B.p的值不等于12345并且n的值小于3C.p的值不等于12345或者n的值小于3D.p的值等于12345或者n的值大于等于36, 以下描述中正確的是(D)。A.do-while 循環(huán)中,根據(jù)情況可以省略 whileB.由于 do-while 循環(huán)中循環(huán)體語(yǔ)句只能是一條可執(zhí)行語(yǔ)句,所以循環(huán)體內(nèi)不能使用復(fù)合語(yǔ)句C.do-while 循環(huán)由do開(kāi)始,用while結(jié)束,在 while(表達(dá)式)后面不能寫(xiě)分號(hào)D.在 do-whi

10、le 循環(huán)體中,一定要有能使 while 后面表達(dá)式的值變?yōu)榱?假)的操作7, 執(zhí)行語(yǔ)句 for(i=1;i+bc) printf(%dn,d); else if(c-1 = d) = 1) printf(%dn,d+1); else printf(%dn,d+2); 執(zhí)行后輸出結(jié)果是DA.2B.4C.編譯時(shí)出錯(cuò)D.39, main()int x=1,a=0,b=0;switch (x) case 0: b+; case 1: a+; case 2: a+;b+; printf(a=%d,b=%d,a,b);該程序的輸出結(jié)果是( B)A.2,2B.2,1C.1,1D.1,010, 以下程序的功

11、能是:按順序讀入10名學(xué)生4門(mén)課程的成績(jī),計(jì)算出每位學(xué)生的平均分并輸出,程序如下:main() int n,k; float score,sum,ave; sum=0.0; for(n=1;n=10;n+) for(k=1;k=4;k+ ) scanf(%f,&score); sum+=score; ave=sum/4.0; printf(NO%d:%fn,n,ave); 上述程序運(yùn)行后結(jié)果不正確,調(diào)試中發(fā)現(xiàn)有一條語(yǔ)句出現(xiàn)在程序中的位置不正確。這條語(yǔ)句是BA.ave=sum/4.0B.sum=0.0;C.sum+=score;D.printf(NO%d:%fn,n,ave);11, 運(yùn)行以下程

12、序后,輸出的結(jié)果是Amain() int k = -3; if(k 0) y = 1;else y = 0;A.B.C.D.13, 以下程序的輸出結(jié)果是A main() int x, i; for(i = 1; i b?(bc?1:0):0;功能相同的是( A)A.if(ab)&(bc) k=1; else k=0; B.if(ab)|(bc) k=1; else k=0;C.if(ab) k=1;else if(bc) k=1;else k=0;D.if(a=b) k=0;else if(b=c) k=1;15, 為了避免在嵌套的條件語(yǔ)句 if-else 中產(chǎn)生二義性,C語(yǔ)言規(guī)定:else子

13、句總是與(B)配對(duì)。A.其之后最近的ifB.其之前最近的ifC.縮排位置相同的ifD.同一行上的if16, t為int類(lèi)型,進(jìn)人下面的循環(huán)之前,t的值為0while( t=1 ) 則以下敘述中正確的是_B_。A.以上說(shuō)法都不對(duì)B.循環(huán)控制表達(dá)式的值為1C.循環(huán)控制表達(dá)式的值為0D.循環(huán)控制表達(dá)式不合法17, 以下程序段的輸出結(jié)果是Bint k, j, s;for(k = 2; k 6; k+, k+) s = 1; for(j = k; j 6; j+) s += j;printf(“%dn”, s);A.15B.10C.24D.918, 語(yǔ)句while(!E);中的表達(dá)式!E等價(jià)于(B)。A

14、.E!=1B.E=0C.E=1D.E!=019, 以下程序段的輸出結(jié)果是Bint x= 3;do pritnf(“%3d”, x-=2); while (!(-x);A.死循環(huán)B.1 -2 C.3 0D.120, 以下程序的運(yùn)行結(jié)果是(B)。main() int i=1,sum=0; while(ib) c=a,a=b,b=c;B.if(ab) c=a,a=b,b=c; C.if(ab) c=a;a=b;b=c;D.if(ab) c=a;a=b;b=c;22,以下程序中,while循環(huán)的循環(huán)次數(shù)是_A_main() int i=0; while(i10) if(ib)a=b; if(ac)a=

15、c; 則a的值為(A)。A.1B.不一定C.3D.225,有以下程序,若想從鍵盤(pán)上輸入數(shù)據(jù),使變量m中的值為123,n中的值為456,p中的值為789,則正確的輸入是(B)#includeint main()int m,n,p;scanf(m=%dn=%dp=%d,&m,&n,&p);printf(%d%d%dn,m,n,p);return 0;A.m=123 n=456 p=789B.m=123n=456p=789C.123 456 789D.m=123,n=456,p=78926,有以下程序main(A) int i=1,j=1,k=2; if(j+|k+)&i+)printf(%d,%d

16、,%dn,i,j,k);執(zhí)行后輸出結(jié)果是 A.2,2,2B.2,2,3C.1,1,2D.2,2,127,以下程序段的輸出結(jié)果為(A)。 for(i=4;i1;i-) for(j=1;ji;j+) putchar(#);A.#B.無(wú)C.#D.#28,有如下程序main(A) float x=2.0,y;if(x0.0)y=0.0;else if(x10.0)y=1.0/x;else y=1.0;printf(%fn,y);該程序的輸出結(jié)果是A.0.500000B.0.250000C.1.000000D.0.00000029,判斷兩個(gè)字符串是否相等,正確的表達(dá)方式是DA.while(s1=s2)B

17、.while(s1= =s2)C.while(strcmp(s1,s2)=0)D.while(strcmp(s1,s2)= =0)30,若x是int類(lèi)型變量,以下程序段的輸出結(jié)果是D for(x = 3; x 6; x+) printf( (x%2)?(“*%d”):(“#%dn”),x);A.B.C.D.31,C語(yǔ)言中,switch后的括號(hào)內(nèi)表達(dá)式的值可以是CA.只能為整型和字符型B.只能為整型C.任何類(lèi)型D.只能為整型,字符型,枚舉型32,設(shè)j和k都是int類(lèi)型,則下面的for循環(huán)語(yǔ)句(C)。 for(j=0,k=0;jbc)a=b; else a=c; 則a的值為(C)。A.2B.3C.

18、1D.034,為了避免在嵌套的條件語(yǔ)句if-else中產(chǎn)生二義性,C語(yǔ)言規(guī)定:else總與( C )配對(duì)A.同一行上的ifB.其之后最近的ifC.其之前最近的未配對(duì)的ifD.縮排位置相同的if35,以下不正確的if語(yǔ)句形式是(D)。A.if(xy&x!=y);C.if(x=y) x+=y;D.if(x!=y) scanf(%d,&x) else scanf(%d,&y);36,結(jié)構(gòu)化程序設(shè)計(jì)所規(guī)定的三種基本控制結(jié)構(gòu)是(D)。A.樹(shù)形、網(wǎng)形、環(huán)形B.輸入、處理、輸出C.主程序、子程序、函數(shù)D.順序、選擇、循環(huán)37,以下程序的輸出結(jié)果是Dmain() int y = 10 for(; y 0; y

19、 -) if(y % 3 = 0) pritnf(“%d”, -y); continue; A.741 B.963C.875421D.85238,以下程序的執(zhí)行結(jié)果是Cmain() int x = 0, s = 0; while( !x != 0 ) s += +x; printf( %d ,s ); A.無(wú)限循環(huán)B.0C.1D.語(yǔ)法錯(cuò)誤39,int a=1,b=2,c=3; if(ac)b=a;a=c;c=b;則c的值為(B)。A.3B.2C.不一定D.140,以下敘述正確的是(B)。A.do-while語(yǔ)句構(gòu)成的循環(huán)不能用其它語(yǔ)句構(gòu)成的循環(huán)來(lái)代替.B.用do-while語(yǔ)句構(gòu)成的循環(huán),在w

20、hile后的表達(dá)式為零時(shí)結(jié)束循環(huán)C.用do-while語(yǔ)句構(gòu)成的循環(huán),在while后的表達(dá)式為非零時(shí)結(jié)束循環(huán).D.do-while語(yǔ)句構(gòu)成的循環(huán)只能用break語(yǔ)句退出.41,假定所有變量均已正確定義,下列程序段運(yùn)行后x的值是(D)。k1=1;k2=2;k3=3;x=15;if(!k1) x-;else if(k2) x=4; else x=3;A.15B.14C.3D.442,有以下程序, 程序運(yùn)行后的輸出結(jié)果是 (B )#include int main()int i,j,m=1;for(i=1;i0;j-) if(i*j3) break; m*=i*j;printf(“m=%dn”,m)

21、;return 0;A.m=2B.m=6C.m=4D.m=543,以下for循環(huán)的執(zhí)行次數(shù)是 for(x=0,y=0;(y=123)&(x4);x+);(A)。A.4次B.是無(wú)限循環(huán)C.3次D.循環(huán)次數(shù)不定44,下列程序的輸出結(jié)果是(A)。 main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0:a+;break; case 1:b+;break; case 2:a+;b+;break; case 3:a+;b+;break; printf(a=%d,b=%dn,a,b); A.a=2,b=1B.a=2,b=2C.a=1,b

22、=0D.a=1,b=145,有以下程序, 當(dāng)執(zhí)行程序時(shí),按下列方式輸入數(shù)據(jù)(從第1列開(kāi)始,代表回車(chē),注意:回車(chē)也是一個(gè)字符)1234則輸出結(jié)果是(C)#include int main()char a,b,c,d;scanf(%c%c,&a,&b);c=getchar(); d=getchar();printf(%c%c%c%cn,a,b,c,d);return 0;A.1234B.1234C.123D.1246,以下程序的運(yùn)行結(jié)果是(D)。main() int n; for(n=1;n+y;x=i+) i=x;D.for(i=10;i-) sum+=i;49,從循環(huán)體內(nèi)某一層跳出,繼續(xù)執(zhí)行循

23、環(huán)外的語(yǔ)句是AA.break語(yǔ)句B.return語(yǔ)句C.continue語(yǔ)句D.空語(yǔ)句50,下列程序的輸出為(C)。main() int y=10; while(y-); printf(y=%dn,y); A.while構(gòu)成無(wú)限循環(huán)B.y=0C.y=-1D.y=151,有以下程序,程序運(yùn)行后的輸出結(jié)果是(D)#include int main()int a=1,b=2;while(a0|E0)C.(!E=0)D.(E!=0)53,以下程序段的輸出結(jié)果是Cint i, j, m = 0;for(i = 1; i = 15; i += 4) for(j = 3; j = 19; j += 4) m

24、+;printf(“%dn”, m);A.15B.12C.20D.2554,執(zhí)行下列語(yǔ)句后的輸出為(C)。 int j=-1; if(j=1) printf(*n); else printf(%n);A.%cB.有錯(cuò),執(zhí)行不正確C.*D.%55,以下程序的執(zhí)行結(jié)果是_A_. main() int num = 0; while( num = 2 ) num+; printf( %d,num ); A.1,2,3,B.1,2,3,4,C.1,2,D.0,1,256,下面程序的運(yùn)行結(jié)果是A#include main() int y=10;doy-;while(-y);printf(%dn,y-);

25、A.0B.1C.8D.-157,若有定義語(yǔ)句int a,b;double x;則下列選項(xiàng)中沒(méi)有錯(cuò)誤是(B)A.switch(int)(x)%2)case 0.0:a+;break; case 1.0:b+;break; default:a+;b+;B.switch(int)x%2)case 0:a+;break; case 1:b+;break; default:a+;b+; C.switch(x%2) case 0:a+;break; case 1:b+;break; default:a+;b+; D.switch(int)x%2.0)case 0:a+;break; case 1:b+;b

26、reak; default:a+;b+;58,設(shè)a、b和c都是int變量,且a=3,b=4,c=5;則以下的表達(dá)式中,值為0的表達(dá)式是CA.a|b+c&b-cB.a=bC.!(a j共執(zhí)行了多少次C#include main() int i = 0, j = 10, k = 2, s = 0; for( ; ; ) i += k; if(i j) printf(“%dn”, s); break; s += i; A.4B.8C.6D.761,while(fabs(t)1e-5)if(!s/10)break;循環(huán)結(jié)束的條件是(C)。A.fabs(t)1e-5&!s/10B.fabs(t)=1e-

27、5&t-10&s10D.s/10=062,以下敘述正確的是:CA.用do-while構(gòu)成循環(huán)時(shí),只有在while后的表達(dá)式為非零時(shí)結(jié)束循環(huán)B.do-while語(yǔ)句構(gòu)成的循環(huán)不能用其它語(yǔ)句構(gòu)成的循環(huán)來(lái)代替。C.用do-while構(gòu)成循環(huán)時(shí),只有在while后的表達(dá)式為零時(shí)結(jié)束循環(huán)D.do-while語(yǔ)句構(gòu)成的循環(huán)只能用break語(yǔ)句退出。63,以下程序的輸出結(jié)果是Bmain() int i, sum; for(i = 1; i 6; i+) sum += i; printf(“%dn” sum);A.15B.不確定 C.16D.064,有以下程序,程序運(yùn)行后的輸出結(jié)果是( D )#include

28、int main() char b,c; int i;b=a; c=A;for(i=0;i10;i+)D.int s=6; m:if(s100) exit(0); else s-=2; goto m:67,判斷char型變量c是否為大寫(xiě)字母的C的表達(dá)式是CA.A=c=ZB. (A=c) C. (c=A)&(c=A)&(c=Z)68,下列程序的輸出結(jié)果是(A)。main() int x=1,y=0,a=0,b=0; switch(x) case 1:switch(y) case 0:a+;break; case 1:b+;break; case 2:a+;b+;break; case 3:a+;

29、b+;break; printf(a=%d,b=%dn,a,b);A.a=2,b=1B.a=1,b=0C.a=2,b=2D.a=1,b=169,下面有關(guān) for 循環(huán)的正確描述是(D)。A.for 循環(huán)是先執(zhí)行循環(huán)循環(huán)體語(yǔ)句,后判斷表達(dá)式B.在 for 循環(huán)中,不能用 break 語(yǔ)句跳出循環(huán)體C.for 循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況D.for 循環(huán)的循環(huán)體語(yǔ)句中,可以包含多條語(yǔ)句,但必須用花括號(hào)括起來(lái)70,假定所有變量均已正確定義,下面語(yǔ)句段執(zhí)行后的x的值是Ba = b = c = 0; x = 35; if(!a) x-; else if(b) ; if(c) x = 3; else

30、 x = 4;A.34B.4C.35D.371,在C語(yǔ)言中,為了結(jié)束由while語(yǔ)句構(gòu)成的循環(huán),while后一對(duì)圓括號(hào)中表達(dá)式的值應(yīng)該為(B)。A.1B.0C.TrueD.非072,有以下程序,程序執(zhí)行后的輸出結(jié)果是(A )#include int main()int y=10;while(y-);printf(“y=%dn”,y);return 0;A.y=-1B.y=1C.while構(gòu)成無(wú)限循環(huán)D.y=073,有以下程序, 程序運(yùn)行后的輸出結(jié)果是( B )#include int main()int a=1,b=0;if(!a) b+;else if(a=0) if(a) b+=2;els

31、e b+=3;printf(%dn,b);return 0;A.3B.0C.1D.274,有輸入語(yǔ)句:scanf(a=%d,b=%d,c=%d,&a,&b,&c);為使變量a的值為1,b的值為3,c的值為2,則正確的數(shù)據(jù)輸入方式是( B )。A.a=1 b=3 c=2B.a=1,b=3,c=2C.132D.1,3,275,程序段:int x=12;double y=3.141593;printf(“%d%8.6f”,x,y);的輸出結(jié)果是(C)A.12,3.141593 B.12 3.141593C.123.141593D.123.141593076,若變量已正確定義,有以下程序段i=0;do

32、 printf(“%d,”,i); while(i+);printf(“%dn”,i); 其輸出結(jié)果是 ( D )A.0,0B.程序進(jìn)入無(wú)限循環(huán)C.1,1D.0,177,下列條件語(yǔ)句中輸出結(jié)果與其他語(yǔ)句不同的是(C)A.if(a) printf(%dn,x); else printf(%dn,y);B.if(a=0) printf(%dn,y); else printf(%dn,x);C.if(a=0) printf(%dn,x); else printf(%dn,y);D.if(a!=0) printf(%dn,x); else printf(%dn,y);78,有以下程序,程序運(yùn)行后的輸出

33、結(jié)果是 (C )#includeint main() int x=1,y=0;if(!x) y+;else if(x=0)if (x) y+=2;else y+=3;printf(%dn,y);return 0;A.3B.2C.0D.179,有以下程序段char name20;int num;scanf(name=%s num=%d,name;&num);當(dāng)執(zhí)行上述程序,并從鍵盤(pán)輸入:name=Lili num=1001后,name的值(C)A.Lili num=B.name=LiliC.LiliD.name=Lili num=100180,執(zhí)行下列程序片段時(shí)輸出的結(jié)果是( C )。int x

34、=13,y=5;printf(%d,x%=(y/=2);A.2B.3C.1D.081,已知有如下定義和輸入語(yǔ)句,若要求a1,a2,c1,c2的值分別為10,20,A和B,當(dāng)從第一列開(kāi)始輸入數(shù)據(jù)時(shí),正確的數(shù)據(jù)輸入方式是( A )。int a1,a2; char c1,c2;scanf(%d%c%d%c,&a1,&c1,&a2,&c2);A.10A20BB.10A20 BC.10 A20BD.10 A 20 B82,若定義x為double型變量,則能正確輸入x值的語(yǔ)句是( C )。A.scanf(%5.1f,&x);B.scanf(%f,x);C.scanf(%lf,&x);D.scanf(%f,

35、&x);83,以下程序段中的變量已正確定義for(i=0;i4;i+,i+)for(k=1;k3;k+) printf(“*”);程序段的輸出結(jié)果是 (C )A.*B.*C.*D.*84,有以下程序段,以下敘述中正確的是(B)int main() while( getchar()!=n); A.此while語(yǔ)句將無(wú)限循環(huán)B.當(dāng)執(zhí)行此while語(yǔ)句時(shí),只有按回車(chē)鍵程序才能繼續(xù)執(zhí)行C.當(dāng)執(zhí)行此while語(yǔ)句時(shí),按任意鍵程序就能繼續(xù)執(zhí)行D.getchar()不可以出現(xiàn)在while語(yǔ)句的條件表達(dá)式中85,有以下程序:程序運(yùn)行后的輸出結(jié)果是 ( A )#include int main() int a=

36、7;while(a-);printf(%dn,a);return 0;A.-1B.1C.0D.786,if語(yǔ)句的基本形式是:if(表達(dá)式)語(yǔ)句,以下關(guān)于表達(dá)式值的敘述中正確的是( B)A.必須是正數(shù)B.可以是任意合法的數(shù)值C.必須是整數(shù)值D.必須是邏輯值87,設(shè)變量均已正確定義并且賦值,以下與其他三組輸出結(jié)構(gòu)不同的一組語(yǔ)句是(B )A.n=+x; printf(%dn,n);B.n=x+; printf(%dn,n);C.+x; printf(%dn,x);D.x+; printf(%dn,x);88,若有定義:int a,b;,通過(guò)語(yǔ)句scanf(“%d;%d”,&a,&b);,能把整數(shù)3賦

37、給變量a,5付給變量b的輸入數(shù)據(jù)是(C )A.3,5B.3 5C.3;5D.3589,有以下程序#include int main()int a1,a2; char c1,c2;scanf(%d%c%d%c,&a1,&c1,&a2,&c2);printf(%d,%c,%d,%c,a1,c1,a2,c2);return 0;若想通過(guò)鍵盤(pán)輸入,使得a1的值為12,a2的值為34,c1的值為字符a,c2的值為字符b,程序輸出結(jié)果是:12,a,34,b則正確的輸入格式是C(以下_代表空格,代表回車(chē))A.12,a,34,bB.12_a34_bC.12a34bD.12_a_34_b90,有以下程序,程序運(yùn)

38、行后的輸出結(jié)果是(D)#include int main()int a=1,b=2;for(;a8;a+) b+=a;a+=2;printf(“%d,%dn”,a,b);return 0;A.8,11B.7,11C.9,18D.10,1491,若i和k都是int類(lèi)型變量,有以下for語(yǔ)句for(i=0,k=-1;k=1;k+) printf(*n);下面關(guān)于語(yǔ)句執(zhí)行情況的敘述中正確的是 (A)A.構(gòu)成無(wú)限循環(huán)B.循環(huán)體一次也不執(zhí)行C.循環(huán)體執(zhí)行兩次D.循環(huán)體執(zhí)行一次,函數(shù)1, 有以下程序,程序運(yùn)行后的輸出結(jié)果是( B )#includeint fun (int x,int y) if (x!=

39、y) return (x+y)/2);else return (x);int main() int a=4,b=5,c=6;printf(%dn,fun(2*a,fun(b,c);return 0;A.12B.6C.3D.82, 有以下程序,程序運(yùn)行的輸出結(jié)果( A )#include int f(int x);int main() int n=1,m; m=f(f(f(n); printf(“%dn”,m); return 0 ;int f(int x) return x*2;A.8B.4C.1D.23, 有以下程序,程序執(zhí)行后變量w中的值是( C )#includeint funl(dou

40、ble a)return a*=a;int fun2(double x,double y) double a=0,b=0; a=funl(x);b=funl(y);return (int)(a+b);int main()double w;w=fun2(1.1,2.0);A.5.21B.0.0C.5.0D.54, 有以下程序,程序運(yùn)行后的輸出結(jié)果是(B )#includeint fun() static int x=1;x*=2;return x;int main()int i,s=1;for(i=1;i=3;i+) s*=fun();printf(%dn,s); A.10B.64C.0D.30

41、5, 有以下程序,程序運(yùn)行后的輸出結(jié)果是( D )#includeint f(int x,int y)return (y-x)*x);int main()int a=3,b=4,c=5,d;d=f(f(a,b),f(a,c);printf(%dn,d);A.10B.8C.7D.96, 有以下程序,程序運(yùn)行后的輸出結(jié)果是( B )#include void fun(int p)int d=2;p=d+; printf(“%d”,p);int main()int a=1;fun(a); printf(“%dn”,a); return 0;A.22B.21C.12D.327, 有以下程序:程序運(yùn)行后

42、的輸出結(jié)果是( A )#include int f()static int x=1;x+=1;return x;int main() int i,s=1;for(i=1;i=5;i+) s+=fun();printf(%dn,s);return 0;A.21B.6C.120D.118, 若有代數(shù)式 (其中e僅代表自然對(duì)數(shù)的底數(shù),不是變量),則以下能夠正確表示該代數(shù)式的C語(yǔ)言表達(dá)式是( A )A.sqrt(fabs(pow(n,x)+exp(x,e)B.sqrt(fbs(pow(n,x)+pow(x,e)C.sqrt(fabs(pow(x,n)+exp(x)D.sqrt(abs(nx+ex)9,

43、 以下關(guān)于return語(yǔ)句敘述中正確的是( D )A.定義void類(lèi)型的函數(shù)中可以有帶返回值的return語(yǔ)句B.沒(méi)有return語(yǔ)句的自定義函數(shù)在執(zhí)行結(jié)束時(shí)不能返回到調(diào)用處C.一個(gè)自定義函數(shù)中必須有一條return語(yǔ)句D.一個(gè)自定義函數(shù)中可以根據(jù)不同情況設(shè)置多條return語(yǔ)句10, 設(shè)有如下函數(shù)定義,若執(zhí)行調(diào)用語(yǔ)句:n=fun(3);,則函數(shù)fun總共被調(diào)用的次數(shù)是( B )int fun(int k) if (k1) return 0;else if(k=1) return 1;else return fun(k-1)+1;A.2B.3C.5D.411, 在一個(gè)C語(yǔ)言源程序文件中所定義的

44、全局變量,其作用域?yàn)椋?C )A.所在函數(shù)的全部范圍B.所在文件的全部范圍C.由具體定義位置和extern說(shuō)明來(lái)決定范圍D.所在程序的全部范圍12, 以下敘述正確的是( A )A.C語(yǔ)言函數(shù)可以嵌套調(diào)用,例如:fun(fun(x)B.C語(yǔ)言程序是由過(guò)程和函數(shù)組成的C.C語(yǔ)言函數(shù)不可以單獨(dú)編譯D.C語(yǔ)言中除了main函數(shù),其他函數(shù)不可以作為單獨(dú)文件形式存在13, 以下程序的主函數(shù)中調(diào)用了在其前面定義的fun函數(shù),則以下選項(xiàng)中錯(cuò)誤的fun函數(shù)首部是 ( B )#includeint main()double a15,k;k=fun(a);return 0;A.double fun(double *

45、a)B.double fun(double a)C.double fun(double a)D.double fun(double a15)14, 以下說(shuō)法不正確的是(C)A.系統(tǒng)不允許用戶(hù)重新定義標(biāo)準(zhǔn)庫(kù)函數(shù)B.標(biāo)準(zhǔn)庫(kù)函數(shù)按分類(lèi)在不同的頭文件中聲明C.用戶(hù)可以重新定義標(biāo)準(zhǔn)庫(kù)函數(shù)D.用戶(hù)若需要調(diào)用標(biāo)準(zhǔn)庫(kù)函數(shù),調(diào)用前必須使用預(yù)編譯命令將該函數(shù)所在文件包括到用戶(hù)源文件中15, 下列敘述中正確的是( A )A.C語(yǔ)言規(guī)定必須用main作為主函數(shù)名,程序?qū)拇碎_(kāi)始執(zhí)行,在此結(jié)束B(niǎo).main可作為用戶(hù)標(biāo)識(shí)符,用以命名任意一個(gè)函數(shù)作為主函數(shù)C.可以在程序中由用戶(hù)指定任意一個(gè)函數(shù)作為主函數(shù),程序?qū)拇碎_(kāi)始執(zhí)行

46、D.C語(yǔ)言程序?qū)脑闯绦蛑械谝粋€(gè)函數(shù)開(kāi)始執(zhí)行16, 若函數(shù)調(diào)用時(shí)的實(shí)參為變量時(shí),以下關(guān)于函數(shù)形參和實(shí)參的敘述中正確的是( B )A.同名的實(shí)參和形參占同一存儲(chǔ)單元B.函數(shù)的形參和實(shí)參分別占用不同的存儲(chǔ)單元C.函數(shù)的實(shí)參和其對(duì)應(yīng)的形參共占同一存儲(chǔ)單元D.形參只是形式上的存在,不占用具體存儲(chǔ)單元17, 在C語(yǔ)言中,只有在使用時(shí)才占用內(nèi)存單元的變量,其存儲(chǔ)類(lèi)型是( B )。A.extern和registerB.auto和registerC.static和registerD.auto和static18, 設(shè)函數(shù)中有整形變量n,為保證其在未賦初值的情況下初值為0,應(yīng)該選擇的存儲(chǔ)類(lèi)別是(D)A.regis

47、terB.autoC.auto 或registerD.static19, 以下正確的函數(shù)定義形式是:(A)A.double fun(int x,int y)B.double fun(int x, y);C.double fun(int x ;int y)D.double fun(int x,int y);20, 在函數(shù)調(diào)用過(guò)程中,如果函數(shù)funA調(diào)用了函數(shù)funB,函數(shù)funB又調(diào)用了函數(shù)funA,則 ( C )A.稱(chēng)為函數(shù)的循環(huán)調(diào)用B.C語(yǔ)言中不允許這樣的遞歸調(diào)用C.稱(chēng)為函數(shù)的間接遞歸調(diào)用D.稱(chēng)為函數(shù)的直接遞歸調(diào)用第五章,數(shù)組1, 有以下程序,程序運(yùn)行后的輸出結(jié)果是( B )#include

48、 #include int main()char a20=”ABCD0EFG0”,b=”IJK”;strcat(a,b); printf(“%sn”,a);return 0;A.ABCDE0FG0IJKB.ABCDIJKC.EFGIJKD.IJK2, 有以下程序,程序運(yùn)行后的輸出結(jié)果是 (D)#includeint main()char s=012xy08s34f4w2;int i, n=0;for(i=0;si!=0;i+)if(si=0&si=9) n+;printf(%dn,n); return 0;A.7B.0C.8D.33, 下列選項(xiàng)中,能夠滿(mǎn)足若字符串s1等于字符串s2,則執(zhí)行ST

49、要求的是 (A)A.if(strcmp(s2,s1)=0)ST;B.if(s1-s2=0)ST;C.if(strcpy(s1,s2)=1)ST;D.if(s1=s2)ST;4, 以下選項(xiàng)中正確的語(yǔ)句組是(D)A.char s;s=BOOK!;B.char s;s=BOOK!;C.char s10;s=BOOK!;D.char s=BOOK!;5, 以下數(shù)組定義中錯(cuò)誤的是(A)A.int x23=1,2,3,4,5,6;B.int x23=1,2,3,4,5,6;C.int x3=0;D.int x3=1,2,3,4,5,6;6, 若有定義語(yǔ)句:int m=5,4,3,2,1,i=4;則下面對(duì)m

50、數(shù)組元素的引用中錯(cuò)誤的是 (A)A.mm0B.m2*2C.m-iD.mmi7, 下列選項(xiàng)中,能正確定義數(shù)組的語(yǔ)句是(D)A.int num;B.int N=2008;int numN;C.int num02008;D.#define N 2008int numN;8, 有以下程序,程序運(yùn)行時(shí)若輸入:how are you? I am fine則輸出結(jié)果是(C)#includeint main()char a30,b30;scanf(%s,a);gets(b);printf(%sn %sn,a,b);return 0; A.how are you? I am fine B.how are you

51、? I am fineC.howare you?I am fineD.how are you?9, 下面是有關(guān)C語(yǔ)言字符數(shù)組的描述,其中錯(cuò)誤的是(C)A.不可以用賦值語(yǔ)句給字符數(shù)組名賦字符串B.可以用輸入語(yǔ)句把字符串整體輸入給字符數(shù)組C.字符數(shù)組中的內(nèi)容不一定是字符串D.字符數(shù)組只能存放字符串10, 有以下程序,程序運(yùn)行后的輸出結(jié)果是(C)#include #include int main()char x=”STRING”;x0=0;x1=0;x2=0;printf(“%d %dn”,sizeof(x),strlen(x);return 0;A.7 0B.6 1C.7 1D.6 311, 若

52、要定義一個(gè)具有5個(gè)元素的整型數(shù)組,以下錯(cuò)誤的定義語(yǔ)句是(C)A.int a5=0;B.int b=0,0,0,0,0;C.int i=5,di;D.int c2+3;12, 有以下程序,程序運(yùn)行后的輸出結(jié)果是 ( C )#include#includeint main() char a510=“china”,”beijing”,”you”,”tiananmen”,”welcome”;int i,j; char t10;for(i=0;i4;i+) for(j=i+1;j0) strcpy(t,ai); strcpy(ai,aj); strcpy(ai,t); puts(a3);return 0

53、;A.chinaB.beijingC.welcomeD.tiananmen,指針1,若已定義char s10;則在下面表達(dá)式中不表示s1的地址是( D )。A.&s1B.&s0+1C.s+1D.s+2, 下面程序段的運(yùn)行結(jié)果是( D )。 char a =”language” , *p ; p=a ; while (*p!=u) printf(“%c”,*p-32); p+ ; A.languageB.langUAGEC.LANGUAGED.LANG3, 下面能正確進(jìn)行字符串賦值操作的是( C )A.char s5=A,B,C,D,E;B.char s5=ABCDE;C.char *s ; s

54、=ABCDE ;D.char *s; scanf(%s,s) ;4, 設(shè)p1和p2是指向同一個(gè)字符串的指針變量,c為字符變量,則以下能正確執(zhí)行并得到有意義的結(jié)果的賦值語(yǔ)句是( C )。A.p2=c;B.c=*p1+*p2;C.p1=p2;D.c=*p1*(*p2);5, 已有函數(shù)max(a,b),為了讓函數(shù)指針變量p指向函數(shù)max,正確的賦值方法是( C )。A.*p=max(a,b);B.*p=max;C.p=max;D.p=max(a,b);6, 以下正確的敘述是( B )。A.C語(yǔ)言允許main函數(shù)帶形參,且形參個(gè)數(shù)和形參名均可由用戶(hù)指定B.當(dāng)main函數(shù)帶有形參時(shí),傳給形參的值只能從命

55、令行中得到C.若有說(shuō)明: int main(int argc,char *argv),則argc的值必須大于1D.C語(yǔ)言允許main函數(shù)帶形參,形參名只能是argc和argv7,若有定義:int (*p)4;則標(biāo)識(shí)符p( D )。A.是一個(gè)指針數(shù)組名B.定義不合法C.是一個(gè)指向整型變量的指針D.是一個(gè)指針,它指向一個(gè)含有四個(gè)整型元素的一維數(shù)組8, 設(shè)有程序段:char s =china; char *p ; p=s ;則下面敘述正確的是(A)。A.*p與s0相等B.數(shù)組s中的內(nèi)容和指針變量p中的內(nèi)容相等C.s數(shù)組長(zhǎng)度和p所指向的字符串長(zhǎng)度相等D.s和p完全相同9, 下面程序段的運(yùn)行結(jié)果是( C

56、 )。char *s=”abcde” ;s+=2 ; printf(“%s”,s);A.字符c的地址B.不確定C.cdeD.字符c10, 下面判斷正確的是(D)。A.char str10=china; 等價(jià)于 char str10; str =china;B.char c4=abc,d4=abc; 等價(jià)于 char c4=d4=abc ;C.char *a=china; 等價(jià)于 char *a; *a=china ;D.char *s=china; 等價(jià)于 char *s; s=china ;11, 設(shè)有程序段:char s =”china”; char *p ; p=s ;則下面敘述正確的是

57、( B )A.數(shù)組s中的內(nèi)容和指針變量p中的內(nèi)容相等B.*p與s0相等C.s數(shù)組長(zhǎng)度和p所指向的字符串長(zhǎng)度相等D.s和p完全相同12, 已有變量定義和函數(shù)調(diào)用語(yǔ)句:int a=25;print_value(&a);下面函數(shù)的輸出結(jié)果是( D )void print_value(int *x) printf(“%dn”,+*x); A.24B.23C.25D.2613, 若有說(shuō)明:int *p,m=5,n;以下程序段正確的是(A)A.p = &n ; *p = m ;B.p=&n ;scanf(%d,&p);C.p = &n ;scanf(%d,*p);D.scanf(%d,&n); *p=n

58、;14, 變量的指針,其含義是指該變量的( B )A.值B.地址C.一個(gè)標(biāo)志D.名15, 已有定義int k=2;int *ptr1,*ptr2;且ptr1和ptr2均已指向變量k,下面不能正確執(zhí)行的賦值語(yǔ)句是( A )A.ptr2=k;B.k=*ptr1+*ptr2;C.k=*ptr1*(*ptr2);D.ptr1=ptr2;,預(yù)編譯指令,結(jié)構(gòu)體與共用體以下敘述中正確的是(A)若有以下語(yǔ)句typedefstruct Sint g; char h;T;A.可用T定義結(jié)構(gòu)體變量B.T是struct S類(lèi)型的變量C.可用S定義結(jié)構(gòu)體變量D.S是struct類(lèi)型的變量當(dāng)定義一個(gè)結(jié)構(gòu)體變量時(shí),系統(tǒng)分配

59、給它的內(nèi)存是(D )。A.結(jié)構(gòu)體中最后一個(gè)成員所需內(nèi)存量B.成員中占內(nèi)存量最大的容量C.結(jié)構(gòu)體中第一個(gè)成員所需內(nèi)存量D.各成員所需內(nèi)存量的總和C填空題1, 例如,當(dāng)x10=15.6,19.9,16.7,15.2,18.3,12.1,15.5,11.0,10.0,16.0,結(jié)果為:avg=15.030000。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的橫線上填入所編寫(xiě)的若干表達(dá)式或語(yǔ)句。試題程序: */#include #include double fun(double x10) int i; long t; double avg=0.0; doubl

60、e sum=0.0; for(i=0;i10;i+)/*FILL*/ 1 ; avg=sum/10;/*FILL*/ avg= 2 ;/*FILL*/ t= 3 ; avg=(double)t/100; return avg;void main() double avg,x10=15.6,19.9,16.7,15.2,18.3,12.1,15.5,11.0,10.0,16.0; int i; printf(nThe original data is :n); for(i=0;i10;i+)printf(%6.1f,xi); printf(nn); avg=fun(x); printf(aver

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論