C語言基礎(chǔ)練習(xí)題(含答案)_第1頁
C語言基礎(chǔ)練習(xí)題(含答案)_第2頁
C語言基礎(chǔ)練習(xí)題(含答案)_第3頁
C語言基礎(chǔ)練習(xí)題(含答案)_第4頁
C語言基礎(chǔ)練習(xí)題(含答案)_第5頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第一章C語言基礎(chǔ)知識(shí)

1.1選擇題

1.以下不是c語言的特點(diǎn)的是()。B

A.語言簡(jiǎn)潔緊湊

B.能夠編制出功能復(fù)雜的程序

C.C語言可以直接對(duì)硬件操作

D.C語言移植性好

2.下列字符序列中,不可用作C語言標(biāo)識(shí)符的是()。B

A.abc123B.C._123_D._ok

3.正確的C語言標(biāo)識(shí)符是()。A

A._buy_2B.2_buyC._buyD.buy

4.請(qǐng)選出可用作C語言用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符()oB

A.voidB.a3_b3C.ForD.2a

define_123-abcDO

WORDIFCasesizeof

5.下列符號(hào)中,不屬于轉(zhuǎn)義字符的是()0B

A.\\B.\0xAAC.\tD.\0

6.不屬于C語言關(guān)鍵字的是()0d

A.intB.breakC.whileD.character

7.是C語言提供的合法關(guān)鍵字的是()。b

A.FloatB.signedC.integerD.Char

8.以卜小能定義為用戶標(biāo)不符的是()ob

A.scantB.VoidC.3comD.int

A.9.一個(gè)C程序是由()ob

B.一個(gè)主程序和若干子程序組成

C.一個(gè)或多個(gè)函數(shù)組成

D.若干過程組成

E.若干子程序組成

10.C語言程序的基本單位是()。c

A.程序行B.語句C.函數(shù)D.字符

11.下列說法中,錯(cuò)誤的是()。a

A.每個(gè)語句必須獨(dú)占一行,語句的最后可以是一個(gè)分號(hào),也可以是一個(gè)回車換行符號(hào)

B.每個(gè)函數(shù)都有一個(gè)函數(shù)頭和一個(gè)函數(shù)體,主函數(shù)也不例外

C.主函數(shù)只能調(diào)用用戶函數(shù)或系統(tǒng)函數(shù),用戶函數(shù)可以相互調(diào)用

D.程序是由若干個(gè)函數(shù)組成的,但是必須有、而且只能有一個(gè)主函數(shù)

12.以下說法中正確的是()。c

A.C語言程序總是從第一個(gè)定義的函數(shù)開始執(zhí)行

B.在C語言程序中,要調(diào)用的函數(shù)必須在main()函數(shù)中定義

C.C語言程序總是從main()函數(shù)開始執(zhí)行

D.C語言程序中的main()函數(shù)必須放在程序的開始部分

13.C編譯程序是()。c

A.C程序的機(jī)器語言版本

B.一組機(jī)器語言指令

C.將C源程序編譯成目標(biāo)程序

D.由制造廠家提供的一套應(yīng)用軟件

14.以下選項(xiàng)中,合法的用戶標(biāo)識(shí)符是()ob

A.IongB._2sbcC.3dmaxD.

15.以下選項(xiàng)中,合法的實(shí)型常數(shù)是()oc

A.B.E-3C.2E0D.

16.已知大寫字母A的ASCII碼值是65,小寫字母a的ASCII碼是97,則用八進(jìn)制表示的

字符常量‘\101'是()。d

A.字符AB.于符aC.字符cD.非法的常量

17.以下選項(xiàng)中,合法轉(zhuǎn)義字符的選項(xiàng)是()。a

A.'\\'B.5\018'C.xab'D.\abc'

18.以下選項(xiàng)中,正確的字符常量是()。b

A."FB.'\\'‘C.W'D.

19.以下選項(xiàng)中可作為C語言合法整數(shù)的是

A.10110BB.0386C.OXffaD.x2a2

20.下列變量定義中合法的是

A.short_a=;B.doubleb=1+;

C.longdo=OxfdaL;D.fIoat2_and=1-e-3;

21.與數(shù)學(xué)式子口對(duì)應(yīng)的C語言表達(dá)式是()o

A.9*x"n/(2*x-1)B.9*x**n/(2*x-1)

C.9*pow(x,n)*(1/(2*x-1))D.9*pow(n,x)/(2*x-1)

22.若有代數(shù)式口,則不正確的C語言表達(dá)式是()o

A.a/c/d*b*3B.3*a*b/c/d

C.3*a*b/c*dD.a*b/d/c*3

23.已知各變量的類型說明如下:

intm=8,n,a,b;

unsignedIongw=10;

doublex二,y二

則以下符合C語言語法的表達(dá)式是()c

A.a+=a-=(b=2)*(a=8)B.n=n*3=18

C.x%3D.y=fIoat(m)

24.以下符合C語言語法的賦值表達(dá)式是()。

A.a=9+b+c=d+9B.a=(9+b,c=d+9)

C.a=9+b,b++,c+9D.a=9+b++=c+9

33.假設(shè)所有變量均為整型,則表達(dá)式(x=2,y二5,y-+,x+y)的值是()。

A.7B.8C.6D.2

34.已知s是字符型變量,下面不正確的賦值語句是()0

A.s='\0125B.s='u+v'

C.s='1'+‘2'D.s=1+2;

35.已知s是字符型孌量,下面正確的賦值語句是()o

A.s='abc';B.s二'\08';

C.s二'\xde5;D.s二"\";

36.若有以下定義,則正確的賦值語句是()。

intx,y;

fIoatz;

A.x=1,y=2rB.x=y=100

C.x++;D.x=int(z);

37.設(shè)x、y均為float型變量,則不正確的賦值語句是()。

A.++x;B.x*=y-2;

C.y=(x%3)/10;D.x=y=0;

38.下列語句中符合C語言的賦值語句是()。

A.a=7+b+c=a+7;B.a=7+b++-a+7;

C.a=7+b,b++,a+7D.a=7+b,c=a+7;

39.putchar函數(shù)可以向終端輸出一個(gè)()o

A,整型變量表達(dá)式值。B.字符串

C.實(shí)型變量值CD.字符或字符型變量值,

40.以下程序段的輸出結(jié)果是()。

inta=12345;printf(J,%2d\n",a);

A.12B.34C.12345D.提不出錯(cuò)、無結(jié)果

41.若x和y均定義為int型,z定義為doubIe型,以下不合法的scanf。函數(shù)調(diào)用

語句為()。

A.scant("%d%lx,知e",&x,&y,&z);

B.scanf("%2d*%d%lf",&x,&y,&z);

C.scanf(n%x%*d%on,&x,&y);

Doscanf(5,%x%o%M,&x,&y,&z);

d有如下程序段:

intx1.x2;

chary1,y2;

M

scanf("%d%c%d%c,&x1,&y1,&x2r&y2);

若要求x1.x2.y1.y2的值分別為10、20、A.B,正確的數(shù)據(jù)輸入是()。(注:□代表

空格)

A.10AJ20BB.101—1A20B

C.101—1AL-1201—1BD.10A20?—1B

43.若變量已正確說明為float類型,要通過語句scanf("%f%f%f”,&a,&b,&c);

給a賦予,b賦予,c賦予,不正確的輸入形式為()0

A.10<回車>B.,,<回車)

22<回車〉

33

C.<回車>D.1022〈回車>

<回車)33〈回車〉

44.有如下程序,若要求x1.x2.y1.y2的值分別為10、20、A.B,正確的數(shù)據(jù)輸入是()。

(注:一代表空格)

intx1,x2;

chary1,y2;

scanf("%d%d”,&x1,&x2);

scanf("%c%c,J,&y1,&y2);

A.1020ABB.101—1201—1ABC

C.10320D.101—120AB

AB

45.已有定義inta=-2;和輸出語句:printf(n%8lxn,a);以下正確的敘述是()。

A.整型變量的輸出格式符只有%d一種

B.版是格式符的一種,它可以適用于任何一種類型的數(shù)據(jù)

C.%x是格式符

D.%8lx不是錯(cuò)誤的格式符.其中數(shù)字8夫見定了輸出字段的寬度

46.有如下程序段,對(duì)應(yīng)正確的數(shù)據(jù)輸入是()0

floatx,y;

scanf(5,%f%f”,&x,&y);

printf(na=%f,b=%fn,x,y);

A.<回車)B.,<回車〉

〈回車》

C.A二,BW回車)D.回車)

47.有如下程序段,從鍵盤輸入數(shù)據(jù)的正確形式應(yīng)是()。(注:口代表空格)

floatx,y,z;

scanf(ux=%d,y=%d,z=%d",&a,&y,&z);

A.123B.x=1,y=2,z二3

C.1,2,3D.x=1L-1y=2Jz=3

48.以下說法正確的是()o

A.輸入項(xiàng)可以為一個(gè)實(shí)型常量,如scanf("%fn,;

B,只有格式控制,沒有輸入項(xiàng),也能進(jìn)行正確輸入,如scanf("a二%d,b二5d”);

C.當(dāng)輸入一個(gè)實(shí)型數(shù)據(jù)時(shí),格式控制部分應(yīng)規(guī)定小數(shù)點(diǎn)后的位數(shù).如scanf("獷.&f):

D.當(dāng)輸入數(shù)據(jù)時(shí),必須指明變量的地址,如scanf("%f”,&千);

49.根據(jù)定義和數(shù)據(jù)的輸入方式,輸入語句的正確形式為:()o(注:口代表空格)

已有定義:floatx,y;

數(shù)據(jù)的輸入方式:<回車)

〈回車)

A.scan(v%t,%t”,&x,&y);B.scant。'%t%f",&x,&y);

C.scanf(n%l~~1%",&x,&y);D.scanf(n%%”,&x,&y);

50.根據(jù)下面的程序及數(shù)據(jù)的輸入和輸出形式,程序中輸入語句的正確形式應(yīng)該為()0

#include"”

main()

{chars1.s2,s3:

輸入語句;

print"'%c%c%c”,s1,s2,s3);

)

輸入形式:A口B口C<回車)(注:口代表空格)

輸出形式:A=B

A.scanfC%c%c%c",&s1,&s2,&s3);

B.scanfC枇=%=c%c",&s1,&s2,&s3);

C.scanf(”%c,%c,%cP,&s1,&s2,&s3);

D.scanf(n%c%cn,&s1,&s2,&s3);

51.以下程序的執(zhí)行結(jié)果是:()o

#include"“

main()

{intx=2,y=3;

printf("x=%%d,y=%%d\nM,x,y);

1

A.x=%2,y=%3B.x=%%c,y=%%d

C.x=2,y—3D.x—%d,y=*d

52.以下程序的輸出結(jié)果是()o(注:口代表空格)

#include"”

main()

(printf(n\nstring1=%15s*n,"programmingn);

printf(n\nstring2=%-5s*n,"boy");

printf(nstring3=%2s*M,"girl");

)

A.string1=programming1-11—11—11-1*B.string1=1-11—11-11-1

programming*

string2=boy*string2=boy-?-?*string3=gi*

string3=gi*

0.string1=programming1--11--11-11--1*D.string1=1--11--11--11--1

programming*

string2=——boy*string3=girI*string2=boy——*string3=girI*

53.根據(jù)題目中已給出的數(shù)據(jù)的輸入和輸出形式,程序中輸入輸出語句的正確內(nèi)容是

()o

#incIude"”

main()

{inta;

floatb;

輸入語句

輸出語句

1

輸入形式:1口<回車)(注:3代表空格)

輸出形式:a+b二

A.scanfC%d%fn.&a,&b):B.scanf("%d%n,&a.&b):

print"'\na+b=%,t,a+b);printf(5,\na+b=%fn,a+b);

C.scanf(M%d,%f”,&a,&b);D.scanf(n%d%fM,&a,&b);

printf(n\na+b=%”,a+b)print"'\na+b=%fM,a+b);

54.閱讀以下程序,當(dāng)輸入數(shù)據(jù)的形式為:12,34,正確的輸出結(jié)果為()

#incIude

main()

{inta,b;

scanf(H%d%d”,&a,&b);

printf(Ma+b=%d\n,>,a+b);

1

A.a+b=46B.有語法錯(cuò)誤

C.a+b=12D.不確定值

55.若有定義:intx,y;chars1,s2,s3;并有以下輸出數(shù)據(jù):(注:=代表空格)

1-2<回車)

U-V-W<回車)

則能給x賦給整數(shù)1,給y賦給整數(shù)2,給s1賦給字符U,給s2賦給字符V,給s3賦給

字符W的正確程序段是()。

A.scan"'x=%dy=%d,1,&x,&y);s1=getchar();s2=getchar();s3=getchar();

B.scanf(n%d%d”,&x,&y);s1=getchar();s2=getchar();s3=getchar();

C.scanf("%d%d%c%c%c”,&x,&y,&s1,&s2,&s3);

D.

scanf("%d%d%c%c%c%c%c%cH,&x,&y,&s1,&s1,&s2,&s2,&s3

,&s3);

1.2填空題

1.C語言的符號(hào)集包括、、o

2.結(jié)構(gòu)化設(shè)計(jì)中的三種基本結(jié)構(gòu)是、、。

3.C語言源程序文件的后綴是______,經(jīng)過編譯后生成文件的后綴是________,經(jīng)過鏈

接后生成文件的后綴是________O

4C語言的關(guān)鍵字都用________{大寫或小寫)o

5.一個(gè)函數(shù)由兩部分組成,它們是、。

6.函數(shù)體一般包括、o

7.C語言是通過_____來進(jìn)行輸入和輸出的。

8.以下程序的執(zhí)行結(jié)果o

#include"”

main()

{shorti=-1,j=1;

printf("dec:%d,oct:%o,hex:%x,unsigned:%u\n”,i,i,i,i);

print"'dec:%d,oct:%o,hex:%x,unsigned:%u\nn,j,j,j,j);

)

9.以下程序的執(zhí)行結(jié)果是_______o

#incIude"”

main()

{chars='b';

printf(5,dec:%d,oct:%o,hex:%x,ASCII:%c\n,J,s,s,s,s);

}

10.以下程序的執(zhí)行結(jié)果是_______。(注:3代表空格)

#incIude"”

main()

{floatpi二;

printf("%f,%.4f,%,%",pi,pi,pi,pi);

printf("\n%e.%.4e.%,.pi.pi.pi.pi);

)

11.以下程序的執(zhí)行結(jié)果是:O

#include"”

main()

(charc=,c'+5;

printtCc=%c\n,>,c);

)

12.以下程序輸入1」213后的執(zhí)行結(jié)果是______o(注:口代表空格)

#include"”

main()

(inti.j:

chark;

scanf(J,%d%c%dn;

printfC*i=%d,k=%c,j=%d\nn,i,k,j);

)

13.有以下程序,若輸入10后的執(zhí)行結(jié)果是______;若輸入為:98口76口543210

后的執(zhí)行結(jié)果是;若輸入為:98765433210后的執(zhí)行結(jié)果為:。(注:L

」代表空格)

#include"”

main()

{intx1,x2;

chary1,y2;

scanf("%2d%3d%3c%c”,&x1,&x2,&y1,&y2);

,)

printfCx1=%d,x2=%d,y1=%c,y2=%c\nrx,y);

}

14.若x和y均為int型變量,則以下語句的功能是______o

x+=y:y=x-y:x-=y:

15.有一輸入函數(shù)scanf(,J%d",k);則不能使float類型變量k得到正確數(shù)值的原因是:

16.有如下程序段,輸入數(shù)據(jù):12345ffl678后,u的值是【1],v的值是【2】。

intu;

fIoatv;

scant(,&u,&v);

1.3答案及部分解析

選擇題答案

1.B2.B3.A4.B5.B6.D

7.B8.D9.B10.C11.A12.

C

13.C14.B15.C16.A17.A18.

C

19.C20.A21.C22.C23.A24.

B

25.A26.D27.A28.A29.D30.

B

31.C32.C33.B34.B35.C36.

C

37.C38.D39.D40.C41.D42.

A

4.B44.D45.D46.A47.B48.

D

嶼.B50.A51.D52.D53.A54.

D

55.D

14.解析:C語言規(guī)定標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種字符組成,且第一個(gè)字符必須

為字母或下劃線。而且不能與C語言規(guī)定的關(guān)鍵字同名。關(guān)鍵字如:aut。,break,

case,char,const,continue,default,do,double,eIse,entry,extern,for,

float,goto,if,int,int,long,register,return,short,signed,sizeof,

static,struct,unsigned,while,switch,typedef,void,volatiIe,unior0

這些關(guān)鍵字先不必硬背下來,隨著后續(xù)的學(xué)習(xí),你將發(fā)現(xiàn)它們都是一些數(shù)據(jù)的類

型、語句等,自然會(huì)隨著學(xué)習(xí)的深入,而記下來。

15.解析:用指數(shù)形式表示一個(gè)實(shí)型常數(shù)時(shí),E或e之前必須有數(shù)字,且E后面指數(shù)必須為

整數(shù)。

16.解析:'\101'為轉(zhuǎn)義字符,相對(duì)應(yīng)一個(gè)ASCII碼字符。(101)8=(65)10=A.

H.17.解析:轉(zhuǎn)義字符的特征是以開頭.其后跟一些字符.如\n.\t.\5,\\,\1,

\",\b,\f等代表一些特殊的含義,而'后如跟數(shù)字,可以為八進(jìn)制或者十六進(jìn)制,將

其轉(zhuǎn)換為對(duì)應(yīng)的ASCII碼值,就可以得出對(duì)應(yīng)的字符。后跟八進(jìn)制的寫法:\0nn,或

者\(yùn)nn,表示“\0”或者后只能跟1或3位0―7之間的數(shù)字;后跟十六進(jìn)制

的寫法:\xnn,或者\(yùn)nn,表示“\x"或者后只能跟1或2位0----9及a-f(A

——F)之間的字符。選項(xiàng)B的錯(cuò)誤在于8不是八進(jìn)制;而選項(xiàng)C的錯(cuò)誤在于沒有“\”;

選項(xiàng)D的錯(cuò)誤在于超長(zhǎng)(多了一位)。

四.21.解析:B的錯(cuò)誤在于賦值語句的左側(cè)只能為一個(gè)簡(jiǎn)單變量,如:『3*(n二18);C的錯(cuò)

誤在于%運(yùn)算符只能適用于整型數(shù)據(jù),D的錯(cuò)誤在于作類型轉(zhuǎn)換時(shí),應(yīng)將類型加上括號(hào),

即為:y=(float)m

五.31.解析:逗號(hào)表達(dá)式的最終結(jié)果為最右端的表達(dá)式(即x+y)的值,其運(yùn)算順序是從

左自右的。第三個(gè)表達(dá)式y(tǒng)++,其隱含有兩步操作:先取y的原值,再執(zhí)行y=y+1運(yùn)算;

而本題中,雖然沒有將y賦給某個(gè)變量(取其原值),但還是一定會(huì)執(zhí)行加運(yùn)算的。因

而,經(jīng)過第三個(gè)表達(dá)式,y已經(jīng)自加為6,故x+y的值為8,相對(duì)應(yīng)得表達(dá)式最終結(jié)果為

8o若本題改為:(x=2,y=5,z=y++,x+z),則其結(jié)果應(yīng)為7。

六.填空題答案

1.答案:英文字母、數(shù)字、一些有特定含義的標(biāo)點(diǎn)符號(hào)

2.答案:順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)

3.答案:CfOBJ,EXE

<答案:小寫

5.答案:函數(shù)說明部分和函數(shù)體

6.答案:變量定義部分和執(zhí)行部分

7.答案:輸入和輸出函數(shù)

8.答案:dec:-1,oct:177777,hex:ffff,unsigned:65535

dec:1,oct:1,hex:1,unsigned:1

9.答案:dec:98,oct:142,hex:62,ASCII:b

10.答案:…LJLJLJLJLJ

+00.+00,+00,L_-+00

(注:由于C編譯系統(tǒng)不同,我們上機(jī)使用的機(jī)器,其第二個(gè)printf語句實(shí)際結(jié)果為:

+00,+00,+00,J+00,即:小數(shù)點(diǎn)后取5位。)

11.答案:c二h

12.答案:i=1,k==,尸2

13.答案:第一種情況的執(zhí)行結(jié)果:x1=98,x2=765,y1二4~2二1

第二種情況的執(zhí)行結(jié)果:x1=98,x2=76,y1=-fy2=3

第三種情況的執(zhí)行結(jié)果:x1二98,x2=765,y1=4,y2=2

14.答案:交換x和y的值

15.答案:(1)格式符應(yīng)為:%f;(2)變量前邊未加取地址

符&,即應(yīng)為scanf("%產(chǎn),&k);

16.答案:【1】123[2]

第二章選擇結(jié)構(gòu)

2.1選擇題

1.已有定義:intx=3,y=4,z=5;則表達(dá)式?。▁+y)+z-1&&y+z/2的值是(),

A.6B.0C.2D.1

2.設(shè)a=5,b=6,c=7,d=8,m=2,n=2,則執(zhí)行(m=a>b)&&(n=c>d)后n的值為()。

A.1B.2C.3D.4

3.設(shè)x、y和z都是int類型變量,且x=3,y=4,z=5,則下面的表達(dá)式中,值為0的表達(dá)

式為。。

A.'X,&&,v'B.x<=y

C.x||y+z&&y-zD.I((x<y)&&!z|11)

4.為了避免嵌套的i*else語句的二義性,C語言規(guī)定else總是與。組成配對(duì)關(guān)系。

A.縮排位置相同的if

B.在其之前未配對(duì)的if

C.在其之前未配對(duì)的最近的if

D.同一行上的if

5.邏輯運(yùn)算符兩側(cè)運(yùn)算對(duì)象的數(shù)據(jù)類型()。

A.只能是0或1

B.只能是0或非。正數(shù)

C.只能是整型或字符型數(shù)據(jù)

D.可以是任何類型的數(shù)據(jù)

6.以下關(guān)于運(yùn)算符優(yōu)先順序的描述中正確的是()。

A.關(guān)系運(yùn)算符<算術(shù)運(yùn)算符<賦值運(yùn)算符<邏輯與運(yùn)算符

B.邏輯與運(yùn)算符<關(guān)系運(yùn)算符〈算術(shù)運(yùn)算符<賦值運(yùn)算符

C.賦值運(yùn)算符<邏輯與運(yùn)算符<關(guān)系運(yùn)算符〈算術(shù)運(yùn)算符

D.算術(shù)運(yùn)算符<關(guān)系運(yùn)算符<賦值運(yùn)算符<邏輯與運(yùn)算符

7.下列運(yùn)算符中優(yōu)先級(jí)最高的是()。

A.<B.&&C.+D.

8.選擇出合法的if語句(設(shè)intx,a,b,c;)()。

A.if(a=b)c++;

B.if(a=<b)c++;

C.if(aOb)c++;

D.if(a=>b)c++:

9.能正確表示“當(dāng)x的取值在[-58,-40]和[40,58]范圍內(nèi)為真,否則為假”的表達(dá)式是()。

A.(x>=-58)&&(x<=-40)&&(x>=40)&&(x<=58)

B.(x>=-58)||(x<=-40)||(x>二40)||(x<=58)

C.(x>=-58)&&(x<=-40)||(x>=40)&&(x<=58)

D.(x>=-58)||(x<=-40)&&(x>二40)||(x<=58)

10.判斷char型變量s是否為小寫字母的正確表達(dá)式是()。

A.5a'<=s<='z'B.(s>='a')&(s<='z')

C.(s>='a')&&(s<:'z')D.('a'<=s)and('z'>=s)

11.若希望當(dāng)x的值為奇數(shù)時(shí),表達(dá)式的值為“真'x的值為偶數(shù)時(shí),表達(dá)式的值為“假工

則以下不能滿足要求的表達(dá)式是()。

A.x%2=1B.!(x%2二二0)

C.!(x%2)D.x%2

12.已知x=45,v='a',z=0;則表達(dá)式(x>=z&&y<'z'||!y)的值是()。

A.0B.語法錯(cuò)

C.1D.“假”

13.指出下列程序段所表示的邏輯關(guān)系是()c

if(a<b)

{if(c=d)

x=10;

}

se

x=-10;

A.□

B.□

C.□

D.□

14.有一函數(shù):匚.以下程序段中不能根據(jù)x值正確計(jì)算出y值的是()。

A.if(x>0)y=1;

eIseif(x==0)y=0;

eIsey=-1;

B.y=0;

if(x>0)y=1;

eIseif(x<0)y=-1;

C.y=0;

if(x>=0)

if(x>0)y=1;

eIsey=-1;

D.if(x>=0)

if(x>0)y=1;

eIsey=0;

eIsey=T;

15.執(zhí)行以下語句后,y的值為()。

intx.y.z:

x=y=z=0;

++x||++y&&++z;

A.0B.1C.2D,不確定值

16.已知inta=1,b=2.c=3;以下語句執(zhí)行后a,b,c的值是()。

if(a>b)

c—a;a—b;b—c\

A.a=1,b=2,c=3B.a=2,b=3,c=3

C.a=2,b=3,c=1D.a=2,b=3,c=2

17.請(qǐng)閱讀以下程序:該程序。。

#incIude”stdio.h"

main0

(intx=-10,y=5,z=0;

if(x=y+z)printf***\nn);

eIseprintf(J,$$$\n”);

}

A.有語法錯(cuò)不能通過編譯

B.可以通過編譯但不能通過連接

C.輸出***

D.輸出$$$

18.以下程序的運(yùn)行結(jié)果是()。

#incIude"”

main()

{inta=1;

if(a++>1)print"'%d\nn,a);

eIseprint"'%d\n”,a-);

)

A.0B.1C.2D.3

19.當(dāng)"1,b=2,c=4,d=3時(shí),執(zhí)行完下面一段程序后x的值是()。

if(a<b)

if(c<d)x=1;

eIse

if(a<c)

it(b<d)x=2;

eIsex=3;

eIsex=4;

elsex=5;

A.1B.2C.3D.4

20.執(zhí)行以下程序段后,變量x.y.z的值分別為()。

inta=1,b=0,x,y,z;

x=(-a==b++)—a:++b;

y=a++;

z二b;

A.x=0,y=0,z=0B.x=-1,y=-1,z=1

C.x=0,y=1,z-QD.x=-1,y=2,z=1

21.若a、b、c、d、w均為int類型變量,則執(zhí)行下面語句后的w值是()。

a=1;b=2;c=3;d=4;

w=(a<b)a:b;

w=(w<c)w:c;

w二(w<d)w:d;

A.1B.2C.3D.4

22.以下程序的輸出結(jié)果是()。

#incIude"”

main()

(

inta=5,b=4,c=6,d;

printf(,J%d\n,*,d=a>ba>ca:c:b);

}

A.5B.4C.6D,不確定

23.若a、b、d.c2.Xvy均為整型變量,正確的switch語句是()。

A.switch(a+b)B.switcha

{case1:y=a+b;break;{cased:y=a-b;break;

case0:y=a-b;casec2:x=a*d;break;

break;default:x=a+b;

))

C.switch(a*a+b*b)D.switch(a-b)

(case3:{default:y=a*b;break;

case1:y=a+b;break;case3:x=a+b;break;

case3:y=b-a;break;case10:case11:y=a-b;break;

24.執(zhí)行下列程序,輸入為3的數(shù)出結(jié)果是()。

#incIude"”

main()

(

intk;

scanf("%d”,&k);

switch(k)

(case1:printf(M%d\nn,k++)

case2:printf(,J%d\nn,k++)

case3:print“'%d\n,5,k++)

case4:print“'%d\n”,k++)

break:

default:printf(nFull!\nn);

)

A.3B.4C.3

D.4

54

25.假定等級(jí)和分?jǐn)?shù)有以下對(duì)應(yīng)關(guān)系:

等級(jí):A分?jǐn)?shù):85—100

等級(jí):B分?jǐn)?shù):60—84

等級(jí):C分?jǐn)?shù):60以下

對(duì)于等級(jí)grade輸出相應(yīng)的分?jǐn)?shù)區(qū)間,能夠完成該功能的程序段是()。

A.switch(grade)

{case'A':printf(n85----100\nJ,);

case'B':print"’60----84\n");

case'C':print"'<60\n");

default:printf(ngradeiserror!\nn);

)

B.switch(grade)

{case'A':printf(n85----100\nn);

break;

case'B':print"’60----84\n");

case'C':printf(n<60\nn);

defau11:printf(ngradeiserror!\nn);

)

C.switch(grade)

{case'A':printf(5,85----100\n");

break:

case'B':print"’60----84\n");

break;

case'C':printf(n<60\n");

defau11:print"'gradeiserror!\nn);

)

D.switch(grade)

{case'C':printf(n<60\nn);

break;

case'B':printf(5,60----84\n");

break;

defau11:print“'gradeiserror!\nn);

break;

case'A':printf(5,85----100\nn);

)

26.有如下程序,寫出該執(zhí)行結(jié)果()。

#includenn

main()

(

fIoatx=,y;

if(x<y=;

eIseif(x<y=x;

eIsey二;

printf(n%f\n",y);

)

A.B.C.D.

27.以下程序的運(yùn)行結(jié)果是()。

#incIude"”

main()

(

inta=2,b=-1,c=2;

if(a<b)

if(b<0)

C二。;

eIsec++;

printf("%d\n”,c);

)

A.0B.1C.2D.3

28.運(yùn)行以下程序后,如從鍵盤上輸入china#.則輸出為()。

#include"”

main()

I

intv1=0,v2=0;

charch;

while((ch=getchar())!二'#')

switch(ch)

{case'a':

case'h':

default:v1++;

case'o':v2++;

1

printf("%d,%d\n”,v1,v2);

)

A.2,0B.5,0C.5,5D.2,5

29.有以下程序,若輸入為字符s.則程序運(yùn)行結(jié)果為

#incIude"”

main()

charch;

ch=getchar();

switch(ch)

{case'a':printf(na=%c\n,J,ch);

default:print"'end!\nn);

case'b':print“'b二%c\n",ch);

case'c*:printf(Mc=%c\n>,,ch);

1

)

A.end!B.end!C.有語法錯(cuò)誤D.a=s

b=send!

c=s

30.有以下程序,程序運(yùn)行后的輸出結(jié)果是()。

#incIude"”

main()

(

inta=15,b=21,m=0;

switch(a%3)

{case0:m++;break;

case1:m++;

switch(b%2)

{default:m++;

case0:m++;break;

)

)

printf("%d\n”,m);

A.1B.2C.3

D.4

2.2填空題

1.若從鍵盤輸入58,則輸出結(jié)果是________o

#incIude"”

main()

(

inta;

scanf("%d",&a);

if(a>50)printf(5,%d",a);

if(a>40)print"'%d",a);

if(a>30)printf(n,a);

)

2.設(shè)intx=9,y=8;表達(dá)式x=二y+1的結(jié)果是_______。

3.定義intx,y;執(zhí)行V=(x=1,++x,x+2);后,y的值是。

4.定義intx=10ty,z;執(zhí)行y二z二x;x=y=z;后,x的結(jié)果是

5.設(shè)inta=1,b=2,c.d,e;執(zhí)行

c=(-a++)+(++b);

d=(b-)+(++a)-a;

e=(a/(++b))-(a/(—a));

請(qǐng)問a,b,c,d,e的結(jié)果是:。

6.設(shè)inta=2,b=3,c,d,e,f;執(zhí)行

c=(a++>=-b);

d=(a==++b);

e=(a——!=b);

t=(++a>b-);

請(qǐng)問a,b,c,d,e,f的結(jié)果是:。

7.以下程序的運(yùn)行結(jié)果是_______o

#include"”

main()

(

inta,b,c,s,w,t;

s二w二t=0;

a=-1;b=3;c=3;

if(c>0)s=a+b;

if(a<=0)

{if(b>0)

if(c<=0)w=a-b;

)

eIseif(c>0)w=a-b;

eIset=c;

printfC1%d%d,s,w,t);

1

8.以下程序的運(yùn)行結(jié)果是_______o

#incIude"”

main()

(

inta,b,c,d,e;

a=c=1;

b=20;

d二100;

if(!a)d=d++;

eIseit(!b)

if(d)d=-d;

elsed=d-;

printf("%d\n\n^^,d);

)

9.以下程序的運(yùn)行結(jié)果是_____

#incIude"”

main()

(

inta,b=250,c;

if((c=b)<0)a=4;

elseif(b=0)a=5;

eIsea=6;

printfC\t%d\t%d\nn,a,c);

if(c=(b==0))

a=5;

printfC\t%d\t%d\nn,a,c);

if(a二c二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)論