程序設計基礎同步練習_第1頁
程序設計基礎同步練習_第2頁
程序設計基礎同步練習_第3頁
程序設計基礎同步練習_第4頁
程序設計基礎同步練習_第5頁
已閱讀5頁,還剩124頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第一章C語言基礎知識

1.1選擇題

1.以下不是C語言的特點的是()。

A.語言簡潔緊湊

B.能夠編制出功能復雜的程序

C.C語言可以直接對硬件操作

D.C語言移植性好

2.下列字符序列中,不可用作C語言標識符的是()。

A.abcl23B.no.1C.」23_D.__ok

3.正確的C語言標識符是()。

A._buy_2B.2_buyC.?_buyD.buy?

4.請選出可用作C語言用戶標識符的一組標識符()o

A.voidB.a3_b3C.ForD.2a

define_123-abcDO

WORDIFCasesizeof

5.下列符號中,不屬于轉義字符的是()o

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

6.不屬于C語言關鍵字的是()。

A.intB.breakC.whileD.character

7.是C語言提供的合法關鍵字的是()o

A.FloatB.signedC.integerD.Char

8.以下不能定義為用戶標示符的是()o

A.scanfB.VoidC._3com_D.int

9.一個C程序是由()。

A.一個主程序和若干子程序組成

B.一個或多個函數(shù)組成

C.若干過程組成

D.若干子程序組成

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

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

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

A.每個語句必須獨占一行,語句的最后可以是一個分號,也可以是一個回車換行符號

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

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

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

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

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

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

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

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

13.C編譯程序是()o

A.C程序的機器語言版本

B.一組機器語言指令

C.將C源程序編譯成目標程序

D.由制造廠家提供的一套應用軟件

14.以下選項中,合法的用戶標識符是()o

A.longB._2abcC.3dmaxD.A.dat

15.以下選項中,合法的實型常數(shù)是()o

A.5E2.0B.E-3C.2E0D.1.3E

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

字符常量,\101,是()o

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

17.以下選項中,合法轉義字符的選項是(

A.,\\,B.,\018,C.zxabzD.,\abc,

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

A."F〃B.C.'W'D.''

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

A.10110BB.0386C.OXffaD.x2a2

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

A.short_a=l-.le-l;B.doubleb=l+5e2.5;

C.longdo=0xfdaL;D.float2_and=l-e-3;

9x”

21.與數(shù)學式子對應的C語言表達式是()o

2九一1

A.9*xAn/(2*x-l)B.9*x**n/(2*x-l)

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

22.若有代數(shù)式等,則不正確的C語言表達式是()。

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;

unsignedlongw=10;

doublex=3.14,y=0.12;

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

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

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

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

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

25.已知字母A的ASCH碼為十進制數(shù)65,且S為字符型,則執(zhí)行語句S=,A,+,6,,3,;

后,S中的值為()。

A.B.68C.不確定的值D.'C

26.在C語言中,要求運算數(shù)必須是整型的運算符是(

A./B.++C.*=D.%

27.若有說明語句:chars=>\72,;則變量s()。

A.包含一個字符

B.包含兩個字符

C.包含三個字符

D.說明不合法,s的值不確定

28.若有定義:intm=7;floatx=2.5,y=4.7;貝lj表達式x+m%3*(int)(x+y)%2/4的值是(

A.2.500000B.2.750000C.3.500000D.0.000000

29.在C語言中,char型數(shù)據(jù)在內(nèi)存中的存儲形式是()。

A.補碼B.反碼C.原碼D.ASCH碼

30.設變量x為float類型,m為int類型,則以下能實現(xiàn)將x中的數(shù)值保留小數(shù)點后兩位,

第三位進行四舍五入運算的表達式是()。

A.x=(x*100+0.5)/100.0

B.m=x*100+0.5,x=m/100.0

C.x=x*100+0.5/100.0

D.x=(x/100+0.5)*100.0

31.表達式13/3*sqrt(16.0)/8的數(shù)據(jù)類型是(3

A.intB.floatC.doubleD.不確定

32.設以下變量均為int類型,則值不等于7的表達式是()。

A.(m=n=6,m+n,m+1)

B.(m=n=6,m+n,n+1)

C.(m=6,m+1,n=6,m+n)

D.(m=6,m+1,n=m,n+1)

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

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

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

A.s='\012';B.s=ru+vz;

C.s='l'+'2';D.s=l+2;

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

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

C.s='\xde';D.s=〃\〃;

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

intx,y;

floatz;

A.x=l,y=2,B.x=y=100

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

設x、y均為float型變量,則不正確的賦值語句是(

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

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

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

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

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

putchar函數(shù)可以向終端輸出一個()。

A.整型變量表達式值。B.字符串

C.實型變量值。D.字符或字符型變量值。

以下程序段的輸出結果是()。

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

A.12B.34C.12345D.提示出錯、無結果

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

()。

A.scanf("%d%lx,%le”,&x,&y,&z);

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

C.scanf(〃%x%*d%o〃,&x,&y);

Doscanf(〃%x%o%6.2f〃,&x,&y,&z);

42.有如下程序段:

intxl,x2;

charyl,y2;

scanf(〃%d%c%d%c〃,&x1,&y1,&x2,&y2);

若要求xl、x2、yl、y2的值分別為10、20、A、B,正確的數(shù)據(jù)輸入是()。住u

代表空格)

A.10Au20BB.10uA20B

C.10uAu20uBD.10A20uB

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

b賦予22.0,c賦予33。不正確的輸入形式為()。

A.10v回車〉B.10.0,22.0,33.0V回車〉

22V回車〉

33

C.10.0V回車〉D.1022V回車〉

22.033.0V回車〉33V回車〉

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

(注:」代表空格)

intxl,x2;

charyl,y2;

scanf(〃%d%d〃,&xl,&x2);

scanf("%c%c〃,&yl,&y2);

A.1020ABB.10u20uABC

C.10u20D.10u20AB

AB

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

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

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

C.%*是格式符

D.%8lx不是錯誤的格式符,其中數(shù)字8規(guī)定了輸出字段的寬度

46.有如下程序段,對應正確的數(shù)據(jù)輸入是()。

floatx,y;

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

printf("a=%f,b=%fz,,x,y);

A.2.04<回車〉B.2.04,5.67<回車〉

5.67〈回車〉

C.A=2.04,B=5.67〈回車>D.2.055.67〈回車〉

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

floatx,y,z;

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

A.123B.x=l,y=2,z=3

C.1,2,3D.x=luy=2uz=3

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

A.輸入項可以為一個實型常量,如scanf(〃%產(chǎn),3.5);

B.只有格式控制,沒有輸入項,也能進行正確輸入,如scanf("a=%d,b=5d");

C.當輸入一個實型數(shù)據(jù)時,格式控制部分應規(guī)定小數(shù)點后的位數(shù),如scanf("%4.2f",&。;

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

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

己有定義:floatx,y;

數(shù)據(jù)的輸入方式:1.23〈回車〉

4.5v回車〉

A.scan("%f,%f〃,&x,&y);B.scanf("%f%f〃,&x,&y);

C.scanf(z/%3,2fu%2.1f,z,&x,&y);D.scanf("%3.2f%2.1f〃,&x,&y);

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

#include"stdio.h"

main()

{charsl,s2,s3;

輸入語句;

printf(z,%c%c%cz\sl,s2,s3);

)

輸入形式:AUBLJCV回車〉(注:口代表空格)

輸出形式:AuB

A.scanf("%c%c%c〃,&sI,&s2,&s3);

B.scanf(〃%cu%uc%c〃,&sl,&s2,&s3);

C.scanf(〃%c,%c,%cz,,&s1,&s2,&s3);

D.scanf("%c%c〃,&sl,&s2,&s3);

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

#include"stdio.h"

main()

{intx=2,y=3;

prinlf(〃x=%%d,y=%%d\n〃,x,y);

)

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

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

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

#include"stdio.h"

main()

{printf(z/\nstring1=%15s*n,“programming”);

printf(,z\nstring2=%-5s*5\,zboy");

printf(z/string3=%2s*,\"girl");

)

A.string1=programmingu□uu*B.stringl=uuuuprogramming*

string2=boy*string2=boyuu*string3=gi*

string3=gi*

C.string!=programminguuuu*D.stringl=uuuuprogramming*

string2=uuboy*string3=girl*string2=boyi_iu*string3=girl*

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

#include"stdio.h"

main()

{inta;

floatb;

輸入語句

輸出語句

)

輸入形式:lu2.3v回車〉(注:u代表空格)

輸出形式:a+b=3.3OO

A.scanf("%d%f〃,&a,&b);B.scanf(〃%d%3.1f",&a,&b);

printf("\na+b=%5.3f〃,a+b);printf(z,\na+b=%f〃,a+b);

C.scanf(z,%d,%fz\&a,&b);D.scanf(z,%d%fz/,&a,&b);

printf("\na+b=%5.3f”,a+b)printf(zz\na+b=%fz,,a+b);

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

#include"stdio.h"

main()

{inta,b;

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

printf("a+b=%d\n〃,a+b);

A.a+b=46B.有語法錯誤

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

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

1u2V回車〉

UuVuWc回車〉

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

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

A.scanf(〃x=%dy=%d〃,&x,&y);sl=getchar();s2=getchar();s3=getchar();

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

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

D.scanf(〃%d%d%c%c%c%c%c%czz,&x,&y,&s1,&s1,&s2,&s2,&s3,&s3);

1.2填空題

1.C語言的符號集包括、、o

2.結構化設計中的三種基本結構是、、。

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

接后生成文件的后綴是。

4.C語言的關鍵字都用{大寫或小寫}。

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

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

7.C語言是通過來進行輸入和輸出的。

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

#include"stdio.h"

main()

{shorti=-l,j=l;

printf(zzdec:%d,oct:%o,hex:%x,unsigned:%u\nz\i,i,i,i);

printf(z'dec:%d,oct:%o,hex:%x,unsigned:%u\n,z,j,j,jj);

)

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

#include"stdio.h"

main()

{chars=zbz;

printf(,zdec:%d,oct:%o,hex:%x,ASCII:%c\nz\s,s,s,s);

)

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

#include"stdio.h"

main()

{floatpi=3.1415927;

printf(〃%f,%.4f,%4.3f,%10.3f〃,pi,pi,pi,pi);

primf(〃\n%e,%.4e,%4.3e,%10.3e〃,pi,pi,pi,pi);

)

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

#include"stdio.h"

main()

{charc='c'+5;

printf(〃c=%c\n〃,c);

)

12.以下程序輸入1LJ2U3后的執(zhí)行結果是o(注:u代表空格)

#include"stdio.h"

main()

{intij;

chark;

scanf(〃%d%c%d〃,&i,&k,&j);

printf(z/i=%d,k=%c,j=%d\nzz,i,k,j);

)

13.有以下程序,若輸入9876543210后的執(zhí)行結果是;若輸入為:98u76u543210

后的執(zhí)行結果是;若輸入為:987654u3210后的執(zhí)行結果為:。(注:u

代表空格)

#include"stdio.h"

main()

{intxl,x2;

charyl,y2;

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

printf("<xl=%d,x2=%d,yl=%c,y2=%c\n,\x,y);

)

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

x+=y;y=x-y;x-=y;

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

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

intu;

floatv;

scanf("%3d%f”,&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

43.B44.D45.D46.A47.B48.D

49.B50.A51.D52.D53.A54.D

55.D

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

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

char,const,continue,default,do,double,else,entry,extern,for,float,goto,if,int,int,

long,register,return,short,signed,sizeof,static,struct,unsigned,while,switch,

typedef,void,volatile,unior=這些關鍵字先不必硬背下來,隨著后續(xù)的學習,你將

發(fā)現(xiàn)它們都是一些數(shù)據(jù)的類型、語句等,自然會隨著學習的深入,而記下來。

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

整數(shù)。

16.解析:為轉義字符,相對應一個ASCH碼字符。(101)8=(65)10=A.

17.解析:轉義字符的特征是以開頭,其后跟一些字符,如\人匕\\\\,\},\",“,丫等代表

一些特殊的含義,而\后如跟數(shù)字,可以為八進制或者十六進制,將其轉換為對應

的ASCII碼值,就可以得出對應的字符后跟八進制的寫法:\0nn,或者\nn,表

示“\0”或者“\”后只能跟1或3位0—7之間的數(shù)字;后跟十六進制的寫

法:\xnn,或者\nn,表示“\x”或者“\”后只能跟1或2位09及a—f(A—

—F)之間的字符。選項B的錯誤在于8不是八進制;而選項C的錯誤在于沒有“\”;

選項D的錯誤在于超長(多了一位)。

21.解析:B的錯誤在于賦值語句的左側只能為一個簡單變量,如:n=3*(n=18);C的錯誤在

于%運算符只能適用于整型數(shù)據(jù),D的錯誤在于作類型轉換時,應將類型加上括

號,即為:y=(float)m

31.解析:逗號表達式的最終結果為最右端的表達式(即x+y)的值,其運算順序是從左自

右的。第三個表達式y(tǒng)++,其隱含有兩步操作:先取y的原值,再執(zhí)行y=y+l運

算;而本題中,雖然沒有將y賦給某個變量(取其原值),但還是一定會執(zhí)行加運

算的。因而,經(jīng)過第三個表達式,y已經(jīng)自加為6,故x+y的值為8,相對應得表

達式最終結果為8。若本題改為:(x=2,y=5,z=y++,x+z),則其結果應為7。

二.填空題答案

1.答案:英文字母、數(shù)字、一些有特定含義的標點符號

2.答案:順序結構、選擇結構、循環(huán)結構

3.答案:C,OBJ,EXE

4.答案:小寫

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.答案:3.141593,3.1416,3.142,uuuuu3.142

3.141593e+00,3.1416e+00,3.142e+00,uu3.142e+00

(注:由于c編譯系統(tǒng)不同,我們上機使用的機器,其第二個printf語句實際結果

為:3.14159e+00,3.142e+00,3.14e+00,uu3.14e+00,即:小數(shù)點后取5位。)

11.答案:c=h

12.答案:i=l,k=uj=2

13.答案:第一種情況的執(zhí)行結果:xl=98,x2=765,yl=4,y2=l

第二種情況的執(zhí)行結果:xl=98,x2=76,yl=u,y2=3

第.三種情況的執(zhí)行結果:xl=98,x2=765,yl=4,y2=2

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

15.答案(1)格式符應為:%f;(2)變量前邊未加取地址符&,即應為scanf("%f",&k);

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

第二章選擇結構?10?

第二章選擇結構

2.1選擇題

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

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

2.設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.設x、y和z都是int類型變量,且x=3,y=4,z=5,則下面的表達式中,值為0的表達式為

0O

A.'X,&&'yrB.x<=y

C.xlly+z&&y-zD.!((x<y)&&!zlll)

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

A.縮排位置相同的if

B.在其之前未配對的if

C.在其之前未配對的最近的if

D.同一行上的if

5.邏輯運算符兩側運算對象的數(shù)據(jù)類型()。

A.只能是0或1

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

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

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

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

A.關系運算符〈算術運算符〈賦值運算符v邏輯與運算符

B.邏輯與運算符〈關系運算符〈算術運算符〈賦值運算符

C.賦值運算符〈邏輯與運算符〈關系運算符〈算術運算符

D.算術運算符〈關系運算符〈賦值運算符(邏輯與運算符

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

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

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

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

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

C.if(aob)C++;

D.if(a=>b)C++;

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

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

B.(x>=-58)II(x<=-40)II(x>=40)II(x<=58)

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

D.(x>=-58)Il(x<=-40)&&(x>=40)II(x<=58)

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

A.'a'<=s<=zz'B.(s>=za')&(s<=zz')

第二章選擇結構?11?

C.(s>='a')&&(sv='z')D.('a'v"s)and('z'>=s)

11.若希望當X的值為奇數(shù)時,表達式的值為“真”,X的值為偶數(shù)時,表達式的值為“假”。

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

A.x%2==lB.!(x%2==0)

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

12.已知x=45,y=z,z=0;則表達式(x>=z&&y<7z,II!y)的值是()。

A.0B.語法錯

C.1D.“假”

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

if(a<b)

{if(c==d)

x=10;

else

x=-10;

rioa<b且c=d

A.x=<

-10a>b且cwd

10a<b且c=d

B.x=<

-10a>b

[10a<b且c=d

C.x=<

[-10a<b^LCd

10a<b^c=d

D.x=<

-10c豐d

-1x<0

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

1x>0

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

elseif(x==0)y=0;

elsey=-1;

B.y=0;

if(x>0)y=l;

elseif(x<0)y=-1;

C.y=0;

if(x>=0)

if(x>0)y=l;

elsey=-1;

D.if(x>=0)

if(x>0)y=l;

elsey=0;

elsey=-1;

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

intx,y,z;

x=y=z=0;

第二章選擇結構?12?

++xII++y&&++z;

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

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

if(a>b)

c=a;a=b;b=c;

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

C.a=2,b=3,c=lD.a=2,b=3,c=2

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

#includezzstdio.h"

main()

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

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

elseprintf(〃$$$\n”);

)

A.有語法錯不能通過編譯

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

C.輸出***

D.輸出$$$

18.以下程序的運行結果是()。

#include"stdio.h"

main()

{inta=l;

if(a++>l)printf(〃%d\n",a);

elseprintf(z/%d\nzz,a—);

)

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

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

if(a<b)

if(c<d)x=l;

else

if(a<c)

if(b<d)x=2;

elsex=3;

elsex=4;

elsex=5;

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

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

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

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

y=a++;

z=b;

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

C.x=0,y=l,z=0D.x=-l,y=2,z=1

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

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

w=(a<b)?a:b;

w=(w<c)?w:c;

w=(w<d)?w:d;

第二章選擇結構?13?

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

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

#include"stdio.h"

main()

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

printf(〃%d\n〃,d=a>b?a>c?a:c:b);

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

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

A.switch(a+b);B.switcha

{case1:y=a+b;break;{casec1: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=aJ5cb;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ù)出結果是()o

#include“stdio.h"

main()

{

intk;

scanf(〃%d〃,&k);

switch(k)

{case1:printf("%d\n〃,k++);

case2:printf(〃%d\n〃,k++);

case3:printf(〃%d\n〃,k++);

case4:printf("%d\n",k++);

break;

default:printf(zzFull!\nzz);

)

)

A.3B.4C.3D.4

54

25.假定等級和分數(shù)有以下對應關系:

等級:A分數(shù):85——100

等級:B分數(shù):60——84

等級:C分數(shù):60以下

對于等級grade輸出相應的分數(shù)區(qū)間,能夠完成該功能的程序段是()。

A.switch(grade)

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

case'B'printf(〃60-----84\n〃);

casezCz:printf(〃v60\n");

default:printf(zzgradeiserror!\n,z);

第二章選擇結構?14?

B.switch(grade)

{case'N:printf(z/85------100\n〃);

break;

case'B':printf(/z60——84\n〃);

case'Cf:printf(〃v60\n〃);

default:printf(/zgradeiserror!\nzz);

C.switch(grade)

{case,A,:printf(〃85-----100\n〃);

break;

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

break;

caserCr:printf(〃<60\n〃);

default:printf(ZAgradeiseiror!\n〃);

}

D.switch(grade)

{casezCz:printf("v60\n〃);

break;

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

break;

default:printf(z,gradeiserror!\nzz);

break;

case,A,:printf(,z85------100\n〃);

)

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

#include"stdio.h"

main()

{

floatx=2.0,y;

if(x<0.0)y=0.0;

elseif(x<10.0)y=1.0/x;

elsey=1.0;

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

)

A.0.000000B.0.250000C.0.500000D.1.000000

27.以下程序的運行結果是()。

#include"stdio.h"

main()

(

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

if(a<b)

if(b<0)

c=0;

elseC++;

printf(〃%d\n〃,c);

)

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

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

第二章選擇結構

#include"stdio.h"

main()

{

intvl=0,v2=0;

charch;

while((ch=getchar())!=,#,)

switch(ch)

{case'a':

case'h,:

default:vl++;

case'o':v2++;

)

printf("%d,%d\n〃,vl,v2);

}

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

29.有以下程序,若輸入為字符s,則程序運行結果為0。

#include"stdio.h"

main()

(

charch;

ch=getchar();

switch(ch)

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

default:printf(z,end!\n/r);

casefbr:printf(〃b=%c\n〃,ch);

case,c,:printf(〃c=%c\n〃,ch);

)

)

A.end!B.end!C.有語法錯誤D.a=s

b=send!

c=s

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

#include〃stdio.h"

main()

(

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

switch(a%3)

{case0:m++;break;

case1:m++;

switch(b%2)

{default:m++;

case0:m++;break;

}

)

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

第二章選擇結構?16?

2.2填空題

1.若從健盤輸入58,則輸出結果是o

#include〃stdio.h〃

main()

(

inta;

scanf(〃%d〃,&a);

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

if(a>40)printf(〃%d〃,a);

if(a>30)printf(〃%d〃

溫馨提示

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

評論

0/150

提交評論