c語言程序設(shè)計(jì)習(xí)題集(5號(hào)字)_第1頁
c語言程序設(shè)計(jì)習(xí)題集(5號(hào)字)_第2頁
c語言程序設(shè)計(jì)習(xí)題集(5號(hào)字)_第3頁
c語言程序設(shè)計(jì)習(xí)題集(5號(hào)字)_第4頁
c語言程序設(shè)計(jì)習(xí)題集(5號(hào)字)_第5頁
已閱讀5頁,還剩114頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第一章C語言概述

1.1選擇題

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

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

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

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

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

參考答案:A

參考分析:C語言總是從main函數(shù)開始,main函數(shù)結(jié)束。但是C語言中存在一個(gè)exit(O)函數(shù),

它可以使得程序在任何時(shí)候、任何位置結(jié)束程序的運(yùn)行。如果不考慮exit(O)等函數(shù)的特殊作

用,C則總是在main函數(shù)結(jié)束。

*1.2|以下敘述正確的是。

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

B)在C程序的每一行只能寫一條語句

C)C語言本身沒有輸入輸出語句

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

參考答案:C

參考分析:C程序?qū)ain函數(shù)的位置沒有任何要求;其書寫格式自由,一行可以寫多條語句,

一條語句(多關(guān)犍字語句)可以寫在多行;C語言忽略注釋,把注釋看作是一個(gè)空格,不會(huì)對(duì)注

釋中的內(nèi)容進(jìn)行語法檢查。因此,如果注釋中存在錯(cuò)誤,系統(tǒng)是不可能發(fā)現(xiàn)的。另外,C語言

的I/O操作均通過函數(shù)實(shí)現(xiàn),系統(tǒng)本身未提供相應(yīng)的語句。

1.3以下敘述不正確的是.

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

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

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

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

參考答案:D

參考分析:C語言中,注釋語句的位置是任意的,當(dāng)然,它不能破壞標(biāo)識(shí)符的完整性。C語言只

是將一個(gè)注釋看作是一個(gè)空格,因此對(duì)注釋內(nèi)的任何錯(cuò)誤都不作檢查。

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

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

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

參考答案:C

*1.5[一個(gè)C語言程序是由.

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

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

參考答案:B

參考分析:通常許多語言程序由主程序和子程序構(gòu)成,但是C語言是函數(shù)式語言,整個(gè)程序由

眾多函數(shù)組成。盡管有時(shí)習(xí)慣上稱main函數(shù)為主程序,顯然,嚴(yán)格地講還是B更為符合C

語言的規(guī)則。

1.2填空題

1.6C源程序的基本單位是【1

參考答案:函數(shù)

1.7一個(gè)C源程序中至少應(yīng)包括一個(gè)【

參考答案:main。函數(shù)

1.8在一個(gè)C源程序中,注釋部分兩側(cè)的分界符分別為【1】和【2】。

參考答案:【1]/*12]*/

1.9在C語言中,輸入操作是由庫函數(shù)【1】完成的,輸出操作是由庫函數(shù)【2】完成的。

參考答案:【1】scanf[2]printf

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

2.1選擇題

**2.1k語言中(以16位PC機(jī)為例),各數(shù)據(jù)類型的存儲(chǔ)空間長度的排列順序?yàn)椤?/p>

A)char<int<long<=float<doubleB)char=int<long<=float<double

C)char<int<long=float=doubleD)char=int=long<=float<double

參考答案:A

分析:在不同的計(jì)算機(jī)系統(tǒng)中,不同的C語言系統(tǒng)中,其各種數(shù)據(jù)類型所占據(jù)的存儲(chǔ)空間是不

同的,但是有一個(gè)總的原則,即:char<=short<=int<=long<=float<=double,RWA符合16位PC

機(jī)中的具體環(huán)境。

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

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

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

參考答案:C

參考分析:逗號(hào)表達(dá)式的計(jì)算結(jié)果是最后一個(gè)表達(dá)式的值。k=23是括號(hào)內(nèi)最后一個(gè)表達(dá)式,

因此x變量的值來自k變量的值。

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

A)7B)8C)5D)2

參考答案:B

參考分析:逗號(hào)表達(dá)式的計(jì)算結(jié)果是最后一個(gè)表達(dá)式的值。b++在所在表達(dá)式參與運(yùn)算時(shí)的

值是5,該表達(dá)式計(jì)算完成后,b進(jìn)行自增運(yùn)算,故a+b的值為2+6=8。

2.4下列四組選項(xiàng)中,均不是C語言關(guān)鍵字的選項(xiàng)是

A)defineB)getcQincludeD)while

IFcharscanfgo

typeprintfcasepow

參考答案:A

參考分析:是關(guān)鍵字的有:char、case>whileo

2.5下列四組選項(xiàng)中,均是C語言關(guān)鍵字的選項(xiàng)是.

A)autoB)switchC)signedD)if

enumtypedefunionstruct

includecontinuescanftype

參考答案:B

參考分析:不是關(guān)鍵字的:includescanf、type

下面四個(gè)選項(xiàng)中,均是不合法的用戶標(biāo)識(shí)符的選項(xiàng)是

A)AB)floatC)b-aD)_123

P_0laOgototemp

do_AintINT

參考答案:C

參考分析:合法的有:A、P_0、laO、_A、_123、temp、INT。

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

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

D)可以是字母、數(shù)字和下劃線中的任一種字符

參考答案:C

參考分析:教材中只是強(qiáng)調(diào)首字符必須為字母,我們應(yīng)當(dāng)知道,在語言系統(tǒng)中,下劃線和字母具

有同等的“法律效力

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

A)160B)-0xcdfC)-01D)-0x48a

-OxffffOla986,0122e5

OilOxe0668Ox

參考答案:A

參考分析:不合法的B2,C2,C3,D2。解釋:A2:-0xffff十六進(jìn)制數(shù)本身已經(jīng)包含了符號(hào)位,一

般不前面加符號(hào)位,但加上符號(hào)位也不錯(cuò)誤;C3:0668在有些C系統(tǒng)中,八進(jìn)制數(shù)中允許出現(xiàn)

8,但是通常不允許使用8;D3:0x顯然后面缺少數(shù)值,但在TC中是允許的。

*2.9

A)-OflB)-OXcdfC)-018D)-0x48eg

-Oxffff017999-068

001112,4565e203f

參考答案:D

參考分析:不合法的Al,B3,Cl,C3,Do解釋:Al:-Ofl十六進(jìn)制數(shù)沒有Ox,顯然不合法,這里

需要討論的是常量前面允許不允許加上一號(hào),是否可以負(fù)負(fù)得正,顯然不可以,--在C中是自減

運(yùn)算,它只適用于變量;BkOXcdfX大寫也可以!C3:5e2是個(gè)實(shí)型數(shù)。

*2.1()|下面四個(gè)選項(xiàng)中,均是不合法的浮點(diǎn)數(shù)的選項(xiàng)是.

A)160.B)123C)-.18D)-e3

0.122e4.2123e4.234

e3.e50.0le3

參考答案:B

參考分析:不合法的有A3,B,D1。部分解釋:A1,D2:C語言中小數(shù)點(diǎn)前面或后面的0可以省

略。但是不能只有小數(shù)點(diǎn)自身;A3,B3,Dl:e的前后必須有合法數(shù)字。l.e2」e2合法,.e2不

合法;Bl:123是整型數(shù),不是浮點(diǎn)數(shù)。

2.11下面四個(gè)選項(xiàng)中,均是合法的浮點(diǎn)數(shù)的選項(xiàng)是.

A)+le+lB)-.6OC)123eD)-e3

5e-9.412e-41.2e-.4.8e-4

03e2-8e5+2e-l5.e-0

參考答案:B

參考分析:不合法的有A2:階碼不能為小數(shù);A3:浮點(diǎn)數(shù)的尾數(shù)及階碼不能用八進(jìn)制數(shù)表示;

Cl:e后必須有整數(shù),C2:階碼不能為小數(shù);D1:缺少尾數(shù)。

*2.1「2下面四個(gè)選項(xiàng)中,均是合法轉(zhuǎn)義符的選項(xiàng)是。

A)\"B)VC)\018'D)\\0'

N'\017'MOI'

An''xab''xlf

參考答案:A

參考分析:”\"后面的數(shù)字,c總是按照八或十六進(jìn)制解釋。由于c支持?jǐn)U展ASCII字符集,

所以,八進(jìn)制數(shù)范圍在。?377,十六進(jìn)制數(shù)范圍在00?仟。

*2.13|下面四個(gè)選項(xiàng)中,均是不合法的轉(zhuǎn)義符的選項(xiàng)是.

A)V"B)MOirOAOirD)^abc,

NAfM01'

、xf^a,、}''xlf

參考答案:B

參考分析:不合法的有B1,B2,B3,C3,D1,D3;但B3和C3值得討論,實(shí)際上,、T是一個(gè)轉(zhuǎn)義字

符(07beep)。C中只有少數(shù)字母是轉(zhuǎn)義字符,大多數(shù)字母不是。像、c就不是,它就是字符c自

身,非轉(zhuǎn)義字母加,”也僅表示它本身。C3、}也表示自身。本題的命題人顯然不知道、a也是轉(zhuǎn)

義字符。

*2.14|下面正確的字符常量是。

A)"c"B)、"C),W'D)""

參考答案:C

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

A)016B)OabcC)010D)0al2

Ox8f017-0x117ff

018Oxa0x16-123

參考答案:D

參考分析:不正確的有A3:非法八進(jìn)制數(shù);Bl、DI、D2:缺少x;D3是十進(jìn)制數(shù)。

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

A)-10B)OabcC)0010D)0al2

Ox8f-017-0x11-0x123

-011OxcOxfl-Oxa

參考答案:C

參考分析:不正確的有Al:這是十進(jìn)制數(shù);Bl、D1:缺少x

2.17下面四個(gè)選項(xiàng)中,均是正確的數(shù)值常量或字符常量的選項(xiàng)是,

A)0.0B)uanC)3D)+001

Of3.9e-2.5OilOxabcd

8.9eleiOxFFOO2e2

HI0a50.

參考答案:D

參考分析:不正確的有A2、C4:不是ox打頭;A3:e后不是整數(shù);B1是字符串;B2:2.5

不是整數(shù)。

2.18下面不正確的字符串常量是。

A)'abc'B)"12'12"C)"0"D)""

參考答案:A

參考分析:與PASCAL不同,B)字符串內(nèi)的單引號(hào)不需雙寫。C語言中,在不引起誤解的情況

下,雙引號(hào)界定的字符串里的單引號(hào)可以不加轉(zhuǎn)義標(biāo)志"V,單引號(hào)界定的雙引號(hào)字符也可以

不加轉(zhuǎn)義標(biāo)志V。

對(duì)應(yīng)以下各代數(shù)式中,若變量a和x均為double類型,則不正確的c語言表達(dá)式是

A)e*""?exp(x*x/2)/sqr(2*3.14159)

也支

B)%(ax+a+x/4a)1.0/2.0*(a*x+(a+x)/(4*a))

C)^sinx25sqrt((pow(sin(x*3.14159/180),2.5))

D)x2-e5x*x-exp(5.0)

參考答案:C

2.20若有代數(shù)式3ae/bc,則不正確的C語言表達(dá)式是.

A)a/b/c*e*3B)3*a*e/b/cC)3*a*e/b*cD)a*e/c/b*3

參考答案:C

參考分析:注意表達(dá)式的計(jì)算順序

2.21已知各變量的類型說明如下,則不符合C語言語法規(guī)定的表達(dá)式是。

intk,a,b;

unsignedlongw=5;

doublex=l.42;

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

參考答案:A

參考分析:不符合C語法規(guī)定的只有A,因?yàn)閄為實(shí)型數(shù)。

2.22已知各變量說明如下,則符合C語言語法規(guī)定的表達(dá)式是.

inti=8,k,a,b;

unsignedlongw=5;

doublex=1.42,y=5.2;

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

參考答案:A

參考分析:B)表達(dá)式不能出現(xiàn)在賦值號(hào)右側(cè);C)x是實(shí)型數(shù),不能進(jìn)行取余運(yùn)算;D”、端float

用括號(hào)擴(kuò)起來(強(qiáng)制類型轉(zhuǎn)換)。

*2.23|以下不正確的敘述是.

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

參考分析:整型變量可以輸入實(shí)型數(shù)值,實(shí)型變量也可以輸入整型數(shù)值

2.24以下正確的敘述是。

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

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

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

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

參考答案:D

參考分析:注意它的描述,是只能用于整數(shù)運(yùn)算,而不是整型數(shù)運(yùn)算。

*2.2「5以下符合C語言語法的有賦值能力的表達(dá)式是。

A)d=9+e+f=d+9B)d=9+e,f=d+9

C)d=9+e,e++,d+9D)d=9+e++=d+7

參考答案:B

參考分析:C不是賦值表達(dá)式,是逗號(hào)表達(dá)式,賦值僅是其中的一部分。嚴(yán)格說來,B也不是賦

值表玲式,它是由兩個(gè)賦值表達(dá)式組成的逗號(hào)表達(dá)式。

**2.26|已知字母A的ASCII碼為十進(jìn)制數(shù)65,且c2為字符型,則執(zhí)行語句c2='A'+'6'-3;后,c2

的值為O

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

參考答案:A

參考分析:表達(dá)式中的各字符以各自的ASCII碼參與運(yùn)算。

*2.27陶C語言中,要求運(yùn)算數(shù)必須是整型(數(shù))的運(yùn)算符是。

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

參考答案:D

參考分析:理論上++運(yùn)算都是針對(duì)整型(含字符型)的,盡管現(xiàn)在很多系統(tǒng)提供了對(duì)實(shí)型變量的

增量運(yùn)算。

*2.28I若以下變量均是整型,且num=sum=7;則計(jì)算表達(dá)式sUM=num++,sUM++,++num后sum

的值為.

A)7B)8C)0D)10

參考答案:A

參考分析:注意sum和sUM不是一個(gè)變量(區(qū)分大小寫)。

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

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

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

參考答案:D

參考分析:參考答案很明確地表明了,C語言中各種類型在內(nèi)存中所占用的字節(jié)數(shù)由所用機(jī)

器字長決定。通常在PC機(jī)中字符、整型、實(shí)型所占用的內(nèi)存空間大小為1、2、4個(gè)字節(jié)。

2.30若有說明語句:charc=、72;則變量c。

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

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

參考答案:A

參考分析:轉(zhuǎn)義字符、72,為字符,:、

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

A)2.500000B)2.750000C)3.5OOOOOD)0.000000

參考答案:A

參考分析:計(jì)算時(shí)要注意其結(jié)合性和優(yōu)先級(jí)。

*2.32sizeof(float)是。

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

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

參考答案:B

參考分析:算術(shù)表達(dá)式的類型由表達(dá)式計(jì)算結(jié)果的類型決定

*2.33R殳變量a是整型,f是實(shí)型,i是雙精度型,則表達(dá)式10+,a'+i*f值的數(shù)據(jù)類型為。

A)intB)floatQdoubleD)不確定

參考答案:C

參考分析:實(shí)型只要參與運(yùn)算就自動(dòng)轉(zhuǎn)換為double型.

2.34下面四個(gè)選項(xiàng)中,均是非法常量的選項(xiàng)是0

A)'as'B)WC)-0xl8D)0xabc

-Offf\QV01177'\0'

AOxa'12,456Oxf"a"

參考答案:A

參考分析:A3轉(zhuǎn)義字符以十六進(jìn)制描述時(shí),前面不能加0。非法的還有B3

*2.35|若有代數(shù)式山汕組城,則正確的C語言表達(dá)式是

A)(sqrt(fabs(pow(y,x)+log10(y)))

B)?sqrt(abs(pow(y,x)+loglO(Y)))

C)?sqrt(fabs(pow(x,y)+logl0(y)))

D)lsqrt(abs(pow(x,y)+loglO(y)))

參考答案:A

參考分析:c語言中整型和實(shí)型的絕對(duì)值函數(shù)各自獨(dú)立,為abs和fabs;pow為一系統(tǒng)函數(shù)

pow(y,x)=>y\

2.36若有代數(shù)式Ix3+lgxl,則正確的C語言表達(dá)式是。

A)fabs(x*3+logl0(x))

B)abs(pow(x,3)+log10(x))

C)abs(pow(x,3.0)+logl0(x))

D)fabs(pow(x,3.0)+log10(x))

參考答案:D

參考分析:以上兩題均未說明x,y的類型,從表達(dá)式的性質(zhì)可分析隱含為實(shí)型,因此應(yīng)使用

fabs.

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

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

參考答案:D

參考分析:計(jì)算機(jī)系統(tǒng)不能存儲(chǔ)字符本身,存儲(chǔ)的是字符的ASCII碼。

*2.38I設(shè)變量n為float,m為血類型,則以下能實(shí)現(xiàn)將n中的數(shù)值保留小數(shù)點(diǎn)后兩位,第三位進(jì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

參考分析:m=n*100+0.5賦值過程中有實(shí)型轉(zhuǎn)整型的自動(dòng)轉(zhuǎn)換。

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

A)intB)floatC)doubleD)不確定

參考答案:C

參考分析:表達(dá)式的類型由表達(dá)式結(jié)果的類型決定。

2.40設(shè)C語言中,一個(gè)int型數(shù)據(jù)在內(nèi)存中占2個(gè)字節(jié),則unsignedint型數(shù)據(jù)的取值范圍

為。

A)0-255B)0-32767QO-65535D)0-2147483647

參考答案:C

參考分析:各種數(shù)據(jù)類型的取值范圍是由其字長決定,字長確定的情況下,有符號(hào)數(shù)與無符號(hào)

數(shù)的范圍應(yīng)當(dāng)容易計(jì)算得知。

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

A)floatB)charC)intD)double

參考答案:D

參考分析:表達(dá)式的類型由表達(dá)式結(jié)果的類型決定.雖然本題各變量沒有具體的變量值,由

于參與運(yùn)算的變量中z變量為double型,表達(dá)式計(jì)算的結(jié)果肯定為double型。

2.42若有以下定義,則能使值為3的表達(dá)式是。

intk=7,x=12;

A)x%=k%=5B)x%=k-k%5

C)x%=(k-k%5)D)(x%=k)-(k%=5)

參考答案:D

參考分析:A的值為0,B、C兩個(gè)表達(dá)式相同,值為2,只有D的值為3。

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

A)x=y=6,x+y,x+lB)x=y=6,x+y,y+1

C)x=6,x+l,y=6,x+yD)y=6,y+1,x=y,x+l

參考答案:c

參考分析:經(jīng)計(jì)算可知,只有C的值為12,不為7.

2.2填空題

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

一個(gè)int型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為【2】。

參考答案:【1】1[2]2

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

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

參考答案:【1】4[2]8

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

參考答案:-16

2.47設(shè)C語言中,一個(gè)int型數(shù)據(jù)在內(nèi)存中占2各字節(jié),則int型數(shù)據(jù)的取值范圍為【1

參考答案:-32768~32767

2.48在C語言中的實(shí)型變量分為兩種類型,它們是【I】和【21

參考多案:【1】float[2]double

二*24JC語言所提供的基本數(shù)據(jù)類型包括:單精度型、雙精度型、【1】、【2]和131

參考答案:字符型整型枚舉

參考分析:基本類型又稱簡單類型,若分為四種則為字符、整型、實(shí)型和枚舉,若分為五種,

則將實(shí)型分為單精度型和雙精度型兩種。

*2.5(E若s是int型變量,則表達(dá)式s%2+(s+l)%2的值為[].

參考答案:1

參考分析:無論s是奇數(shù)還是偶數(shù)表達(dá)式的值只能是1。

*2.51I若a是int型變量,則表達(dá)式(a=4*5,a*2),a+6的值為【】。

參考答案:26

*2.52若x和a均是整型變量,則計(jì)算表達(dá)式⑴后的x值為【1],計(jì)算表達(dá)式(2)后x的值為

(21

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

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

參考答案:【1】12[214

2.53若a、b和c均是int型變量,則計(jì)算表達(dá)式a=(b=4)+(c=2)后,a的值為[1],b的值為

[2],c的值為【31,

參考答案:【1】6[2]4[312

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

參考答案:-60

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

參考答案:2

2.56若x和n均是int型變量,且x和n的初值均為5,則計(jì)算表達(dá)式x+=n++后x的值為

[11,n的值為[2L

參考答案:【1】10[2]6

2.57若有定義:intb=7;floata=2.5,c=4.7;則表達(dá)式a+(int)(b/3*(int)(a+c)⑵%4的值為【

參考答案:5.5

2.58若有定義:inta=2,b=3;floatx=3.5,y=2.5;則表達(dá)式(float)(a+b)/2+(int)x%(int)y的值為[

參考答案:3.5

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

參考答案:1

2.60若有定義:intx=3,y=2;floata=2.5,b=3.5;則表達(dá)式(x+y)%2+(int)a/(int)b的值為【】。

參考答案:1

2.61若有定義:intx=12,n=5;則計(jì)算表達(dá)式x%=(n%=2)后x的值為[2

參考答案:0

2.62若有定義:inta,b;表達(dá)式a=2,b=5,a++,b++,a+b的值為【

參考答案:9

2.63C語言中的標(biāo)識(shí)符只能由三種字符組成,它們是[1】、【2】和【3】。

參考答案:【1】字符【2】數(shù)字【3】下劃線

已知字母a的ASCH碼為十進(jìn)制數(shù)97,且設(shè)ch為字符型變量,則表達(dá)式ch='a'+8-3

的值為【1

參考答案:f

參考分析:表達(dá)式計(jì)算中取各個(gè)字符的ASCII碼值進(jìn)行計(jì)算,但ch的值是以計(jì)算結(jié)果為碼

值的字符。

2.65把以下多項(xiàng)式寫成只含七次乘法運(yùn)算,其余皆為加、減運(yùn)算的表達(dá)式為【1

參考答案:((((((5*x+3)*x-4)*x+2)*x+l)*x-6)*x+l)*x+10

2.66若doublex=3.0,y=2.0;則表達(dá)式pow(y,fabs(x))的值為【

參考答案:8.0

2.67若有定義:inte=l,f=4,g=2;floatm=10.5,n=4.0,k;則計(jì)算表達(dá)式k=(e+f)/g+

sqrt((double)n)*1.2/g+m后k的值是【

參考答案:13.7

2.68表達(dá)式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的數(shù)據(jù)類型為().

參考管案:int型

*26表達(dá)式pow(2.8,sqrt(double(x)))值的數(shù)據(jù)類型為【】。

參考蘆案:double型

*2.71(假設(shè)m是一個(gè)三位數(shù),從左到右用a、b、c表示各位的數(shù)字,則從左到右各個(gè)數(shù)字是

bac的三位數(shù)表達(dá)式是【L

參考答案:m/10%10*100+m/100*10+m%10

參考分析:數(shù)字各個(gè)位的分離可以先整除再取余,也可以先取余再整除。

第三章最簡單的C程序設(shè)計(jì)

3.1選擇題

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

A)整型變量表達(dá)式B)實(shí)型變量值

C)字符串D)字符或字符型變量值

參考答案:D

參考分析:putchar函數(shù)的作用是輸出一個(gè)字符,可以是常量或變量。

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

printf(,'\n*sl=%15s*",,,chinabeijing,');

printf("\n*s2=%-5s*T'chi");

A)*sl=chinabeijingDao*B)*sl=chinabeijingaaa*

*s2=**chi**s2=chi

C)*sl^achinabeijing*D)zbsbhinabeijing*

*s2=aachi**s2=chi□口*

參考答案:D

參考分析:-:數(shù)據(jù)左齊,右補(bǔ)空格。

3.3printf函數(shù)中用到格式符%5s,其中數(shù)字5表示輸出的字符串占用5列。如果字符串長度大

于5.則輸出按方式【1】;如果字符串長度小于5.則輸出按方式【2】.

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

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

參考答案:【1】B【2】C

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

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

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

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

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

參考答案:D

參考分析:答案B基本上是正確的,但是%x不能正確的輸出長整型數(shù)據(jù)。

*3.5|以下C程序正確的運(yùn)行結(jié)果是.

main()

{longy=-43456;

printf(Hy=%-81d\nu,y);

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

printf(uy=%081d\nH,y);

printf(,'y=%+81d\n,,,y);

A)y=na-43456B)y=-43456

丫二-口口43456y=-43456

y=-0043456y=-0043456

y=-43456y=+a-43456

C)y=-43456□□D)y=-43456

y=-43456y=-0043456

y=-0043456y=00043456

y=00-43456y=+43456

參考答案:C

參考分析:0:數(shù)據(jù)左側(cè)必須充滿,給定數(shù)據(jù)不足時(shí),前面補(bǔ)0。

+:數(shù)據(jù)前面顯示符號(hào)位.

*3.6|以下C程序正確運(yùn)行的結(jié)果是—

main()

{inty=2456;

printf("y=%3o\n",y);

printf(Hy=%8o\nM,y);

printf(Hy=%#8o\n",y);

A)y=ann2456B)y=nnn4630

¥=□□□□□□□□2456戶口口口口口口口口4630

y=########2456y=########4630

C)y=2456D)y=4630

¥=□□□□2456¥=□□□□4630

¥=□□□02456y=nan04630

參考答案:D

參考分析:#要求輸出數(shù)據(jù)的類型特征符號(hào)。

3.7以下C程序正確的運(yùn)行結(jié)果是,

main()

{longy=23456;

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

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

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

A)y=5ba0□□□5baOB)y=

y=nnna5ba0y=onnaaann5ba0

y=nnOx5baOy=aa0x5ba0

C)y=5baOD)y=5ba0

y=5baO□□□□5baOy=

y=0x5ba0y=####5baO

參考答案:A

分析:長整型數(shù)據(jù)輸出應(yīng)當(dāng)加修正字符1,如果不加1僅能輸出數(shù)據(jù)的低兩個(gè)字節(jié),高字節(jié)數(shù)

據(jù)不能輸出。

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

A)scanf("%d%lx,%le'\&x,&y,&z);

B)scanf(u%2d*%d%lf',&x,&y,&z);

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

D)scanf("%x%o%6.2f”,&x,&y,&z);

參考答案:D

參考分析:A)首先讀第一個(gè)十進(jìn)制數(shù)賦給變量x,讀第二個(gè)長十六進(jìn)制數(shù)賦給變量y(此時(shí)有

自動(dòng)賦值轉(zhuǎn)換),再讀入格式規(guī)定的第二和第三個(gè)數(shù)據(jù)間的間隔符號(hào)逗號(hào),最后讀入第三個(gè)

double型數(shù)據(jù)賦給變量z。B)首先讀入2個(gè)寬度的十進(jìn)制數(shù)賦給變量x,再讀入格式規(guī)定的第

一和第二數(shù)據(jù)間的間隔符號(hào)星號(hào),然后讀入第二個(gè)十進(jìn)制整數(shù)賦給變量y,然后讀入第三個(gè)

double型數(shù)據(jù)賦給變量z。C)讀入第一個(gè)十六進(jìn)制數(shù)賦給變量x,然后虛讀一個(gè)十進(jìn)制數(shù)不賦

給任何變量,最后讀入一個(gè)八進(jìn)制數(shù)賦給變量y.D)%6.2f不符合格式規(guī)定,即不能規(guī)定讀

入數(shù)據(jù)的小數(shù)點(diǎn)后的數(shù)字位數(shù)。

*3.9[已有如下定義和輸入語句,若要求al,a2,cl,c2的值分別為10,20,A和B,當(dāng)從第一

列開始輸入數(shù)據(jù)時(shí),正確的數(shù)據(jù)輸入方式是.

intal,a2;charcl,c2;

scanf(',%d%c%d%c',,&al,&cl,&a2,&c2);

A)10AD20B<CR>B)10nAn20oB<CR>

C)10DA20B<CR>D)1(gB@CR>

參考答案:A

*3.1(/已有定義intx;floaty;且執(zhí)行scanf("%3d%f",&x,&y);語句時(shí),從第一列開始輸入數(shù)據(jù)

12345D678<CR>,貝Ix的值為⑴,y的值為(2).

(1)A)12345B)123C)45D)345

⑵A)無定值B)45.0Q678.0D)123.0

參考答案:BB

參考分析:讀取數(shù)據(jù)格式中規(guī)定域?qū)挄r(shí),系統(tǒng)僅讀取指定寬度的數(shù)據(jù)。

~**~3.H11已有如下定義和輸入語句,若要求al,a2,cl,c2的值分別為10,20,A和B,當(dāng)從第一

列開始輸入數(shù)據(jù)時(shí),正確的數(shù)據(jù)輸入方式是.

intal,a2;charcl,c2;

scanf(H%d%d,',&al,&a2);

scanf(M%c%c",&cI,&c2);

A)1020AB<CR>B)10D20<CR>AB<CR>

C)10DD20DDAB<CR>D)10D20AB<CR>

參考答案:D

參考分析:A)al為1020,a2為隨機(jī)值,cl為A,c2為B.B)al為10,a2為20,cl為<CR>,c2

為A。C)al為10,a2為20,cl、c2均為口。

3.12已有程序段和輸入數(shù)據(jù)的形式,程序中輸入語句的正確形式應(yīng)當(dāng)為。

main()

{inta;floatf;

printf(nInputnumber:M);

(輸入語力)

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

)

Inputnumber:4.±iD2<CR>

A)scanf("%d,%f",&a,&f);B)scanf("%f,%d",&f,&a);

C)scnaf("%d%f",&a,&0;D)scanf("%f%d",&f,&a);

參考答案:D

3.13根據(jù)定義和數(shù)據(jù)的輸入方式,輸入語句的正確形式為。

已有定義:floatfl,f2;

數(shù)據(jù)的輸入方式:4.52

3.5

A)scanf(n%f,%f',&f1,&f2);B)scanf(,,%f%f'\&fl,&f2);

C)scanf("%3.2f%2.1f',&fl,&f2);D)scanf("%3.2f%2.1f';&f1,&f2);

參考答案:B

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

main()

{intx,y,z;

scanf("%d%d%d”,&x,&y,&z);

printf(',x+y4-z=%d\n',,x+y+z);

)

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

參考答案:D

參考分析油于提供數(shù)據(jù)的格式與規(guī)定格式不一致,變量y,z不能獲取正確的數(shù)據(jù),均為隨機(jī)

值,故三變量之和也是隨機(jī)數(shù)。

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

main()

{intx;floaty;

printf("enterx,y:n);

輸入語句

輸出語句

輸入形式:enterx,y:23.4

輸出形式:x+y=5.40

A)scanf(u%d,%fn,&x,&y);B)scanf("%d%f';&x,&y);

printf("\nx+y=%4.2f”,x+y);printf("\nx+y=%4.2f\x+y);

C)scanf(,'%d%f',,&x,&y);D)scanf(n%d%3.1

printf(H\nx+y=%6.1f",x+y);printf(,,\nx+y=%4.2f",x+y);

參考答案:B

3.16以下說法正確的是.

A)輸入項(xiàng)可以為一個(gè)實(shí)型常量,4口scanf(n%f;3.5);

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

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

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

參考答案:D

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

main()

{charchl,ch2,ch3;

輸入語句

printf(',%c%c%c',,chl,ch2,ch3);

)

輸入形式:ADBDC

輸出形式:ADB

A)scanf(u%c%c%cn,&chI,&ch2,&ch3);

B)scanf(,,%c,%c,%c,,,&ch1,&ch2,&ch3);

C)scanf("%c%c%c",&ch1,&ch2,&ch3);

D)scanf(u%c%c'\&chL&ch2,&ch3);

參考答案:A

參考分析:字符控制格式中有無空格對(duì)數(shù)據(jù)的讀取有影響,B)chl讀取A,ch2和ch3為隨機(jī)

字符。C)三個(gè)變量分別為A、B.C.D)ch3為隨機(jī)字符。

3.18有輸入語句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);為使變量a的值為3b為3,c為2,

從鍵盤輸入數(shù)據(jù)的正確形式應(yīng)當(dāng)是。

A)132<CR>B)1,3,2<CR>

C)a=lnb=3ac=2<CR>D)a=1,b=3,c=2<CR>

參考答案:D

3.19以下能正確地定義整型變量&b和c并為其賦初值5的語句是。

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

參考答案:c

*3.2()已知ch是字符型變量,下面不正確的賦值語句是。

A)ch='a+b';B)ch=AO';C)ch='7'+'9';D)ch=5+9

參考答案:A

參考分析:B)為轉(zhuǎn)義字符。C)為7和9兩個(gè)字符ASCII碼值之和的字符。D)為碼值為14的

字符(控制字符)。

3.21已知ch是字符型變量,下面正確的賦值語句是。

A)ch='123';B)ch=Axff;C)ch=、08';D)ch="\";

參考答案:B

3.22若有以下定義,則正確的賦值語句是,

inta,b;floatx;

A)a=l,b=2,B)b++;C)a=b=5D)b=int(x);

參考答案:B

參考分析:這里強(qiáng)調(diào)的是賦值語句,請(qǐng)注意賦值表達(dá)式與賦值語句的區(qū)別。

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

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

參考答案:B

39Ks設(shè)x、y和z均為int型變量,則執(zhí)行語句x=(y=(z=10)+5)-5;后,x、y和z的值是

A)x=10B)x=10C)x=10D)x=10

y=15y=10y=10y=5

z=10z=10z=15z=10

參考答案:A

■設(shè)有說明:doubley=0.5,z=1.5;intx=10;則能夠正確使用C語言庫函數(shù)的賦值語句

是.

A)z=exp(y)+fabs(x);

B)y=loglO(y)+pow(y);

C)z=sqrt(y-z);

D)x=(int)(atan2((double)x,y)+exp(y-0.2));

參考答案:D

參考分析:本題有些偏,其他選項(xiàng)錯(cuò)誤的原因?yàn)锳)fabs(x),x不是double型。B)pow(y)其格

式原型為doublepow(doubley,doublex).C)y-z為負(fù)數(shù)。

3.2填空題

*3.26|以下程序的輸出結(jié)果為()。

main()

{shorti;

i=-4;

printf(n\ni:dec=%d,oct=%o,hex=%x,unsigned=%u\n'\i,i,ij);

)

參考答案:i:dec=-4,oct=l77774,hex=fffc,unsigned=65532

*3.27以下程序的輸出結(jié)果為()。

main()

{printf("*%f,%4.3f*\nn,3.14,3.1415);

)

參考答案:*3.140000,3.142*

分析:不能輸出的位會(huì)向前一位四舍五人輸出。

3.28以下程序的輸出結(jié)果為()。

main()

{charc='x';

printf(Mc:dec=%d,oct=%o,hex=%x,ASCII=%c\nn,c,c,c,c);

)

參考答案:c:dec=120,oct=170,hex=78,ASCII=x

*3.2(一已有定義intd=-2;執(zhí)行以下語句后的輸出結(jié)果是()。

printf("*d(l)=%d*d(2)=%3d*d(3)=%-3d*\n",d,d,d);

printf(,'*d(4)=%o*d(5)=%7o*d(6)=%-7o*\n,,,d,d,d);

參考答案:*d(l)=-2*d(2)=a-2*d(3)=-2a*

*d(4)=177776*d(5)=o177776*d(6)=177776a*

3.30已有定義intd=.2;執(zhí)行以下語句后的輸出結(jié)果是()。

printf(M*d(l)=%d*d(2)=%3d*d(3)=%-3d*\nn,d,d,d);

printf(',*d(4)=%x*d(5)=%6x*d(6)=%-6x*\n,,,d,d,d);

參考答案:*d(l)=-2*d(2)=口-2*d(3)=-2口*

*d(4)=fffe*d(5)=oDfffe*d(6)=fffeaD*

3.31已有定義floatdl=3.5,d2=?3.5;執(zhí)行以下語句后的輸出結(jié)果是()。

printf(n*d(l)=%e*d(2)=%.4e*d(3)=%10.4e*\nn,dl,dl,dl);

printf(,,*d(4)=%e*d(5)=%.6e*d(6)=%-12.5e*\nn,d2,d2,d2);

參考答案:*d(l)=3.50000e+00*d(2)=3.500e+00*d(3)?3.500e+00*

*d(4)=-3.50000e+00*d(5)=-3.50000e+00*d(6)=-3.5000e+0(ti*

參考分析:通過本題應(yīng)注意%£和%?在規(guī)定小數(shù)點(diǎn)后位數(shù)的區(qū)別。%e小數(shù)位后面位數(shù)含e

標(biāo)志。

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

main()

{intx=1,y=2;

printf(Hx=%dy=%d*sum*=%d\nn,x,y,x+y);

printfC'10Squaredis:%d\n”[0*10);

)

參考答案:x=ly=2*sum*=3

10Squaredis:100

*3.33以下程序的輸出結(jié)果是()。

#include<stdio.h>

main()

{intx=10;floatpi=3.1416;

printf(',(l)%d\n',,x);

printf(H(2)%6d\nM,x);

printf(,,(3)%f\n,,,56.1);

printf("(4)%14hn,\pi);

printf(M(5)%e\n",568.1);

printf("(6)%I4e\nn,pi);

printf("⑺%g\n”,pi);

printf("(8)%12g\n';pi);

)

參考答案:(】)10

(2)□□□□10

(3)56.100000

(4)□□□□□□3.141600

(5)5.68100e+02

(6)□□□3.14160e+00

(7)3.1416

(8)□□□□□□3.1416

參考分析:采用g格式輸出數(shù)據(jù)時(shí),當(dāng)數(shù)據(jù)<=10-5或>=107時(shí),按指數(shù)方式輸出(缺省正數(shù)

11位,負(fù)數(shù)12位),否則按小數(shù)方式輸出(缺省含小數(shù)點(diǎn)總寬度最多7位)。且不輸出無意

義的0(后面)和小數(shù)點(diǎn)。

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

#include<stdio.h>

main()

{floata=123.456;doubleb=8765.4567;

printf(H(l)%fVi,,,a);

printf(,,(2)%14.3f\n,\a);

printf(,,(3)%6.4Ann,a);

printf(,,(4)%lf\n,,,b);

printf(,,(5)%14.31f\n,,,b);

printf(',(6)%8.41f\n",b);

printf(n(7)%.41f\n';b);

)

參考答案:(1)123.456000

(2)□□□□□□□123.456

(3)123.4560

(4)8765.456700

(5)□□□□□□8765.456

(6)8765.4560

(7)8765.4560

*3.35以下printf語句中*的作用是(),輸出結(jié)果是()1,

#include<stdio.h>

main()

{int

printf('1##%*d\n;

i++;

printf(n##%*d\nH,i,i);

i++;

printf(M##%*d\nu,i,i);

)

參考答案:

(1)可使同一或相同輸出格式數(shù)據(jù)輸出寬度得以改變(動(dòng)態(tài)域?qū)捒刂?

(2)##1

溫馨提示

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