c語言二級(jí)題題庫_第1頁
c語言二級(jí)題題庫_第2頁
c語言二級(jí)題題庫_第3頁
c語言二級(jí)題題庫_第4頁
c語言二級(jí)題題庫_第5頁
已閱讀5頁,還剩228頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第I章C語言概述

1、一個(gè)C程序的執(zhí)行是從A。

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

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

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

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

2、以下敘述正確的是C。

A)在C程序中.main函數(shù)必須位于程序的最前面

B)c程序的每行中只能寫一條語句C)c語言本身沒有輸入輸出語句

D)在對(duì)一個(gè)c程序進(jìn)行編譯的過程中,可發(fā)現(xiàn)注釋中的拼寫錯(cuò)誤

3、以下敘述不正確的是D。

A)一個(gè)c源程序可由一個(gè)或多個(gè)函數(shù)組成B)一個(gè)c源程序必須包含

一個(gè)main函數(shù)

C)c程序的基本組成單位是函數(shù)D)在c程序中,注釋說明只能位于

一條語句的后面

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

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

C)可以任意D)必須在最后

5、一個(gè)c語言程序是由B。

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

0若干過程組成D)若干子程序組成

6、用C語言編寫的代碼程序B

A)可立即執(zhí)行B)是一個(gè)源程序

0經(jīng)過編譯即可執(zhí)行D)經(jīng)過編譯解釋才能執(zhí)行

7、以下敘述中正確的是B

A)C語言的源程序不必通過編譯就可以直接運(yùn)行B)C語言中的每

條可執(zhí)行語句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令

0C源程序經(jīng)編譯形成的二進(jìn)制代碼可以直接運(yùn)行D)C語言中的函

數(shù)不可以單獨(dú)進(jìn)行編譯

8、以下敘述中正確的是C

A)C語言是低級(jí)語言B)C語言可以不用編譯就能被計(jì)算機(jī)識(shí)別執(zhí)

0C語言以接近英語國家的自然語言和數(shù)學(xué)語言作為語言的表達(dá)形

D)C語言出現(xiàn)的最晚,具有其他語言的一切優(yōu)點(diǎn)

9、要把高級(jí)語言編寫的源程序轉(zhuǎn)換為目標(biāo)程序,需要使用D

A)編輯程序B)驅(qū)動(dòng)程序

C)診斷程序D)編譯程序

第3章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式

1、C語言基本類型包括D。

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

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

2、C語言中的標(biāo)識(shí)符只能由字母、數(shù)字、下劃線三種字符組成,且

第一個(gè)字符的

A.必須為字母B.必須為下劃線

C.必須為字母或下劃線D.可以是字母、數(shù)字、下劃線中任意一種字

3、C語言中最簡單的數(shù)據(jù)類型包括B。

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

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

4、若a為int類型,且其值為3,則執(zhí)行完表達(dá)式a+=a-=a*a后,a

的值是C。

A.-3B.9C.-12D.6

5、若t為double類型,表達(dá)式t=l,t+5,t++的值是瓦

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

6、若已定義x和y為double類型,則表達(dá)式:x=l,y=x+3/2的值是

Co

A.1B.2C.2.0D.2.5

7、設(shè)a為5,執(zhí)行下列語句后,b的值不為2的是C。

A.b=a/2B.b=6-(—a)C.b=a%2D.b=a>3?2:1

8、下列四組選項(xiàng)中,均是不合法的用戶標(biāo)識(shí)符的選項(xiàng)C。

A.AP_0doB.floatgoto_AC.b-agotointD._123

tempINT

9、下列選項(xiàng)中,合法的C語言關(guān)鍵字是D。

A.VARB.cherC.integerD.default

10、下面不正確的字符串常量是A。

A.'abc'B."12\<12"C."0"D.""

11、下面不正確的字符常量是A。

A."c"B.'C.'W'D.''

12、下述程序段的輸出結(jié)果是A。

intx=10;inty=x++;printf("%d,%d",(x++,y),y++);

A.11,10B.11,11C.10,10D.10,11

13、已知各變量的類型說明如下:

intk,a,b;unsignedlongw=5;doublex=l.42;則以下不符合C

語言語法的表達(dá)式A。

A.x%(-3)B.w+=-2C.k=(a=2,b=3,a+b)D.a+=a-=(b=D)*(a=3)

14、已知字母A的ASCII編碼為10進(jìn)制數(shù)65,且c2為字符型,則

執(zhí)行語句c2=4A,+*43,后,c2中的值為A。

A.DB.68C.不確定的值D.C

15、以下所列的C語言常量中,錯(cuò)誤的是B。

A.OxFFB.1.2e0.5C.2LD.'\72'

16、以下敘述正確的是C。

A.在C程序中main函數(shù)必須位于程序的最前面B.C程序的每行中

只能寫一條語句

C.C語言本身沒有輸入輸出語D.在對(duì)一個(gè)C程序進(jìn)行編譯的過程中,

可發(fā)現(xiàn)注釋中的錯(cuò)誤

17、以下運(yùn)算符中,運(yùn)算對(duì)象必須是整型的是B。

A./B.%=C.!=D.<=

18、正確的標(biāo)識(shí)符是D。

A.?aB.a=2C.a.3D.a.3

19、在C語言中(以16位Pc機(jī)為例),5種基本數(shù)據(jù)類型的存儲(chǔ)空間

長度的排列順序?yàn)锳.A)char<int<longint<=float<double

B)char=int<longint<=float<double

C)char<int<longint=float=doubleD)char=int=longint

<=float<double

20、假設(shè)所有變量均為整型,則表達(dá)式(a=2,b=5,b++,a+b)的值

是Bo

A)7B)806D)2

21、以下不正確的敘述是D。

A.在C程序中,逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低B.在C程序中,APA和apa

是兩個(gè)不同的變量

C.如果a和b類型相同,在計(jì)算了賦值表達(dá)式a=b后b中的值將放入

a中,而b中的值保持D.當(dāng)從鍵盤輸入數(shù)據(jù)時(shí),對(duì)于整型變量只能輸

入整型數(shù)值,對(duì)于實(shí)型變量只能輸入實(shí)型數(shù)值

22、若x,i,j和k都是int型變量,則計(jì)算下面表達(dá)式后,x的值為C。

X=(i=4,j=16,k=32)

A)4B)16C)32D)52

23、假設(shè)所有變量均為整型,則表達(dá)式(a=2,b=5,b++,a+b)的值

是B。

A)7B)806D)2

24、下列四組選項(xiàng)中,均不是c語言關(guān)鍵字的選項(xiàng)是A。

A)defineIFtypeB)getccharprintfC)includescanf

caseD)whilegopow

25、下面四個(gè)選項(xiàng)中,均是c語言關(guān)鍵字的選項(xiàng)是B。

A)autoenumincludeB)switchtypedefcontinueC)signed

unionscanfD)ifstructtype

26、下面四個(gè)選項(xiàng)中,均是合法整型常量的選項(xiàng)是A。

A)160-OxffffOilB)-0xcdfOlaOxeC)-01986.0120668

D)-0x48a3e5Ox

27、下面四個(gè)選項(xiàng)中,均是合法轉(zhuǎn)義字符的選項(xiàng)是A。

A)一4\\'An4B),c017'A;;4C)l018

''f44xab4D)NO'4\1014'xlf4

28、下面四個(gè)選項(xiàng)中,均是正確的八進(jìn)制數(shù)或十六進(jìn)制數(shù)的選項(xiàng)是C。

A)-100x8f-OilB)Oabc-017OxcC)0010-0x11Oxfl

D)0al2-0x123-Oxa

29、己知各變量的類型說明如下:inti=8,k,a,b;unsignedlong

w=5;doublex=1.42,y=5.2;則以下符合C語言語法的表達(dá)式A

A)a+=a-=(b=4)*(a=3)B)a=a*3=2C)x%(-3)D)y=

float(i)

30、求下列算術(shù)表達(dá)的值,設(shè)x=2.5,a=7,y=4.7。

x+a%3*(int)(x+y)%2/4=2.5

31、求下列算術(shù)表達(dá)的值,設(shè)a=2,b=3,x=3.5,y=2.5.

(float)(a+b)/2+(int)x%(int)y=3.5

32、寫出下面賦值表達(dá)式運(yùn)算后a的值,設(shè)原來a=12:

(1)a+=a(2)a-=2(3)a*=2+3(4)a/=a+a(5)a%=(n%=2)n的

值等于5(6)a+=a-=a*=a

(1)24(2)10(3)60(4)0(5)0(6)0

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

1、有以下程序

main()

(intm=0256,n=256;printf("%o%o\n",mn,n);}程序運(yùn)行后的輸出

結(jié)果是C

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

2、有以下程序

mainO{inta=666,b=888;printf("%d\n",a,b);}程序運(yùn)行后的輸

出結(jié)果是B

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

3、有以下程序

main()(intx=102,y=012;printf("%2d,%2d\n”,x,y);}執(zhí)行后

輸出結(jié)果是C

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

4、有以下程序

main(){inta;charc=10;floatf=100.0;double

x;a=f/=c*=(x=6.5);printf("%d%d%3.If%3.If\n",a,c,f,x);)

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

A)16516.5B)1651.56.5C)1651.06.5

D)2651.56.5

5、有定義語句:intx,y;,若要通過scanf("%d,%d",&x,&y);語

句使變量x得到數(shù)值11,變量y得到數(shù)值12,下面四組輸入形式中,

錯(cuò)誤的是A

A)1112〈回車〉B)11,12(回車>C)11,12(回車〉12〈回車

>D)11,〈回車〉

6、設(shè)有如下程序段:intx=2002,y=2003;printf("%d\n",(x,y));

則以下敘述中正確的是D

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

B)運(yùn)行時(shí)產(chǎn)生出錯(cuò)信息0輸出值為2002D)輸出值為2003

7、若有以下程序段(n所賦的是八進(jìn)制數(shù))intm=32767,n=032767

printf("%d,%o/n",m,n);執(zhí)行后輸出結(jié)果是A

A)32767,32767B)32767,032767C)32767,77777D)32767,

077777

8、若有以下程序段intm=0xabc,n=0xabc;m-=n;printf("%X\n",m);

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

A)0X0B)0x0C)0D)OXABC

9、已知i、j、k為int型變量,若從鍵盤輸入:1,2,3〈回車),使

i的值為1、j的值為2、k的值為3,以下選項(xiàng)中正確的輸入語句是

C

A)scanf("%2d%2d%2d”B)

scan—“%d%d%d",&i,&j,&k);

C)scanf(“%d,%d,%d”D)

scanf(wi=%d,j=%d,k=%dw

10、設(shè)有定義:longx=-123456L;,則以下能夠正確輸出變量x值的

語句是B

A)printf("x=%d\n",x);B)

printf("x=%ld\n",x);Cprintf("x=%8dL\n”,x);D)

printf("x=%LD\n",x);

11,以下程序段的輸出結(jié)果是inta=1234;printf("%2d\n",a);C

A)12B)34C)1234D)提示出錯(cuò)、無結(jié)果

12、x、y、z被定義為int型變量,若從鍵盤給x、y、z輸入數(shù)據(jù),

正確的輸入語句是B

A)INPUTx、y、z;B)scanf(w%d%d%dM,&x,&y,&z);

C)scanf("%d%d%d”,x,y,z);D)read(<<%d%d%dM,&x,&y,&z);

13、若變量已正確說明為float類型,要通過語句

scanf(“%f%f%f",&a,&b,&c);給a賦于10.0,b賦予22.0,c

賦予33.0,不正確的輸入形式是:B

A)10<回車>22〈回車>33〈回車〉B)10.0,22.0,33.0<回車)

C)10.0〈回車>22.033.0〈回車>D)1022〈回車>33〈回車)

14、有如下程序

mainO{inty=3,x=3,z=l;printf(K%d%d\n”,(++x,y++),z+2);}

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

A)34B)42C)43D)33

15、下列程序執(zhí)行后的輸出結(jié)果是(小數(shù)點(diǎn)后只寫一位)

main(){doubled;floatf;1ing1;inti;i=f=l=d=20/3;

printf("%d%ld%f%f\n",i,1,f,d);}A

A)666.06.0B)666.76.7C)666.06.7D)6

66.76.0

16、以下說法中正確的是D

A)#define和printf都是C語句B)#define是C語句,而printf

不是

C)printf是C語句,但#(10於116不是D)#define和printf都不

是C語句

17、以下程序的輸出結(jié)果是

main(){intk=17;printf("%d,%o,%x\n",k,k,k);}

D

A)17,021,0x11B)17,17,17C)17,0x11,021D)17,21,

11

18、以下敘述中正確的是D

A)輸入項(xiàng)可以是一個(gè)實(shí)型常量,如:scakf("%f",3.5);

B)只有格式控制,沒有輸入項(xiàng),也能正確輸入數(shù)據(jù)到內(nèi)存,例如:

scakf("a=%d,b=%d");

0當(dāng)輸入一個(gè)實(shí)型數(shù)據(jù)時(shí),格式控制部分可以規(guī)定小數(shù)點(diǎn)后的位數(shù),

例如:scakf("%4.2f",&f);

D)當(dāng)輸入數(shù)據(jù)時(shí),必須指明變量地址,例如:scakf

19、若有以下定義和語句intu=010,v=OxlO,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

20、請(qǐng)讀程序片段:inti=65536;printf("%d\n",i);上面程序片

段的輸出結(jié)果是B

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

21、若x和y都是int型變量,x=100,y=200,且有下面的程序片段:

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

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

A)200B)100C)100200D)輸出格式符不夠,輸出不確定的

22、請(qǐng)讀程序:

#include<stdio.h>main(){inta;floatb,c;

scanf("%2d%3f%4f",&a,&b,&c);printf("\na=%d,b=%f,c=%f\n",

a,b,c);}若運(yùn)行時(shí)從鍵盤上輸入9876543210<CR>(〈CR>表示回車),

則上面程序的輸出結(jié)果是C

A)a=98,b=765,c=4321B)a=10,b=432,c=8765

C)a=98,b=765.000000,c=4321.000000D)a=98,b=765.0,

c=4321.0

23、以下程序的輸出結(jié)果是。

#include<stdio.h>#include<math..h>main(){int

a=l,b=4,c=2;floatx=10..5,y=4.0,z;

z=(a+b)/c+sqrt((double)y)*1.2/c+x;pritnf("%f\n",z);}C

A)14.000000B)015.400000C)13.700000D)14.900000

24、以下程序的輸出結(jié)果是。

#include<stdio.h>main(){inta=2,c=5;

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

A)a=%2,b=%5B)a=2,b=5C)a=%%d,b=%%dD)a=%d,b=%d

25、執(zhí)行下面程序中的輸出語句,a的值是

main(){inta;printf("%d\n",(a=3*5,a*4,a+5));}C

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

26、若變量已正確說明為float類型,要通過語句

scanf也c);給a賦于10.0,b賦予22.0,c賦予33.0,

不正確的輸入形式是BA.10〈回車>22<回車>33<回車)

B.10.0,22.0,33.0<回車〉

C10.0<回車>22.033.0<回車>D.1022〈回車>33〈回車>

27、有以下定義和語句charcl=4b4,c2=4e4;

printf("%d,%c\n",c2-cl,c2-電'+'A9;輸出結(jié)果是B

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

果不確定

28、若有以下定義和語句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

29、以下不正確的敘述是D

A.在C程序中,逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低B.在C程序中,APA和apa

是兩個(gè)不同的變量

C.如果a和b類型相同,在計(jì)算了賦值表達(dá)式a=b后b中的值將放入

a中,而b中的值保持不變D.當(dāng)從鍵盤輸入數(shù)據(jù)時(shí),對(duì)于整型變量只

能輸入整型數(shù)值,實(shí)型變量只能輸入實(shí)型數(shù)

30、以下程序的輸入結(jié)果是A

main(){inti=010,j=10,k=0xl0;printf("%d,%d,%d

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

31、語句printf(〃s\\t〃)的輸出結(jié)果為B

A.s\\tB.s\tC.s\D.s

32、putchar函數(shù)可以向終端輸出一個(gè)D

A)整型變量表達(dá)式值B)實(shí)型變量值C)字符串D)字符或字符型

變量值

33、已有定義inta=-2;和輸出語句;printf("%8x",a);以下

正確的敘述是D

A)整型變量的輸出格式符只有%d—種B)%x是格式符的一種,它

可以適用于任何一種類型的數(shù)據(jù)C)%x是格式符的一種,其變量的

值按十六進(jìn)制輸出,但%8x是錯(cuò)誤的D)%8x不是錯(cuò)誤的格式符,

其中數(shù)字8規(guī)定了輸出字段的寬度

34、閱讀以下程序,當(dāng)輸入數(shù)據(jù)的形式為:25,13,10<CR>,正確的輸出

結(jié)果為D

main(){intx,y,z;scanf("%d%d%d".&x,&y,&z);

prtntf("x+y+z=%d\n",x+y+z);}

A)x+y+z=48B)x+y+z=35C)x+z=35D)不確定值

35、以下能正確地定義整型變量a、b和c并為其賦值5的語句是B

A)inta=b=c=5;B)inta,b,c=5;C)a=5,b-5,c=5;D)a=b=c=5;

36、已知ch是字符型變量,下面不正確的賦值語句是A

A)ch='a+b';B)ch='\O';C)ch=7+'9‘;D)ch=5+9;

37、已知ch是字符型變量,下面正確的賦值語句是B

A)ch=,123,;B)ch=,\xffz;C)ch=,\08,;D)ch="\";

38、設(shè)x、y均為float型變量,則以下不合法的賦值語句是B

A)++x;B)y=(x%2)/10;C)x*=y+8;D)x=y=0;

39.printf函數(shù)中用到格式符%5s,其中數(shù)字5表示輸出的字符串

占用5列。如果字符串長度小于5,則輸出按方式C

A)從左起輸出該字串,右補(bǔ)空格B)按原字符長從左向右全部輸出

C)右對(duì)齊輸出該宇串,左補(bǔ)空格D)輸出錯(cuò)誤信息

40、有以下程序

main(){intm,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);

printf("%d%d%d\n",m,n,p);}若想從鍵盤上輸入數(shù)據(jù),使變量m中

的值為123,n中的值為456,p中的值為789,則正確的輸入是A

A)m=123n=456p=789B)m=123n=456p=789C)m=123,n=456,p=789

D)123456789

41、main(){intx=0210;printf("%X\n",x);}程序運(yùn)行后的輸

出結(jié)果是(88)。

42、main(){charc;intn=100;floatf=10;doublex;

x=f*=n/=(c=50);printf("%d%f\n",n,x);)程序運(yùn)行后的輸出

結(jié)果是220.000000

43、以下程序運(yùn)行時(shí)若從鍵盤輸入:102030〈回車輸出結(jié)果是

(10300)。

#include<stdio.h>main(){inti=0,j=0,k=0;scanf("%d%*d%d",&i,&

j,&k);printf("%d%d%d\n",i,j,k);}

44、以下程序段的輸出結(jié)果是(11)。inti=9;printf("%o\n",i);

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

main(){inta,b,c;a=25;b=025;c=0x25;

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

46、有以下語句段

intnl=10,n2=20;

printf("()",nl.n2);

要求按以下格式輸出nl和n2的值,每個(gè)輸出行從第一列開始,

請(qǐng)?zhí)羁铡?/p>

nl=l0

n2=20

教師批改:nl=%d\nn2=%d

47、若有語句

inti=-19,j=i%4;

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

則輸出結(jié)果是()。

教師批改:-3

48、若有程序

main()

(inti,j;

scanf("i=%d,j=%d";&i,&j);

printf("i=%d,j=%d\n",i,j);

}

要求給i賦10,給j賦20,則應(yīng)該從鍵盤輸入()。

教師批改:i=10,j=20

49、以下程序的輸出結(jié)果是()。

main()

{inta=177;

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

}

教師批改:261

50、以下程序的輸出結(jié)果是()。

main()

{inta=0

a+=(a=8);

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

)

教師批改:16

51、以下程序的輸出結(jié)果是()

main()

{inta=l,b=2;

a=a+b;b=a-b;a=a-b;

printf(w%d,%d\nM,a,b);

}

教師批改:2,1

52、下列程序的輸出結(jié)果是16.00,請(qǐng)?zhí)羁铡?/p>

main()

{inta=9,b=2;

floatx=(),y=l.1,z;

z=a/2+b*x/y+l/2;

printf("%5.2f\n",z);

}

教師批改:6.6

53、以下程序的輸出結(jié)果是()。

main()

unsignedshorta=65536;intb;

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

教師批改:0

54、若想通過以下輸入語句使a=5.0,b=4,c=3,則輸入數(shù)據(jù)的形式

應(yīng)該是()。

intb,c;floata;

scanf("%f,%d,c=%d",&a,&b,&c);

教師批改:5.0,4,c=3

55、若想通過以下輸入語句給a賦于1,給b賦于2,則輸入數(shù)據(jù)的

形式應(yīng)該是()。

inta,b;

scanf("a=%b,b=%d,&a,&b);

教師批改:a=l,b=2

56、原題:打印出下題的結(jié)果

main()

(

inta=5,b=7;

floatx=67.8564,y=-789.124;

charc='A

longn=1234567;

unsignedu=65535;

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

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

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

printf("%-10f,%-10f\n",x,y);

printf("%8.2f,%8.2f,%4f,%4f,%3f,%3f\n",x,y,x,y,x,y);

printf("%e,%10.2e\n",x,y);

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

printf("%ld,%lo,%x\n",n,n,n);

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

printf("%s,%5.3s\n","COMPUTER","COMPUTER");

}

教師批改:

結(jié)果:

57

57

67.856400,-789.124023

67.856400,-789.124023

67.86,-789.12,67.856400,-789.124023,67.856400,-789.124023

6.78564e+01,-7.9e+02

A,65,101,41

1234567,4553207,d687

65535,177777,ffff,-l

COMPUTER,COM

57、用下面的scanf函數(shù)輸入數(shù)據(jù),使a=3,b=7,x=8.5,y=71.82,cl=

'A\c2=匕,問在鍵盤上如何輸入?

教師批改:

輸入格式為:

a=3,b=78.571.82Aa

58、用下面的scanf函數(shù)輸入數(shù)據(jù)使a=10,b=20,cl=CA\c2=匕

\x=l.5,y=-3.75,z=67.8,請(qǐng)問在鍵盤上如何輸入數(shù)據(jù)?

scanf("%5d%5d%c%c%f%f%*f,%f",&a,&b,&cl,&c2,&x,&y,&z);

教師批改:

輸入格式為:

1020Aal.5-3.780.0,67.8

提示:10與20之間是3個(gè)空格,而那個(gè)0.0是隨便一個(gè)浮點(diǎn)數(shù)即可。

59、設(shè)圓半徑r=L5,圓柱高h(yuǎn)=3,求圓周長,圓面積,圓球表面積,

圓球體積,圓柱體積,用scanf輸入數(shù)據(jù),輸出結(jié)果,輸出時(shí)要求有

文字說明,取小數(shù)點(diǎn)后2位數(shù)字,請(qǐng)編寫程序。

教師批改:

main()

(

inth;

floatr,pi=3.14159;

floatcubagel,cubage2,per,area,facearea;

clrscr();

printf("pleaseinputthecircle'sradii\n");

scanf("%f",&r);

clrscr();

printf("pleaseinputthecylinder'sheight\n");

scanf("%d",&h);

per=2*pi*r;

area=pi*r*r;

facearea=4*pi*r*r;

cubagel=4/3*pi*r*r*r;

cubage2=area*h;

clrscr();

printf("\n\n\tThecircle4sperimeteris%.2f\n",per);

printf("\tThecircle4sareais%.2f\n",area);

printf("\tThesphere'sfaceareais%.2f\n",facearea);

printf("\tThesphere4scubageis%.2f\n",cubagel);

printf("\tThecylinder'scubageis%.2f\n",cubage2);

}

60、輸入一個(gè)華氏溫度,要求輸出攝氏溫度。公式為c=(F-32)*5/9。

教師批改:

main()

floattemper;

floatc;

clrscr();

printf("PleaseinputthetemperatureofFahrenheit\n");

scanf("%f",&temper);

c=(temper-32)*5/9;

printf("TheCelsiustemperatureis%.2f",c);

}

61、編程序,用getcharO函數(shù)讀入兩個(gè)字符給cl,c2,然后用

putchar()函數(shù)和printf函數(shù)輸出這兩個(gè)字符。并思考以下問題:(1)

變量cl,c2應(yīng)為字符型或整型?抑或二者皆可?(2)要求輸出cl,c2

值的ASCII碼,應(yīng)如何處理?用putchar函數(shù)還是printf函數(shù)?⑶

整型變量與字符變量是否在任何情況下都可以互相代替?如:

charcl,c2;

與intcl,c2;

是否可以無條件的等價(jià)?

教師批改:

main()

(

charcl,c2;

cl=getchar();

c2=getchar();

printf("\n");

putchar(cl);

putchar(c2);

printf("cl=%c,c2=%c",cl,c2);

}

⑴都可;(2)用printf()函數(shù);(3)不可以,必須是整形變量的值在

256以內(nèi),否則則超過了ASCII的值。

62、設(shè)變量x=10.2,y=20.5,編程序?qū)崿F(xiàn)兩個(gè)變量的值互換。

教師批改:

main()

{doublex,y,t;

printf("Enterxandy:\n");

scanf",&x,&y);

t=x;

x=y;

y=t;

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

)

運(yùn)行程序:

Enterxandy:

輸入:12.34口34.12/(/表示回車,口表示空格)

輸出:x=34.120000,y=12.340000

第一個(gè)printf函數(shù)輸出的是提示信息,提醒用戶輸入x和y的

值;X,y值交換后用%f格式輸出x和y的值(輸出double型數(shù)據(jù)可

以用%f格式,但輸入double型數(shù)據(jù)必須用%建或%10格式)。在格式

字符串中用"x=","y="是為了對(duì)輸出的數(shù)據(jù)進(jìn)行說明,使輸出數(shù)據(jù)更

明確。

63、輸入兩個(gè)整數(shù)a和b(設(shè)a=1500,b=350),求a除以b的商和余數(shù),

編寫完整程序并按如下形式輸出結(jié)果(□表示空格)。

a=ni500,b=D350

a/b=D04,thenaDmodnb=n100

教師批改:

#include"stdio.h"

main()

(

inta,b,c,d;

scanf("%d,%d",&a,&b);

c=a/b;/*求a/b的商*/

d=a%b;/*求a/b的余數(shù)*/

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

printf("a/b=%3d,theamodb=%4d\n",c,d);

)

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

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

A)只能是0或1

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

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

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

[D]教師批改:D

2、以下關(guān)于運(yùn)算符優(yōu)先順序的描述中正確的是——o

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

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

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

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

[C]教師批改:C

3、下列運(yùn)算符中優(yōu)先級(jí)別高的是

A)<

B)+

0&&

D)!=

[D]教師批改:B

4、能正確表示“當(dāng)x的取值在[1,10]和[200,210]范圍內(nèi)為真,否

則為假”的達(dá)式是——。

A)(x>=1)&&(X<=10&&(x>=200)&&(x<=210)

B)(x>=1)II(x<=10)II(x>=200)II(x<=210)

C)(x>=1)&&(x<=10)II(x>=200)&&(x<=210)

D)(x>=1)II(x<=10)&&(x>=200)II(x<=210)

[A]教師批改:C

5、設(shè)有:inta=l,b=2,c=3,d=4,m=2,n=2;執(zhí)行(m=a

>b)&&(n=c>d)后n的值為---。

A)1

B)2

03

D)4

[B]教師批改:B

6、以下程序的運(yùn)行結(jié)果是------。

#include"stdio.h"

voidmain()

{inta,b,d=241;

a=d/100%9;

b=

printf(w%d,%d",a,b);

)

A)6,1

B)2,1

06,0

D)2,0

[B]教師批改:B

7、已知intx=10,y=20,z=30;以下語句執(zhí)行后x,y,z的值是

if(x>y)z=x;x=y;y=z;

A)x=10,y=20,z=30

B)x=20,y=30,z=30

C)x=20,y=30,z=10

D)x=20,y=30,z=20

[A]教師批改:B

8、請(qǐng)閱讀以下程序:

main()

{inta=5,b=0,c=0;

if(a=b+c)printf(w***\n");

elseprintf("$$$");

)

以上程序一一。

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

c)輸出***

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

D)輸出$$$

[A]教師批改:D

9、以下程序的運(yùn)行結(jié)果是一一。

main()

{intm=5;

if(m++>5)printf(w%d\n”,m)

elseprintf(w%d\nw,m—);

)

A)4

B)5

06

D)7

[C]教師批改:C

10、當(dāng)a=l,b=3,c=5,d=4時(shí),執(zhí)行完下面一段程序后,x的值是

if(a<b)

if(c<d)x=l;

else

if(a<c)

if(b<d)x=2;

elsex=3;

elsex=6;

elsex=7;

A)1

B)2

03

D)6

[B]教師批改:B

11、以下程序的輸出結(jié)果是一一。

main()

(inta=100,x=10,y=20,okl=5,ok2=0;

if(x<y)

if(y!=10)

if(!okl)

a=1;

else

if(ok2)

a=10;

a=-l;

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

}A)1B)0

0-1D)值不確定

[C]教師批改:C

12、若有條件表達(dá)式達(dá)式(exp)?a++:b-,則以下表達(dá)式中能完全等價(jià)

于表達(dá)式(exp)的是----A)(exp==0)B)(exp!=0)

C)(exp==l)D)(exp!=l)

[C]教師批改:B

13、若w=l,x=2,y=3,z=4,則條件表達(dá)式w<x?w:y<z?y;z

的值是A)4B)3

02D)1

[B]教師批改:D

14、邏輯運(yùn)算符兩側(cè)運(yùn)算對(duì)象的數(shù)據(jù)類型----A)只能是。或1B)

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

C)只能是整型或字符型數(shù)據(jù)D)可以是任何類型的數(shù)據(jù)

[D]教師批改:D

15、下列運(yùn)算符中優(yōu)先級(jí)別高的是A)<B)+

C)&&D)!=

[D]教師批改:B

16、能正確表示“當(dāng)x的取值在[1,10]和[200,210]范圍內(nèi)為真,

否則為假”的達(dá)式是____。A)(x>=1)&&(X<=10&&(x>=

200)&&(x<=210)B)(x>=1)II(x<=10)II(x>=200)II(x<=

210)

C)(x>=1)&&(x<=10)II(x>=200)&&(x<=210)D)(x>=

1)II(x<=10)&&(x>=200)II(x<=210)

[C]教師批改:C

17.判斷char型變量ch是否為大寫字母的正確表達(dá)式是一一。A)

'A4<=ch<='Z'B)(ch>='A9I|(ch<=4Z')

C)(ch>=5A')&&(ch<=57?)D)(lAY=ch)AND(4>

=ch)

[B]教師批改:C

18、設(shè)有:inta=l,b=2,c=3,d=4,m=2,n=2;執(zhí)行(m=a

〉b)&&(n=c>d)后n的值為一一。A)1B)2

C)3D)4

[B]教師批改:B

19、判斷char型變量cl是否為小寫字母的正確表達(dá)式為_______A)

匕4<=cl<=,z'B)(cl>=a)&&(cl<=z)

C)('a4>=cl)II(''<=cl)D)(cl>='a4)&&(cl<='z

4)

[C]教師批改:D

20、以下程序的運(yùn)行結(jié)果是---。main(){intm=5;if(m++>

5)printf(,5%d\n^^,m)elseprintf(M%d\n",m-);}A)4B)5

06D)7

[C]教師批改:C

21、當(dāng)a=l,b=3,c=5,d=4時(shí),執(zhí)行完下面一段程序后,x的值是----

if(a<b)

if(c<d)x=l;

else

if(a<c)

if(b<d)x=2;

elsex=3;

elsex=6;

elsex=7;A)1B)2

03D)6

[B]教師批改:B

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

main()

(inta=100,x=10,y=20,okl=5,ok2=0;

if(x<y)

if(y!=10)

if(!okl)

a=1;

else

if(ok2)a=10;

a=-l;

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

}A)1B)0

0-1D)值不確定

[C]教師批改:C

23、以下程序的輸出結(jié)果是-----

main()

{intx=2,y=-1,z=2;

if(x<y)

if(y<0)z=0;

elsez+=1;

printf(K%d\n”,z);

}A)3B)2

01D)0

[D]教師批改:B

24、若運(yùn)行時(shí)給變量x輸入12,則以下程序的運(yùn)行結(jié)果是

main()

{intx,y;

scanf("%d",&x);

y=x>12?x+10:x-12;

printf("%d\n",y);}A)0B)22

012D)10

[A]教師批改:A

25、執(zhí)行以下程序段后,變量a,b,c的值分別是一

intx=10,y=9;

inta,b,c;

a=(-x==y++)?―x;++y;

b=x++;

c=y;A)a=9,b=9.c=9B)a=8,b=8,c=10

C)a=9,b=10,c=9D)a=1,b=11,c=10

[C]教師批改:B

26、main()

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

switch(a%3)

{case0:m++;break;

case1:m++;

switch(b%2)

{default:m++;

case0:m++;break;}

}

printf(K%d\nM,m);

}

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

A)1B)2

C)3D)4

[A]教師批改:A

27、表達(dá)式1&3&5&7的值為_____。A.1B.3

C.5D.7

[A]教師批改:A

28、表達(dá)式-1〈=3〈=-5值是_____。A.0B.1

C.3D.表達(dá)式語法有錯(cuò)

[A]教師批改:A

29、假定所有變量均已正確說明,下列是程序段運(yùn)行后x的值是

a=b=c=O;x=35;

if(!a)x—;

elseif(b);

if(c)x=3;

elsex=4;A.34B.4

C.35D.3

[A]教師批改:B

30、若變量c為char類型,能正確判斷出c為小寫字母的表達(dá)式是

A.'a4<=c<='z4B.(c>='a9II(c<=,z')

C.('a4<=c)and('z,>=c)D.(c>='a')&&(c<='z')

[B]教師批改:D

36、在以下一組運(yùn)算中,優(yōu)先級(jí)最高的運(yùn)算符是-----。A.<=B.=

C.%D.&&

[C]教師批改:C

37、執(zhí)行下面語句后的輸出結(jié)果為-----。

inti=-l;

if(i<=0)printf("****\n");

elseprintf("%%%%\n");A.****B.%%%%

C.%%%%cD.有語法錯(cuò)誤,不能正確執(zhí)行

[A]教師批改:A

36、在以下一組運(yùn)算中,優(yōu)先級(jí)最高的運(yùn)算符是-----。A.<=B.=

C.%D.&&

[C]教師批改:C

37、執(zhí)行下面語句后的輸出結(jié)果為-----。

inti=-l;

if(i<=0)printf("****\n");

elseprintf("%%%%\n");A.****B.%%%%

C.%%%%cD.有語法錯(cuò)誤,不能正確執(zhí)行

[A]教師批改:A

38、以下程序的運(yùn)行結(jié)果是-------

main()

{inta=2,b=7,c=5;

switch(a>0)

{case1:switch(b<0)

{case1:printf("3");break;

case2:switch(c==5)

{case0:printf("*");break;

case1:printf("#");break;

default:printf("#");break;

}

default:printf("&");

}printf("\n");

}

教師批改:#&

39、請(qǐng)讀程序

#include<stdio.h>

main()

(intx=l,y=0,a=0,b=0;

switch(x)

{case1:

switch(y)

{case0:a++;break;

case1:b++;break;

}

case2:

a++;b++;break;

}

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

}

上面程序的運(yùn)行結(jié)果是------------

教師批改:a=2,b=l

40、有三個(gè)整數(shù)a,b,c,由鍵盤輸入,輸出其中最大得數(shù)。

教師批改:

main()

(

inta,b,c,d;

printf("pleaseinput3num,theformatis123\n");

scanf("%d%d%d",&a,&b,&c);

d=(a>b)?a:b;

d=(d>c)?d:c;

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

}

41、以下面的方程為基礎(chǔ),寫一程序,輸入X值,輸出Y值,方程如

下:當(dāng)x<l時(shí),y=x,當(dāng)l<=x<10時(shí),y=2x-l,當(dāng)x>=10時(shí),y=3x-ll

教師批改:

main()

(

intx,y,a;

printf("pleaseinputthevalueofx");/*輸入X的值*/

scanf("%d",&x);

printf("thevalueofyis:");/*分條件打印出y值*/

if(x<l)

(

y=x;

printf("%d",y);

)

else

if(x>=l&&x<10)

(

y=2*x-l;

printf("%d",y);

else

y=3*x-l1;

printf("%d",y);

)

)

42、給出一百分制成績,要求輸出成績等級(jí)飛:B,

'E-90分以上為A,80~90分為B,70~79分為C,60?69分為D,

60分以下為Eo

教師批改:

main()

{intnum;

printf("pleaseinputthescore:\n");

scanf&num);

if(num<0||num>100)

printf("thescoreiserror,pleaseinputanumberfrom

0-100\n");

elseif(num>=90)num=65;

elseif(num>=80)num=66;

elseif(num>=70)num=67;

elseif(num>=60)num=68;

elsenum=69;

printf("thelevelis:;

switch(num)

case65:printfnum);break;

case66:printf("%c",num);break;

case67:printf("%c",num);break;

case68:printf("%c",num);break;

case69:printf("%c",num);break;

}

43、給一個(gè)不多于5位的正整數(shù),要求:(1)求出它是幾位數(shù),(2)

分別打印出每一位數(shù)字⑶按順序打印出各位數(shù)字,例如原數(shù)時(shí)321,

應(yīng)輸出123。

教師批改:

main()

longnum;

intk;

printf("pleaseinputanumform0-99999:\n");

scanf&num);

printf("theansweroneis:thelongofthenumberis:");

if(num>=10000)

k=5;

printf("%d",k);

)

elseif(num>=1000)

(

k=4;

printf("%d",k);

)

elseif(num>=100)

溫馨提示

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