版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
(完整)譚浩強c語言程序設(shè)計習(xí)題集(完整)譚浩強c語言程序設(shè)計習(xí)題集(完整)譚浩強c語言程序設(shè)計習(xí)題集(完整)譚浩強c語言程序設(shè)計習(xí)題集編輯整理:尊敬的讀者朋友們:這里是精品文檔編輯中心,本文檔內(nèi)容是由我和我的同事精心編輯整理后發(fā)布的,發(fā)布之前我們對文中內(nèi)容進行仔細校對,但是難免會有疏漏的地方,但是任然希望((完整)譚浩強c語言程序設(shè)計習(xí)題集)的內(nèi)容能夠給您的工作和學(xué)習(xí)帶來便利。同時也真誠的希望收到您的建議和反饋,這將是我們進步的源泉,前進的動力。本文可編輯可修改,如果覺得對您有幫助請收藏以便隨時查閱,最后祝您生活愉快業(yè)績進步,以下為(完整)譚浩強c語言程序設(shè)計習(xí)題集的全部內(nèi)容。目錄重要次重要重復(fù)或欲刪除基礎(chǔ)HYPERLINK1.2填空題HYPERLINK第二章數(shù)據(jù)類型、運算符與表達式HYPERLINK2。1選擇題HYPERLINK2.2填空題HYPERLINK第三章最簡單的C程序設(shè)計HYPERLINK3。1選擇題HYPERLINK\l”_3。2_填空題”3。2填空題HYPERLINK4。1選擇題HYPERLINK\l”_4。2_填空題”4。2填空題HYPERLINK\l”_4.3_編程題"4。3編程題HYPERLINK\l”_第五章_循環(huán)控制"第五章循環(huán)控制HYPERLINK\l”_5.1_選擇題"5。1選擇題HYPERLINK5。2填空題HYPERLINK7.2填空題HYPERLINK第八章編譯預(yù)處理8.1選擇題8.2填空題8。3編程題HYPERLINK9.1選擇題HYPERLINK\l”_9.2_填空題"9.2填空題9。3編程題第十章結(jié)構(gòu)體和共用體10.1選擇題10.2填空題10.3編程題第十一章位運算11.1選擇題11。2填空題11。3編程題第十二章文件12。1選擇題12。2填空題12.3編程題第一章C語言概述1。1選擇題*1.1一個C程序的執(zhí)行是從A。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(0)函數(shù),它可以使得程序在任何時候、任何位置結(jié)束程序的運行。如果不考慮exit(0)等函數(shù)的特殊作用,C則總是在main函數(shù)結(jié)束。*1.2以下敘述正確的是C.A)在C程序中,main函數(shù)必須位于程序的最前面B)在C程序的每一行只能寫一條語句C)C語言本身沒有輸入輸出語句D)在對一個C程序進行編譯的過程中,可發(fā)現(xiàn)注釋中的拼寫錯誤參考答案:C參考分析:C程序?qū)ain函數(shù)的位置沒有任何要求;其書寫格式自由,一行可以寫多條語句,一條語句(多關(guān)鍵字語句)可以寫在多行;C語言忽略注釋,把注釋看作是一個空格,不會對注釋中的內(nèi)容進行語法檢查。因此,如果注釋中存在錯誤,系統(tǒng)是不可能發(fā)現(xiàn)的。另外,C語言的I/O操作均通過函數(shù)實現(xiàn),系統(tǒng)本身未提供相應(yīng)的語句。1.3以下敘述不正確的是D。A)一個C源程序可由一個或多個函數(shù)組成B)一個C源程序必須包含一個main函數(shù)C)C程序的基本組成單位是函數(shù)D)在C程序中,注釋說明只能位于一條語句的后面參考答案:D參考分析:C語言中,注釋語句的位置是任意的,當(dāng)然,它不能破壞標識符的完整性。C語言只是將一個注釋看作是一個空格,因此對注釋內(nèi)的任何錯誤都不作檢查。1。4C語言規(guī)定:在一個源程序中,main函數(shù)的位置C.A)必須在最開始B)必須在系統(tǒng)調(diào)用的庫函數(shù)的后面C)可以任意D)必須在最后參考答案:C*1。5一個C語言程序是由B。A)一個主程序和若干個子程序組成B)若干函數(shù)組成C)若干過程組成D)若干子程序組成參考答案:B參考分析:通常許多語言程序由主程序和子程序構(gòu)成,但是C語言是函數(shù)式語言,整個程序由眾多函數(shù)組成。盡管有時習(xí)慣上稱main函數(shù)為主程序,顯然,嚴格地講還是B更為符合C語言的規(guī)則.1.2填空題1。6C源程序的基本單位是【】。參考答案:函數(shù)1.7一個C源程序中至少應(yīng)包括一個【】.參考答案: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選擇題**2。1C語言中(以16位PC機為例),各數(shù)據(jù)類型的存儲空間長度的排列順序為A)char〈int<long〈=float<doubleB)char=int〈long〈=float<doubleC)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)境。*2。2若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變量的值。**2.3假設(shè)所有變量均為整型,則表達式(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語言關(guān)鍵字的選項是。A)defineB)getcC)includeD)whileIFcharscanfgotypeprintfcasepow參考答案:A參考分析:是關(guān)鍵字的有:char、case、while。auto局部變量(自動儲存)
break無條件退出程序最內(nèi)層循環(huán)
caseswitch語句中選擇項
char單字節(jié)整型數(shù)據(jù)
const定義不可更改的常量值
continue中斷本次循環(huán),并轉(zhuǎn)向下一次循環(huán)
defaultswitch語句中的默認選擇項
do用于構(gòu)成do.。。。.while循環(huán)語句
double定義_blank”雙精度浮點型數(shù)據(jù)
else構(gòu)成if.。。.。else選擇程序結(jié)構(gòu)
enum枚舉
extern在其它程序模塊中說明了全局變量
float定義\t”_blank”單精度浮點型數(shù)據(jù)
for構(gòu)成HYPERLINK”https:///s?wd=for%E5%BE%AA%E7%8E%AF&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YvuycvPjbYn1I9rjNWujmL0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN—TLwGUv3En1fdnHmYn1mY"for循環(huán)語句
goto構(gòu)成goto轉(zhuǎn)移結(jié)構(gòu)
if構(gòu)成if.。。。else選擇結(jié)構(gòu)
int基本整型數(shù)據(jù)
long長整型數(shù)據(jù)
registerCPU內(nèi)部寄存的變量
return用于返回函數(shù)的返回值
short短整型數(shù)據(jù)
signed有符號數(shù)
sizoef計算表達式或數(shù)據(jù)類型的占用字節(jié)數(shù)
static定義靜態(tài)變量
struct定義結(jié)構(gòu)類型數(shù)據(jù)
switch構(gòu)成switch選擇結(jié)構(gòu)
typedef重新定義數(shù)據(jù)類型
union聯(lián)合類型數(shù)據(jù)
unsigned定義無符號數(shù)據(jù)
void定義無類型數(shù)據(jù)
volatile該變量在程序中執(zhí)行中可被隱含地改變
while用于構(gòu)成do。..while或while\t”_blank”循環(huán)結(jié)構(gòu)2.5下列四組選項中,均是C語言關(guān)鍵字的選項是。A)autoB)switchC)signedD)ifenumtypedefunionstructincludecontinuescanftype參考答案:B參考分析:不是關(guān)鍵字的:include、scanf、type*2.6下面四個選項中,均是不合法的用戶標識符的選項是.A)AB)floatC)b-aD)_123P_0la0gototempdo_AintINT參考答案:C參考分析:合法的有:A、P_0、la0、_A、_123、temp、INT。**2.7C語言中的標識符只能由字母、數(shù)字和下劃線三種字符組成,且第一個字符A)必須為字母B)必須為下劃線C)必須為字母或下劃線D)可以是字母、數(shù)字和下劃線中的任一種字符參考答案:C參考分析:教材中只是強調(diào)首字符必須為字母,我們應(yīng)當(dāng)知道,在語言系統(tǒng)中,下劃線和字母具有同等的“法律效力”。*2。8下面四個選項中,均是合法整型常量的選項是.A)160B)—0xcdfC)-01D)—0x48a-0xffff01a986,0122e50110xe06680x參考答案:A參考分析:不合法的B2,C2,C3,D2。解釋:A2:—0xffff十六進制數(shù)本身已經(jīng)包含了符號位,一般不前面加符號位,但加上符號位也不錯誤;C3:0668在有些C系統(tǒng)中,八進制數(shù)中允許出現(xiàn)8,但是通常不允許使用8;D3:0x顯然后面缺少數(shù)值,但在TC中是允許的.*2。9下面四個選項中,均是不合法的整型常量的選項是。A)——0f1B)-0XcdfC)-018D)—0x48eg—0xffff017999—068001112,4565e203f參考答案:D參考分析:不合法的A1,B3,C1,C3,D。解釋:A1:-—0f1十六進制數(shù)沒有0x,顯然不合法,這里需要討論的是常量前面允許不允許加上——號,是否可以負負得正,顯然不可以,--在C中是自減運算,它只適用于變量;B1:0XcdfX大寫也可以!C3:5e2是個實型數(shù).*2.10下面四個選項中,均是不合法的浮點數(shù)的選項是.A)160。B)123C)—。18D)—e30。122e4。2123e4。234e3.e50。01e3參考答案:B參考分析:不合法的有A3,B,D1。部分解釋:A1,D2:C語言中小數(shù)點前面或后面的0可以省略。但是不能只有小數(shù)點自身;A3,B3,D1:e的前后必須有合法數(shù)字。1.e2.1e2合法,。e2不合法;B1:123是整型數(shù),不是浮點數(shù)。*2。11下面四個選項中,均是合法的浮點數(shù)的選項是.A)+1e+1B)-。60C)123eD)-e35e-9.412e—41。2e—.4。8e-403e2—8e5+2e—15.e—0參考答案:B參考分析:不合法的有A2:階碼不能為小數(shù);A3:浮點數(shù)的尾數(shù)及階碼不能用八進制數(shù)表示;C1:e后必須有整數(shù),C2:階碼不能為小數(shù);D1:缺少尾數(shù)。*2。12下面四個選項中,均是合法轉(zhuǎn)義符的l選項是。A)'\'’B)'\'C)'\018'D)'\\0’'\\’’\017’’\f’'\101''\n'’\"'’xab’'x1f’參考答案:A參考分析:”\"后面的數(shù)字,c總是按照八或十六進制解釋。由于c支持擴展ASCII字符集,所以,八進制數(shù)范圍在0~377,十六進制數(shù)范圍在00~ff.*2.13下面四個選項中,均是不合法的轉(zhuǎn)義符的選項是。A)'\”'B)'\1011'C)'\011'D)'\abc''\\’'\’’\f'’\101’’\xf''\a’'\}’’x1f’參考答案:B參考分析:不合法的有B1,B2,B3,C3,D1,D3;但B3和C3值得討論,實際上,’\a'是一個轉(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*2.15下面四個選項中,均是不正確的八進制或十六進制數(shù)的選項是。A)016B)0abcC)010D)0a120x8f017—0x117ff0180xa0x16-123參考答案:D參考分析:不正確的有A3:非法八進制數(shù);B1、D1、D2:缺少x;D3是十進制數(shù)。2.16下面四個選項中,均是正確的八進制或十六進制數(shù)的選項是。A)-10B)0abcC)0010D)0a120x8f—017—0x11-0x123—0110xc0xf1—0xa參考答案:C參考分析:不正確的有A1:這是十進制數(shù);B1、D1:缺少x2。17下面四個選項中,均是正確的數(shù)值常量或字符常量的選項是.A)0.0B)”a"C)'3’D)+0010f3。9e-2。50110xabcd8。9e1e10xFF002e2'&''\”'0a50.參考答案: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)的單引號不需雙寫.C語言中,在不引起誤解的情況下,雙引號界定的字符串里的單引號可以不加轉(zhuǎn)義標志”\”,單引號界定的雙引號字符也可以不加轉(zhuǎn)義標志”\”。2。19對應(yīng)以下各代數(shù)式中,若變量a和x均為double類型,則不正確的c語言表達式是。A)ex^2/2exp(x*x/2)/sqr(2*3.14159)√2πB)?(ax+a+x/4a)1。0/2.0*(a*x+(a+x)/(4*a))C)√sinx2。5sqrt((pow(sin(x*3。14159/180),2。5))D)x2—e5x*x—exp(5。0)參考答案:C2.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ī)定的表達式是。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)應(yīng)將float用括號擴起來(強制類型轉(zhuǎn)換)。*2。23以下不正確的敘述是。A)在C程序中,逗號運算符的優(yōu)先級最低B)在C程序中,APH和aph是兩個不同的變量C)若a和b類型相同,在計算表達式a=b后,b的值將放入a中,而b中的值不變D)當(dāng)從鍵盤輸入數(shù)據(jù)時,對于整型變量只能輸入整型數(shù)值,對于實型變量只能輸入實型數(shù)值參考答案:D參考分析:整型變量可以輸入實型數(shù)值,實型變量也可以輸入整型數(shù)值2.24以下正確的敘述是。A)在C程序中,每行只能寫一條語句B)若a是實型變量,C程序中允許賦值a=10,因此實型變量中允許存放整型數(shù)C)在C程序中,無論是整數(shù)還是實數(shù),都能被準確無誤地表示D)在C程序中,%是只能用于整數(shù)運算的運算符參考答案:D參考分析:注意它的描述,是只能用于整數(shù)運算,而不是整型數(shù)運算.*2。25以下符合C語言語法的有賦值能力的表達式是。A)d=9+e+f=d+9B)d=9+e,f=d+9C)d=9+e,e++,d+9D)d=9+e++=d+7參考答案:B參考分析:C不是賦值表達式,是逗號表達式,賦值僅是其中的一部分.嚴格說來,B也不是賦值表達式,它是由兩個賦值表達式組成的逗號表達式。**2。26已知字母A的ASCII碼為十進制數(shù)65,且c2為字符型,則執(zhí)行語句c2='A’+'6'—'3’;后,c2的值為。A)DB)68C)不確定的值D)C參考答案:A參考分析:表達式中的各字符以各自的ASCII碼參與運算。*2.27在C語言中,要求運算數(shù)必須是整型(數(shù))的運算符是。A)/B)++C)!=D)%參考答案:D參考分析:理論上++運算都是針對整型(含字符型)的,盡管現(xiàn)在很多系統(tǒng)提供了對實型變量的增量運算.*2。28若以下變量均是整型,且num=sum=7;則計算表達式sUM=num++,sUM++,++num后sum的值為。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設(shè)變量a是整型,f是實型,i是雙精度型,則表達式10+'a’+i*f值的數(shù)據(jù)類型為。A)intB)floatC)doubleD)不確定參考答案:C參考分析:實型只要參與運算就自動轉(zhuǎn)換為double型.2.34下面四個選項中,均是非法常量的選項是。A)'as’B)’\\'C)—0x18D)0xabc-0fff’\01'01177’\0’’\0xa'12,4560xf"a”參考答案:A參考分析:A3轉(zhuǎn)義字符以十六進制描述時,前面不能加0.非法的還有B3*2.35若有代數(shù)式√yx+log10y,則正確的C語言表達式是。sqrt(fabs(pow(y,x)+log10(y)))sqrt(abs(pow(y,x)+log10(Y)))sqrt(fabs(pow(x,y)+log10(y)))sqrt(abs(pow(x,y)+log10(y)))參考答案:A參考分析:c語言中整型和實型的絕對值函數(shù)各自獨立,為abs和fabs;pow為一系統(tǒng)函數(shù)pow(y,x)=〉yx。2。36若有代數(shù)式|x3+lgx|,則正確的C語言表達式是。A)fabs(x*3+log10(x))B)abs(pow(x,3)+log10(x))C)abs(pow(x,3.0)+log10(x))D)fabs(pow(x,3。0)+log10(x))參考答案:D參考分析:以上兩題均未說明x,y的類型,從表達式的性質(zhì)可分析隱含為實型,因此應(yīng)使用fabs。*2.37在C語言中,char型數(shù)據(jù)在內(nèi)存中的存儲形式是。A)補碼B)反碼C)原碼D)ASCII碼參考答案:D參考分析:計算機系統(tǒng)不能存儲字符本身,存儲的是字符的ASCII碼。*2.38設(shè)變量n為float,m為int類型,則以下能實現(xiàn)將n中的數(shù)值保留小數(shù)點后兩位,第三位進行四舍五入的表達式是。A)n=(n*100+0。5)/100。0B)m=n*100+0.5,n=m/100.0C)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設(shè)C語言中,一個int型數(shù)據(jù)在內(nèi)存中占2個字節(jié),則unsignedint型數(shù)據(jù)的取值范圍為.A)0—255B)0—32767C)0-65535D)0-2147483647參考答案:C參考分析:各種數(shù)據(jù)類型的取值范圍是由其字長決定,字長確定的情況下,有符號數(shù)與無符號數(shù)的范圍應(yīng)當(dāng)容易計算得知。2。41設(shè)有說明:charw;intx;floaty;doublez;則表達式w*x+z—y值的數(shù)據(jù)類型為。A)floatB)charC)intD)double參考答案:D參考分析:表達式的類型由表達式結(jié)果的類型決定。雖然本題各變量沒有具體的變量值,由于參與運算的變量中z變量為double型,表達式計算的結(jié)果肯定為double型.2。42若有以下定義,則能使值為3的表達式是。intk=7,x=12;A)x%=k%=5B)x%=k-k%5C)x%=(k-k%5)D)(x%=k)—(k%=5)參考答案:D參考分析:A的值為0,B、C兩個表達式相同,值為2,只有D的值為3。2.43設(shè)以下變量均為int類型,則值不等于7的表達式是.A)x=y=6,x+y,x+1B)x=y=6,x+y,y+1C)x=6,x+1,y=6,x+yD)y=6,y+1,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】.參考答案:【1】1【2】22.45在C語言中(以16位PC機為例),一個float型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為【1】;一個double型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為【2】。參考答案:【1】4【2】82.46若有以下定義,intm=5,y=2;則計算表達式y(tǒng)+=y—=m*=y后y的值是【】。參考答案:-162。47設(shè)C語言中,一個int型數(shù)據(jù)在內(nèi)存中占2各字節(jié),則int型數(shù)據(jù)的取值范圍為【】。參考答案:—32768~327672.48在C語言中的實型變量分為兩種類型,它們是【1】和【2】。參考答案:【1】float【2】double*2.49C參考答案:字符型整型枚舉參考分析:基本類型又稱簡單類型,若分為四種則為字符、整型、實型和枚舉,若分為五種,則將實型分為單精度型和雙精度型兩種。*2。50若s是int型變量,則表達式s%2+(s+1)%2的值為【】。參考答案:1參考分析:無論s是奇數(shù)還是偶數(shù)表達式的值只能是1.*2.51若a是int型變量,則表達式(a=4*5,a*2),a+6的值為【】.參考答案:26*2。52若x和a均是整型變量,則計算表達式(1)后的x值為【1】,計算表達式(2)后x的值為【2】。(1)x=(a=4,6*2)(2)x=a=4,6*2參考答案:【1】12【2】42.53若a、b和c均是int型變量,則計算表達式a=(b=4)+(c=2)后,a的值為【1】,b的值為【2】,c的值為【3】。參考答案:【1】6【2】4【3】22。54若a是int型變量,且a的初值為6,則計算表達式a+=a—=a*a后a的值為【】.參考答案:-602.55若a是int型變量,則計算表達式a=25/3%3后a的值為【】。參考答案:22。56若x和n均是int型變量,且x和n的初值均為5,則計算表達式x+=n++后x的值為【1】,n的值為【2】。參考答案:【1】10【2】62.57若有定義:intb=7;floata=2.5,c=4.7;則表達式a+(int)(b/3*(int)(a+c)/2)%4的值為【】。參考答案:5.52。58若有定義:inta=2,b=3;floatx=3.5,y=2.5;則表達式(float)(a+b)/2+(int)x%(int)y的值為【】。參考答案:3.52.59若有定義:charc=’\010’;則變量c中包含的字符個數(shù)為【】.參考答案:12.60若有定義:intx=3,y=2;floata=2.5,b=3.5;則表達式(x+y)%2+(int)a/(int)b的值為【】。參考答案:12。61若有定義:intx=12,n=5;則計算表達式x%=(n%=2)后x的值為【】。參考答案:02.62若有定義:inta,b;表達式a=2,b=5,a++,b++,a+b的值為【】。參考答案:92。63C語言中的標識符只能由三種字符組成,它們是【1】、【2】和【3】。參考答案:【1】字符【2】數(shù)字【3】下劃線*2.64已知字母a的ASCII碼為十進制數(shù)97,且設(shè)ch為字符型變量,則表達式ch='a'+’8'—’3'的值為【】。參考答案:f參考分析:表達式計算中取各個字符的ASCII碼值進行計算,但ch的值是以計算結(jié)果為碼值的字符.2。65把以下多項式寫成只含七次乘法運算,其余皆為加、減運算的表達式為【】。參考答案:((((((5*x+3)*x—4)*x+2)*x+1)*x—6)*x+1)*x+102.66若doublex=3。0,y=2.0;則表達式pow(y,fabs(x))的值為【】。參考答案:8。02。67若有定義:inte=1,f=4,g=2;floatm=10。5,n=4.0,k;則計算表達式k=(e+f)/g+sqrt((double)n)*1。2/g+m后k的值是【】.參考答案:13。72.68表達式8/4*(int)2。5/(int)(1.25*(3。7+2。3))值的數(shù)據(jù)類型為().參考答案:int型*2.69表達式pow(2.8,sqrt(double(x)))值的數(shù)據(jù)類型為【】。參考答案:double型*2.70假設(shè)m是一個三位數(shù),從左到右用a、b、c表示各位的數(shù)字,則從左到右各個數(shù)字是bac的三位數(shù)表達式是【】。參考答案:m/10%10*100+m/100*10+m%10參考分析:數(shù)字各個位的分離可以先整除再取余,也可以先取余再整除.第三章最簡單的C程序設(shè)計3。1選擇題3。1putchar函數(shù)可以向終端輸出一個。A)整型變量表達式B)實型變量值C)字符串D)字符或字符型變量值參考答案:D參考分析:putchar函數(shù)的作用是輸出一個字符,可以是常量或變量。*3.2以下程序的輸出結(jié)果是。printf(”\n*s1=%15s*","chinabeijing”);printf(”\n*s2=%—5s*”,”chi");A)*s1=chinabeijing□□□*B)*s1=chinabeijing□□□**s2=**chi**s2=chi□□*C)*s1=□□chinabeijing*D)*s1=□□□chinabeijing**s2=□□chi**s2=chi□□*參考答案: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("%8lx",a);以下正確的敘述是。A)整型變量的輸出格式符只有%d一種B)%x是格式符的一種,它可以適用于任何一種類型的數(shù)據(jù)C)%x是格式符的一種,其變量的值按十六進制輸出,但%8lx是錯誤的D)%8lx不是錯誤的格式符,其中數(shù)字8規(guī)定了輸出字段的寬度參考答案:D參考分析:答案B基本上是正確的,但是%x不能正確的輸出長整型數(shù)據(jù).*3.5以下C程序正確的運行結(jié)果是。main(){longy=—43456;printf(”y=%-8ld\n”,y);printf(”y=%-08ld\n",y);printf("y=%08ld\n”,y);printf(”y=%+8ld\n”,y);}A)y=□□—43456B)y=—43456y=—□□43456y=-43456y=—0043456y=-0043456y=-43456y=+□-43456C)y=—43456D)y=□□-43456y=-43456y=-0043456y=-0043456y=00043456y=□□—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=□□□2456B)y=□□□4630y=□□□□□□□□2456y=□□□□□□□□4630y=########2456y=########4630C)y=2456D)y=4630y=□□□□2456y=□□□□4630y=□□□02456y=□□□04630參考答案:D參考分析:#要求輸出數(shù)據(jù)的類型特征符號。3。7以下C程序正確的運行結(jié)果是。main(){longy=23456;printf(”y=%3lx\n”,y);printf(”y=%8lx\n",y);printf("y=%#8lx\n",y);}A)y=5ba0B)y=□□□5ba0y=□□□□5ba0y=□□□□□□□□5ba0y=□□0x5ba0y=□□0x5ba0C)y=5ba0D)y=5ba0y=5ba0y=□□□□5ba0y=0x5ba0y=####5ba0參考答案:A分析:長整型數(shù)據(jù)輸出應(yīng)當(dāng)加修正字符l,如果不加l僅能輸出數(shù)據(jù)的低兩個字節(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(”%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ù)賦給變量z.B)首先讀入2個寬度的十進制數(shù)賦給變量x,再讀入格式規(guī)定的第一和第二數(shù)據(jù)間的間隔符號星號,然后讀入第二個十進制整數(shù)賦給變量y,然后讀入第三個double型數(shù)據(jù)賦給變量z。C)讀入第一個十六進制數(shù)賦給變量x,然后虛讀一個十進制數(shù)不賦給任何變量,最后讀入一個八進制數(shù)賦給變量y。D)%6。2f不符合格式規(guī)定,即不能規(guī)定讀入數(shù)據(jù)的小數(shù)點后的數(shù)字位數(shù)。*3.9已有如下定義和輸入語句,若要求a1,a2,c1,c2的值分別為10,20,A和B,當(dāng)從第一列開始輸入數(shù)據(jù)時,正確的數(shù)據(jù)輸入方式是。inta1,a2;charc1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);A)10A□20B〈CR>B)10□A□20□B<CR〉C)10□A20B<CR〉D)10A20□B〈CR>參考答案:A*3.10已有定義intx;floaty;且執(zhí)行scanf("%3d%f”,&x,&y);語句時,從第一列開始輸入數(shù)據(jù)12345□678〈CR〉,則x的值為⑴,y的值為⑵。⑴A)12345B)123C)45D)345⑵A)無定值B)45。0C)678。0D)123。0參考答案:BB參考分析:讀取數(shù)據(jù)格式中規(guī)定域?qū)挄r,系統(tǒng)僅讀取指定寬度的數(shù)據(jù)。**3.11已有如下定義和輸入語句,若要求a1,a2,c1,c2的值分別為10,20,A和B,當(dāng)從第一列開始輸入數(shù)據(jù)時,正確的數(shù)據(jù)輸入方式是。inta1,a2;charc1,c2;scanf(”%d%d",&a1,&a2);scanf(”%c%c”,&c1,&c2);A)1020AB〈CR>B)10□20〈CR〉A(chǔ)B<CR〉C)10□□20□□AB〈CR>D)10□20AB〈CR>參考答案:D參考分析:A)a1為1020,a2為隨機值,c1為A,c2為B。B)a1為10,a2為20,c1為<CR〉,c2為A。C)a1為10,a2為20,c1、c2均為□。3。12已有程序段和輸入數(shù)據(jù)的形式,程序中輸入語句的正確形式應(yīng)當(dāng)為。main(){inta;floatf;printf("Inputnumber:”);(輸入語句)printf("\nf=%f,a=%d\n”,f,a);}Inputnumber:4.5□□2<CR〉A(chǔ))scanf("%d,%f",&a,&f);B)scanf("%f,%d”,&f,&a);C)scnaf("%d%f”,&a,&f);D)scanf("%f%d",&f,&a);參考答案:D3.13根據(jù)定義和數(shù)據(jù)的輸入方式,輸入語句的正確形式為。已有定義:floatf1,f2;數(shù)據(jù)的輸入方式:4.523.5A)scanf("%f,%f”,&f1,&f2);B)scanf("%f%f”,&f1,&f2);C)scanf("%3。2f%2。1f",&f1,&f2);D)scanf("%3。2f%2。1f",&f1,&f2);參考答案:B*3。14閱讀以下程序,當(dāng)輸入數(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)容是。main(){intx;floaty;printf(”enterx,y:”);輸入語句輸出語句}輸入形式:enterx,y:23。4輸出形式:x+y=5。40A)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);參考答案:B3。16以下說法正確的是.A)輸入項可以為一個實型常量,如scanf("%f”,3。5);B)只有格式控制,沒有輸入項,也能進行正確輸入,如scanf(”a=%d,b=%d”);C)當(dāng)輸入一個實型數(shù)據(jù)時,格式控制部分應(yīng)規(guī)定小數(shù)點后的位數(shù),如scanf(”%4。2f",&f);D)當(dāng)輸入數(shù)據(jù)時,必須指明變量的地址,如scanf("%f",&f);參考答案:D*3.17根據(jù)下面程序及數(shù)據(jù)的輸入和輸出形式,程序中輸入語句的正確形式應(yīng)該為。main(){charch1,ch2,ch3;輸入語句printf(”%c%c%c",ch1,ch2,ch3);}輸入形式:A□B□C輸出形式:A□BA)scanf(”%c%c%c”,&ch1,&ch2,&ch3);B)scanf("%c,%c,%c",&ch1,&ch2,&ch3);C)scanf(”%c%c%c",&ch1,&ch2,&ch3);D)scanf(”%c%c",&ch1,&ch2,&ch3);參考答案:A參考分析:字符控制格式中有無空格對數(shù)據(jù)的讀取有影響,B)ch1讀取A,ch2和ch3為隨機字符。C)三個變量分別為A、B、C。D)ch3為隨機字符.3。18有輸入語句:scanf(”a=%d,b=%d,c=%d",&a,&b,&c);為使變量a的值為1,b為3,c為2,從鍵盤輸入數(shù)據(jù)的正確形式應(yīng)當(dāng)是。A)132〈CR>B)1,3,2<CR>C)a=1□b=3□c=2〈CR〉D)a=1,b=3,c=2<CR〉參考答案:D3.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是字符型變量,下面不正確的賦值語句是。A)ch='a+b';B)ch=’\0’;C)ch=’7’+'9’;D)ch=5+9參考答案:A參考分析:B)為轉(zhuǎn)義字符。C)為7和9兩個字符ASCII碼值之和的字符。D)為碼值為14的字符(控制字符)。3。21已知ch是字符型變量,下面正確的賦值語句是。A)ch='123’;B)ch=’\xff';C)ch='\08’;D)ch=”\”;參考答案:B3.22若有以下定義,則正確的賦值語句是。inta,b;floatx;A)a=1,b=2,B)b++;C)a=b=5D)b=int(x);參考答案:B參考分析:這里強調(diào)的是賦值語句,請注意賦值表達式與賦值語句的區(qū)別。3.23設(shè)x、y均為float型變量,則以下不合法的賦值語句為________。A)++x;B)y=(x%2)/10;C)x*=y+8D)x=y=0參考答案:B*3。24設(shè)x、y和z均為int型變量,則執(zhí)行語句x=(y=(z=10)+5)-5;后,x、y和z的值是.A)x=10B)x=10C)x=10D)x=10y=15y=10y=10y=5z=10z=10z=15z=10參考答案:A3.25設(shè)有說明:doubley=0.5,z=1。5;intx=10;則能夠正確使用C語言庫函數(shù)的賦值語句是.A)z=exp(y)+fabs(x);B)y=log10(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).C)y—z為負數(shù)。3。2填空題*3.26以下程序的輸出結(jié)果為()。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é)果為().main(){printf("*%f,%4.3f*\n”,3.14,3.1415);}參考答案:*3。140000,3。142*分析:不能輸出的位會向前一位四舍五入輸出。3。28以下程序的輸出結(jié)果為()。main(){charc=’x’;printf(”c:dec=%d,oct=%o,hex=%x,ASCII=%c\n",c,c,c,c);}參考答案:c:dec=120,oct=170,hex=78,ASCII=x*3。29已有定義intd=—2;執(zhí)行以下語句后的輸出結(jié)果是().printf("*d(1)=%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(1)=-2*d(2)=□—2*d(3)=—2□**d(4)=177776*d(5)=□177776*d(6)=177776□*3.30已有定義intd=-2;執(zhí)行以下語句后的輸出結(jié)果是()。printf(”*d(1)=%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(1)=-2*d(2)=□—2*d(3)=—2□**d(4)=fffe*d(5)=□□fffe*d(6)=fffe□□**3.31已有定義floatd1=3.5,d2=—3.5;執(zhí)行以下語句后的輸出結(jié)果是()。printf("*d(1)=%e*d(2)=%。4e*d(3)=%10.4e*\n”,d1,d1,d1);printf(”*d(4)=%e*d(5)=%。6e*d(6)=%—12.5e*\n",d2,d2,d2);參考答案:*d(1)=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+00□*參考分析:通過本題應(yīng)注意%f和%e在規(guī)定小數(shù)點后位數(shù)的區(qū)別.%e小數(shù)位后面位數(shù)含e標志。3.32以下程序的輸出結(jié)果是()。main(){intx=1,y=2;printf("x=%dy=%d*sum*=%d\n”,x,y,x+y);printf("10Squaredis:%d\n”,10*10);}參考答案:x=1y=2*sum*=310Squaredis:100*3.33以下程序的輸出結(jié)果是().#include〈stdio。h>main(){intx=10;floatpi=3.1416;printf("(1)%d\n”,x);printf(”(2)%6d\n”,x);printf(”(3)%f\n",56.1);printf("(4)%14f\n",pi);printf(”(5)%e\n",568。1);printf("(6)%14e\n",pi);printf(”(7)%g\n”,pi);printf("(8)%12g\n",pi);}參考答案:(1)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ù)時,當(dāng)數(shù)據(jù)<=10—5或〉=107時,按指數(shù)方式輸出(缺省正數(shù)11位,負數(shù)12位),否則按小數(shù)方式輸出(缺省含小數(shù)點總寬度最多7位)。且不輸出無意義的0(后面)和小數(shù)點。3.34以下程序的輸出結(jié)果是()。#include<stdio。h>main(){floata=123。456;doubleb=8765.4567;printf("(1)%f\n",a);printf("(2)%14。3f\n",a);printf(”(3)%6.4f\n”,a);printf("(4)%lf\n",b);printf("(5)%14.3lf\n”,b);printf(”(6)%8。4lf\n”,b);printf("(7)%.4lf\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é)果是()。#include<stdio.h>main(){inti=1;printf(”##%*d\n”,i,i);i++;printf("##%*d\n”,i,i);i++;printf("##%*d\n”,i,i);}參考答案:(1)可使同一或相同輸出格式數(shù)據(jù)輸出寬度得以改變(動態(tài)域?qū)捒刂疲?)##1#?!?#?!酢?3。36以下printf語句中的”-"的作用是(),該程序的輸出結(jié)果是()。#include<stdio。h>main(){intx=12;doublea=3。1415926;printf(”%6d##\n",x);printf(”%—6d##\n”,x);printf("%14.10lf##\n",a);printf(”%-14。10lf##\n",a);}參考答案:(1)輸出數(shù)據(jù)左對齊(2)□□□□12##12□□□□##□□3。1415926000##3。1415926000□□##*3。37以下程序的輸出結(jié)果是().#include〈stdio.h>main(){inta=325;doublex=3.1415926;printf(”a=%+06dx=%+e\n",a,x);}參考答案:a=+00325x=+3.14159e+00*3。38以下程序的輸出結(jié)果是()。#include〈stdio.h>main(){inta=252;printf("a=%oa=%#o\n",a,a);printf(”a=%xa=%#x\n”,a,a);}參考答案:a=374□□a=0374a=fc□□a=0xfc3。39以下程序的輸出結(jié)果是()。intx=7281;printf(”(1)x=%3d,x=%6d,x=%o,x=%6x,x=%6u\n”,x,x,x,x,x);printf("(2)x=%-3d,x=%—6d,x=$%-06d,x=$%06d,x=%%06d\n",x,x,x,x,x);printf(”(3)x=%+3d,x=%+6d,x=%+08d\n”,x,x,x);printf(”(4)x=%o,x=%#o\n",x,x);printf("(5)x=%x,x=%#x\n”,x,x);參考答案:(1)x=7281,x=□□7281,x=□16161,x=□□1c71,x=□□7281(2)x=7281,x=7281□□,x=$7281□□,x=$007281,x=%06d(3)x=+7281,x=□+7281,x=+0007281(4)x=16161,x=016161(5)x=1c71,x=0x1c71**3。40假設(shè)變量a和b均為整型,以下語句可以不借助任何變量把a、b中的值進行交換。請?zhí)羁?。a+=();b=a-();a-=();參考答案:bbb3.41假設(shè)變量a、b和c均為整型,以下語句借助中間變量t把a、b和c中的值進行交換,即把b中的值給a,把c中的值給b,把a中的值給c。例如:交換前a=10、b=20、c=30,交換后a=20,b=30,c=10.請?zhí)羁铡?);a=b;b=c;();參考答案:t=ac=t;**3.42設(shè)x、y和z都是int型變量,m為long型變量,則在16位微型機上執(zhí)行下面賦值語句后,y值為(),z值為(),m值為()。y=(x=32767,x—1);z=m=oxffff;參考答案:32766、-1、655353.43若x為int型變量,則執(zhí)行以下語句后x的值為().x=7;x+=x-=x+x;參考答案:-143.44若a和b均為int型變量,則以下語句的功能是()。a+=b;b=a-b;a—=b;參考答案:交換a、b變量的值*3。45在scanf函數(shù)調(diào)用語句中,可以在格式字符和%號之間加一星號,它的作用是(),當(dāng)輸入以下數(shù)據(jù):10□□20□□30□□40〈CR〉,下面語句的執(zhí)行結(jié)果是()。inta1,a2,a3;scanf("%d%*d%d%d",&a1,&a2,&a3);參考答案:讀入數(shù)據(jù)后不賦給相應(yīng)的變量把10給a1,把20不給任何變量,把30給a2,把40給a33。46有一輸入函數(shù)scanf(”%d”,k);則不能使float類型變量k得到正確數(shù)值的原因是()和(),正確的語句應(yīng)為()。參考答案:格式字符不正確缺少&符號scanf(”%f”,&k);3。47已有定義inta;floatb,x;charc1,c2;為使a=3,b=6.5,x=12.6,c1=’a’,c2=’A’,正確的scanf函數(shù)調(diào)用語句是(),輸入數(shù)據(jù)的方式為().參考答案:scanf(”%d%f%f%c1%c2",&a,&b,&x,&c1,&c2);3□6.5□12。6aA參考分析:該題目不好,讀取數(shù)據(jù)語句和提供數(shù)據(jù)方式全部由做題者決定,這會出現(xiàn)各式各樣的答案。*3.48若有以下定義和語句,為使變量c1得到字符'A’,變量c2得到字符'B’,正確的格式輸入形式是().charc1,c2;scanf("%4c%4c”,&c1,&c2);參考答案:A□□□B□□□參考分析:讀取字符數(shù)據(jù)指定數(shù)據(jù)寬度時,系統(tǒng)讀取第一個字符*3.49執(zhí)行以下程序時,若從第一列開始輸入數(shù)據(jù),為使變量a=3,b=7,x=8。5,y=71.82,c1=’A’,c2=’a',正確的數(shù)據(jù)輸入形式是()。inta,b;floatx,y;charc1,c2;scanf(”a=%db=%d”,&a,&b);scanf("x=%fy=%f”,&x,&y;scanf(”c1=%cc2=%c”,&c1,&c2);參考答案:a=3□b=7x=8。5□y=71。82c1=A□c2=a<CR〉*3。50已有定義inti,j;floatx;為將—10賦給i,12賦給j,410。34賦給x;則對應(yīng)以下scanf函數(shù)調(diào)用語句的數(shù)據(jù)輸入形式是()。scanf("%o%x%e",&i,&j,&x);參考答案:-12□c□4。1034e2參考分析:第一個數(shù)也可給17776,第二個數(shù)也可給0xc,第三個數(shù)也可給410。34.第四章邏輯運算和判斷選取控制4.1選擇題**4.1邏輯運算符兩則運算對象的數(shù)據(jù)類型.A)只能是0或1B)只能是0或非0正數(shù)C)只能是整型或字符型數(shù)據(jù)D)可以是任何類型的數(shù)據(jù)參考答案:D參考分析:c語言中沒有專用的邏輯量,任何數(shù)值類型的數(shù)據(jù)都可以作為邏輯數(shù)據(jù)使用,判斷時0為假,非零為真,計算時真置1,假置0。*4.2以下關(guān)于運算符優(yōu)先順序的描述中正確的是A)關(guān)系運算符<算術(shù)運算符〈賦值運算符〈邏輯運算符B)邏輯運算符<關(guān)系運算符〈算術(shù)運算符<賦值運算符C)賦值運算符<邏輯運算符〈關(guān)系運算符〈算術(shù)運算符D)算術(shù)運算符〈關(guān)系運算符〈賦值運算符〈邏輯運算符參考答案:C4.3下列運算符中優(yōu)先級最高的是。A)〈B)+C)&&D)!=參考答案:B*4。4能正確表示“當(dāng)x的取值在[1,10]和[200,210]范圍內(nèi)為真”的C語言表達式為。(x>=1)&&(x〈=10)&&(x>=200)&&(x<=210)(x〉=1)&&(x〈=10)||(x>=200)&&(x<=210)(x>=1)||(x〈=10)||(x〉=200)||(x<=210)(x〉=1)||(x<=10)&&(x>=200)||(x<=210)參考答案:B參考分析:C語言中實際上與運算和或運算優(yōu)先級相等,由于C采用短路算法,所以不會影響B(tài)的結(jié)果,即不需要改成((x〉=1)&&(x<=10))||((x>=200)&&(x〈=210))4。5表示圖中坐標軸上陰影部分正確的表達式是。|||abcA)(x〈=a)&&(x〉=b)&&(x<=c)B)(x<=a)||(b<=x〈=c)C)(x〈=a)||(x>=b)&&(x<=c)D)(x<=a)&&(b〈=x〈=c)參考答案:C4.6判斷char型變量ch是否為大寫字母的正確表達式為。A)'A’〈=ch<=’Z’B)(ch>='A’)&(ch〈='Z')C)(ch>=’A')&&(ch〈='Z’)D)(’A’<=ch)AND(’Z’〉=ch)參考答案:C4.7有intx=3,y=4,z=5;則下面表達式中值為0的是。A)'x’&&'y’B)x〈=yC)x||y+z&&y-zD)!((x〈y)&&!z||1)參考答案:D4。8已知x=43,ch=’A’,y=0;則表達式(x〉=y&&ch<’B’&&!y)的值是。A)0B)語法錯誤C)1D)”假"參考答案:C4。9若希望當(dāng)A的值為奇數(shù)時,表達式的值為“真”,A的值為偶數(shù)時,表達式的值為“假”.則以下不能滿足要求的表達式是。A)A%2==1B)!(A%2==0)C)?。ˋ%2)D)A%2參考答案:C*4.10設(shè)有:inta=1,b=2,c=3,d=4,m=2,n=2;執(zhí)行(m=a>b)&&(n=c〉d)后n的值為。A)1B)2C)3D)4參考答案:B參考分析:本題為標準的短路算法,由于第一個表達式m=a〉b為真,故第二個表達式n=c〉d被短路不再計算。因此,n值仍然保持原來的值2不變.4。11判斷char型變量ch是否為小寫字母的正確表達式為。A)’a'〈=ch〈=’z’B)(ch〉=a)&&(ch〈=z)C)(ch〉='a’)||(ch<=’z’)D)(ch〉='a’)&&(ch〈='z’)參考答案:D*4.12以下程序的運行結(jié)果是。#include〈stdio.h>main(){inta,b,d=241;a=d/100%9;b=(-1)&&(-1);printf("%d,%d”,a,b);}A)6,1B)2,1C)6,0D)2,0參考答案:B參考分析:計算時,非零為真.*4。13執(zhí)行以下語句后a的值為,b的值為。inta,b,c;a=b=c=1;++a||++b&&++c;A)0B)1C)2D)錯誤參考答案:CB參考分析:c語言在計算表達式時采用短路算法。4.13-改執(zhí)行以下語句后,a,b,c的值分別為。inta,b,c;a=b=c=1;++a||++b&&++c;A)1,1,1B)2,1,1C)2,2,1D)2,2,2參考答案:B4.14執(zhí)行以下語句后a的值為,b的值為。inta=5,b=6,w=1,x=2,y=3,z=4;(a=w〉x)&&(b=y>z);(1)A)5B)0C)2D)1(2)A)6B)0C)1D)4參考答案:BA參考分析:短路算法。*4.15以下不正確的if語句形式是。A)if(x>y&&x!=y);B)if(x==y)x+=y;C)if(x!=y)scanf(”%d”,&x)elsescanf(”%d”,&y);D)if(x<y){x++;y++;}參考答案:C4.16下列運算符中優(yōu)先級最低的是,優(yōu)先級最高的是。A)?:B)&&C)+D)!=參考答案:AC*4。17已知intx=10,y=20,z=30;以下語句執(zhí)行后x,y,z的值是。if(x>y)z=x;x=y;y=z;A)10,20,30B)20,30,30C)20,30,10D)20,30,20參考答案:C4。18以下if語句語法正確的是.A)if(x〉0)printf("%f”,x)elseprintf("%f",-x);B)if(x〉0){x=x+y;printf("%f",x);}elseprintf(”%f”,-x);C)if(x>0){x=x+y;printf("%f",x);};elseprintf(”%f",—x);D)if(x〉0){x=x+y;printf("%f",x)}elseprintf("%f”,—x);參考答案:B*4.19有程序:main(){inta=5,b=1,c=0;if(a=b+c)printf(”***\n”);elseprintf("$$$\n");}該程序。A)有語法錯誤不能通過編譯B)可以通過編譯,但不能通過連接C)輸出:***D)輸出:$$$參考答案:C參考分析:注意條件表達式不是a==b+c。*4。20以下程序的運行結(jié)果是。main(){intm=5;if(m++>5)printf("%d”,—-m);elseprintf("%d",m++);}A)4B)5C)6D)7參考答案:C參考分析:m先與5進行關(guān)系比較,然后進行增量運算,m值為6,因比較結(jié)果為假,執(zhí)行else,輸出為6,m為7。4。21當(dāng)a=1,b=3,c=5,d=4時,執(zhí)行完下面一段程序后x的值是。if(a<b)if(c〈d)x=1;elseif(a<c)if(b<d)x=2;elsex=3;elsex=6;elsex=3;A)1B2C)3D)6參考答案:B**4。22有函數(shù)關(guān)系如下,能正確表示該關(guān)系的程序段是。xyx〈
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年電商平臺運營管理服務(wù)協(xié)議版B版
- 個人門窗安裝合同范本(2024版)
- 二手房中介勞動合同模板(2024版)
- 二零二五版綠色建材認證及采購合同3篇
- 二零二五年度蔬菜產(chǎn)業(yè)數(shù)據(jù)共享協(xié)議2篇
- 2025年度航空客運服務(wù)采購與質(zhì)量管理體系合同3篇
- 二零二五版LNG現(xiàn)貨交易與風(fēng)險管理合同2篇
- 2025年度鋅錠生產(chǎn)技術(shù)改造升級合作協(xié)議3篇
- 2024版居間銷售合同
- 二零二五年度住宅小區(qū)公共收益管理服務(wù)協(xié)議
- TSGD7002-2023-壓力管道元件型式試驗規(guī)則
- 2024年度家庭醫(yī)生簽約服務(wù)培訓(xùn)課件
- 建筑工地節(jié)前停工安全檢查表
- 了不起的狐貍爸爸-全文打印
- 糖尿病酮癥酸中毒病例討論-文檔資料
- 液相色譜質(zhì)譜質(zhì)譜儀LCMSMSSYSTEM
- 民辦非企業(yè)單位章程核準表-空白表格
- 派克與永華互換表
- 第二章流體靜力學(xué)基礎(chǔ)
- 小學(xué)高年級語文作文情景互動教學(xué)策略探究教研課題論文開題中期結(jié)題報告教學(xué)反思經(jīng)驗交流
- 春節(jié)新年紅燈籠中國風(fēng)信紙
評論
0/150
提交評論