大一c語言習(xí)題練習(xí)及答案_第1頁(yè)
大一c語言習(xí)題練習(xí)及答案_第2頁(yè)
大一c語言習(xí)題練習(xí)及答案_第3頁(yè)
大一c語言習(xí)題練習(xí)及答案_第4頁(yè)
大一c語言習(xí)題練習(xí)及答案_第5頁(yè)
已閱讀5頁(yè),還剩107頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第一章程序設(shè)計(jì)與C語言

1.1選擇題

考點(diǎn):標(biāo)識(shí)符的命名規(guī)那么

(1)只能由字母、數(shù)字、下劃線構(gòu)成

(2)數(shù)字不能作為標(biāo)識(shí)符的開頭

(3)美鍵字不能作為標(biāo)識(shí)符

選項(xiàng)A中的,選項(xiàng)B中〃["與不滿足(1);選項(xiàng)D中的int為關(guān)鍵字,不滿足(3)

1.以下正確的標(biāo)識(shí)符是(C兀

A.-alB.a[i]C.a2_iD.intt

2.以下C語言用戶標(biāo)識(shí)符中合法的是(B)o

A)3axB)xC)caseD)-e2E)union

選項(xiàng)A中的標(biāo)識(shí)符以數(shù)字開頭不滿足(2);選項(xiàng)C,E均為為關(guān)鍵字,不滿足(3);選項(xiàng)D中的

不滿足(1);

3.以下四組選項(xiàng)中,正確的C語言標(biāo)識(shí)符是(C)o

A)%xB)a+bC)al23D)123

選項(xiàng)中的"%",選項(xiàng)中“+〃不滿足選項(xiàng)中的標(biāo)識(shí)符以數(shù)字開頭不滿足

AB(1);D(2)

4.以下四組字符串中都可以用作C語言程序中的標(biāo)識(shí)符的是(A)。

A、print_3ddb8aBel\amone_halfstart$it3pai

C、str_lCpppowwhileD^PxqMy->bookline#His.age

選項(xiàng)B中的Q",",選項(xiàng)D中">不滿足(1);選項(xiàng)C中的while為關(guān)鍵

字,不滿足(3)

知識(shí)點(diǎn):簡(jiǎn)單C語言程序的構(gòu)成和格式

5.在一個(gè)C程序中—B—o

A、main函數(shù)必須出現(xiàn)在所有函數(shù)之前B、main函數(shù)可以在任何地方出現(xiàn)

C、main函數(shù)必須出現(xiàn)在所有函數(shù)之后D、main函數(shù)必須出現(xiàn)在固定位置

6.以下說法中正確的選項(xiàng)是_Do

A^#define和printf都是C語句B>#define是C語句,而printf不是

C,printf是C語句,但#define不是D、#define和printf都不是C語句

7.一個(gè)C程序的執(zhí)行是從(A)o

A本程序的main函數(shù)開始,到main函數(shù)結(jié)束

B本程序文件的第一個(gè)函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束

C本程序的main函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束

D本程序義件的第一個(gè)困數(shù)開始,到本程序main函數(shù)結(jié)束

8.在C語言中,每個(gè)語句必須以(D)結(jié)束。

A回車符B.冒號(hào)C.逗號(hào)D.分號(hào)

9.C語言規(guī)定:在一個(gè)源程序中,main函數(shù)的位置(C

A必須在最開始B.必須在系統(tǒng)調(diào)用的庫(kù)函數(shù)的后面

C,可以任意D.必須在最后

10.一個(gè)C語言程序是由(B

A一個(gè)主程序和假設(shè)干子程序組成B.函數(shù)組成

C.假設(shè)干過程組成D.假設(shè)干子程序組成

11.以下說法中錯(cuò)誤的詵項(xiàng)是(D)。

A主函數(shù)可以分為兩個(gè)局部:主函數(shù)說明局部和主函數(shù)體

B.主函數(shù)可以調(diào)用任何非主函數(shù)的其他函數(shù)

C.任何非主函數(shù)可以調(diào)用其他任何非主函數(shù)

D程序可以從任何非主函數(shù)開始執(zhí)行

12.用C語言編寫的源文件經(jīng)過編譯,假設(shè)沒有產(chǎn)生編譯錯(cuò)誤,那么系統(tǒng)將(C)。

A生成可執(zhí)行目標(biāo)文件B.生成目標(biāo)文件

C.輸出運(yùn)行結(jié)果D.自動(dòng)保存源文件

1.2填空題

1、c語言只有生個(gè)關(guān)鍵字和種控制語句。

2、每個(gè)源程序有且只有一個(gè)」面L函數(shù),系統(tǒng)總是從該函數(shù)開始執(zhí)行C語言程序。

3、C語言程序的注釋可以出現(xiàn)在程序中的任何地方,它總是以\*符號(hào)作為開始標(biāo)記,以工符號(hào)作為

結(jié)束標(biāo)記。

4、C語言中,輸入操作是由庫(kù)函數(shù)scanf完成的,輸出操作是由庫(kù)函數(shù)printf完成的。

5、系統(tǒng)默認(rèn)的C語言源程序文件的擴(kuò)展名是上,經(jīng)過編譯后生成的目標(biāo)文件的擴(kuò)展名是一血,經(jīng)過

連接后生成的可執(zhí)行文件的擴(kuò)展名是上空。

6、C語言的標(biāo)識(shí)符只能由短、數(shù)字和下劃線三種字符組成。

第二章CH2數(shù)據(jù)的存儲(chǔ)與運(yùn)算

2.1選擇題

1.C語言中的簡(jiǎn)單數(shù)據(jù)類型包括(D

A、整型、實(shí)型、邏輯型B、整型、實(shí)型、邏輯型、字符型

C、整型、字符型、邏輯型D、整型、實(shí)型、字符型

2.在C語言程序中,表達(dá)式5%2的結(jié)果是C。

A:l2.5B)2C)1D)3

%為求余運(yùn)算符,該運(yùn)算符只能對(duì)整型數(shù)據(jù)進(jìn)行運(yùn)算。且符號(hào)與被模數(shù)相同。5%2=1;5%(-2)=1;

(-5)%2=-1;(-5)%(-2)=-1;

/為求商運(yùn)算符,該運(yùn)算符能夠?qū)φ?、字符、浮點(diǎn)等類型的數(shù)據(jù)進(jìn)行運(yùn)算,5/2=2

3.設(shè)inta=12,那么執(zhí)行完語句a+=a-=a*a后,a的值是_D。

A、552B、264C、144D、-264

4以下變量x、v、z均為double類型且已正確賦值,不能正確表示數(shù)字式子x/(y*z)的C語言表達(dá)式是

—A—o

A、x/y*zB、x*(l/(y*z))C>x/y*l/zD、x/y/z

5.假設(shè)有定義:inta=8,b=5,c;,執(zhí)行語句c=a/b+0.4;后,c的值是_B。

A、1.4B、1C、2.0D、2

6.以下選項(xiàng)中,不能作為合法常量的是_B—。

A、1.234e04B、1.234e0.4C、1.234e+4D、1.234e0

7.以下符合C語言語法的實(shí)型常量是—C_c

A、1.2E0.5B、3.14159EC、.5E-3D、E15

8.表達(dá)式3.6-5/2+1.2+5%2的值是_D。

A、4.3B、4.8C、3.3D、3.8

9.以下定義變量的語句中錯(cuò)誤的冼項(xiàng)是_Do

A、intJntB、doubleint_C、charForD、floatUS$

10.以下不合法的用戶標(biāo)識(shí)符是_Co

A、j2_KEYB、DoubleC、4dD、_8_

11.以下4組用戶定義標(biāo)識(shí)符中,全部合法的一組是_A—。

A、_mainencludesinB、If-maxturbo

C、txtREAL3COMD、intk_2_001???

12.以下定義語句中正確的選項(xiàng)是_Co

A、chara='A'b='B';B、floata=b=10.0;(正解a=10.0b=10.0)

、、

Cinta=10,*b=&a;Dfloat*azb=&a;???

13.以下不能定義為用戶標(biāo)識(shí)符的是_D—。

A、scanfB、VoidC、_3com_D、int

14.以下有4組用戶標(biāo)識(shí)符,其中合法的一組是—C—。

A、For-subCaseB>4dDOSizeC、f2_G3IFabcD、WORDVoiddefine

15.C語言中最簡(jiǎn)單的數(shù)據(jù)類型包括_Bo

A、整型、實(shí)型、邏輯型B、整型、實(shí)型、字符型

C、整型、字符型、邏輯型D、整型、實(shí)型、邏輯型、字符型

16.以下選項(xiàng)中,合法的C語言關(guān)鍵字是_Do

A、VARcherC、integerD、default

17.以下不能定義為用戶標(biāo)識(shí)符的是_D—°

A、MainB、_0C、_intD、sizeof

18以下表達(dá)中正確的選項(xiàng)是_D。

A、C語言中既有邏輯類型也有集合類型B、C語言中沒芍邏輯類型但有集合類型

C、C語言中有邏輯類型但沒有集合類型D、C語言中既沒有邏輯類型也沒有集合類型

19.設(shè)inta=12,那么執(zhí)行完語句a+=a-=a*a后,a的值是_D。

A、552B、264C、144D、-264

20.以下變量x、y、z均為double類型且已正確賦值,不能正確表示數(shù)字式子x/(y*z)的C語言表達(dá)式是

—A—。

A、x/y*zB、x*(l/(y*z))C、x/y*l/zD、x/y/z

21.假設(shè)有定義:inta=8,b=5,c;,執(zhí)行語句c=a/b+0.4;后,c的值是_B。

A、1.4B、1C、2.0D、2

22.設(shè)有定義:floata=2,b=4,h=3;,以下C語言表達(dá)式與代數(shù)式l/2((a+b)h)計(jì)算結(jié)果不相符的是—B-。

A.(a+b)*h/2B.(l/2)*(a+b)*hC>(a+b)*h*l/2D、h/2*(a+b)

23.假定x和y為double型,表達(dá)式x=2,y=x+3/2的值是_D___。

A、3.500000B、3C、2.000000D、3.000000

24.假設(shè)已定義x和y為double類型,那么表達(dá)式x=l,y=x+3/2的值是_C___。

A、1B、2C、2.0000C0D、2.500000

25.假設(shè)有以下程序段

intcl=lzc2=2,c3;

c3=1.0/c2*cl;

那么執(zhí)行后,c3中的值是—A_o

A、0B、0.5C>1D、2

26.設(shè)有intx=ll;那么表達(dá)式(x++*l/3]的值是—A—。??

A、3B、4C、11D、12

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

main()

(

doubled=3.2;intx,y;

x=1.2;y=(x+3.8)/5.0;

printf("%d\n”,d*y);

)

A、3B、3.2C、0D、3.07

28.請(qǐng)讀程序片段:

inti=65536;

printf("%d\n"J);

上面程序片段的輸出結(jié)果是_B__。

A、65536B、0C、有語法錯(cuò)誤,無輸出結(jié)果D.-1

29.假設(shè)有以下定義和語句:

intu=010,v=0xl0,w=10;

printf("%d/%d/%d\n"/u/v/w);

那么輸出結(jié)果是:_A。

A、8,16,10B、10,10,10C、8,8,10D、8,10,10

30.在C語言中,不正確的int類型的常數(shù)是一A-o

A、32768B、0C>037D、OxAF

31.以下程序的輸出結(jié)果是_Do

main()

(

intk=17;

printf("%d,%o,%x\n”,k,k,k);

)

A、17,021,0x11B、17,17,17C>17,0x11,021D、17,21,11

32.下面程序的輸出是_Co

main()

(

unsigneda=32768;

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

)

A、a=32768B、a=32767C>a=-32768D、a=-l

33.在C語言中,合法的長(zhǎng)整型常數(shù)是—A—o

A、0LB、4962710C、324S62&D、216D

34.C語言中運(yùn)算對(duì)象必須是整型的運(yùn)算符是_Ao

A、%=B、/C、=D、<=

35.以下選項(xiàng)中不屬于C語言的類型名稱是

A、signedshortintB、unsignedlongintC、unsignedintD、longshort

36.有以下程序

main()

intm=0256,n=256;

printf("%o%o\n",m,n);

)

程序運(yùn)行后的輸出結(jié)果是_C_o

A、02560400B、0256256C、256400D、400400

37.假設(shè)執(zhí)卜面程序時(shí)從鍵盤上輸入5,

main()

(

intx;

scanf("%d",&x);

if|x++>5)printf("%d\n",x);

elseprintf("%d\n"zx-);

)

那么輸出是_Bo

A、7B、6C、5D、4

38.有以卜程序

main()

(

chara2='m';

printf("%c\n",(al,a2));

)

以下表達(dá)中正確的選項(xiàng)是—B—。

A、程序輸出大寫字母MB、程序輸出小寫字母m

C、格式說明符缺乏,編譯出錯(cuò)D、程序運(yùn)行時(shí)產(chǎn)生出錯(cuò)信息

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

main()

(

inta;

',,,

printf(%d\n,(a=3*5,a*4,a+5));

)

A、65B、20C、15D、10

40.設(shè)有如下程序段

intx=2002,y=2003;

printf("%d\n"/(x,y));

那么以下表達(dá)中正確的選項(xiàng)是_D_o

A、輸出語句中格式說明符的個(gè)數(shù)少于輸出項(xiàng)的個(gè)數(shù),不能正確輸出

B、運(yùn)行時(shí)產(chǎn)生錯(cuò)誤信息

C.輸出值為2002

D、輸出值為2003

41有以下程序

main()

intx,y,z;

x=y=l;

z=x++/y++/++y;

printf("%d,%d,%d\n,x,y,z);

)

程序運(yùn)行后的輸出結(jié)果是—C_。

A、2,3,3B、2,3,2C、2,3,1D、2,2,1

42.設(shè)有以下定義

inta=0;

doubleb=1.25;

charc='A';

#defined2

那么下面語句中錯(cuò)誤的選項(xiàng)是_D-。

A、a++;B、b++;C、C++;D、d++;

43.以下程序的輸出結(jié)果是一D—o

main()

(

intx=10,y=10;

printf("%d%d\n",x--/-y);

)

A、1010B、99C、910D、109

44.假設(shè)x和y都是int型變量,x=100、y=200,且有下面的程序片段

printf("%d",(x,y));

上面程序片段的輸出結(jié)果是_A_。

A、200B、100C、100200D、輸那么格式符不夠,輸出不確定的值

45.設(shè)有如下定義:

intx=10,y=3,z;

那么語句

printf("%d\n"zz=(x%yzx/y));

的輸出結(jié)果是_D_。

A、1B>0C、4D、3

46.兩次運(yùn)行下面的程序,如果從鍵盤上分別輸入6和4,那么輸出結(jié)果是—A—o

main()

(

intx;

scant("%d",&x);

if|x++>5)

printf("%d",x);

else

printf("%d\n",x-);

)

A、7和5B、6和3C、7和D、6和4

47.假設(shè)t為double類型,表達(dá)式t=l,t+5,t++的值是_D___。

A、1B、6.0C、2.0D、1.0

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

#include<stdio.h>

main()

inti=10J=10;

printf("%d,%d\n",++ij-);

)

A、11,10B、9,10C、010,9D、10,9

49.有以下程序

main()

(

inty=10;

while(y-);

printf("y=%d\n",y);

)

程序執(zhí)行后的輸出結(jié)果是_B__。

A、y=0B、y=-lC、y=lD、while構(gòu)成無限循環(huán)

50.以下程序的輸出結(jié)果是(B).

main()

{inta=7zb=5;

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

)

A、5B、IC、0D、不確定值

51.以下選項(xiàng)中,不正確的C語言浮點(diǎn)型常量是(C兀

A.160B.0.12C.2e4.2D.0.0

52.以下選項(xiàng)中,(D)是不正確的C語言字符型常量。

A'a'B.'\x41'C.'\101'D."a"

53.在C語言中,字符型數(shù)據(jù)在計(jì)算機(jī)內(nèi)存中,以字符的(C)形式存儲(chǔ)。

A原碼B.反碼C.ASCII碼D.BCD碼

54.假設(shè)X、i、j和k都是int型變量,那么計(jì)算下面表達(dá)式后,x的值是(C

x=(i=4,j=16>k=32)

A4B.16C.32D.52

55.算術(shù)運(yùn)算符、賦值運(yùn)算符和關(guān)系運(yùn)算符的運(yùn)算優(yōu)先級(jí)按從高到低依次為(B)。

A算術(shù)運(yùn)算、賦值運(yùn)算、關(guān)系運(yùn)算B.算術(shù)運(yùn)算、關(guān)系運(yùn)算、賦值運(yùn)算

C.關(guān)系運(yùn)算、賦值運(yùn)算、算術(shù)運(yùn)算D.關(guān)系運(yùn)算、算術(shù)運(yùn)算、賦值運(yùn)算

56.假設(shè)有代數(shù)式,那么不正確的C語言表達(dá)式是(C)o

Aa/b/c*e*3B.3*a*e/b/c

C.3*a*e/b*cD.a*e/c/b*3

57.表達(dá)式!x||a==b等效于(D)。

A!((x||a)==b)B.!(x||y)==b

C-Kx||(a==b))D.(!x)||(a==b)

58.設(shè)整型變量m,n,a,b,c,d均為1,執(zhí)行(m=a>b)&&(n=c>d)后,m,n的值是(A)。

AO,OB.0,IC.1,0D.1,1

59.設(shè)有語句into=3;,那么執(zhí)行了語句a+=a-=o*=。;后,變量□的值是(B)。

A3B.0C.9D.-12

60.在以下一組運(yùn)算符中,優(yōu)先級(jí)最低的運(yùn)算符是(D)。

A*B.!=C.+D,=

61.設(shè)整型變量i值為2,表達(dá)式(++i)+(++i)+(++i)的結(jié)果是(B)。

A6B.12C.15D.表達(dá)式出錯(cuò)

62.假設(shè)已定義x和y為double類型,那么表達(dá)式x=l,y=x+3/2的值是(C)。

A1B.2C.2.0D.2.5

63.sizeof(double)的結(jié)果值是(A)。

A8B.4C.2D.出錯(cuò)

64.設(shè)a=l,b=2,c=3,d=4,那么表達(dá)式:a<b?a:c<d?a:d的結(jié)果為(D)。

A4B.3C.2D.1

65.設(shè)a為整型變量,不能正確表達(dá)數(shù)學(xué)關(guān)系:10。<15的C潛言表達(dá)式是(A)。

A10<a<15B.a==11||a==1211a==1311a==14

C.a>10&&a<15D.!(a<=10)&&!|a>=15)

66.設(shè)f是實(shí)型變量,以下表達(dá)式中不是逗號(hào)表達(dá)式的是(D)。

Af=3.2,1.0B.f>0,f<10

C.f=2.0zf>0D.f=(3.2z1.0)

67.表達(dá)式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型是(C)。

AintB.floatC.doubleD.不確定

68.字母A的ASCII碼為十進(jìn)制數(shù)65,且c2為字符型,那么執(zhí)行語句

C2=,A'+'6'-'3';后c2中的值是(A)。

ADB.68C.不確定的值D.C

69.以下用戶標(biāo)識(shí)符中,合法的是(B

AintB.nitC.123D.a+b

70.C語言中,要求運(yùn)算對(duì)象只能為整數(shù)的運(yùn)算符是(A

A%B./C.>D.*

.假設(shè)有說明語句:那么變量在內(nèi)存占用的字節(jié)數(shù)是(兀

71charc-'\72';cA

A1B.2C.3D.4

72.字符串“ABC”在內(nèi)存占用的字節(jié)數(shù)是(B)。

A3B.4C.6D.8

73.要為字符型變量a賦初值,以下語句中哪一個(gè)是正確的(B)。

Achara="3";B.chara=,3';

C.chara=%;D.chara=*;

74.以下不正確的轉(zhuǎn)義字符是(C)<.

A\\B.\'C.074D.\0

2.2填空題

1、c語言中的邏輯值“真"是用」_表示的,邏輯值“假”是用旦表示的。

2,假設(shè)x和n都是int型變量,且x的初值為12,n的初值為5,那么計(jì)算表達(dá)式x%=(n%=2)后x的值

為0.

、設(shè)那么表達(dá)式的值分別為_、、

3c='w',a=l,b=2/d=-5,,x,+l>c,'y'!=c+2,-a-5*b<=d+l,b==a=2jQ_1?>

L。

4.設(shè)floatx=2.5,y=4.7;inta=7;,表達(dá)式x+a%3*(int)(x+y)%2/4的值為2.5°

5,判斷變量a、b的值均不為0的邏輯表達(dá)式為a!=0&&b!=0。

6.求解賦值表達(dá)式a=(b=10)%(c=6),表達(dá)式值、a、b、c的侑依次為4,4,過仇

7、求解逗號(hào)表達(dá)式x=a=3,6*a后,表達(dá)式值、x、a的值依次為四33。

8、數(shù)學(xué)式a/(b*c)的C語言表達(dá)式迎。

9、假設(shè)有語句

inti=?19,j=i%4;

printf("%d\n"j);

那么輸出結(jié)果是O

答案:-3

10、設(shè)y是int型變量,請(qǐng)寫出判斷v為奇數(shù)的關(guān)系表達(dá)式v%2。

第三章CH3順序程序設(shè)計(jì)

3.1選擇題

1.如果inta=3,b=4;那么條件袤達(dá)式"a<b?a:b"的值是A。

A)3B)4C)OD)1

表達(dá)式1?表達(dá)式2:表達(dá)式3

先計(jì)算表達(dá)式1,

假設(shè)表達(dá)式1成立,那么選擇計(jì)算表達(dá)式2,并表達(dá)式2的值作為整個(gè)大表達(dá)式的值;

假設(shè)表達(dá)式1不成立,那么選擇計(jì)算表達(dá)式3,并將表達(dá)式3的值作為整個(gè)大表達(dá)式的值

此題中的avb相當(dāng)于表達(dá)式1,a相當(dāng)于表達(dá)式2,b相當(dāng)于表達(dá)式3.

a為3,b為4。avb表達(dá)式1成立,因此計(jì)算表達(dá)式2,并將表達(dá)式2的值即a中的值,并作為整個(gè)表

達(dá)式的值,因此整個(gè)表達(dá)式的值為3

2.假設(shè)intx=2,y=3,z=4那么表達(dá)式x<z?y:z的結(jié)果是(B).

A)4B)3C)2D)OE)1

3.C語言中,關(guān)系表達(dá)式和邏輯表達(dá)式的值是(B)o

AiOB)0或1C)1口)十或午,

4.下面(D)表達(dá)式的值為4.

A)11/3B)11.0/3

C)(float)ll/3D)(int)(11.0/3+0.5)

(1)相同數(shù)據(jù)類型的元素進(jìn)行數(shù)學(xué)運(yùn)算(+、-、*、/)得到結(jié)果還保持原數(shù)據(jù)類型。

(2)不同數(shù)據(jù)類型的元素進(jìn)行數(shù)學(xué)運(yùn)算,先要統(tǒng)一數(shù)據(jù)類型,統(tǒng)一的標(biāo)準(zhǔn)是低精度類型轉(zhuǎn)換為高精度

的數(shù)據(jù)類型。

選項(xiàng)A,11與3為兩個(gè)整數(shù),11:3結(jié)果的數(shù)據(jù)類型也應(yīng)為整數(shù),因此將3.666666的小數(shù)局部全部舍掉,

僅保存整數(shù),因此11/3=3.

選項(xiàng)B,11.0為實(shí)數(shù),3為整數(shù),因此首先要統(tǒng)一數(shù)據(jù)類型,將整型數(shù)據(jù)3轉(zhuǎn)換為3.0,轉(zhuǎn)換后數(shù)據(jù)類型

統(tǒng)一為實(shí)型數(shù)據(jù),選項(xiàng)B變?yōu)?1.0/3.0,結(jié)果的數(shù)據(jù)類型也應(yīng)為實(shí)型數(shù)據(jù),因此選項(xiàng)B11.0/3=3.666666

選項(xiàng)C,先將整數(shù)II強(qiáng)制類型轉(zhuǎn)換,轉(zhuǎn)換為實(shí)型11.0,因此選項(xiàng)C變?yōu)?1.0/3,其后計(jì)算過程、結(jié)果與

選項(xiàng)B同

選項(xiàng)D,首先計(jì)算11.0/3,其計(jì)算過程、結(jié)果與選項(xiàng)B同,得到3.666666;再計(jì)算3.666666+0.5=4.166666,

最后將4.166666強(qiáng)制類型轉(zhuǎn)換為整型,即將其小數(shù)局部全部舍掉,結(jié)果為4

5.設(shè)整型變量a=2,那么執(zhí)行以下語句后,浮點(diǎn)型變量b的俏不為0.5的是(B)

A.b=1.0/aB.b=(float)(l/a)

C.b=l/(float)aD.b=l/(a*1.0)

6.假設(shè)“intn;floatf=13.&〃,那么執(zhí)行“n=(int)f%3"后,n的值是(A)

A.lB.4C

“(int)f"表示將f中的值強(qiáng)制類型轉(zhuǎn)換為整型,即將13.8的小數(shù)局部舍掉,轉(zhuǎn)換為13;然后計(jì)算13%3,

結(jié)果為1,再將結(jié)果賦給變量n,因此n的值為1

7.有如下程序

main()

(

inta;charc=10;

floatf=100.0;doublex;

a=f/=c*=(x=6.5);

printf("%d%d%3.1f%3.1f\n",a,c,f,x);

)

程序運(yùn)行后輸出結(jié)果是_B_c

A、16516.5B、1651.56.5C、1651.06.5D、2651.56.5

8.假設(shè)變量a、i已正確定義,且i已正確賦值,合法的語句是—B—。

A^a==lB、++i;C、a=a++=5;D、a=int(i);

9.假設(shè)變量已正確定義并賦值,下面符合C語言語法的表達(dá)式是_Bo

A、a:=b+lB、a=b=c+2C>int18.5%3D、a=a+7=c+b

10.設(shè)變量x為float型且已賦值,那么以下語句中能將x中的數(shù)值保存到小數(shù)點(diǎn)后兩位,并將第三位四

舍五入的是_CO

A、x=x*100+0.5/100.0B、x=(x*100+0.5)/100.0

C、x=(int)(x*100+0.5)/100.0???D、x=(x/100+0.5)*100.0

IL假設(shè)k是int型變量,且有下面的程序片段

k=-3

if|k<=0)printf("####")

elseprintf("&&&&");

上面程序片段的輸出結(jié)果是_D_。

A、####B、&&&&C、####&&&&D、有語法錯(cuò)誤,無輸出結(jié)果

12.以下4個(gè)選項(xiàng)中,不能看作一條語句的是—D—o

、{;}、、、

ABa=0,b=0/c=0;Cif(a>0);Dif(b==O)m=l;n=2;???

13.有以下程序

main()

(

inta=0,b=0;

a=10;/*給a賦值*/

b=20;/*給b賦值*/

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

)

程序運(yùn)行后的輸出結(jié)果是_B_。

A、a+b=10B、a+b=30C、3。D、出錯(cuò)

14.當(dāng)c的值不為0時(shí),在以下詵項(xiàng)中能正確將c的值賦給變曷a、b的是C

A、c=b=a;B、(a=c)II(b=c);C、(a=c)&&(b=c);D、a=c=b;

15.以下選項(xiàng)中非法的表達(dá)式是_D_。

A、0<=x<100B、i=j==OC、(char)(65+3)D、x+l=x+l

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

#include<stdio.h>

7main()

{

inta,b,d=241;

a=d/100%9;

b=(-l)&&(-l);

printf(”%d,%d\rT,a,b);???

)

A、6,1B、2,1C、6,0D、2,0

17.以卜.循環(huán)體的執(zhí)行次數(shù)是—二

main()

(

inti,j;

fcr(i=0J=l;i<=j+l;i+=2,j-)

printf("%d\n"zi);

)

As3B、2C、1D、0

答案:C

18.有以下定義語句

doublea,b;intw;longc;

假設(shè)各變量已正確賦值,那么以下選項(xiàng)中正確的表達(dá)式是一C—。

A、a=a+b=b++B、w%((int)a+b)C、(c+w)%(int)aD、w=a=b;

19.以下能正確計(jì)算定義且賦初值的語句是一B—。

A、intnl=n2=10;B、charc=32;

C、fioatf=f+l.l;D、

20.以下合法的賦值語句是_B_o

A、x=y=100B、d-;C、x+y;D、c=int(a+b);

21.以卜.語句中符合C語言語法的賦值語句是—D-。

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;

22.請(qǐng)選出合法的C語言賦值語句-B—。

A、a=b=58B、i++;C、a=58,b=58D、k=int(a+b);

23.下面程序的輸出是一C-o

rriainf)

{intx=10,y=3;

printf("%d\n"/y=x/y);

)

A、。B、1C、3D、不確定的值

24.字母A的ASCII碼為十講制的65,下面程序的輸出是—A—。

main()

(

charchl,ch2;

chl='A'+'5'-,3,;

ch2='A'+,6'-,3,;

printf("%d/%c\n"zchl/ch2);

)

A、67,DB、B,CC、C,DD、不確定的值

25.以下程序的運(yùn)行結(jié)果是一B-o

#include<stdio.h>

main()

{inta=2,c=5;

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

)

、

Aa=%2zb=%5B、a=2,b=5C、a=d,b=dD、a=%d,b=5d

26.以下程序的輸出結(jié)果是一D—o

#includp<<;tdio.h>

main()

{inta=2,c=5;

printf("a=%%dzb=%%d\n"/a/c);

)

、、

Aa=%2,b=%5Ba=2zb=5C、a=%%d,b=%%dD、a=%d,b=%d

27.有以下程序

main()

{intx=102,y=012;

printf("%2d,%2d\n"/x/y);

)

執(zhí)行后輸出結(jié)果是___C___o

A、10,01B、02,12C、102,10D、02,10

28.有以下程序

main()

{int3=666,6=888;

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

)

程序運(yùn)行后的輸出結(jié)果是_

B_o

A、錯(cuò)誤信息B、666C、888D、666,888

29.有以下程序

^include<stdio.h>

main()

{charcl='l',c2=,2';

cl=getchar();

c2=getchar();

putchar(cl);

putchar(c2);

)

當(dāng)運(yùn)行時(shí)輸入:a<回車〉后,以下表達(dá)正確的選項(xiàng)是—A―,

A、變量C1被賦予字符a,c2被賦予回車符

B、程序?qū)⒌却脩糨斎氲?個(gè)字符

C、變量cl被賦予字符a,C2中仍是原有字符2

D、變量cl被賦予字符a,c2中將無確定值

30.執(zhí)行以下程序時(shí)輸入:123〈空格>456〈空格>789〈回車〉,輸出結(jié)果是—D

main()

{chars[100];

intc,i;

scanf(“%c”,&c);

scanf("%d",&i);

scanf(”%s”,s);

printf("%c,%d,%s\n"zc,i,s);

)

A、123,456,789B、1,456,789C、1,23,456,789D、1,23,456

31.有定義語句:intb;charc[10];,那么正確的輸入語句是_3。

、、

Ascanf("%d%s",&b/&c);Bscanf("%d%s",&b,c);

、

C,scanf("%d%s",b,c);Dscanf("%d%s"zb,&c);

32.假設(shè)要求從鍵盤讀入含有空格字符的字符串,應(yīng)使用函數(shù)

A、getc()B、gets()C、getchar()D、scanf()

33.有以下程序

#include<stdio.h>

main()

{charcl,c2,c3,c4,c5,c6;scanf("%c%c%c%c",&cl,&c2,&c3,&c4);

c5=getchar();

c6=getchar();

putchar(cl);

putchar(c2);

printf("%c%c\n",c5,c6);

)

程序運(yùn)行后,假設(shè)從鍵盤輸入(從第1列開始)_D_。

123〈回車〉

45678V回車〉

那么輸出結(jié)果是

A、1267B、1256C、1278D、1245

34.有以下程序

main()

(

intm,n,p;

scanf("m=%dn=%dp=%d",&m,&n/&p);

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

)

假設(shè)想從鍵席上輸入數(shù)據(jù),使變曷m中的侑為123,n中的數(shù)值為456,p中的值為789,那么正確

的輸入是一A—o

A、m=123n=456p=789B、m=123n456p=789

C、m=123,n=456,p=789D、123456789

35.有以下程序段

intm=O,n=O;

charc='a';

scanf("%d%c%d"/&m,&c/&n);

printf("%d,%c,%d\rT,m,c,n);

假設(shè)從鍵盤上輸入:10A10<回車〉,那么輸出結(jié)果是_A_,,

A、10,A,10B、10,a,10C、10,a,0D、10,A,0

36.有定義語句:intx,y;,假設(shè)要通過562叫“%&%。&理丫);語句使變量*得到數(shù)據(jù)11,變量y得到數(shù)值

12,下面四組輸入形式中,錯(cuò)誤的選項(xiàng)是_A_。

A、1112〈回車>B、11,12〈回車〉C、11,12〈回車〉D、11,〈回車>12〈回車〉

37.假設(shè)有以下定義和語句

',

charcl='b'zc2=e;

'

printf("%d,%c\n"zc2-clJc2-'a'+A');

那么輸出結(jié)果是:_Bo

A、2,MB、3,EC、2,ED、輸出項(xiàng)與對(duì)應(yīng)的格式控制不一致,輸出結(jié)果不確定

38.已定義c為字符型變量,那么以下語句中正確的選項(xiàng)是_C—。

A、c='97';B、c="97";C、c=97;D、c="a";

39.數(shù)字字符0的ASCII值為48,假設(shè)有以下程序一C—。

main()

(

chara='l',b=2;

printf("%c,",b++);

printf("%d\n"zb-a);

)

程序運(yùn)行后的輸出結(jié)果是

A、3,2B、50,2C、2,2D、2,50

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

main()

{charc='z';

printf("%c”,c-25);

)

A、aB、ZC、z-25D、y

41.假設(shè)變量a是int類型,并執(zhí)行了語句:a='A'+1.6;,那么正確的表達(dá)是。

A、a的值是字符CB、a的值是浮點(diǎn)型

C,不允許字符型和浮點(diǎn)型相加D、a的值是字符W的ASCII值加上1

42.以下程序執(zhí)行后的輸出結(jié)果是—A—。

main()

intx='f';

printf(',%c\n";A,+(x-'a,+l));

)

A>GB、HC、ID、J

43.以下程序的輸出結(jié)果是_B_o

main()

{inti;

fcr(i='A';i<'r;i++,i++)printf("%c",i+32);

printf("\n");

)

A、編譯小通過,尢輸出B、acegC、acegiD、abcdefghi

44.有如下程序

#include<stdio.h>

main()

(

printfC^dXn';NULL);

)

程序運(yùn)行后的輸出結(jié)果是_A—。

A.0B、1C、—1D、NULL沒定義,出錯(cuò)

45.設(shè)有說明語句:chara='\72';那么變量a_A___。

A、包含1個(gè)字符B、包含2個(gè)字符C、包含3個(gè)字符D、說明不合法

46.當(dāng)把以下四個(gè)表達(dá)式用作if語句的控制表達(dá)式時(shí),有一個(gè)選項(xiàng)含義不同,這個(gè)選項(xiàng)是

A、K%2B、K%2==1C、(K%2)!=0D、!K%2==1

47.以下表達(dá)中錯(cuò)誤的選項(xiàng)是_C_。

A、C語句必須以分號(hào)結(jié)束B、復(fù)合語句在語法上被看作一條語句

C、空語句出現(xiàn)在任何位置都不會(huì)影響程序運(yùn)行

D、賦值表達(dá)式末尾加分號(hào)就構(gòu)成賦值語句

48.假設(shè)變量X、y已正確定義并賦值,以下符合C語言語法的表達(dá)式是_A_。

、、、

A、++xzy=x-Bx+l=yCx=x+10=x+yDdouble(>:)/10

.以下表達(dá)中正確的選項(xiàng)是—

49A―o

A、C程序中注釋局部可以出現(xiàn)在程序中任意適宜的地方

B、花括號(hào)”/和“}”只能作為函數(shù)體的定界符

C,構(gòu)成C程序的根本單位是函數(shù),所有函數(shù)名都可以由用戶命名

D、分號(hào)是C語言之間的分隔符,不是語句的一局部

50.假設(shè)變量a,b均為整型,表達(dá)式(a=5,b=2,a>b?a++:b++,a+b)的值是[)。

A7B8C9D2

51.設(shè)a為int型變量,執(zhí)行以下賦值語句后,a的取值分別是1)。

a=125.534;a=(int)125.521%4;a=5?2;

A125,31,1B125,1,20C125,31,20D125.534,2,20

52.以下程序的輸出結(jié)果為()o

#defineADD(x)x*x

main()

{inta=4,b=6,c=7,d=ADD(a+b)*c;

printf("d=%d",d);

Ad=70Bd=80Cd=140Dd=700

3.2讀程序

讀程序?qū)懗鼋Y(jié)果,或者在程序的空白處填入正確代碼。

1.有如下程序

#include"stdio.h"

main()

{charc;

c=getchar();

while(c!="?'){putchar(c);c=getchar();}

)

如果從鍵盤輸入abcde?fgh(回車)

運(yùn)行結(jié)果為:abcde

2.有如下程序

#include<stdio.h>

main()

{charc;

while((c=getchar())!=z$z)

{if('A,<=c&&c<='Z/)putchar(c);

elseif('a'v=c&&c<='z')putchar(c-32);}

}

當(dāng)輸入為ab*AB%cd#CD$時(shí),運(yùn)行結(jié)果為:ABABCDCD

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

main()

{inta=0;

a+=(a=8);

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

}

答案:16

4.假設(shè)有定義:inta=10,b=9,c=8;接著順序執(zhí)行以下語句后,變量b中的值是

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

c=(a%ll)+(b=3);

答案;3

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

inti=9;

printf("%o\n"J);

答案:11

6.有以下程序

#include<stdio.h>

main()

{charchlzch2;intnl,n2;

chl=getchar();ch2=getchar();

nl=chl-'O';n2=nl*10+(c卜2」0)

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

}

程序運(yùn)行時(shí)輸入:12V回車〉,執(zhí)行后輸出結(jié)果是

答案:12

7.以下程序運(yùn)行后的輸出結(jié)果是o

main()

{charm;

m='B'+32;

printf("%c\n"/m);

}

答案:b

8.字母A的ASCII碼為65.以下程序運(yùn)行后的輸出結(jié)果是

main()

{charazb;

a='A'+'5'?'3';b=a+'6'-'2';

w

printf(''%d%c\nza,b);

)

答案:67G

9.假設(shè)有以下程序

main()

{chara;

a=‘H'」A'+O;

p「intf("%c\n”,a);

}

執(zhí)行后輸出結(jié)果是。

答案:7

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

main()

{int3=012^=0x12^=12;

charc='\102,,d='\r,;

printf(''a=%d\tb=%d\tk=%d\n",a,b,k);

z,

printf(''c=%czd=%c%o\n,c,d,a);

a='Az;c=49;

printf(''a=%d\tc=%c\n*,azc);

}

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

main()

{Intl=29J=6zk=2,s;

s=i+i/j%k-9;

printf(''s=%d\n",s);

)

12.以下程序運(yùn)行后的輸出結(jié)果是o

main()

{char*s2=''IloveChina!”,**sl=&s2;

char*s3,c,*s4=''w";

s3=&c;

*s3='H';

s2=s2+2;

printf(''%s\t%c\t%s\t%c\n,s2,*s3,s4z**sl);

}

3.3程序改錯(cuò)

畫橫線的代碼有誤,請(qǐng)寫出正確的代碼

1.從鍵盤輸入整數(shù)x的值,并輸出y的值.

main()

<floatx,v;

scanf(''%dw,&x);

y=3.5+x;

Drintf(''y=%d");

}

正確的:intx;floaty;

printf(、'y=%f〃,y);

第四章CH4選擇結(jié)構(gòu)程序設(shè)計(jì)

4.1讀程序

1.有如下代碼:

#include<stdio.h>

main()

{charch;

ch=getchar();

switch(ch)

{case'A':printf(''%c〃,'A‘);

case'B':printf(''%cw/B");break;

default:printf(''%s\n,z:other");}

當(dāng)從鍵盤輸入字母A時(shí),運(yùn)行結(jié)果為:AB

詳見switch語句

switch(表達(dá)式)

{case常量1:語句1

case常量2:語句2

III

III

case常量n:語句n

default:語句n+1

)

其中表達(dá)式,常量1,…,常量n都為整型或字符型

case相當(dāng)于給出執(zhí)行程序的入口和起始位置,假設(shè)找到匹配的常量,那么從此處開始往下執(zhí)行程序,不

再匹配常量,直至遇到break或switch結(jié)束

此題過程:

首先從鍵盤接收一個(gè)字符公'并將其放在變量ch中。

執(zhí)行switch語句。Switch后面的條件表達(dá)式為ch,因此表達(dá)式的值即為字符冗用字符真依次與下面

的case中的常量匹配。

與第1個(gè)case后的常量匹配,那么從其后的語句開始往下執(zhí)行程序[在執(zhí)行過程中不再進(jìn)行匹配。)

因此先執(zhí)行printf("%c",'A'),屏幕上輸出A;再往下繼續(xù)執(zhí)行printf("%c",E),屏幕上輸出B;再繼續(xù)執(zhí)

行break,此時(shí)跳出switch語句。

2.有如下代碼:

升include<stdio.h>

main()

{inta=l,b=0:

scanf(u%dw,&a);

switch(a)

{case1:b=l;break;

case2:b=2;break:

default:b=10;}

printf("%d",b);

}

假設(shè)鍵盤輸入5,運(yùn)行結(jié)果為3

此題過程:

首先用scanf函數(shù)為變量a賦值為5。

執(zhí)行switch語句。switch后面的條件表達(dá)式為a,因此表達(dá)式的值即為5.用5依次與下面case中的

常量匹配。沒有找到匹配的常量,因此兩個(gè)case后的語句都不執(zhí)行。執(zhí)行default后面的語句b=10;將

10賦給變量b。

輸出變量b,結(jié)果為10

3.有如下代碼:

#include<stdio.h>

main()_

{chargrade=,C';

switch(grade)

{

case'A':printf(u90-100\nz,);

caseE:printf(''80-90\n");

case'C':printfC'70-80\n//);

case'D':printf(''60-70\n");break;

case'Ez:printf(''<60\nz,);

default:printf(''error!\rT);

}

}

運(yùn)行結(jié)果為:

70-80

60-70

此題過程:

首先從鍵盤接收一個(gè)字符C并將其放在變量grade中。

執(zhí)行switch語句。switch后面的條件表達(dá)式為grade,因此表達(dá)式的值即為字符C.用字符C依次與

下面的case中的常量匹配。

與第3個(gè)case后的常量匹配,那么從其后的語句開始往下執(zhí)行程序(在執(zhí)行過程中不再進(jìn)行匹配。)

因此先執(zhí)行printf(z70-80\n,z);,屏幕上輸出70-80,并換行;再往下繼續(xù)執(zhí)行printf(zz60-70\nw),屏幕上

輸出60-70,并換行;再繼續(xù)執(zhí)吁break,此時(shí)跳出switch語句。

4.在嵌套使用if語句時(shí),C語言規(guī)定else總是—C—。

A、和之前與其具有相同縮進(jìn)位置的if配對(duì)B、和之前與其最近的if配對(duì)

C、和之前與其最近的且不帶else的if配對(duì)D、和之前的第一個(gè)if配對(duì)

5,假定所有變量均已正確說明,以下程序段運(yùn)行后x的值是一B—。

a=b=c=0;x=35;

if(!a)x-;

elseif(b);

if(c)x=3;

elsex=4;

A、34B、4C、35D、3

6.有如下程序

main()

{

inta=2zb=-lzc=2;

if(a<b)

if(b<0)c=0;

elseC++;

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

)

該程序的輸出結(jié)果是一C

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

7.有以下程序

main()

{intk=5,n=0;

while(k>0)

{switch(k)

{default:break;

case1:n+=k;

case2:

case3:n+=k;

}

k--;

}

H

printf("%d\nzn);

}

程序運(yùn)行后的輸出結(jié)果是—D—0

A、0B、4C、6D、7

8.有以下程序

main()

{

inti;

for(i=0;i<3;i++)

switch(i)

{

case1:printf(”%d”,i);

case2:printf(”%d”,i);

default:printf("%d"zi);

}

}

執(zhí)行后輸出結(jié)果是—A—o

A、011122B、012C、012023D、120

9.如下程序

main()

{intx=lza=0zb=0;

switch(x)

{case0:b++;

case1:a++;

case2:a++;b++;

?

printf("a=%dzb=%d\n"zazb);

}

該程序的輸出的結(jié)果是—A—。

A、a=2,b=lB、a=l,b=lC、a=l,b=OD、a=2,b=2

10.以下程序的輸出結(jié)果是一A-0

main()

{i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論