C語言章節(jié)練習(xí)題1_第1頁
C語言章節(jié)練習(xí)題1_第2頁
C語言章節(jié)練習(xí)題1_第3頁
C語言章節(jié)練習(xí)題1_第4頁
C語言章節(jié)練習(xí)題1_第5頁
已閱讀5頁,還剩97頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第1章C語言概述

第2章程序的靈魂一一算法

一、選擇題(在下列各題的A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)填涂在

答題卡相應(yīng)位置上。)

2.1以下敘述中正確的是

A)C語言比其他語言高級(jí)

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

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

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

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

2.2以下敘述中正確的是

A)構(gòu)成C程序的基本單位是函數(shù)

B)可以在一個(gè)函數(shù)中定義另一個(gè)函數(shù)

C)main()函數(shù)必須放在其他函數(shù)之前

D)所有被調(diào)用的函數(shù)一定要在調(diào)用之前進(jìn)行定義

正確答案:

2.3以下說法正確的是

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

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

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

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

正確答案:C語言程序總是從main。函數(shù)開始執(zhí)行

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

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

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

正確答案:可以任意

2.5以下敘述不正確的是

A)一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成

B)一個(gè)C源程序必須包含一個(gè)main函數(shù)

C)C程序的基本組成單位是函數(shù)

D)在C程序中,注釋說明只能位于一條語句的后面

正確答案:D

2.6下列敘述中正確的是

A)C語言編譯時(shí)不檢查語法B)C語言的子程序有過程和函數(shù)兩種

C)C語言的函數(shù)可以嵌套定義D)C語言的函數(shù)可以嵌套調(diào)用

正確答案:D

2.7以下敘述正確的是

A)在C程序中,每行中只能寫一條語句

B)若a是實(shí)型變量,C程序中允許賦值a=10,因此實(shí)型變量中允許存放整型數(shù)

C)在C程序中,無論是整數(shù)還是實(shí)數(shù),都能被準(zhǔn)確無誤地表示

D)在C程序中,%是只能用于整數(shù)運(yùn)算的運(yùn)算符

正確答案:在C程序中,%是只能于整數(shù)運(yùn)算的運(yùn)算符

2.8以下說法錯(cuò)誤的是

A)一個(gè)算法應(yīng)包含有限個(gè)步驟

B)在計(jì)算機(jī)上實(shí)現(xiàn)的算法是用來處理數(shù)據(jù)對(duì)象的

C)算法中指定的操作,不能通過已經(jīng)實(shí)現(xiàn)的基本運(yùn)算執(zhí)行有限次后實(shí)現(xiàn)

D)算法的目的是為了求解

正確答案:C

2.9算法是指為解決某個(gè)特定問題而采取的確定且有限的步驟,下面不屬于算法的五個(gè)特性的是

A)有零個(gè)輸入或多個(gè)輸入B)高效性

C)有窮性D)確定性

正確答案:高效性

2.10下列關(guān)于C語言的說法不正確的是

A)C語言既具有高級(jí)語言的一切功能,也具有低級(jí)語言的一些功能

B)C語言中的每一條執(zhí)行語句都必須用分號(hào)結(jié)束,分號(hào)不是C語言的一部分,是語句之間的分隔符號(hào)

C)注釋可以出現(xiàn)在程序中任意合適的地方

D)命令行后面不能加分號(hào),命令行不是C語言的語句

正確答案:B

2.11以下說法錯(cuò)誤的是

A)高級(jí)語言都是用接近人們習(xí)慣的自然語言和數(shù)學(xué)語言作為語言的表達(dá)形式

B)計(jì)算機(jī)只能處理由0和1的代碼構(gòu)成的二進(jìn)制指令或數(shù)據(jù)

C)C語言源程序經(jīng)過C語言編譯程序編譯之后生成一個(gè)后綴為.EXE的二進(jìn)制文件

D)每一種高級(jí)語言都有它對(duì)應(yīng)的編譯程序

正確答案:C

2.12C語言中用于結(jié)構(gòu)化程序設(shè)計(jì)的3種基本結(jié)構(gòu)是

A)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)B)if,switch,break

C)for,while,do-whileD)if,for,continue

正確答案:A

二、填空題(請(qǐng)將每一個(gè)空的正確答案寫在答題卡相應(yīng)序號(hào)后。)

2.13用高級(jí)語言編寫的程序稱為【1】程序,它可以通過解釋程序翻譯一句執(zhí)行一句的方式執(zhí)行,也可以

通過編譯程序一次翻譯產(chǎn)生目標(biāo)程序,然后執(zhí)行。

正確答案:

2.14C語言程序的注釋可以出現(xiàn)在程序中的任何地方,一個(gè)注釋以【2】作為開始和結(jié)束。

正確答案:

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

一、選擇題(在下列各題的A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)填涂在

答題卡相應(yīng)位置上。)

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

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

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

正確答案:B

3.2C語言中的標(biāo)識(shí)符只能由字母,數(shù)字和下劃線三種字符組成,且第一個(gè)字符

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

C)必須為字母或下劃線D)可以是字母,數(shù)字和下劃線中任一字符

正確答案:C

3.3下列可用于C語言用戶標(biāo)識(shí)符的一組是

A)void,define,WORDB)a3_b3,_123,Car

C)For,-abc,IFCaseD)2a,DO,sizeof

正確答案:B

3.4下面四個(gè)選項(xiàng)中,均是不正確的8進(jìn)制數(shù)或16進(jìn)制數(shù)的選項(xiàng)是

A)0160x8f018B)Oabc017Oxa

C)010-0x110x16D)0al27ff-123

正確答案:D

3.5下列數(shù)據(jù)中,不合法的C語言實(shí)型數(shù)據(jù)的是

A)0.123B)123e3C)2.Ie3.5D)789.0

正確答案:C

3.6在16位C編譯系統(tǒng)上,若定義longa;,則能給a賦40000的正確語句是

A)a=20000+20000;B)a=4000*10;

C)a=30000+10000;D)a=4000L*10L;

正確答案:D

3.7若有說明語句:charc='\72';則變量c

A)包含1個(gè)字符B)包含2個(gè)字符

C)包含3個(gè)字符D)說明不合法,c的值不確定

正確答案:A

3.8有字符串如下,"\n\\\407asi\"\xabc",則字符串的長度為

A)6B)7C)8D)9

正確答案:D

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

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

正確答案:A

3.10若變量已正確定義并賦值,以下符合C語言語法的表達(dá)式是

A)a:=b+lB)a=b=c+2

C)int18.5%3D)a=a+7=c+b

正確答案:B

3.11若變量a,i已正確定義,且i已正確賦值,合法的語句是

A)a==1B)++i;

C)a=a++=5;D)a=int(i);

正確答案:B

3.12若有定義:inta=7;floatx=2.5,y=4.7;則表達(dá)式x+a%3*(int)(x+y)%2/4的值是

A)2.500000B)2.750000

C)3.500000D)0.000000

正確答案:A

3.13若有運(yùn)算符<<,sizeof,二&二,則它們按優(yōu)先級(jí)由高至低的正確排列次序是

A)sizeof,&=,<<,"B)sizeof,<<,",&=

C)?,sizeof,&=D)<<,",&=,sizeof

正確答案:B

3.14以下不正確的敘述是

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

B)在C程序中,APH和aph是兩個(gè)不同的變量

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

D)當(dāng)從鍵盤輸入數(shù)據(jù)時(shí),對(duì)于整型變量只能輸入整型數(shù)值,對(duì)于實(shí)型變量只能輸入實(shí)型數(shù)值

正確答案:D

3.15已知int1,@;執(zhí)行語句1=(a=3,a++,—a,a+4,a+5,++a);后,變量i的值為

A)2B)3C)4D)5

正確答案:C

3.16設(shè)變量a是int型,f是float型,i是double型,則表達(dá)式10+'a,+i*f值的數(shù)據(jù)類型為

A)intB)floatC)doubleD)不確定

正確答案:C

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

A)補(bǔ)碼B)反碼C)原碼D)ASCII碼

正確答案:D

3.18字符型數(shù)據(jù)在機(jī)器中是用ASCH碼表示的,字符5和7在機(jī)器中表示為

A)10100011和01110111B)0100010UH01100011

C)00110101和00110111D)01100101和01100111

正確答案:c

3.19不能進(jìn)行++和--運(yùn)算的數(shù)據(jù)類型為

A)指針B)整型C)長整型D)常量

正確答案:D

3.20設(shè)有intx=ll;則表達(dá)式(x++*l/3)的值是

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

正確答案:A

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

main()

{inta=21,b=ll;

printf---a+b,---b+a);

}

A)30B)31C)32D)33

正確答案:A

3.22假設(shè)整型變量aL,b,c的值均為5,則表達(dá)式a+++b+++c++的值為

A)17B)16C)15D)14

正確答案:c

3.23已知inta=6;則執(zhí)行a+=a-=a*a;語句后,a的值為

A)36B)0C)-24D)-60

正確答案:D

3.24設(shè)變量n為float類型,m為int類型,則以下能實(shí)現(xiàn)將n中的數(shù)值保留小數(shù)點(diǎn)后兩位,第三位進(jìn)行

四舍五入運(yùn)算的表達(dá)式是

A)n=(n*100+0.5)/100.0B)m=n*100+0.5,n=m/100.0

C)n=n*100+0.5/100.0D)n=(n/100+0.5)*100.0

正確答案:B

3.25sizeof(float)是

A)一個(gè)雙精度型表達(dá)式B)一個(gè)整型表達(dá)式

C)一種函數(shù)調(diào)用D)一個(gè)不合法的表達(dá)式

正確答案:B

3.26在C語言中,int,char和short三種類型數(shù)據(jù)在內(nèi)存中所占用的字節(jié)數(shù)

A)由用戶自己定義B)均為2個(gè)字節(jié)

C)是任意的D)由所用機(jī)器的機(jī)器字長決定

正確答案:D

3.27以下變量x,y,z均為double類型且已正確賦值,不能正確表示數(shù)學(xué)式子x+y+z的C語言表達(dá)式是

A)x/y*zB)x*(1/(y*z))

C)x/y*l/zD)x/y/z

正確答案:A

3.28下列關(guān)于復(fù)合語句和空語句的說法錯(cuò)誤的是

A)復(fù)合語句是由“{”開頭,由“}”結(jié)尾的

B)復(fù)合語句在語法上視為一條語句

C)復(fù)合語句內(nèi),可以有執(zhí)行語句,不可以有定義語句部分

D)C程序中的所有語句都必須由一個(gè)分號(hào)作為結(jié)束

正確答案:C

3.29下列關(guān)于字符串的說法中錯(cuò)誤的是

A)在C語言中,字符串是借助于字符型一維數(shù)組來存放的,并規(guī)定以字符作為字符串結(jié)束標(biāo)志

B)作為標(biāo)志占用存儲(chǔ)空間,計(jì)入串的實(shí)際長度

C)在表示字符串常量的時(shí)候不需要人為在其末尾加入、0,

D)在C語言中,字符串常量隱含處理成以結(jié)尾

正確答案:B

二、填空題(請(qǐng)將每一個(gè)空的正確答案寫在答題卡相應(yīng)序號(hào)后。)

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

inta=1234;

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

正確答案:1234

3.31在計(jì)算機(jī)中,字符的比較是對(duì)它們的12】進(jìn)行比較。

正確答案:ASCII碼

3.32在內(nèi)存中,存儲(chǔ)字符,x要占用1個(gè)字節(jié),存儲(chǔ)字符串"X"要占用【3】個(gè)字節(jié)。

正確答案:2

3.33在C語言中(以16位PC機(jī)為例),一個(gè)float型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為4;一個(gè)double型數(shù)

據(jù)在內(nèi)存中所占的字節(jié)數(shù)為[41

正確答案:8

3.34以下程序段的輸出結(jié)果是[5】。

main()

{inta=2,b=3,c=4;

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

printf("/d〃,a);

)

正確答案:28

3.35以下程序段的輸出結(jié)果是[6】。

intx=17,y=26;

printf(〃%d",y/=(x%=6));

正確答案:5

3.36下列y的值是[7】。

inty;y=sizeof(2.25*4);

正確答案:8

3.37以下程序的輸出結(jié)果是[8]o

main()

{inti=010,j=10;

pirntf("%d,%d\n”,i,j);

)

正確答案:8,10

3.38已知字母a的ASCII碼為十進(jìn)制數(shù)97,且設(shè)ch為字符型變量,則表達(dá)式ch=H+&-3的值為【9】。

正確答案:f

3.39如下語句printf("%c\n”,B+40);在執(zhí)行后的輸出結(jié)果是[10]。

正確答案:j

3.40定義inta=5,b=20;若執(zhí)行語句printf("%d\n",++a*--b/5%13);后,輸出的結(jié)果為[11]。

正確答案:9

16.已知各變量的類型說明如下:inti=8,k,a,b;unsignedlongw=5;doublex=l.42,y=5.2;則以下符合C語言語

法的表達(dá)式是()

A.a+=a-=(b=4)*(a=3)

B.a=a*3=2

C.x%(-3)

D.y=float(i)

17.以下不正確的敘述是()

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

B.在C程序中,APH和aph是兩個(gè)不同的變量

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

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

18.以下正確的敘述是()

A.在C程序中,每行中只能寫一條語句

B.若a是實(shí)型變量,C程序中允許賦值a=10,因此實(shí)型變量中允許存放整型數(shù)

C.在C語程序中,無論是整數(shù)還是實(shí)數(shù),都能被準(zhǔn)確無誤地表示

D.在C程序中,%是只能用于整數(shù)運(yùn)算的運(yùn)算符

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

A.d=9+e+f=d+9

B.d=9+e,f=d+9

C.d=9+e,e++,d+9

D.d=9+e++=d+7

20.己知字母A的ASCII碼為十進(jìn)制數(shù)65,且c2為字符型,則執(zhí)行語句c2=A+6-3;后,c2中的值為()

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

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

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

22.若以下變量均是整型,且num=sum=7;則計(jì)算表達(dá)式SUM=num++,SUM++,++num后sum值為()

A.7B.8C.9D.10

23.若有說明語句:charc=172,;則變量c()

A.包含1個(gè)字符

B.包含2個(gè)字符

C.包含3個(gè)字符

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

24.若有定義:inta=7;floatx=2.5,y=4.7;則表達(dá)式x+a%3*(int)(x+y)%2/4的值是()

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

25.設(shè)變量a是整型,f是實(shí)型,i是雙精度型,則表達(dá)式10+'a4i*f值的數(shù)據(jù)類型為()

A.intB.floatC.doubleD.不確定

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

A.補(bǔ)碼B.反碼C.原碼D.ASCII碼

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

A.floatBcharC.doubleD.不確定

28.設(shè)有說明:charw;intx;floaty;doublez;則表達(dá)式w*x+z-y值的數(shù)據(jù)類型為()

A.floatBcharC.intD.double

29.若有以下定義,則能使值為3的表達(dá)式為3的表達(dá)式是()intk=7,x=12;

A.x%=(k%=5)B.x%=(k-k%5)C.x%=k-k%5D.(x%=k)-(k%=5)

30.設(shè)以下變量均為int類型,則值不等于7的表達(dá)式是()

A.(x=y=6,x+y,x+1)B.(x=y=6,x+y,y+1)

C.(x=6,x+1,y=6,x+y)D.(y=6,y+l,x=y,x+l)

31.在c語言中(以16位pc機(jī)為例),一個(gè)char型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為(),一個(gè)int型數(shù)據(jù)在內(nèi)存中所

占的字節(jié)數(shù)為(),一個(gè)float型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為(),一個(gè)double型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)

為().

32.有以下定義,則計(jì)算表達(dá)式y(tǒng)+=y-=m*=y后的y值是()1,intm=5,y=2;

33.若s是int型變量,s=6;則下面表達(dá)式的值為()s%2+(s+1)%2

34.若a是int型變量,則下面表達(dá)式的值為()(a=4*5,a*2),a+6

35。若x和a均是int型變量,則計(jì)算式(1)后的x的值為(),計(jì)算表達(dá)式(2)后的x的值為()。

(1)x=(a=4,6*2)(2)x=a=4,6*2

36.若&b和c均是int型變量,則計(jì)算表達(dá)式后,a值為(),b值為(),c值為().a=(b=4)+(c=2)

37.若a是int型變量,且a的初值為6,則計(jì)算表達(dá)式后a的值為()。a+=a-=a*a

38.若a是int型變量,則計(jì)算表達(dá)式后a的值為()。a=25/3%3

39.若x利n均是int型變量,且x和n的初值均為5,則精神表達(dá)式后x的值為(),難得值為()。x+=n++

40.若有定義:intb=7;floata=2.5,c=4.7;則下面表達(dá)式的值為()。a+(int)(b/3*(int)(a+c)/2)%4

41.若定義:inta=2,b=3;floatx=3.5,y=2.5;則下面表達(dá)式的值(4(float)(a+b)/2+(int)x%(int)y

42.若有定義:charc=、010';則變量c中包含的字符個(gè)數(shù)為().

43.若有定義:intx=3,y=2;floata=2.5,b=3.5;則下面表達(dá)式的值()(x+y)%2+(int)a/(int)b

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

一、選擇題(在下列各題的A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)填涂在

答題卡相應(yīng)位置上。)

4.1若變量已正確說明為float型,要通過語句scanf(",&a,&b,&c);給2賦予10.0,b賦予

22.0,c賦予33.0,下列不正確的輸入形式是

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

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

正確答案:B

4.2現(xiàn)有以下程序段

ftinclude<stdio.h>

main()

{inta,b,c;

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

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

若輸出的結(jié)果為a=20,b=30,c=40,則以下能夠正確輸入數(shù)據(jù)的是

A)a=10]20,b=20]30,c=40<CR>B)20,30,40<CR>

C)a=20,b=30,c=40<CR>D)a=10120,b=30]20,c=40<CR>

[注]:"]”表示空格,<CR>表示回車

正確答案:D

4.3x,y,z被定義為int型變量,若從鍵盤給x,y,z輸入數(shù)據(jù),正確的輸入語句是

A)INPUTx、y、z;B)scanf("%d%d%d”,&x,&y,&z);

C)scanf(",%d%d%d/,,x,y,z);D)read("%d%d%d",&x,&y,&z);

正確答案:B

4.4已有定義inta=-2;和輸出語句printfa);以下正確的敘述是

A)整型變量的輸出形式只有%d一種

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

C)%x是格式符的?種,其變量的值按十六進(jìn)制輸出,但%81x是錯(cuò)誤的

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

正確答案:B

4.5下列程序段的輸出結(jié)果是:

inta=1234;

floatb=123.456;

doublec=12345.54321;

printfC%2d,%2.If,%2.lfz,,a,b,c);

A)無輸出B)12,123.5,12345.5

C)1234,123.5,12345.5D)1234,123.4,1234.5

正確答案:C

4.6執(zhí)行下列程序時(shí)輸入:123〈空格>456〈空格>789<回車)輸出結(jié)果是

main()

{chars[100];intc,i;

scanf;scanf(〃%d〃,&i);scanf(〃版〃,s);

printf(,z%c,%d,%s\n,z,c,i,s);}

A)123,456,789B)1,456,789

C)1,23,456,789D)1,23,456

正確答案:D

4.7若已定義:inta=254=14"=19;以下三目運(yùn)算符(?:)所構(gòu)成語句的執(zhí)行后

a<=25&&b--<=2&&c?printf(,z***a=%d,b=%d,c=%d\nz/,a,b,c):printf二%d,b=%d,c=%d\n〃,a,b,c);

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

A)***a=25,b=13,c=19B)***a=26,b=14,c=19

C)###a=25,b=13,c=19D)###a=26,b=14,c=19

正確答案:C

4.8請(qǐng)選出以下語句的輸出結(jié)果

printf(,z%d\nz/,strlen("\t\"\065\xff\n〃));

A)5B)14

C)8D)輸出項(xiàng)不合法,無正常輸出

正確答案:

4.9下列程序的輸出結(jié)果是

main()

{doubled=3.2;intx,y;

x=l.2;y=(x+3.8)/5.0;

printf(〃%d\n〃,d*y);

)

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

正確答案:C

4.10調(diào)用gets和puts函數(shù)時(shí),必須包含的頭文件是

A)stdio.hB)stdlib.hC)defineD)以上都不對(duì)

正確答案:A

4.11閱讀下面程序段

#include"stdio.h〃

main()

{charc;

c=LzF)/2+M

putchar(c);)

輸出結(jié)果為A

A)MB)NC)0D)Q

正確答案:

二、填空題(請(qǐng)將每一個(gè)空的正確答案寫在答題卡相應(yīng)序號(hào)后。)

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

main()

{inta=9,b=2;

floatx=[1],y=l.1,z;

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

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

)

正確答案:6.6

4.13在使用putchar和getchar函數(shù)處理字符時(shí),必須在程序的開頭出現(xiàn)包含頭文件的命令行是【2】。

正確答案:#include<stdio.h>

4.14下列程序的輸出結(jié)果是[3】,[4]o

#include<math.h>

main()

{floata=-l.3;b=l.3;

printf(z,%f,%fz,,fabs(a),fabs(b);}

1.300000

1.300000

4.15執(zhí)行程序時(shí)的輸入為123456789,則程序的運(yùn)行結(jié)果為【5】。

#include“stdio.h〃

main()

{inta,b;

scanf(〃%2d%*2d%ld〃,&a,&b);

printf("%d\n”,a-b);}7

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

一、選擇題(在下列各題的A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)填涂在

答題卡相應(yīng)位置上。)

5.1在C程序中,判邏輯值時(shí),用',非0”表示邏輯值“真”,又用“0”表示邏輯值“假”。在求邏輯值時(shí),用

O表示邏輯表達(dá)式值為“真",又用()表示邏輯表達(dá)式值為“假

A)10B)01C)非0非0D)11

正確答案:A

5.2已知intx=6,y=2,z;則執(zhí)行表達(dá)式z=x=x>y后,變量z的值為

A)0B)1C)4D)5

正確答案:B

5.3能正確表示邏輯關(guān)系:“應(yīng)10或它0”的C語言表達(dá)式是

A)a>=10ora<=0B)a>=0a<=10

C)a>=10&&a<=0D)a>=10||a<=0

正確答案:D

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

A)ra,<=c<=,z,B)(c>=raz)||(c<=rz9

C)CaX=c)and(rzr>=c)D)(c>='a')&&(c<=rzO

正確答案:D

5.5設(shè)intx=l,y=l;表達(dá)式(!x||y-)的值是

A)0B)1C)2D)-1

正確答案:B

5.6有如下程序段

inta=14,b=15,x;

charc='A';

x=(a&&b)&&(c<'B');

執(zhí)行該程序段后,x的值為

A)tureB)falseC)0D)1

正確答案:D

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

main()

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

d=!a&&!b||!c;

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

A)1B)0C)非0的數(shù)D)-1

正確答案:A

5.8設(shè)有:

inta=l,b=2,c=3,d=4,m=2,n=2;

執(zhí)行(m二a>b)&&(n=c>d)后n的值是

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

正確答案:Bm=a>b值為零,不再判斷n=a>d,所以n的值不變.

5.9已知x,y,z均為整型變量,且值均為1,則執(zhí)行語句++x||++y&&++z;后,表達(dá)式x+y的值為

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

正確答案:C++x為真,不執(zhí)行后面的語句,y值不變?yōu)?

5.10表達(dá)式a〈b||(c&d)中運(yùn)算符優(yōu)先級(jí)最高的是

A)||B)&C)<D)0

正確答案:D

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

main()

{intx,y;

scanf(〃%d〃,&x);

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

printf(〃刎\n〃,y);

)

A)0B)22C)12D)10

正確答案:A

5.12已知charch=C;則以下表達(dá)式的值是

ch=(ch>='A'&&ch<=7r)?(ch+32):ch;

A)AB)aC)ZD)c

正確答案:D

5.13若有條件表達(dá)式(exp)?a++:b—,則以下表達(dá)式中能完全等價(jià)于表達(dá)式(exp)的是

A)(exp==0)B)(exp!=0)C)(exp==l)D)(exp!=l)

正確答案:Bexp!二0為真時(shí)執(zhí)行a++,為假時(shí)執(zhí)行b一.

5.14有以下程序

main()

{inti=l,j=l,k=2;

if((j++||k++)&&i++)

printf(,z%d,%d,%d\n/z,i,j,k);

}

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

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

正確答案:C

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

main()

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

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

elseprintf(,z$$$\n〃);

以上程序

A)有語法錯(cuò)不能通過編譯B)可以通過編譯但不能通過連接

C)輸出***D)輸出$$$

正確答案:D

5.16若執(zhí)行下述程序時(shí),若從鍵盤輸入6和8時(shí),結(jié)果為

main()

(inta,b,s;

scanf(&a,&b);

s=a;

if(a<b)

s=b;

s*二s;

printf(〃%d〃,s);

)

A)36B)64C)48以上都不對(duì)

正確答案:B

5.17有如下程序

main()

{floatx=2.0,y;

if(x<0.0)y=0.0;

elseif(x<10.0)y=l.0/x;

elsey=l.0;

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

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

A)0.000000B)0.250000C)0.5000001.000000

正確答案:C

5.18以下4個(gè)選項(xiàng)中,不能看做一條語句的是

A);B)a=5,b=2.5,c=3.6;

C)if(a<5);D)if(b!=5)x=2;y=6;

正確答案:D

5.19若intk=8;則執(zhí)行下列程序后,變量k的正確結(jié)果是

main()

{intk=8;

switch(k)

{case9:k+=l

case10:k+=l

case11:k+=lbreak;

default:k+=l;}

printf(〃%d\n〃,k);}

A)12B)11C)10

正確答案:D

5.20閱讀如下程序段

ttinclude〃stdio.h〃

main()

{inta=45,b=40,c=50,d;

d=a>30?b:c;

switch(d)

{case30:printf(〃%d,",a);

case40:printf("%d,〃,b);

case50:printf;

default:printf(〃#〃);}}

則輸出的結(jié)果是

A)40,50,B)50,#C)40,#D)40,50,#

正確答案:D

5.21現(xiàn)有如下程序段,此程序段編譯有錯(cuò)誤,則程序段的錯(cuò)誤出在

#include<stdio.h>

main()

{inta=30,b=40,c=50,d;

d=a>30?b:c;

switch(d)

{casea:printf(〃%d,〃,a);

caseb:printf(〃%d,”,b);

casec:printf(〃%d,〃,c);

default:printf(〃#〃);}}

A)default:printf("#〃);這個(gè)語句

B)d=a>30?b:c;這個(gè)語句

C)casea:printf("%d,〃,a);caseb:printf("%d,〃,b);casec:printf(〃%d,",c);這三個(gè)語句

D)switch(d)這個(gè)語句

正確答案:Ccase表達(dá)式中沒有常量,應(yīng)用分號(hào)括起來!

二、填空題(請(qǐng)將每一個(gè)空的正確答案寫在答題卡相應(yīng)序號(hào)后。)

5.22設(shè)y是int型,請(qǐng)寫出y為奇數(shù)的關(guān)系表達(dá)式【1】。

正確答案:y%2!=0

5.23設(shè)inta=5,b=6,表達(dá)式(++a==b--)?++a:—b的值是[2]。

正確答案:7

5.24將以下程序?qū)懗扇窟\(yùn)算表達(dá)式是【3】。

if(a>b)max=a;

elsemax=b;

正確答案:max=(a>b)?a:b;

5.25以下程序輸出的結(jié)果是[4】。

main()

{inta=5,b=4,c=3,d;

d=(a>b>c);

printfd);

)

正確答案:0

5.26若從鍵盤輸入58,則以下程序輸出的結(jié)果是[5】o

main()

{inta;

scanf;

if(a>50)printfa);

if(a>40)printfa);

if(a>30)printf(,,%d,\a);

}

正確答案:585858

5.27閱讀下面語句,則程序的執(zhí)行結(jié)果是[6]。

#include〃stdio.h〃

main()

{inta="l,b=l,k;

if((++a<0)&&!(b--<=0))

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

elseprintf("%d,%d\n”,b,a);}

正確答案:1,0

5.28閱讀下面程序,則在執(zhí)行時(shí)候的輸出為【7】o

#include"stdio.h〃

main()

{intx=l,y=2,z=0;

if(x=2)z=x,x=y,y=z;

printf%d\n”,x,y);}

正確答案:2,2

5.29以下程序的輸出結(jié)果是[81

main()

{intx=100,a=10,b=20,okl=5,ok2=0;

if(a<b)if(b!=15)if(!okl)x=l;

elseif(ok2)x=10;

elsex="l;

printf(〃%d\n〃,x);}

正確答案:-1

5.30閱讀下面的程序,當(dāng)程序在執(zhí)行時(shí),如果輸入的是火,則輸出結(jié)果為[9]。

#include"stdio.h〃

main()

{chara;

a=getchar();

switch(a)

{case65:printf'A');

case66:printf(〃猊;

default:printf(〃/s\n〃,“other");}}

正確答案:ABother

第6章循環(huán)控制

一、選擇題(在下列各題的A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)填涂在

答題卡相應(yīng)位置上。)

6.1對(duì)表達(dá)式for(表達(dá)式1;;表達(dá)式3)可理解為

A)for(表達(dá)式l;0;表達(dá)式3)B)for(表達(dá)式1;1;表達(dá)式3)

C)for(表達(dá)式1;表達(dá)式1;表達(dá)式3)D)for(表達(dá)式1;表達(dá)式3;表達(dá)式3)

正確答案:B

6.2在下列選項(xiàng)中,沒有構(gòu)成死循環(huán)的是

A)inti=100;

while(1)

{i=i%100+l;

if(i>100)break;

)

B)for(;;);

C)intk=10000;

do{k++;}while(k>10000);

D)ints=36;

while(s)-s;

正確答案:D

6.3下面有關(guān)for循環(huán)的正確描述是

A)for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況

B)for循環(huán)是先執(zhí)行循環(huán)體語句,后判斷表達(dá)式

C)在for循環(huán)中,不能用break語句跳出循環(huán)體

D)for循環(huán)的循環(huán)體語句中,可以包含多條語句,但必須用花括號(hào)括起來

正確答案:D

6.4若inti,j;,則for(i=j=0;i<10&&j<8;i++,j+=3)控制的循環(huán)體執(zhí)行的次數(shù)是

A)9B)8C)3D)2

正確答案:C

6.5閱讀下列程序段,則程序的輸出結(jié)果是

#include"stdio.h〃

main()

{inta=10,b=10,k;

for(k=0;a>8;b=++k)

printf(〃%d,---,---b);

printf(〃\n〃);}

A)10,10,10,0,B)10,9,9,0,C)10,10,9,1,D)9,9,9,1,

考生答案:正確答案:B

6.6有一堆零件(100到200之間),如果分成4個(gè)零件一組的若干組,則多2個(gè)零件;若分成7個(gè)零件一組,

則多3個(gè)零件;若分成9個(gè)零件一組,則多5個(gè)零件。下面程序是求這堆零件總數(shù),請(qǐng)選擇填空。

#include<stdio.h>

main()

{inti;

for(i=100;i<200;i++)

if((i-2)%4=0)

if(!((i-3)%7))

if(—)

printf(〃%d〃,i);

)

A)i%9=5B)i%9!=5C)(i-5)%9!=0D)(i-5)%9=0

正確答案:D

6.7下列程序的輸出結(jié)果是

#include〃stdio.h〃

main()

{inti,a=0,b=0;

for(i=l;i<10;i++)

{if(i%2==0)

{a++;

continue;}

b++;}

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

A)a=4,b=4B)a=4,b=5C)a=5,b=4D)a=5,b=5

正確答案:B

6.8閱讀下列程序,則執(zhí)行結(jié)果是

#include〃stdio.h〃

main()

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

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

switch(i)

{case0:a=i++;

case1:b=i++;

case2:c=i++;

case3:i++;}

printf(z/%d,%d,%d,%d\n?,,a,b,c,i);}

A)0,1,3,4B)1,2,3,4C)0,1,2,5D)0,2,3,4

正確答案:C

6.9閱讀下列程序,程序的輸出結(jié)果是

#include"stdio.h〃

main()

(

intm,n;

floatk;

for(m=6;m>2;m---)

{k=0;

for(n=m;n>l;n—)

k=k+m*n;

)

printfk);

A)5.000000B)15.000000C)25.000000D)35.000000

正確答案:B

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

#include"stdio.h"

main()

{intj,i,k=0;

for(j=50;j<=60;j++)

{if(!(k%10))printf;

for(i=2;i<j;i++)

if(!(j%i))break;

if(i>=j-l)

{printf(V,j);

k++;}

)

}

A)5359B)5953C)3595D)9535

正確答案:A

6.11已知

intt=0;

while(t=l)

{...}

則以下敘述正確的是

A)循環(huán)控制表達(dá)式的值為0B)循環(huán)控制表達(dá)式的值為1

C)循環(huán)控制表達(dá)式不合法D)以上說法都不對(duì)

正確答案:B

6.12設(shè)有以下程序段

intx=0,s=0;

while(!x!=0)s+=++x;

printf;

A)運(yùn)行程序段后輸出0B)運(yùn)行程序段后輸出1

C)程序段中的控制表達(dá)式是非法的D)程序段執(zhí)行無限次

正確答案:B

6.13下列程序的輸出結(jié)果是

#include"stdio.h"

main()

{inti=6;

while(i--)

printf---i);

printf;}

A)531B)420C)654321D)死循環(huán)

正確答案:B

6.14對(duì)下I,II兩個(gè)語句描述正確的是

I.while(1)II.for(;;)

A)都是無限循環(huán)B)I是無限循環(huán),II錯(cuò)誤

C)I循環(huán)一次,II錯(cuò)誤D)以上答案都錯(cuò)

正確答案:A

6.15以下程序段的描述,正確的是

x=-l;

do

{x=x*x;}

while(!x);

A)是死循環(huán)B)循環(huán)執(zhí)行兩次

C)循環(huán)執(zhí)行一次D)有語法錯(cuò)誤

正確答案:C

6.16若有如下語句

intx=3;

do{printf(z,%d\nz,,x-=2);}while(!(---x));

則上面程序段

A)輸出的是1B)輸出的是1和-2

C)輸出的是3和0D)是死循環(huán)

正確答案:B

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

#include<stdio.h>

main()

{inta=l,b=10;

do

{b-=a;a++;}while(b--<0);

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

)

A)a=3,b=llB)a=2,b=8C)a=l,b=-lD)a=4,b=9

正確答案:B

6.18若運(yùn)行以下程序時(shí),從鍵盤輸入ADescriptor<CR>(<CR>表示回車),則下面程序的運(yùn)行結(jié)果是

#include<stdio.h>

main()

{charc;

intv0=l,vl=0,v2=0;

do{switch(c=getchar0)

{caseH:case'A':

case'e':case'E':

case'i':caseT:

case'。':case'。':

case'u':caseU:vl+=l;

default:vO+=l;v2+=l;}

}whi1e(c!=,\n,);

printf("vO=%d,vl=%d,v2=%d\n”,vO,vl,v2);)

A)vO=7,vl=4,v2=7B)v0=8,vl=4,v2=8

C)v0=ll,vl=4,v2=llD)vO=13,vl=4,v2=12

正確答案:D想不通??!

6.19下面程序的功能是把316表示為兩個(gè)加數(shù)的和,使兩個(gè)加數(shù)分別能被13和11整除,請(qǐng)選擇填空。

^include<stdio.h>

main()

{inti=0,j,k;

do{i++;k=316-13*i;}while(__);

j=k/U;

printf("316=13*%d+ll*%d”,i,j);

)

A)k/11B)k%llC)k/ll==0D)k%ll==0

正確答案:B

6.20C語言中while和do-while循環(huán)的主要區(qū)別是

A)do-while的循環(huán)體至少無條件執(zhí)行,?次

B)while的循環(huán)控制條件比do-while的循環(huán)控制條件更嚴(yán)格

C)do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)

D)do-while的循環(huán)體不能是復(fù)合語句

正確答案:A

6.21下列說法中錯(cuò)誤的是

A)只能在循環(huán)體內(nèi)使用break語句

B)在循環(huán)體內(nèi)使用break語句可以使流程跳出本層循環(huán)體,從而提前結(jié)束本層循環(huán)

C)在while和do...while循環(huán)中,continue語句并沒有使整個(gè)循環(huán)終止

D)continue的作用是結(jié)束本次循環(huán),即跳過本次循環(huán)體中余下尚未執(zhí)行的語句,接著再一次進(jìn)行循環(huán)判

正確答案:A

二、填空題(請(qǐng)將每一個(gè)空的正確答案寫在答題卡相應(yīng)序號(hào)后。)

6.22設(shè)i,j,k均為int型變量,則執(zhí)行完下面的for語句后,k的值為【1】。

for(i=0,j=10;i<=j;i++,j--)k=i+j;

正確答案:10

6.23下列程序的功能是輸入一個(gè)整數(shù),判斷是否是素?cái)?shù),若為素?cái)?shù)輸出1,否則輸出0,請(qǐng)?zhí)羁铡?/p>

main()

{inti,x,y=l;

scanf("猊",&x);

for(i=2;i<=x/2;i++)

if[2]{y=0;break;}

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

)

正確答案:(x%i==O)

6.24以下程序的輸出結(jié)果是[31

溫馨提示

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