




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
譚浩強C語言程序設計習題集(精心整理)
目錄
第一章C語言概述
1.1選擇題
1.2填空題
第二章數(shù)據(jù)類型、運算符與表達式
2.1選擇題
2.2填空題
第三章最簡單的C程序設計
3.1選擇題
3.2填空題
第四章邏輯運算和判斷選取控制
4.1選擇題
4.2填空題
4.3編程題
第五章循環(huán)控制
5.1選擇題
5.2填空題
5.3編程題
第六章數(shù)組
6.1選擇題
6.2填空題
6.3編程題
第七章函數(shù)
7.1選擇題
7.2填空題
7.3編程題
第八章編譯預處理
8.1選擇題
8.2填空題
8.3編程題
第九章指針
9.1選擇題
9.2填空題
第一章C語言概述
1.1選擇題
“1一個c程序的執(zhí)行是從o
A)本程序的main函數(shù)開始,到main函數(shù)結(jié)束
B)本程序文件的第一個函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束
C)本程序的main函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束
D)本程序文件的第一個函數(shù)開始,到本程序main函數(shù)結(jié)束
參考答案:A
參考分析:C語言總是從main函數(shù)開始,main函數(shù)結(jié)束。但是C語言中存在一個exit(O)
函數(shù),它可以使得程序在任何時候、任何位置結(jié)束程序的運行。如果不考慮exit(O)等函數(shù)
的特殊作用,C則總是在main函數(shù)結(jié)束。
以下敘述正確的是o
A)在C程序中,main函數(shù)必須位于程序的最前面
B)在C程序的每一行只能寫一條語句
C)C語言本身沒有輸入輸出語句
D)在對一個C程序進行編譯的過程中,可發(fā)現(xiàn)注釋中的拼寫錯誤
參考答案:C
參考分析:c程序?qū)ain函數(shù)的位置沒有任何要求;其書寫格式自由,一行可以寫多條
語句,一條語句(多關鍵字語句)可以寫在多行;C語言忽略注釋,把注釋看作是一個空格,
不會對注釋中的內(nèi)容進行語法檢查。因此,如果注釋中存在錯誤,系統(tǒng)是不可能發(fā)現(xiàn)的。
另外,C語言的I/O操作均通過函數(shù)實現(xiàn),系統(tǒng)本身未提供相應的語句。
1.3以下敘述不正確的是o
A)一個C源程序可由一個或多個函數(shù)組成
B)一■個C源程序必須包含一■個main函數(shù)
C)C程序的基本組成單位是函數(shù)
D)在C程序中,注釋說明只能位于一條語句的后面
參考答案:D
參考分析:C語言中,注釋語句的位置是任意的,當然,它不能破壞標識符的完整性。C語
言只是將一個注釋看作是一個空格,因此對注釋內(nèi)的任何錯誤都不作檢查。
1.4C語言規(guī)定:在一個源程序中,main函數(shù)的位置。
A)必須在最開始B)必須在系統(tǒng)調(diào)用的庫函數(shù)的后面
C)可以任意D)必須在最后
參考答案:C
*1.5I一個C語言程序是由O
A)一個主程序和若干個子程序組成B)若干函數(shù)組成
C)若干過程組成D)若干子程序組成
參考答案:B
參考分析:通常許多語言程序由主程序和子程序構(gòu)成,但是C語言是函數(shù)式語言,整個程
序由眾多函數(shù)組成。盡管有時習慣上稱main函數(shù)為主程序,顯然,嚴格地講還是B更
為符合C語言的規(guī)則。
1.2填空題
1.6C源程序的基本單位是1]0
參考答案:函數(shù)
1.7一個C源程序中至少應包括一個【]0
參考答案:main。函數(shù)
1.8在一個C源程序中,注釋部分兩側(cè)的分界符分別為【1】和【2】。
參考答案:【1】/*【2]*/
1.9在C語言中,輸入操作是由庫函數(shù)【1】完成的,輸出操作是由庫函數(shù)[2]完成的。
參考答案:【1】scanf[2]printf
第二章數(shù)據(jù)類型、運算符與表達式
2.1選擇題
題]C語言中(以16位PC機為例),各數(shù)據(jù)類型的存儲空間長度的排列順序為o
A)char<int<long<=float<doubleB)char=int<long<=float<double
C)char<int<long=float=doubleD)char=int=long<=float<double
參考答案:A'
分析:在不同的計算機系統(tǒng)中,不同的C語言系統(tǒng)中,其各種數(shù)據(jù)類型所占據(jù)的存儲空間
是不同的,但是有一個總的原則,即:char<=short<=int<=long<=float<=double,只有A符合
16位PC機中的具體環(huán)境。
若x、i、j和k都是int型變量,則計算下面表達式后,x的值為。
x=(i=4,j=16,k=32)
A)4B)16C)32D)52
參考答案:C
參考分析:逗號表達式的計算結(jié)果是最后一個表達式的值。k=23是括號內(nèi)最后一個表
達式,因此x變量的值來自k變量的值。
SHE!假設所有變量均為整型,則表達式(a=2,b=5,a+b++,a+b)的值是。
A)7B)8C)5D)2
參考答案:B
參考分析:逗號表達式的計算結(jié)果是最后一個表達式的值。b++在所在表達式參與運算
時的值是5,該表達式計算完成后,b進行自增運算,故a+b的值為2+6=8。
2.4下列四組選項中,均不是C語言關鍵字的選項是。
A)defineB)getcC)includeD)while
IFcharscanfgo
typeprintfcasepow
參考答案:A
參考分析:是關鍵字的有:char、case、whileo
2.5下列四組選項中,均是C語言關鍵字的選項是
A)autoB)switchC)signedD)if
enumtypedefunionstruct
includecontinuescanftype
參考答案:B
參考分析:不是關鍵字的:include.scanfxtype
*2.6下面四個選項中,均是不合法的用戶標識符的選項是
A)AB)floatC)b-aD)_123
P_0laOgototemp
doAintINT
參考答案:C
參考分析:合法的有:A、P_0、laO、_A、_123、temp、INT。
IC語言中的標識符只能由字母、數(shù)字和下劃線三種字符組成,且第一個字
符o
A)必須為字母B)必須為下劃線C)必須為字母或下劃線
D)可以是字母、數(shù)字和下劃線中的任一種字符
參考答案:C
參考分析:教材中只是強調(diào)首字符必須為字母,我們應當知道,在語言系統(tǒng)中,下劃線和字
母具有同等的“法律效力工
*2.8下面四個選項中,均是合法整型常量的選項是
A)160B)-0xcdfC)-01D)-0x48a
-Oxffff01a986,0122e5
OilOxe0668Ox
參考答案:A
參考分析:不合法的B2,C2,C3,D2。解釋:A2:-0xffff十六進制數(shù)本身已經(jīng)包含了符號位,
一般不前面加符號位,但加上符號位也不錯誤;C3:0668在有些C系統(tǒng)中,八進制數(shù)中允
許出現(xiàn)8,但是通常不允許使用8;D3:0x顯然后面缺少數(shù)值,但在TC中是允許的。
國]下面四個選項中,均是不合法的整型常量的選項是o
A)-OflB)-0XcdfC)-018D)-0x48eg
-Oxffff017999-068
001112,4565e203f
參考答案:D
參考分析:不合法的A1,B3,C1,C3,DO解釋:Al:-0fl十六進制數(shù)沒有Ox,顯然不合法,
這里需要討論的是常量前面允許不允許加上一號,是否可以負負得正,顯然不可以,-在C
中是自減運算,它只適用于變量;BkOXcdfX大寫也可以!C3:5e2是個實型數(shù)。
目向下面四個選項中,均是不合法的浮點數(shù)的選項是o
A)160.B)123C)-.18D)-e3
0.122e4.2123e4.234
e3,e50.0le3
參考答案:B
參考分析:不合法的有A3,B,D1。部分解釋:A1,D2:C語言中小數(shù)點前面或后面的0可
以省略。但是不能只有小數(shù)點自身;A3,B3,Dl:e的前后必須有合法數(shù)字。l.e2.le2合
法,.e2不合法;Bl:123是整型數(shù),不是浮點數(shù)。
皿下面四個選項中,均是合法的浮點數(shù)的選項是o
A)+le+lB)-.6OC)123eD)-e3
5e-9.412e-41.2e-.4.8e-4
03e2-8e5+2e-l5.e-0
參考答案:B
參考分析:不合法的有A2:階碼不能為小數(shù);A3:浮點數(shù)的尾數(shù)及階碼不能用八進制數(shù)表
示;Cl:e后必須有整數(shù),C2:階碼不能為小數(shù);D1:缺少尾數(shù)。
*2.12下面四個選項中,均是合法轉(zhuǎn)義符的選項是o
A)'\"B)'VC)'\018'D)'\\0'
'W'\017''\f'\101'
'\n'V'xab''xlf
參考答案:A
參考分析:“\“后面的數(shù)字,c總是按照八或十六進制解釋。由于c支持擴展ASCII字符集,
所以,八進制數(shù)范圍在0~377,十六進制數(shù)范圍在00~熊
*2.13|下面四個選項中,均是不合法的轉(zhuǎn)義符的選項是
A)'\"'B)'\ioirc)'\oirD)'\abc'
'W'V■\f
'\xf'\a''xlf
參考答案:B
參考分析:不合法的有B1,B2,B3,C3,D1,D3;但B3和C3值得討論,實際上;\a是一個轉(zhuǎn)
義字符(07beep).C中只有少數(shù)字母是轉(zhuǎn)義字符,大多數(shù)字母不是。像W就不是,它就是
字符c自身,非轉(zhuǎn)義字母加也僅表示它本身。C3,"也表示自身。本題的命題人顯然不
知道‘山也是轉(zhuǎn)義字符。
*2.14下面正確的字符常量是o
A)"c"B)'\\"C)'W'D)""
參考答案:C
*2.15下面四個選項中,均是不正確的八進制或十六進制數(shù)的選項是O
A)016B)0abcC)010D)0al2
0x8f017-Oxll7ff
018Oxa0x16-123
參考答案:D
參考分析:不正確的有A3:非法八進制數(shù);Bl、DI、D2:缺少x;D3是十進制數(shù)。
2.16下面四個選項中,均是正確的八進制或十六進制數(shù)的選項是o
A)-10B)Oabc00010D)0al2
Ox8f-017-0x11-0x123
-OilOxcOxfl-Oxa
參考答案:C
參考分析:不正確的有Al:這是十進制數(shù);B1、DI:缺少x
2.17下面四個選項中,均是正確的數(shù)值常量或字符常量的選項是
A)0.0B)"a"C)3D)+001
Of3.9e-2.5OilOxabcd
8.9eleiOxFFOO2e2
0a50.
參考答案:D
參考分析:不正確的有A2、C4:不是ox打頭;A3:e后不是整數(shù);B1是字符串;B2:
2.5不是整數(shù)。
2.18下面不正確的字符串常量是o
A)'abc'B)"12'12"C)"0"D)""
參考答案:A
參考分析:與PASCAL不同,B)字符串內(nèi)的單引號不需雙寫。C語言中,在不引起誤解的
情況下,雙引號界定的字符串里的單引號可以不加轉(zhuǎn)義標志單引號界定的雙引號字符
也可以不加轉(zhuǎn)義標志
■。對應以下各代數(shù)式中,若變量a和x均為double類型,則不正確的c語言表達式
是o
A)笆竺_exp(x*x/2)/sqr(2*3.14159)
也兀
B),/2(ax+a+x/4a)1.0/2.0*(a*x+(a+x)/(4*a))
Q^sinx25sqrt((pow(sin(x*3.14159/180),2.5))
D)x2-e5x*x-exp(5.0)
參考答案:C
2.20若有代數(shù)式3ae/bc,則不正確的C語言表達式是。
A)a/b/c*e*3B)3*a*e/b/cC)3*a*e/b*cD)a*e/c/b*3
參考答案:C
參考分析:注意表達式的計算順序
2.21已知各變量的類型說明如下,則不符合C語言語法規(guī)定的表達式是
intk,a,b;
unsignedlongw=5;
doublex=1.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,因為X為實型數(shù)。
2.22已知各變量說明如下,則符合C語言語法規(guī)定的表達式是o
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)表達式不能出現(xiàn)在賦值號右側(cè);C)x是實型數(shù),不能進行取余運算;D)應
將float用括號擴起來(強制類型轉(zhuǎn)換X
*2.23以下不正確的敘述是O
A)在C程序中,逗號運算符的優(yōu)先級最低
B)在C程序中,APH和aph是兩個不同的變量
C)若a和b類型相同,在計算表達式a=b后,b的值將放入a中,而b中的值不變
D)當從鍵盤輸入數(shù)據(jù)時,對于整型變量只能輸入整型數(shù)值,對于實型變量只能輸入實
型數(shù)值
參考答案:D
參考分析:整型變量可以輸入實型數(shù)值,實型變量也可以輸入整型數(shù)值
2.24以下正確的敘述是o
A)在C程序中,每行只能寫一條語句
B)若a是實型變量,C程序中允許賦值a=10,因此實型變量中允許存放整型數(shù)
C)在C程序中,無論是整數(shù)還是實數(shù),都能被準確無誤地表示
D)在C程序中,%是只能用于整數(shù)運算的運算符
參考答案:D
參考分析:注意它的描述,是只能用于整數(shù)運算,而不是整型數(shù)運算。
*2.25以下符合C語言語法的有賦值能力的表達式是O
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不是賦值表達式,是逗號表達式,賦值僅是其中的一部分。嚴格說來,B也不
是賦值表達式,它是由兩個賦值表達式組成的逗號表達式。
**2.26I已知字母A的ASCII碼為十進制數(shù)65,且c2為字符型,則執(zhí)行語句c2='A'+'6'-'3';
后,c2的值為o
A)DB)68C)不確定的值D)C
參考答案:A
參考分析:表達式中的各字符以各自的ASCII碼參與運算。
*2.27|在C語言中,要求運算數(shù)必須是整型(數(shù))的運算符是0
A)/B)++C)!=D)%
參考答案:D
參考分析:理論上++運算都是針對整型(含字符型)的,盡管現(xiàn)在很多系統(tǒng)提供了對實型變
量的增量運算。
*2.28偌以下變量均是整型,且num=sum=7;則計算表達式sUM=num++,sUM++,++num后
sum的值為o
A)7B)8C)0D)10
參考答案:A
參考分析:注意sum和sUM不是一個變量(區(qū)分大小寫)。
*2.29|在C語言中,int、char和short三種類型數(shù)據(jù)在內(nèi)存中所占用的字節(jié)數(shù)。
A)由用戶自己定義B)均為兩個字節(jié)
C)是任意的D)由所用機器的字長決定
參考答案:D
參考分析:參考答案很明確地表明了,C語言中各種類型在內(nèi)存中所占用的字節(jié)數(shù)由所用
機器字長決定。通常在PC機中字符、整型、實型所占用的內(nèi)存空間大小為1、2、4個
字節(jié)。
2.30若有說明語句:charc='\72';則變量c。
A)包含1個字符。B)包含2個字符。
C)包含3個字符。D)說明不合法,c的值不確定。
參考答案:A
參考分析:轉(zhuǎn)義字符’\72"為字符,:、
2.31若有定義:inta=7;floatx=2.5,y=4.7;則表達式x+a%3*(int)(x+y)%2/4的值是
A)2.500000B)2.750000C)3.500000D)0.000000
參考答案:A
參考分析:計算時要注意其結(jié)合性和優(yōu)先級。
*2.32sizeof(float)是。
A)一個雙精度型表達式B)一個整型表達式
C)一種函數(shù)調(diào)用D)一個不合法的表達式
參考答案:B
參考分析:算術(shù)表達式的類型由表達式計算結(jié)果的類型決定
*2.33|設變量a是整型,f是實型,i是雙精度型,則表達式10+H+i*f值的數(shù)據(jù)類型為
A)intB)floatC)doubleD)不確定
參考答案:C
參考分析:實型只要參與運算就自動轉(zhuǎn)換為double型。
2.34下面四個選項中,均是非法常量的選項是o
A)'as'B)'WC)-0xl8D)0xabc
-Offf,\or01177'\0'
'\0xa'12,456Oxf"a"
參考答案:A
參考分析:A3轉(zhuǎn)義字符以十六進制描述時,前面不能加0。非法的還有B3
*2.35|若有代數(shù)式4yx+iog|oy,則正確的C語言表達式是o
A)sqrt(fabs(pow(y,x)+log10(y)))
B)sqrt(abs(pow(y,x)+log10(Y)))
C)sqrt(fabs(pow(x,y)+log10(y)))
D)sqrt(abs(pow(x,y)+log10(y)))
參考答案:A-
參考分析:c語言中整型和實型的絕對值函數(shù)各自獨立,為abs和fabs;pow為一系統(tǒng)函
x
數(shù)pow(y,x)=>y0
2.36若有代數(shù)式|x3+lgx],則正確的C語言表達式是o
A)fabs(x*3+log10(x))
B)abs(pow(x,3)+logl0(x))
C)abs(pow(x,3.0)+logl0(x))
D)fabs(pow(x,3.0)+log10(x))
參考答案:D
參考分析:以上兩題均未說明x,y的類型,從表達式的性質(zhì)可分析隱含為實型,因此應
使用fabso
*?37|在C語言中,char型數(shù)據(jù)在內(nèi)存中的存儲形式是。
A)補碼B)反碼C)原碼D)ASCII碼
參考答案:D
參考分析:計算機系統(tǒng)不能存儲字符本身,存儲的是字符的ASCII碼。
—*2.318設變量n為float,m為int類型,則以下能實現(xiàn)將n中的數(shù)值保留小數(shù)點后兩位,第三
位進行四舍五人的表達式是o
A)n=(n*100+0.5)/100.0B)m=n*100+0.5,n=m/l00.0
C)n=n*100+0.5/100.0D)n=(n/100+0.5)*100.0
參考答案:B
參考分析:m=n*100+0.5賦值過程中有實型轉(zhuǎn)整型的自動轉(zhuǎn)換。
2.39表達式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型為。
A)intB)floatC)doubleD)不確定
參考答案:C
參考分析:表達式的類型由表達式結(jié)果的類型決定。
2.40設C語言中,一個int型數(shù)據(jù)在內(nèi)存中占2個字節(jié),則unsignedint型數(shù)據(jù)的取值范圍
為O
A)0-255B)0-32767C)0-65535D)0-2147483647
參考答案:C
參考分析:各種數(shù)據(jù)類型的取值范圍是由其字長決定,字長確定的情況下,有符號數(shù)與無
符號數(shù)的范圍應當容易計算得知。
2.41設有說明:charw;intx;floaty;doublez;則表達式w*x+z-y值的數(shù)據(jù)類型為。
A)floatB)charC)intD)double
參考答案:D
參考分析:表達式的類型由表達式結(jié)果的類型決定。雖然本題各變量沒有具體的變量值,
由于參與運算的變量中z變量為double型,表達式計算的結(jié)果肯定為double型。
2.42若有以下定義,則能使值為3的表達式是o
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兩個表達式相同,值為2,只有D的值為3。
2.43設以下變量均為int類型,則值不等于7的表達式是。
A)x=y=6,x+y,x+1B)x=y=6,x+y,y+l
C)x=6,x+l,y=6,x+yD)y=6,y+l,x=y,x+1
參考答案:C
參考分析:經(jīng)計算可知,只有C的值為12,不為7。
2.2填空題
2.44在C語言中(以16位PC機為例),一個char型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為【1】;
一個int型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為[2]0
參考答案:【1】1[2]2
2.45在C語言中(以16位PC機為例),一個float型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為【1
一個double型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為[2]o
參考答案:【1[4[2]8
2.46若有以下定義,intm=5,y=2;則計算表達式y(tǒng)+=y-=m*=y后y的值是【
參考答案:一16
2.47設C語言中,一個int型數(shù)據(jù)在內(nèi)存中占2各字節(jié),則int型數(shù)據(jù)的取值范圍為【】。
參考答案:-32768—32767
2.48在C語言中的實型變量分為兩種類型,它們是[1】和[2]0
參考答案:【1】float[2]double
二*2.4]9C語言所提供的基本數(shù)據(jù)類型包括:單精度型、雙精度型、【1】、【2】和【3】。
參考答案:字符型整型枚舉
參考分析:基本類型又稱簡單類型,若分為四種則為字符、整型、實型和枚舉,若分為
五種,則將實型分為單精度型和雙精度型兩種。
*2.5(8若s是int型變量,則表達式s%2+(s+l)%2的值為【】。
參考答案:1
參考分析:無論s是奇數(shù)還是偶數(shù)表達式的值只能是1。
*2.5H1若a是int型變量,則表達式(a=4*5,a*2),a+6的值為【
參考答案:26
二*2.52若x和a均是整型變量,則計算表達式(1)后的x值為【1],計算表達式(2)后x的
值為12為
(l)x=(a=4,6*2)
(2)x=a=4,6*2
參考答案:【1】12[2]4
2.53若a、b和c均是int型變量,則計算表達式a=(b=4)+(c=2)后,a的值為[1],b的
值為[2],c的值為【3】。
參考答案:【1[6[2]4[3]2
2.54若a是int型變量,且a的初值為6,則計算表達式a+=a-=a*a后a的值為【
參考答案:一60
2.55若a是int型變量,則計算表達式a=25/3%3后a的值為【
參考答案:2
2.56若x和n均是int型變量,且x和n的初值均為5,則計算表達式x+=n++后x的值
為[I],n的值為[2]o
參考答案:【1[10[2]6
2.57若有定義:intb=7;floata=2.5,c=4.7;貝U表達式a+(int)(b/3*(int)(a+c)/2)%4的值為[
參考答案:5.5
2.58若有定義:inta=2,b=3;floatx=3.5,y=2.5;則表達式(float)(a+b)/2+(int)x%(int)y的值為
[lo
參考答案:3.5
2.59若有定義:charc=M)l(y;則變量c中包含的字符個數(shù)為[]0
參考答案:1
2.60若有定義:intx=3,y=2;floata=2.5,b=3.5;則表達式(x+y)%2+(int)a/(int)b的值為[]0
參考答案:]
2.61若有定義:intx=12,n=5;則計算表達式x%=(n%=2)后x的值為【2
參考答案:0
2.62若有定義:inta,b;表達式a=2,b=5,a++,b++,a+b的值為【】。
參考答案:9
2.63C語言中的標識符只能由三種字符組成,它們是[1】、【2】和【3】。
參考答案:【1】字符【2】數(shù)字【3】下劃線
'
*2.614已知字母a的ASCII碼為十進制數(shù)97,且設ch為字符型變量,則表達式ch='a'+'8'-3'
的值為【]o
參考答案:f
參考分析:表達式計算中取各個字符的ASCII碼值進行計算,但ch的值是以計算結(jié)果
為碼值的字符。
2.65把以下多項式寫成只含七次乘法運算,其余皆為加、減運算的表達式為【]0
參考答案:((((((5*x+3)*x-4)*x+2)*x+l)*x-6)*x+l)*x+10
2.66若doublex=3.0,y=2.0;則表達式pow(y,fabs(x))的值為【
參考答案:8.0
2.67若有定義:inte=l,f=4,g=2;floatm=10.5,n=4.0,k;則計算表達式k=(e+f)/g+
sqrt((double)n)*1.2/g+m后k的值是【
參考答案:13.7
2.68表達式8/4*(int)2.5/(int)(L25*(3.7+2.3))值的數(shù)據(jù)類型為()。
參考答案:int型
^*2^.693表達式pow(2.8,sqrt(double(x)))值的數(shù)據(jù)類型為【
參考答案:double型
'*~2.7(8假設m是一個三位數(shù),從左到右用a、b、c表示各位的數(shù)字,則從左到右各個數(shù)
字是bac的三位數(shù)表達式是【]o
參考答案:m/10%10*100+m/100*10+m%10
參考分析:數(shù)字各個位的分離可以先整除再取余,也可以先取余再整除。
第三章最簡單的C程序設計
3.1選擇題
3.1putchar函數(shù)可以向終端輸出一個
A)整型變量表達式B)實型變量值
C)字符串D)字符或字符型變量值
參考答案:D
參考分析:putchar函數(shù)的作用是輸出一個字符,可以是常量或變量。
「3.2|以下程序的輸出結(jié)果是O
printf("\n*sl=%15s*","chinabeijing");
printf("\n*s2=%-5s*","chi");
A)*sl=chinabeijingQDD*B)*sl=chinabeijingDDD*
*s2=**chi**s2=chiaa*
C)*sl=nachinabeijing*D)*s1=DDDchinabeijing*
*s2=aachi**s2=chinn*
參考答案:D
參考分析:-:數(shù)據(jù)左齊,右補空格。
3.3printf函數(shù)中用到格式符%5s,其中數(shù)字5表示輸出的字符串占用5列。如果字符串長
度大于5.則輸出按方式【1】;如果字符串長度小于5,則輸出按方式【2】。
A)從左起輸出該字符串,右補空格B)按原字符串長從左向右全部輸出
C)右對齊輸出該字符串,左補空格D)輸出錯誤信息
參考答案:【1】B[2]C
*3.4|已有定義inta=-2;和輸出語句:printf("%81x",a);以下正確的敘述是
A)整型變量的輸出格式符只有%d一種
B)%x是格式符的一種,它可以適用于任何一種類型的數(shù)據(jù)
C)%x是格式符的一種,其變量的值按十六進制輸出,但%81x是錯誤的
D)%81x不是錯誤的格式符,其中數(shù)字8規(guī)定了輸出字段的寬度
參考答案:D
參考分析:答案B基本上是正確的,但是%x不能正確的輸出長整型數(shù)據(jù)。
*3.5|以下c程序正確的運行結(jié)果是.
main()
{longy=-43456;
printf("y=%-81d\n",y);
printf("y=%-081d\n",y);
printf("y=%081d\n",y);
printf("y=%+81d\n",y);
A)y=DD-43456B)y=-43456
y=-oo43456y=-43456
y=-0043456y=-0043456
y=_43456y=+o-43456
C)y=-43456D)y=aa-43456
y=-43456y=-0043456
y=-0043456y=00043456
y=nc-43456y=+43456
參考答案:C
參考分析:0:數(shù)據(jù)左側(cè)必須充滿,給定數(shù)據(jù)不足時,前面補0。
+:數(shù)據(jù)前面顯示符號位。
*3.6|以下C程序正確運行的結(jié)果是
main()
{inty=2456;
printf("y=%3o\n",y);
printf("y=%8o\n",y);
printf("y=%#8o\n",y);
A)y=nnn2456B)Y=DDD4630
¥=□□□□□□□□2456¥=□□□□□□□□4630
y=########2456y=########4630
C)y=2456D)y=4630
¥=□□□□2456¥=□□□□4630
¥=□□□02456¥=□□□04630
參考答案:D
參考分析:#要求輸出數(shù)據(jù)的類型特征符號。
3.7以下C程序正確的運行結(jié)果是o
main()
{longy=23456;
printf("y=%31x\n",y);
printf("y=%81x\n",y);
printf("y=%#81x\n",y);
A)y=5ba0B)y=nnn5ba0
y=DDDD5ba0y=nncnnnnn5ba0
y=aa0x5ba0y=ac0x5ba0
C)y=5ba0D)y=5ba0
y=5ba0y=nccn5ba0
y=0x5ba0y=####5ba0
參考答案:A
分析:長整型數(shù)據(jù)輸出應當加修正字符1,如果不加1僅能輸出數(shù)據(jù)的低兩個字節(jié),高字
節(jié)數(shù)據(jù)不能輸出。
*3.8若x,y均定義為int型,z定義為double型,以下不合法的scanf函數(shù)調(diào)用語句
是o
A)scanf("%d%lx,%le",&x,&y,&z);
B)scanf("%2d*%d%lf",&x,&y,&z);
C)scanf("%x%*d%o",&x,&y);
D)scanf("%x%o%6.2f',&x,&y,&z);
參考答案:D
參考分析:A)首先讀第一個十進制數(shù)賦給變量x,讀第二個長十六進制數(shù)賦給變量y(此時
有自動賦值轉(zhuǎn)換),再讀入格式規(guī)定的第二和第三個數(shù)據(jù)間的間隔符號逗號,最后讀入第
三個double型數(shù)據(jù)賦給變量zoB)首先讀入2個寬度的十進制數(shù)賦給變量x,再讀入格式
規(guī)定的第一和第二數(shù)據(jù)間的間隔符號星號,然后讀入第二個十進制整數(shù)賦給變量y,然
后讀入第三個double型數(shù)據(jù)賦給變量zoC)讀入第一個十六進制數(shù)賦給變量x,然后虛讀
一個十進制數(shù)不賦給任何變量,最后讀入一個八進制數(shù)賦給變量y。D)%6.2f不符合格
式規(guī)定,即不能規(guī)定讀入數(shù)據(jù)的小數(shù)點后的數(shù)字位數(shù)。
*3.9已有如下定義和輸入語句,若要求al,a2,cl,c2的值分別為10,20,A和B,當從
年二列開始輸入數(shù)據(jù)時,正確的數(shù)據(jù)輸入方式是O
intal,a2;charcl,c2;
scanf("%d%c%d%c",&al,&cI,&a2,&c2);
A)10AD20B<CR>B)10aAa20aB<CR>
C)10DA20B<CR>D)10A20DB<CR>
參考答案:A
*3.10已有定義intx;floaty;且執(zhí)行scanf("%3d%f',&x,&y);語句時,從第一列開始輸入數(shù)
據(jù)12345CJ678<CR>,則x的值為⑴,y的值為(2)。
⑴A)12345B)123C)45D)345
(2)A)無定值B)45.0C)678.0D)123.0
參考答案:BB
參考分析:讀取數(shù)據(jù)格式中規(guī)定域?qū)挄r,系統(tǒng)僅讀取指定寬度的數(shù)據(jù)。
**3.11I已有如下定義和輸入語句,若要求al,a2,cl,c2的值分別為10,20,A和B,當從
第一列開始輸入數(shù)據(jù)時,正確的數(shù)據(jù)輸入方式是O
intal,a2;charcl,c2;
scanf("%d%d",&al,&a2);
scanf("%c%c",&cl,&c2);
A)1020AB<CR>B)10D20<CR>AB<CR>
C)10DD20DDAB<CR>D)10D20AB<CR>
參考答案:D
參考分析:A)al為1020,a2為隨機值,cl為A,c2為B°B)分為10,a2為20,cl為<CR>,c2
為AoC)al為10,a2為20,cl、c2均為口。
3.12已有程序段和輸入數(shù)據(jù)的形式,程序中輸入語句的正確形式應當為o
main()
{inta;floatf;
printf("Inputnumber:");
(輸入語句)
printf(n\nf=%f,a=%d\nn,f,a);
}
Inputnumber:4.5oo2<CR>
A)scanf(n%d,%f,,&a,&f);B)scanf(,,%f,%d",&f,&a);
C)scnaf(H%d%r,&a,&f);D)scanf(u%f%dn,&f,&a);
參考答案:D
3.13根據(jù)定義和數(shù)據(jù)的輸入方式,輸入語句的正確形式為o
已有定義:floatfl,f2;
數(shù)據(jù)的輸入方式:4.52
3.5
A)scanf("%f,%f',&fl,&f2);B)scanf("%f%f',&fl,&f2);
C)scanf("%3.2f%2.1f",&fl,&f2);D)scanf("%3.2f%2.If',&f1,&f2);
參考答案:B
*3.14閱讀以下程序,當輸入數(shù)據(jù)的形式為:25,13,10<CR>,正確的輸出結(jié)果為
main()
{intx,y,z;
scanf("%d%d%d",&x,&y,&z);
printf("x+y+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ù),均為
隨機值,故三變量之和也是隨機數(shù)。
3.15根據(jù)題目中已給出的數(shù)據(jù)輸入和輸出形式,程序中輸入輸出語句的正確內(nèi)容
是o
main()
{intx;floaty;
printf("enterx,y:");
輸入語句
輸出語句
輸入形式:enterx,y:23.4
輸出形式:x+y=5.40
A)scanf("%d,%f,,&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("%d%3.1f',&x,&y);
printf("\nx+y=%6.1f",x+y);printf("\nx+y=%4.2f',x+y);
參考答案:B
3.16以下說法正確的是o
A)輸入項可以為一個實型常量,如scanf("%f",3.5);
B)只有格式控制,沒有輸入項,也能進行正確輸入,如scanf("a=%d,b=%d");
C)當輸入一個實型數(shù)據(jù)時,格式控制部分應規(guī)定小數(shù)點后的位數(shù),如
scanf("%4.2f',&f);
D)當輸入數(shù)據(jù)時,必須指明變量的地址,如scanf("%f”,&。;
參考答案:D
-*3.117根據(jù)下面程序及數(shù)據(jù)的輸入和輸出形式,程序中輸入語句的正確形式應該
為O
main()
{charchl,ch2,ch3;
輸入語句
printf(n%c%c%cH,chI,ch2,ch3);
)
輸入形式:AaBnC
輸出形式:AnB
A)scanf(M%c%c%cn,&chI,&ch2,&ch3);
B)scanf(n%c,%c,%cn,&ch1,&ch2,&ch3);
C)scanf(n%c%c%cn,&ch1,&ch2,&ch3);
D)scanf(',%c%c,',&chl,&ch2,&ch3);
參考答案:A
參考分析:字符控制格式中有無空格對數(shù)據(jù)的讀取有影響,B)chl讀取A,ch2和ch3為
隨機字符。C)三個變量分別為A、B、CoD)ch3為隨機字符。
3.18有輸入語句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);為使變量a的值為1,b為3,c
為2,從鍵盤輸入數(shù)據(jù)的正確形式應當是o
A)132<CR>B)1,3,2<CR>
C)a=lob=3ac=2<CR>D)a=l,b=3,c=2<CR>
參考答案:D
3.19以下能正確地定義整型變量a,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.20已知ch是字符型變量,下面不正確的賦值語句是o
A)ch='a+b';B)ch='\O';C)ch='7'+'9';D)ch=5+9
參考答案:A
參考分析:B)為轉(zhuǎn)義字符。C)為7和9兩個字符ASCII碼值之和的字符。D)為碼值為
14的字符(控制字符)。
3.21已知ch是字符型變量,下面正確的賦值語句是o
A)ch='123';B)ch='\xff;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
參考分析:這里強調(diào)的是賦值語句,請注意賦值表達式與賦值語句的區(qū)別。
3.23設x、y均為float型變量,則以下不合法的賦值語句為。
A)++x;B)y=(x%2)/10;C)x*=y+8D)x=y=0
參考答案:B
設x、y和z均為int型變量,則執(zhí)行語句x=(y=(z=10)+5)-5;后,x、y和z的值
是______o,
A)x=10B)x=10C)x=10D)x=10
y=15y=10y=10y=5
z=10z=10z=15z=10
參考答案:A
|設有說明:doubley=0.5,z=1.5;intx=10;則能夠正確使用C語言庫函數(shù)的賦值語句
是o
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
參考分析:本題有些偏,其他選項錯誤的原因為A)fabs(x),x不是double型。B)pow(y)
其格式原型為doublepow(doubley,doublex)oC)y-z為負數(shù)。
3.2填空題
*3.26以下程序的輸出結(jié)果為()o
main()
{shorti;
i=-4;
printf("\ni:dec=%d,oct=%o,hex=%x,unsigned=%u\n",i,i,i,i);
}
參考答案:i:dec=-4,oct=177774,hex=fffc,unsigned=65532
*3.27以下程序的輸出結(jié)果為()o
main()
{printf("*%f,%4.3f*\n",3.14,3.1415);
參考答案:*3.1400003142*
分析:不能輸出的位會向前一位四舍五入輸出。
3.28以下程序的輸出結(jié)果為()。
main()
{charc='x';
printf(uc:dec=%d,oct=%o,hex=%x,ASCII=%c\nn,c,c,c,c);
}
參考答案:c:dec=120,oct=170,hex=78,ASCII=x
*3.29已有定義intd=-2;執(zhí)行以下語句后的輸出結(jié)果是()0
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(D=—2*d(2)=u-2*d(3)=-2口*
*d(4)=177776*d(5尸□177776*d(6)=l77776a*
3.30已有定義intd=-2;執(zhí)行以下語句后的輸出結(jié)果是()。
printf("*d(l)=%d*d(2)=%3d*d(3)=%-3d*\n",d,d,d);
printf("*d(4)=%x*d(5)=%6x*d(6)=%-6x*\n",d,d,d);
參考答案:*d(l)=-2*d(2)=a-2*d(3)=-2a*
*d(4)=ffFe*d(5)=DDfffe*d(6)=fFfeDa*
*3.31已有定義floatdl=3.5,d2=-3.5;執(zhí)行以下語句后的輸出結(jié)果是()。
printf("*d(l)=%e*d(2)=%.4e*d(3)=%10.4e*\n",dl,dl,dl);
printf("*d(4)=%e*d(5)=%.6e*d(6)=%-12.5e*\n",d2,d2,d2);
參考答案:*d(l)=3.50000e+00*d(2)=3.500e+00*d(3)=a3.500e+00*
*d(4)=-3.50000e+00*d(5)=-3.50000e+00*d(6)=-3.5000e+00a*
參考分析:通過本題應注意%f和%e在規(guī)定小數(shù)點后位數(shù)的區(qū)別。%6小數(shù)位后面位數(shù)
含e標志。
3.32以下程序的輸出結(jié)果是()0
main()
{intx=l,y=2;
printf(nx=%dy=%d*sum*=%d\n”,x,y,x+y);
printf(n10Squaredis:%d\n",10*10);
參考答案:x=ly=2*sum*=3
10SquaredisJOO
*3.33以下程序的輸出結(jié)果是()o
#include<stdio.h>
main()
{intx=10;floatpi=3.1416;
printfC(l)%d\n';x);
printf("⑵%6d\n”,x);
printf(,,(3)%f\n,,,56.1);
printf(,,(4)%14f\n,,,pi);
printf(n(5)%e\nu,568.1);
printf(u(6)%14e\nn,pi);
printf("⑺%g\n”,pi);
printf(n(8)%12g\n",pi);
參考答案:(1)10
(2)nnnnl0
(3)56.100000
(4)□□□□□□3.141600
(5)5.68100e+02
(6)□□□3.14160e+00
(7)3.1416
(8)□□□□□□3.1416
參考分析:采用g格式輸出數(shù)據(jù)時,當數(shù)據(jù)<=10-5或>=1()7時,按指數(shù)方式輸出(缺省
正數(shù)11位,負數(shù)12位),否則按小數(shù)方式輸出(缺省含小數(shù)點總寬度最多7位)。且不
輸出無意義的0(后面)和小數(shù)點。
3.34以下程序的輸出結(jié)果是()0
#include<stdio.h>
main()
{floata=123.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度裝配生產(chǎn)線升級終止合同書
- 二零二五年度旅行社導游旅游產(chǎn)品推廣合同
- 人力資源管理培訓體系構(gòu)建指南
- 小王子經(jīng)典解讀
- 關于辦公室設備維護的通知申請
- 高效事務處理手冊與操作指南
- 食品安全追溯系統(tǒng)合作協(xié)議
- 影視行業(yè)影視作品發(fā)行權(quán)轉(zhuǎn)讓協(xié)議
- 公司債券受托管理合同
- 計算機網(wǎng)絡安全風險防御練習題
- 深圳市一模+Z20名校聯(lián)盟+浙江名校協(xié)作體高三語文2月聯(lián)考作文題目解析及相關范文
- 油氣田開發(fā)專業(yè)危害因素辨識與風險防控
- 假肢安裝合同范本
- DB37-T4824-2025 鄉(xiāng)鎮(zhèn)(街道)應急物資配備指南
- 教育部人文社科 申請書
- 無菌手術(shù)臺鋪置的細節(jié)管理
- 《重大基礎設施項目涉及風景名勝區(qū)選址論證報告編制技術(shù)規(guī)范》編制說明
- 議論文8(試題+審題+范文+點評+素材)-2025年高考語文寫作復習
- 2025-2030年(全新版)中國軟冰淇淋市場發(fā)展趨勢與投資戰(zhàn)略研究報告
- 2025新人教版英語七年級下單詞默寫表(小學部分)
- 2024年大慶醫(yī)學高等??茖W校高職單招語文歷年參考題庫含答案解析
評論
0/150
提交評論