![新編C程序設(shè)計(jì)教程課件教學(xué)PPT作者趙忠孝新編C程序設(shè)計(jì)教程習(xí)題集(參考答案)_第1頁(yè)](http://file4.renrendoc.com/view/833039ca5d57938a91d0f7e595b94070/833039ca5d57938a91d0f7e595b940701.gif)
![新編C程序設(shè)計(jì)教程課件教學(xué)PPT作者趙忠孝新編C程序設(shè)計(jì)教程習(xí)題集(參考答案)_第2頁(yè)](http://file4.renrendoc.com/view/833039ca5d57938a91d0f7e595b94070/833039ca5d57938a91d0f7e595b940702.gif)
![新編C程序設(shè)計(jì)教程課件教學(xué)PPT作者趙忠孝新編C程序設(shè)計(jì)教程習(xí)題集(參考答案)_第3頁(yè)](http://file4.renrendoc.com/view/833039ca5d57938a91d0f7e595b94070/833039ca5d57938a91d0f7e595b940703.gif)
![新編C程序設(shè)計(jì)教程課件教學(xué)PPT作者趙忠孝新編C程序設(shè)計(jì)教程習(xí)題集(參考答案)_第4頁(yè)](http://file4.renrendoc.com/view/833039ca5d57938a91d0f7e595b94070/833039ca5d57938a91d0f7e595b940704.gif)
![新編C程序設(shè)計(jì)教程課件教學(xué)PPT作者趙忠孝新編C程序設(shè)計(jì)教程習(xí)題集(參考答案)_第5頁(yè)](http://file4.renrendoc.com/view/833039ca5d57938a91d0f7e595b94070/833039ca5d57938a91d0f7e595b940705.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
新編C程序設(shè)計(jì)教程習(xí)題集第1章習(xí)題選擇題1,用高級(jí)語(yǔ)言編寫的源程序要轉(zhuǎn)換成等價(jià)的目標(biāo)程序,必須經(jīng)過(guò)【】cA)匯編B)編輯C)編譯D)解釋.計(jì)算機(jī)硬件能直接識(shí)別和執(zhí)行的只有【 】DA)高級(jí)語(yǔ)言 B)符號(hào)語(yǔ)言〇匯編語(yǔ)言D)機(jī)器語(yǔ)言3,在同等情況下,計(jì)算機(jī)執(zhí)行【 】速度最快。BA)高級(jí)語(yǔ)言程序B)機(jī)器語(yǔ)言程序〇匯編語(yǔ)言程序D)源程序.以下說(shuō)法錯(cuò)誤的是【 】CA)高級(jí)語(yǔ)言都是用接近人們習(xí)慣的自然語(yǔ)言和數(shù)學(xué)語(yǔ)言作為語(yǔ)言的表達(dá)形式B)計(jì)算機(jī)只能處理由。和1的代碼構(gòu)成的二進(jìn)制指令或數(shù)據(jù)C)C語(yǔ)言源程序經(jīng)過(guò)C語(yǔ)言編譯程序編譯之后生成一個(gè)后綴為.EXE的二進(jìn)制文件D)每ー種髙級(jí)語(yǔ)言都有它對(duì)應(yīng)的編譯程序.以下敘述中錯(cuò)誤的是【 】AA)用戶所定義的標(biāo)識(shí)符允許使用關(guān)鍵字;B)用戶所定義的標(biāo)識(shí)符應(yīng)盡量做到“見(jiàn)名知意”;C)用戶所定義的標(biāo)識(shí)符必須以字母或下劃線開(kāi)頭;D)用戶定義的標(biāo)識(shí)符中,大、小寫字母代表不同標(biāo)識(shí);TOC\o"1-5"\h\z.下列選項(xiàng)中屬于合法C語(yǔ)言關(guān)鍵字的是【 】D。A)VARB)intergerC)floaTD)default.下列字符串不是標(biāo)識(shí)符的是【 】DA)sumB)AverageC)DaynightD)M.C)JOHN.正確的C語(yǔ)言自定義標(biāo)志符是[ 】A。A)file_bak B)abc(10)C)continue D)class+3.ー個(gè)C程序的執(zhí)行是從【 】AA)本程序的main函數(shù)開(kāi)始,到main函數(shù)結(jié)束;B)本程序文件的第一個(gè)函數(shù)開(kāi)始,到本程序文件的最后一個(gè)函數(shù)結(jié)束;C)本程序的main函數(shù)開(kāi)始,到本程序文件的最后一個(gè)函數(shù)結(jié)束;D)本程序文件的第一個(gè)函數(shù)開(kāi)始,到本程序main函數(shù)結(jié)束;.以下敘述中正確的是[ 】AA)構(gòu)成C程序的基本單位是函數(shù)B)可以在ー個(gè)函數(shù)中定義另ー個(gè)函數(shù)C)main()函數(shù)必須放在其他函數(shù)之前D)所有被調(diào)用的函數(shù)一定要在調(diào)用之前進(jìn)行定義.以下敘述不正確的是【 】DA)一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成;B)ー個(gè)C源程序必須包含ー個(gè)main函數(shù);
C)C程序的基本組成單位是函數(shù);D)在C程序中,注釋說(shuō)明只能位于一條語(yǔ)句的后面;.以下敘述中正確的是1 】CA)用C語(yǔ)言實(shí)現(xiàn)的算法必須要有輸入和輸出操作;B)用C語(yǔ)言實(shí)現(xiàn)的算法可以沒(méi)有輸出但必須要有輸入;C)用C程序?qū)崿F(xiàn)的算法可以沒(méi)有輸入但必須要有輸出;D)用C程序?qū)崿F(xiàn)的算法可以既沒(méi)有輸入也沒(méi)有輸出;.以下說(shuō)法錯(cuò)誤的是【 】CA)ー個(gè)算法應(yīng)包含有限個(gè)步驟B)在計(jì)算機(jī)上實(shí)現(xiàn)的算法是用來(lái)處理數(shù)據(jù)對(duì)象的C)算法中指定的操作,不能通過(guò)ー經(jīng)實(shí)現(xiàn)的基本運(yùn)算執(zhí)行有限次后實(shí)現(xiàn)D)算法的目的是為了求解.算法是指為解決某個(gè)特定問(wèn)題而采取的確定且有限的步驟,下面不屬于算法的五個(gè)特性的是【 】BA)有零個(gè)輸入或多個(gè)輸入B)高效性C)有窮性D)確定性二.判斷題ー個(gè)C程序的執(zhí)行總是從該程序的main函數(shù)開(kāi)始,在main函數(shù)最后結(jié)束。[4 ]main函數(shù)必須寫在ー個(gè)C程序的最前面。[X]ー個(gè)C程序可以包含若干的函數(shù)。[寸]C程序的注釋部分可以出現(xiàn)在程序的任何位置,它對(duì)程序的編譯和運(yùn)行不起任何作用。但是可以增加程序的可讀性。【セ)C程序的注釋只能是一行。[X]C程序的注釋不能是中文文字信息。[X]可以使用TurboC來(lái)編譯和連接一個(gè)C程序。]可以使用TurboC來(lái)運(yùn)行一個(gè)C程序。[イ]可以使用TurboC來(lái)實(shí)時(shí)調(diào)試(即動(dòng)態(tài)調(diào)試)ー個(gè)C程序。[ヤ]三.問(wèn)答題.c語(yǔ)言程序的總體結(jié)構(gòu)是怎樣的?答;一個(gè)完整的C語(yǔ)言程序,是由一個(gè)main。函數(shù)(又稱主函數(shù))和若干個(gè)其它函數(shù)結(jié)合構(gòu)成,或僅由一個(gè)main。函數(shù)構(gòu)成。.c語(yǔ)言程序的基本單位是什么?它的結(jié)構(gòu)又如何?答:函數(shù)是C語(yǔ)言程序的基本單位,每個(gè)源文件可由一個(gè)或多個(gè)函數(shù)組成。C語(yǔ)言的任何函數(shù)(包括主函數(shù)main。)都是山函數(shù)首部和函數(shù)體兩部分組成。函數(shù)的一般結(jié)構(gòu)如下:[函數(shù)類型]函數(shù)名(函數(shù)參數(shù)表)函數(shù)首部說(shuō)明語(yǔ)句部分;執(zhí)行語(yǔ)句部分;}.主函數(shù)main。在程序中的地位如何。程序總是從哪個(gè)函數(shù)開(kāi)始執(zhí)行,到哪個(gè)函數(shù)執(zhí)行完后結(jié)束?答:一個(gè)源程序不論由多少個(gè)文件組成,都只能有一個(gè)main函數(shù),即主函數(shù)。main。函數(shù)的作用,相當(dāng)于其它高級(jí)語(yǔ)言中的主程序。其它函數(shù)的作用,相當(dāng)于子程序。不論主函數(shù)在程序中的位置如何,C語(yǔ)言程序總是從main。函數(shù)開(kāi)始執(zhí)行,也是在main。函數(shù)終止執(zhí)行。當(dāng)主函數(shù)執(zhí)行完畢時(shí),整個(gè)程序也執(zhí)行完畢。習(xí)慣上,將主函數(shù)main。放在程序的最前面。.什么是算法?算法的基本特征是什么?答:算法(Algorithm)是為解決某個(gè)問(wèn)題而采取的方法和步驟,是程序的靈魂。ー個(gè)算法應(yīng)該具有以下五個(gè)重要的特征:.有窮性算法的有窮性是指算法必須能在執(zhí)行有限個(gè)步驟之后終止,不能是無(wú)限的。.確切性算法的每ー步驟必須有確切的定義,而不能是含糊的,模棱兩可的。.可行性算法中的所有計(jì)算步都可以被分解為有限次的基本運(yùn)算,即每個(gè)計(jì)算步都可以在有限時(shí)間內(nèi)完成。.有。個(gè)或多個(gè)輸入ー個(gè)算法有0個(gè)或多個(gè)輸入,以刻畫運(yùn)算對(duì)象的初始情況。所謂0個(gè)輸入是指算法本身定出了初始條件。.有一個(gè)或多個(gè)輸出ー個(gè)算法有一個(gè)或多個(gè)輸出,以反映對(duì)輸入數(shù)據(jù)加工后的結(jié)果。沒(méi)有輸出的算法是毫無(wú)意義的。.結(jié)構(gòu)化程序設(shè)計(jì)采用方法是什么?答:結(jié)構(gòu)化程序設(shè)計(jì)方法的主要原則可以概括為:(1)自頂向下。程序設(shè)計(jì)時(shí),應(yīng)先考慮總體,后考慮細(xì)節(jié)。(2)逐步求精。對(duì)復(fù)雜問(wèn)題,應(yīng)設(shè)計(jì)ー些子目標(biāo)作為過(guò)渡,逐步細(xì)化。(3)模塊化。ー個(gè)復(fù)雜問(wèn)題,肯定是由若干個(gè)稍簡(jiǎn)單的問(wèn)題構(gòu)成(4)每種程序結(jié)構(gòu)允許有一個(gè)入口和一個(gè)口。(5)嚴(yán)格控制GOTO語(yǔ)句的使用。.程序設(shè)計(jì)的一般ー那幾個(gè)步驟?答:程序設(shè)計(jì)的?般步驟如下:.分析問(wèn)題對(duì)要解決的問(wèn)題,首先必須分析清楚,明確問(wèn)題的要求,列出所有已知量,找出問(wèn)題的求解范圍、解的精度等。.建立數(shù)學(xué)模型對(duì)實(shí)際問(wèn)題進(jìn)行分析之后,找出它的內(nèi)在規(guī)律,就可以建立數(shù)學(xué)模型。.選擇算法建立數(shù)學(xué)模型后,還不能著手編程序,必須根據(jù)數(shù)據(jù)結(jié)構(gòu),選擇解決問(wèn)題的算法。一般選擇算法時(shí)要注意:(1)算法的邏輯結(jié)構(gòu)盡可能簡(jiǎn)單。(2)算法所要求的存儲(chǔ)量應(yīng)盡可能少。(3)避免不必要的循環(huán),減少算法的執(zhí)行時(shí)間。(4)在滿足問(wèn)題要求條件下,使所需的計(jì)算量最小。.編寫程序把整個(gè)程序看作一個(gè)整體,先全局后局部,自頂向下,一層ー層分解處理。如果某些子問(wèn)題的算法相同,而僅僅是參數(shù)不同,可以用函數(shù)來(lái)表示。.調(diào)試運(yùn)行準(zhǔn)備多組試驗(yàn)數(shù)據(jù),調(diào)試運(yùn)行。對(duì)程序中的錯(cuò)誤進(jìn)行修改,使程序能運(yùn)行出結(jié)果。.分析結(jié)果對(duì)試驗(yàn)數(shù)據(jù)計(jì)算的結(jié)果進(jìn)行分析,看是否正確。如果不正確,返回修改程序,再調(diào)試運(yùn)行。.寫出程序的文檔主要是對(duì)程序中的變量、函數(shù)或過(guò)程作必要的說(shuō)明。解釋編程思路,畫出框圖,討論運(yùn)行結(jié)果等。7.執(zhí)行一個(gè)c語(yǔ)言程序的?般過(guò)程是什么?答:ー個(gè)簡(jiǎn)單C程序的上機(jī)執(zhí)行過(guò)程如下圖所示。1)啟動(dòng)Tc,進(jìn)入Tc集成環(huán)境。2)編輯(或修改)源程序。3)編譯。如果編譯成功,則可進(jìn)行下ー步操作;否則,返回2)修改源程序,再重新編譯,直至編譯成功。4)連接。如果連接成功,則可進(jìn)行下ー步操作;否則,根據(jù)系統(tǒng)的錯(cuò)誤提示進(jìn)行相應(yīng)修改,再重新連接,直至連接成功。5)運(yùn)行。通過(guò)觀察程序運(yùn)行結(jié)果,驗(yàn)證程序的正確性。6)退出Tc集成環(huán)境,結(jié)束本次程序運(yùn)行。圖C程序的上機(jī)執(zhí)行過(guò)程第2章習(xí)題一.選擇題TOC\o"1-5"\h\z.不合法的字符常量是【 】B。A)’、ビ B) "B" 〇 ’a' D)'\x32'.合法的字符常量是[ 】D。A) '\084' B) ヽ84‘ 〇 'ab’ D)'\x4A'.C語(yǔ)言提供的合法的數(shù)據(jù)類型關(guān)鍵字是【 】B。A)FloatB)signedC)integerD)chara4.屬于合法的C語(yǔ)言長(zhǎng)整型常量的是【 】B。A)2736B)OLC)2E10D)(long)5876273.下面選項(xiàng)中,不是合法整型常量的是【 】BoA)160 B)-Oxcdg C)-01 D)-0x48a.以下所列的C語(yǔ)言常量中,錯(cuò)誤的是【 】B。A)0xFF B)1.2e0.5 O2L D)'\72'.下面四個(gè)選項(xiàng)中,均是不正確的8進(jìn)制數(shù)或16進(jìn)制數(shù)的選項(xiàng)是【】D。A)0160x8f018B)0abc017Oxa0010-Oxll0x16D)0al27ff-123TOC\o"1-5"\h\z.下選項(xiàng)中不屬于C語(yǔ)言的類型是【 】D。A)signedshortintB)unsignedlongintB)unsignedintD)longshort.判斷intx=Oxaffblox的結(jié)果是【 】B。A)賦值非法 B)溢出〇為affbD)為ffbc.下面選項(xiàng)中,是合法浮點(diǎn)數(shù)的是【 】B?A)+le0.5B)60C)123e D)-e3.在C語(yǔ)言中,要求參加運(yùn)算的數(shù)必須是整數(shù)的運(yùn)算符是[ 】C。A)/ B)* 0%D)=.在C語(yǔ)言中,字符型數(shù)據(jù)在內(nèi)存中存放形式是【 】D。A)原碼B)BCD碼C)反碼D)ASCH碼.下列語(yǔ)句中,不符合語(yǔ)法的賦值語(yǔ)句是【 】A。A)a=7+b+c=a+7; B)a=7+b++;C)a=(7+b,b++,a+7);D)a=7+b,c=a+7;.下面非法的C語(yǔ)言轉(zhuǎn)義字符是[ 】BoA)'\b'B)'\0xf'C)'\037'D)’ヽ‘'.有字符串如下,"'n\\\407asiヽ”\xabc”,則字符串的長(zhǎng)度為1】DA)6 B)7 C)8 D)9.對(duì)于語(yǔ)句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判斷中,正確的是[ 】B。A)語(yǔ)法錯(cuò)誤 B)f為5.0C)f為0.0D)f為2.0.與代數(shù)式だ不等價(jià)的C語(yǔ)言表達(dá)式是[ 】A。uvA)x*y/u*vB)x*y/u/vC)x*y/(u*v)D)x/(u*v)*y.在C語(yǔ)言中,數(shù)字029是一個(gè)【】D。A)ハ進(jìn)制數(shù) B)十六進(jìn)制數(shù)C)十進(jìn)制數(shù) D)非法數(shù).C語(yǔ)言中整數(shù)一8在內(nèi)存中的存儲(chǔ)形式為【 】AoA)1111111111111000B)100000000001000〇000000000001000 D)1111111111110111.對(duì)于charcx='\039';語(yǔ)句,正確的是【 】A〇A)不合法 B)cx的ASCII值是330ex的值為四個(gè)字符 D)ex的值為三個(gè)字符.在C語(yǔ)言中,不正確的short類型的常數(shù)是【 】B。A)123B)32768 C)037D)0xAF.若intk=7,x=12;則能使值為3的表達(dá)式是[ 】D。A)x%=(k%=5) B)x%=(k-k%5)C)x%=k-k%5 D)(x%=k)-(k%=5)
TOC\o"1-5"\h\z.假定x和y為double型,則表達(dá)式x=2,y=x+3/2的值是【 】D。A)3.500000 B)3〇2.000000 D)3.000000.設(shè)以下變量均為int類型,則值不等于7的表達(dá)式是[ 】CoA)(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+1,x=y,x+1).在16位C編譯系統(tǒng)匕若定義longa;,則能給a賦4000〇的正確語(yǔ)句是【 】D。A)a=20000+20000〇 B)a=400〇?1〇。〇30000+10000, D)aM000L*10L,.7/9*9在C語(yǔ)言中的計(jì)算結(jié)果是[ 】C。A)1 B)7〇〇D)以上都不是.以下能正確定義且賦初值的語(yǔ)句是【 】BA)intnl=n2=10; B)charc=32;C)floatf=f+l.1; D)doublex=12.3E2.5;.若有定義:inta=7;floatx=2.5,y=4.7;則表達(dá)式x+a%3*(int)(x+y)%2/4的值是【 】AA)2.500000B)2.750000C)3.500000 D)0.000000.若有運(yùn)算符くく,sizeof,二&=,則它們按優(yōu)先級(jí)由高至低的正確排列次序是【 】BA)sizeof,&=,?,' B)sizeof,?,',&=C),?,sizeof,&= D)?,",&=,sizeof.設(shè)變量a是int型,f是float型,i是double型,則表達(dá)式10+'a'+i*f值的數(shù)據(jù)類型為【 】CA)intB)floatC)double D)不確定二.填空題.在C語(yǔ)言中(以16位PC機(jī)為例),ー個(gè)char數(shù)據(jù)在內(nèi)存中所占字節(jié)數(shù)為11,其數(shù)值范圍為【〇!~[2551ー個(gè)int數(shù)據(jù)在內(nèi)存中所占字節(jié)數(shù)為【2 ],其數(shù)值范圍為【ー32768I?[32767]0ー個(gè)long數(shù)據(jù)在內(nèi)存中所占字節(jié)數(shù)為【4】,其數(shù)值范圍為【ー214783648】214783647 1ー個(gè)float數(shù)據(jù)在內(nèi)存中所占字節(jié)數(shù)為【4】,其數(shù)值范圍為【ー3.4X10つ?[3.4X10181.C語(yǔ)言的標(biāo)識(shí)符只能由大小寫字母,數(shù)字和下劃線三種字符組成,而且第一個(gè)字符必須為【字母或下劃線】。3,字符常量使用一對(duì)【單引號(hào)】界定單個(gè)字符,而字符串常量使用ー對(duì)【雙引號(hào)】來(lái)界定若干個(gè)字符的序列。.在C語(yǔ)言中,不同運(yùn)算符之間運(yùn)算次序存在【優(yōu)先級(jí)】的區(qū)別,同一運(yùn)算符之間運(yùn)算次序存在【結(jié)合性】的規(guī)則。.設(shè)x,i,j,k都是int型變量,表達(dá)式x=(i=4,j=16,k=32)計(jì)算后,x的值為【32 ]〇.設(shè)x=2.5,a=7,y=4.7,貝ijx+a%3*(int)(x+y)%2/4為【2]=.設(shè)a=2,b=3,x=3.5,y=2.5,則表達(dá)式(float)(a+b)/2+(int)x%(int)y的值為【3.5 】。81數(shù)學(xué)式子/+J(2x+3y)的c語(yǔ)言表達(dá)式為[exp(3)+sqrt(2*x+3*y)]〇I_Ix+y.數(shù)學(xué)式子ドー“3x的C語(yǔ)言表達(dá)式為【abs(x-y)+(x+y)/(3*x)]〇-b+yjb2-4ac10.數(shù)學(xué)式子2a10.數(shù)學(xué)式子2a的C語(yǔ)言表達(dá)式為【(-b+sqrt(b*b-4*a*c))/(2*a)]〇.已知:chara-'a',b='b',c='c',i;則表達(dá)式i=a+b+c的值為【294エ.已知inta=12,n=5;則:a+=a;a-=2;a*=2+3;a/=a+an%~(n%~2);a+=a-;表達(dá)式運(yùn)算后a的值各為【〇Jo.設(shè)inta;floatf;doublei;則表達(dá)式10+'a'+i*f值的數(shù)據(jù)類型是【double]〇.若a為int型變量,則表達(dá)式(a=4*5,a*2),a+6的值為【40]〇.假設(shè)所有變量均為整型,則表達(dá)式(a=2,b=5,a++,b++,a+b)的值為【9]..已知a,b,c是ー個(gè)十進(jìn)制數(shù)x的百位,十位,個(gè)位,則計(jì)算a,b,c的表達(dá)式是【a=x/100,b=(x-x/100*100)/10,c=x%10 ],.定義:doublex=3.5,y=3.2;則表達(dá)式(int)x*0.5的值是【1.5],表達(dá)式y(tǒng)+=x++的值是[6.7.定義:intm=5,n=3;則表達(dá)式m/=n+4的值是【0],表達(dá)式m=(m=l,n=2,n-m)的值是[1],表達(dá)式m+=m-=(m=l)*(n=2)的值是【ー2.表達(dá)式5%(-3)的值是[2],表達(dá)式-5%(-3)的值是【-2.若a是int變量,則執(zhí)行表達(dá)式a=25/3%3后,a的值是【2 ].三.判斷題.在C程序中對(duì)用到的所有數(shù)據(jù)都必須指定其數(shù)據(jù)類型。].ー個(gè)變量在內(nèi)存中占據(jù)一定的存儲(chǔ)單元。[V].ー個(gè)實(shí)型變量的值肯定是精確的。[X].對(duì)幾個(gè)變量在定義時(shí)賦初值可以寫成:inta=b=c=3;[X].自增運(yùn)算符(++)或自減運(yùn)算符(")只能用于變量,不能用于常量或表達(dá)式。[。 ].在C程序的表達(dá)式中,為了明確表達(dá)式的運(yùn)算次序,常使用括號(hào)“()”。【ノJ.%運(yùn)算符要求運(yùn)算數(shù)必須是整數(shù)。【/I.若a是實(shí)型變量,C程序中允許賦值a=10,因此實(shí)型變量中允許存放整型數(shù)。[X].在C程序中,逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低。[J].C語(yǔ)言不允許混合類型數(shù)據(jù)間進(jìn)行運(yùn)算。[X]四.簡(jiǎn)答題.為什么C語(yǔ)言的字符型可以進(jìn)行數(shù)值運(yùn)算?答:C語(yǔ)言將字符(character)以其ASCII碼的值進(jìn)行存儲(chǔ)和處理,因此可以參加數(shù)值運(yùn)算。.簡(jiǎn)述‘a(chǎn)'和“a”的區(qū)別。答:字符常量由單引號(hào)括起來(lái),字符串常量由雙引號(hào)括起來(lái)。例如:‘a(chǎn)‘和"a"是不同的。'a’是字符常量,占ー個(gè)字節(jié);"a"是字符串常量,占2個(gè)字節(jié)。.程序:intm=12;m=15;為什么整型變量m的值在運(yùn)算后不是當(dāng)初的12,而是15?答:intm=12;是在定義變量時(shí)進(jìn)行初始化,m=15;是程序運(yùn)行時(shí)對(duì)變量重新賦值,原來(lái)的值也就隨之改變。.將下面各數(shù)用八進(jìn)制和十六進(jìn)制數(shù)表示:十進(jìn)制32 -1 -32768 2002 -128 0ハ進(jìn)制0400177777010000003722 017760000十六進(jìn)制0x20Oxffff0x80000x7d20xff800x0.華氏溫度F與攝氏溫度c的轉(zhuǎn)換公式為:c=(F-32)*5/9,則floatc,F;c=5/9*(F-32)是其對(duì)應(yīng)的C語(yǔ)言表達(dá)式嗎?如果不是,為什么?答:對(duì)五.程序閱讀題.寫出以下程序運(yùn)行的結(jié)果。voidmain(){charcl=,a*,c2=,b*,c3=,c,c4=,\10T,c5=,\102*;printf("a%cb%c\tc%c\tabc\n*,cl,c2,c3);printf(*\t\b%c%c*,c4,c5);aabbccabc AB .寫出以下程序運(yùn)行的結(jié)果。voidmain(){inti,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);)9,11,9,10第3章習(xí)題—.選擇題.printf函數(shù)中用到格式符‘‘%5s”,其中數(shù)字5表示輸出的字符串占用5歹れ如果字符串長(zhǎng)度小于5,則輸出按方式[ 】C?A)從左起輸出該字串,右補(bǔ)空格 B)按原字符長(zhǎng)從左向右全部輸出C)右對(duì)齊輸出該字串,左補(bǔ)空格 D)輸出錯(cuò)誤信息.已有定義inta=-2;和輸出語(yǔ)句:printf(“%81x”,a);以下正確的敘述是[D]〇A)整型變量的輸出格式符只有%d一種B)%x是格式符的一種,它可以適用于任何ー種類型的數(shù)據(jù)0%x是格式符的ー種,其變量的值按十六進(jìn)制輸出,但%81x是錯(cuò)誤的D)%81x不是錯(cuò)誤的格式符,其中數(shù)字8規(guī)定了輸出字段的寬度.以下程序的輸出結(jié)果是[ 】Domain(){inta=3;printf("%d\n”,(a+=a-=a*a));)A)-6 B)12C)0 D)-12.putchar函數(shù)可以向終端輸出ー個(gè)【 】D。A)整型變量表達(dá)式值 B)實(shí)型變量值C)字符串 D)字符或字符型變量值.若x,y均定義為int型,z定義為double型,以下不合法的scanf函數(shù)調(diào)用語(yǔ)句是【 】D。scanf(<<%d%lx,%leH,&x,&y,&z);scanf("%2d*%d%lf”,&x,&y,&z);C)scanf("%x%*d%o”,&x,&y);D)scanf("%x%o%6.2f",&x,&y,&z);.已有如下定義和輸入語(yǔ)句,若要求al,a2,cl,c2的值分別為10,20,A和B,當(dāng)從第一列開(kāi)始輸入數(shù)據(jù)時(shí),正確的數(shù)據(jù)輸入方式是【 】A。intal,a2;charcl,c2;scanf(,<%d%c%d%c",&al,&cl,&a2,&c2);A)10A20B<CR> B)10A20B<CR>C)10A20B<CR> D)10A20B<CR>TOC\o"1-5"\h\z.已有定義intx;floaty;且執(zhí)行scanf("%3d%f”,&x,&y);語(yǔ)句,若從第一列開(kāi)始輸入數(shù)據(jù)!2345678〈回車》,則x的值為【 】B。A)12345 B)123 045 D)345.已有定義intX:floaty;且執(zhí)行scanf("%3d%f",&x,&y);語(yǔ)句,若從第一列開(kāi)始輸入數(shù)據(jù)!2345678〈回車》,則y的值為【 】B。A)無(wú)定值 B)45.000000 0678.000000D)123.000000.閱讀以下程序,當(dāng)輸入數(shù)據(jù)的形式為25,13,10<CR>正確的輸出結(jié)果為[1) ].main()(intx,y,z;scanf("%d%d%d",&x,&y,&z);printf("x+y+z=%d\n”,x+y+z);)A)x+y+z=48 B)x+y+z=35x+z=35 D) 不確定值.邏輯運(yùn)算符兩側(cè)運(yùn)算對(duì)象的數(shù)據(jù)類型【 】D。A)只能是〇或1 B)只能是〇或非〇正數(shù)C)只能是整型或字符型數(shù)據(jù) D)可以是任何類型的數(shù)據(jù).以下關(guān)于運(yùn)算符優(yōu)先順序的描述中正確的是【 】C,A)關(guān)系運(yùn)算符(算術(shù)運(yùn)算符(賦值運(yùn)算符〈邏輯與運(yùn)算符B)邏輯與運(yùn)算符〈關(guān)系運(yùn)算符く算術(shù)運(yùn)算符〈賦值運(yùn)算符0賦值運(yùn)算符〈邏輯與運(yùn)算符〈關(guān)系運(yùn)算符(算術(shù)運(yùn)算符D)算術(shù)運(yùn)算符〈關(guān)系運(yùn)算符〈賦值運(yùn)算符〈邏輯與運(yùn)算符.下列運(yùn)算符中優(yōu)先級(jí)最高的是【 】B。A)< B)+ C)&&D)!=.能正確表示‘當(dāng)x的取值在[1,10]和[200,210]范圍內(nèi)為真,否則為假”的表達(dá)式是[ ]C.(x>=l)&&(x<=10)&&(x>=200)&&(x<=210)(x>=l)II(x<=10)II(x>=200)II(x<=210)(x>=l)&&(x<=10)II(x>=200)&&(x<=210)(x>=l)II(x<=10)&&(x>=200)II(x<=210)
]Do.能正確表示邏輯關(guān)系:“a210或aく0”的C語(yǔ)言表達(dá)式是]DoA)a>=10ora<=0 B)a>=0|a<=10C)a>=10&&aく=Q D)a>=10IIa〈=0.設(shè)intx=l,y=l;表達(dá)式(!x||y—)的值是【】BA)0 B)1 C)2D)-l.有如下程序段inta=14,b=15,x;charc='A';x=(a&&b)&&(cく"B');執(zhí)行該程序段后,X的值為【 】DA)ture B)falseC)0D)1.表示圖中坐標(biāo)軸上陰影部分的正確表達(dá)式是[ 】C=A)(x<=a)&&(x>=b)&&(x<=c)B)(x<=a)II(b<=x<=c)C)(x<=a)II(x>=b)&&(x<=c)D)(x<=a)&&(b<=x<=c).判斷char型變量ch是否為大寫字母的正確表達(dá)式是[ 】CoA)'A'<=ch<='Z' B)(ch>='A')&(ch<='Z')C)(ch>=4A')&&(ch<=,Z') D)(,A'<=ch)AND(,Z,>=ch).設(shè)x、y和z是int型變量,且x=3,y=4,z=5,則下面表達(dá)式中值為0的是【D】。A),x'&&'y' B)x<=yC)xIIy+z&fty-z D)!((x<y)&&!zI11)TOC\o"1-5"\h\z.已知x=43,ch='A',y=0;則表達(dá)式(x>=y&&chく'B'&&!y)的值是[ ]CoA)0B)語(yǔ)法錯(cuò) C)1D)“假”.若希望當(dāng)A的值為奇數(shù)時(shí),表達(dá)式的值為“真”,A的值為偶數(shù)時(shí),表達(dá)式的值為“假”,則以下不能滿足要求的表達(dá)式是[ 】CoA)A%2==1 B)!(A%2==0)C)!(A%2) D)A%2.設(shè)有:inta=l,b=2,c=3,d=4,m=2,n=2;執(zhí)行(m=a>b)&&(n=c>d)后n的值為【 】BoA)1 B)2 C)3 D)4.判斷char型變量cl是否為小寫字母的正確表達(dá)式是[ 】DoA)'a'<=cl<='z' B)(cl>=a)&&(clく=z)0(,a'>=cl)||(,z'<=cl)D)(cl>='a*)&&(cl<=,z').已知x,y,z均為整型變量,且值均為1,則執(zhí)行語(yǔ)句++x1|++y&&++z;后,表達(dá)式x+y的值為[JCA)1 B)2 C)3 D)4.以下程序的運(yùn)行結(jié)果是[ 】Bottinclude“stdio.h”main()inta,b,d=241;a=d/100%9;b=(-l)&&(-l);printf(w%d,%dM,a,b);)A)6,1 B)2,1 06,0 D)2,0.以下不正確的if語(yǔ)句形式是【 】C?A)if(x>y&&x!=y);B)if(x==y)x+=y;C)if(x!=y)scanf("知",&x)elsescanf("%d",&y);D)if(x<y){x++;y++;}.已知charch='C';則以下表達(dá)式的值是【 】。Dch=(ch>='A'&&ch<="Z")?(ch+32):ch;A)AB)aC)ZD)c.已知intx=10,y=20,z=30;以下語(yǔ)句:if(x>y)z=x:x=y:y=z;執(zhí)行后x,y,z的值是【 】。BA)x=10,y=20,z=30 B)x=20,y=30,z=30C)x=20,y=30,z=10 D)x=20,y=30,z=20.以下if語(yǔ)句語(yǔ)法正確的是[ 】B?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);.有如下程序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é)果是【 】。CA)0.000000B)0.250000 C)0.500000D)1.000000.若intk=8;則執(zhí)行下列程序后,變量k的正確結(jié)果是[ 】Domain()
{intk=8;switch(k){case9:k+=l;case10:k+=l;case11:k+=1;break;default:k+=l;)printf("%d\n",k);}A)12B)llC)10 D)9.對(duì)表達(dá)式for(表達(dá)式1;;表達(dá)式3)可理解為[ 1°BA)for(表達(dá)式1;〇;表達(dá)式3)for(表達(dá)式1;1;表達(dá)式3)0for(表達(dá)式1;表達(dá)式1;表達(dá)式3)D)for(表達(dá)式1;表達(dá)式3;表達(dá)式3)33.下面有關(guān)for循環(huán)的正確描述是【 】D.A)for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況B)for循環(huán)是先執(zhí)行循環(huán)體語(yǔ)句,后判斷表達(dá)式C)在for循環(huán)中,不能用break語(yǔ)句跳出循環(huán)體D)for循環(huán)的循環(huán)體語(yǔ)句中,可以包含多條語(yǔ)句,但必須用花括號(hào)括起來(lái)34.設(shè)有程序段intk=10;while(k=0)k=kT;則下面描述中正確的是【A)whilewhile(k=0)k=kT;則下面描述中正確的是【A)while循環(huán)執(zhí)行10次C)循環(huán)體語(yǔ)句ー次也不執(zhí)行35.設(shè)有以下程序段intx=0,s=0;while(!x!=0)s+=++x;printf("紀(jì)",s);則【 】B?A)運(yùn)行程序段后輸出〇]CoB)循環(huán)是無(wú)限循環(huán)D)循環(huán)體語(yǔ)句執(zhí)行ー次B)運(yùn)行程序段后輸出10程序段中的控制表達(dá)式是非法的 D)程序段執(zhí)行無(wú)限次.語(yǔ)句while(!E);中的表達(dá)式!E等價(jià)于[ 】A。A)E==OB)E!=1C)E!=OD)E==1.下面程序段的運(yùn)行結(jié)果是【 】Aoa=l;b=2;c=2;while(a<b<c){t=a;a=b;b=t;c—;}printf("%d,%d,%d",a,b,c);A)1,2,0B)2,1,001,2,1D)2,1,1.下面程序段的運(yùn)行結(jié)果是[ 】Dox=y=0:while(x<15)y++,x+=++y;printf("%d,%d",y,x);A)20,7 B)6,12 020,8 D)8,20
.已知intt=0;while(t=l)則以下敘述正確的是【則以下敘述正確的是【A)循環(huán)控制表達(dá)式的值為0C)循環(huán)控制表達(dá)式不合法40.下面程序段的運(yùn)行結(jié)果是【。BB)循環(huán)控制表達(dá)式的值為1D)以上說(shuō)法都不對(duì)]C?intn=0;while(n++<=2);printf("%d”,n);2 B)3 C)4 D)有語(yǔ)法錯(cuò).設(shè)有程序段t=0;while(printf(u*n)){t++;if(t<3)break;}則下面描述正確的是[ 】DoA)其中循環(huán)控制表達(dá)式與〇等價(jià) B)其中循環(huán)控制表達(dá)式與’。,等價(jià)C)其中循環(huán)控制表達(dá)式是不合法的 D)以上說(shuō)法都不對(duì).C語(yǔ)言中while和do-while循環(huán)的主要區(qū)別是[ 】AoA)do-while的循環(huán)體至少無(wú)條件執(zhí)行一次while的循環(huán)控制條件比do-while的循環(huán)控制條件嚴(yán)格C)do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)D)do-while的循環(huán)體不能是復(fù)合語(yǔ)句.以下描述中正確的是[ 】CoA)由于do-while循環(huán)中循環(huán)體語(yǔ)句只能是一條可執(zhí)行語(yǔ)句,所以循環(huán)體內(nèi)不能使用復(fù)合語(yǔ)句B)do-while循環(huán)由do開(kāi)始,用while結(jié)束,在while(表達(dá)式)后面不能寫分號(hào)C)在do-while循環(huán)體中,一定要有能使while后面表達(dá)式的值變?yōu)榱?“假”)的操作D)do-while循環(huán)中,根據(jù)情況可以省略whileTOC\o"1-5"\h\z.若i為整型變量,則以下循環(huán)執(zhí)行次數(shù)是[ 】Bofor(i=2;i==0;)printf("%dM,i--);A)無(wú)限次 B)0次 C)1次 D)2次.以下for循環(huán)的執(zhí)行次數(shù)是[ 】Cofor(x=0,y=0;(y=123)&&(x<4);x++)A)是無(wú)限循環(huán) B)循環(huán)次數(shù)不定 C)執(zhí)行4次D)執(zhí)行3次.以下不是無(wú)限循環(huán)的語(yǔ)句為【 】AoA)for(y=0,x=l;x>++y;x=i++)i=x;B)for(;;x++=i);C)while(l){x++;}D)for(i=10;;i—)sum+=i;.下面程序段的運(yùn)行結(jié)果是【 】Cofor(y=l;y<10;)y=((x=3*y,x+l),x-l);printf(ax=%d,y=%dw,x,y);A)x=27,y=27B)x=12,y=13C)x=15,y=14D)x=y=27TOC\o"1-5"\h\z.下面程序段的運(yùn)行結(jié)果是[ 】Dofor(x=3;x<6;x++)printf((x%2)?( ):( ),x);A)**3 B)##3 C)##3 D)**3##4##4 **4 **4##5 **5**5 ##5.下列程序段不是死循環(huán)的是[ 】DoA)inti=100;while(1){i=i%100+l;if(i>100)break;}for(;;);intk-0;do{++k;}while(k>=0);ints=36;while(s)-s;.執(zhí)行語(yǔ)句for(i=l;i++〈4;);后變量i的值是【 1C。A)3 B)4 C)5D)不定.以下正確的描述是【 】。BA)continue語(yǔ)句的作用是結(jié)束整個(gè)循環(huán)的執(zhí)行B)只能在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)使用break語(yǔ)句C)在循環(huán)體內(nèi)使用break語(yǔ)句或continue語(yǔ)句的作用相同D)從多層循環(huán)嵌套中退出時(shí),只能使用goto語(yǔ)句.下面程序段【 】D?for(t=l;t<=100;t++)(scanf("%d",&x);if(x<0)continue;printf("%3d”,t);)A)當(dāng)x<0時(shí)整個(gè)循環(huán)結(jié)束 B)x>=0時(shí)什么也不輸出0printf函數(shù)永遠(yuǎn)也不執(zhí)行 D)最多允許輸出100個(gè)非負(fù)整數(shù).下面程序段【 】C?x=3;doIy=x-;if(!y){printf("x");continue;}printf(“ザ);}while(K=x<=2);A)將輸出## B)將輸出###*C)是死循環(huán) D)含有不合法的控制表達(dá)式二.填空題.設(shè)y是int型,請(qǐng)寫出y為奇數(shù)的關(guān)系表達(dá)式【y%2】?.設(shè)inta=5,b=6,表達(dá)式(++a==b—)?++a:—b的值是【7 】。.將以下程序?qū)懗扇窟\(yùn)算表達(dá)式是【a=(a>b)?a:b;I〇if(a>b)max=a;elsemax=b;.以下程序輸出的結(jié)果是【〇】。main(){inta=5,b=4,c=3,d;d=(a>b>c);printf("%d\n",d);).若從鍵盤輸入58,則以下程序輸出的結(jié)果是[585858】〇main(){inta;scanf("刎",&a);if(a>50)printf("%d",a);if(a>40)printf("%d",a);if(a>30)printf("%d",a);).閱讀下面語(yǔ)句,則程序的執(zhí)行結(jié)果是【1,0 ]〇^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);}.以下程序的輸出結(jié)果為i:dec=-4,oct=177774J.hex=fffc,unsigned=65532mainO(shorti;i=-4:printf("\ni:dec=%d,oct=%〇,hex=%x,unsigned成u\n”,i,i,i,i);).以下程序的輸出結(jié)果為[*3.140000,3.142* ]〇main()(printf(“礫f,%4.3f*\n”,3.14,3.1415);).以下程序的輸出結(jié)果為[c:dec=120,oct=170,hex=78,ASCII=x ]main()
10.charc二'x';10.printf("c:dec=%d,oct=%o,hex=%x,ASCII=%c\n”,c,c,c,c);)以下程序的輸出結(jié)果為【 】。x=ly=2*sum*=3Squaredis:100main()(intx=l,y=2;printf("x=%dy=%d*sum?二%d\n”,x,y,x+y);printf("10Squaredis:%d\n",10*10);)以下程序段的輸出結(jié)果為【 】。intx=7281;printf("(1)x=%3d,x=%6d,x二%6o,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二%〇,x二%#o\n”,x,x);printf("(5)x=%x,xニ翻x\n”,x,x);12345<<<くくx=7281J.x=12345<<<くくx=+7281,x=+7281,x=*0007281x=16161,x=016161x=lc71,x=0xlc71假設(shè)變量a和b均為整型,以卜語(yǔ)句可以不借助任何變量把a(bǔ)、b中的值進(jìn)行交換。請(qǐng)?zhí)羁?。a+=[b];b=a-[b];a-=[b];假設(shè)變量a、b和c均為整型,以下語(yǔ)句借助中間變量t把a(bǔ)、b和c中的值進(jìn)行交換,即:把b中的值給a,把c中的值給b,把a(bǔ)中的值的給c。例如:交換前,a=10,b=20,c=30;交換后,a=20,b=30,c=10o請(qǐng)?zhí)羁铡t=a;];a=b;b=c;[c=t;];有一輸入函數(shù)scanf("%ザ,k);其不能使float類型變量k得到正確數(shù)值的原因是【類型錯(cuò)】和[地址錯(cuò)】。已有定義inta;floatb,x;charcl,c2;為使a=3,b=6.5,x==12.6,cl=’a',c2二'A',正確的scanf函數(shù)調(diào)用語(yǔ)句是【scanf("刎%f%f%c%c",&a,&b,&x,&cl,&c2);】,輸入數(shù)據(jù)的方式為【36.512.6aA]〇已有定義inti,j;floatx;為將TO賦給i,12賦給j,410.34賦給x;則對(duì)應(yīng)以下scanf函數(shù)調(diào)用語(yǔ)句的數(shù)據(jù)輸入形式是【ー12c410.34 ]〇scanf(w%o%x%ew,&i,&j,&x);當(dāng)a=3,b=2,c=l時(shí),表達(dá)式f=a>b>c的值是【〇]〇當(dāng)a=5,b=4,c=2時(shí),表達(dá)式a>b!=c的值是【1】。在C語(yǔ)言中,表示邏輯“真"值用【1】。設(shè)i,j,k均為int型變量,則執(zhí)行完下面的for語(yǔ)句后,k的值為【10 ]〇for(i=0,j=10;i<=j;i++,j—)k=i+j;下列程序的功能是輸入ー個(gè)整數(shù),判斷是否是素?cái)?shù),若為素?cái)?shù)輸出I,否則輸出0,請(qǐng)?zhí)羁?。main(){inti,x,y=l;scanf(*%d*,&x);for(i=2;i<=x/2;i++)if[(x%i==O)]{y-0;break;}printf("%d\n”,y);).閱讀下面程序,則執(zhí)行后程序的結(jié)果為[15,16 ]??include"stdio.h"main(){inta=0,b=0;while(a<15)a++;while(b++<15):printf(*%d,%d\n”,a,b);}.C語(yǔ)言提供的三種邏輯運(yùn)算符是【&&】、【||】、[!]..設(shè)x,y,z均為int型變量,請(qǐng)寫出描述“x或y中有一個(gè)小于Z”的表達(dá)式【X式||y〈z]..設(shè)x,y,z均為int型變量,請(qǐng)寫出描述“x,y和z中有兩個(gè)為負(fù)數(shù)”的表達(dá)式[x*y*z>0&&(x<0||y<0||z<0)!〇.已知A=7.5,B=2,C=3.6,表達(dá)式A>B&&C>A||A〈B&&!C>B的值是【0.若a=6,b=4,c=2,則表達(dá)式!(a-b)+c-l&&b+c/2的值是【1.若a=6,b=4,c=3,則表達(dá)式a&&b+c||b-c的值是【1TOC\o"1-5"\h\z.若a=5,b=2,c=l,則表達(dá)式a_b<cIIb==c的值是[0 ]〇30.條件“2<x<3或x<T0”的C語(yǔ)言表達(dá)式是【2<x&&x<3||x<-10]?.當(dāng)m=2,n=l,a=l,b=2,c=3時(shí),執(zhí)行完d=(m=a!=b)&&(n=b>c)后;n的值是【0 ],m的值是【1】。.執(zhí)行下面程序段后,k值是 [36 ].k=].;n=263;do{k*=n%10;n/=10;}while(n);.下面程序段中循環(huán)體的執(zhí)行次數(shù)是【3】。a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);.下面程序段的運(yùn)行結(jié)果是【?*I〇x=2;do{printf(“*”);x—;}while(!x==0);.下面程序段的運(yùn)行結(jié)果是[a=-5 ]〇i=l;a=0;s=l;do{a=a+s*i;s=-s;i++;}while(i<=10);printf("a二%d",a);.下面程序段的運(yùn)行結(jié)果是【T]〇for(a=l,i=-l;-K=i<l;i++){a++;printf(a%2d",a); }printf(“%2d”,i);.若for循環(huán)用以下形式表示:for(表達(dá)式1;表達(dá)式2;表達(dá)式3)循環(huán)體語(yǔ)句則執(zhí)行語(yǔ)句for(i=0;i<3;i++)printf(“*”);時(shí),表達(dá)式1執(zhí)行[! 】次,表達(dá)式3執(zhí)行【3 】次。.閱讀下面語(yǔ)句,則執(zhí)行后的輸出結(jié)果為【0918273645]^include*stdio.h"main(){chara,b;for(a=‘〇',b二<9';aくb;a++,b--)printfa,b);printf('\n");}三.編程題.設(shè)圓半徑r=l.5,圓柱高h(yuǎn)=3,求圓周長(zhǎng)、圓面積、圓球表面積、圓球體積、圓柱體積。用scanf輸入數(shù)據(jù),輸出計(jì)算結(jié)果,輸出時(shí)要求文字說(shuō)明,取小數(shù)點(diǎn)后兩位數(shù)字。請(qǐng)編程序。參考代碼:ttdefinePI3.14159voidmain(){floatr,h,1,si,s2,vl,v2;printf("inputr,h\n");scanf("%f%f",&r,&h);l=2*PI*r;si=PI*r*r;s2=4*PI*r*r;vl=4*PI*r*r*r/3;v2=PI*r*r*h;printf("l=%-6.2f,sl=%-6.2f,s2二%-6.2f,vl=%-6.2f,v2=%-6.2f\n",1,si,s2,vl,v2);}.編制程序輸入三個(gè)整數(shù),按從大到小的順序進(jìn)行輸出。參考代碼:^include"stdio.h"voidmain(){inta,b,c;printf("inputa,b,c\n");scanf("%d%d%d",&a,&b,&c);if(a>b)if(a>c)if(b>c)printf("%d,%d,%d\n",c,b,a);elseprintf("%d,%d,%d\n",b,c,a);elseprintf("%d,%d,%d\n",b,a,c);elseif(a<c)if(b<c)printfC*%d,%d,%d\n”,a,b,c);elseprintfC"%d,%d,%d\n,z,a,c,b);elseprintf("%d,%d,%d\nz,,c,a,b);}3.編制程序?qū)斎氲?個(gè)小寫字母,將字母循環(huán)后移5個(gè)位置后輸出。如匕’變成‘f',7變成一。參考代碼:voidmain(){charc;printf〈inputc\n");scanf("%c",&c);c=((c」a'+5)%26+'a');printf("%c\n',c);).試編程判斷輸入的正整數(shù)是否既是5又是7的整倍數(shù)。若是,則輸出yes,否則輸出no。參考代碼:^include"stdio.h"voidmain(){inta;printf<input\n");scanf(*%d*,&a);if(a%5==0&&a%7=0)printf(〃yes\n〃);elseprintf("no\n");}.編制程序要求輸入整數(shù)a和b,若均大于100,則輸出百位以上的數(shù)字,否則輸出兩數(shù)之和。參考代碼:#include"stdio.h"voidmain(){inta,b;printf("input\n");scanf("%d%d",&a,&b);if(a>100&ab>100)printf("%d,%d\n",a/100,b/100);elseprintf("%d\n",a+b);}.編程實(shí)現(xiàn):輸入ー個(gè)整數(shù),判斷它能否被3,5,7整除,并輸出以下信息之一:(1)能同時(shí)被3,5,7整除。(2)能被其中兩數(shù)(要指出哪兩個(gè))整除。(3)能被其中一個(gè)數(shù)(要指出哪ー個(gè))整除。(4)不能被3,5,7任一個(gè)整除。參考代碼:ttinclude"stdio.h"voidmain(){inta;printf(*input\n");scanf("知",&a);if(a%3==0)if(a%5==0)if(a%7==0)printf("%d能被3,5,7整除つ;elseprintf("%d能被3,5整除、、elseif(a%7-0)printf("%d能被3,7整除");elseprintf("%d能被3整除つ;elseif(a%5==0)if(a%7==0)printf("%d能被5,7整除づ;elseprintf("%d能被5整除つ;elseif(a%7==0)printf("%d能被7整除");elseprintf("%d不能被3,5,7整除づ;).某郵局對(duì)郵寄包裹有如下規(guī)定:若包裹的長(zhǎng)寬高任一尺寸超過(guò)1米或重量超過(guò)30千克,不予郵寄。對(duì)可以郵寄的包裹每件收手續(xù)費(fèi)0.2元,再加上根據(jù)下表按重量wei計(jì)算的郵資:重量(千克)收費(fèi)標(biāo)準(zhǔn)(元)wei<100.8010<=wei<200.7520<=wei<=300.70參考代碼:^include"stdio.h"voidmain(){floata,b,c,w,f;printfCinputa,b,c,w\n");scanf("%f,%f,%f,%f",&a,&b,&c,&w);if(a+b+c>100w>30)printf("超大或超重,不予郵寄!”);else{if(w>10)if(w>=20)f=10*0.8+10*0.75+(w-20)*0.70;elsef=10*0.8+(w-10)*0.75;elsef=w*0.8;printf("f=%6.2f”,f);)getchO;}.給ー個(gè)不多于5位的正整數(shù),要求:①求出它是幾位數(shù)。②分別打印出每一位數(shù)字。③按逆順序打印出各位數(shù)字,例如原來(lái)為321,應(yīng)輸出123。參考代碼:參考源程序1:ttinclude"stdio.h"voidmain(){inti;longm,n;scanf(*%ld",&m);n=m;i=0;while(m){printf("%d”,m%10);m=m/10;i++;}printf(*%ld是%d位數(shù)n,i);getchO;}參考源程序2:main(){inta,b,c,d,e,n;longm;scanf("機(jī)d”,&m);a=0.000l*m;b二10*(〇.0001*m-a);c=100*(0.0001*m-a-0.l*b);d=1000*(〇.0001*m-a-0.l*b-0.01*c);e=m-l0000*a-l000*b-100*c-l0*d;if(a!=0)n=5,printf("%d%d,%d,%d,%d,%d%d%d%d%d%d\nz,,n,a,b,c,d,e,e,d,c,b,a);elseif(b!=0)n=4,printf(zz%d%d,%d,%d,%d%d%d%d%d\n*,n,b,c,d,e,e,d,c,b);elseif(c!=0)n=3,printf(*%d%d,%d,%d%d%d%d\nzz,n,c,d,e,e,d,c);elseif(d!=0)n=2,printf(*%d%d,%d%d%d\n*,n,d,e,e,d);elsen=l,printf(zz%d%d%d\n”,n,e,e);).編程實(shí)現(xiàn):計(jì)算1至50中是7的倍數(shù)的數(shù)值之和。參考代碼:ttinclude"stdio.h"voidmain(){inti,s;i=l,s=0;while(i<50){if(i%7==0)s+=i;i++;)printf("s=%d",s);}.編程計(jì)算從鍵盤輸入的字符中統(tǒng)計(jì)數(shù)字字符的個(gè)數(shù),用換行符結(jié)束循環(huán)。參考代碼:#include*stdio.h"main(){charc;inti=0;while((c=getchar())!=,\n)if(c>=48&&c<=57)i++;printf("i=%d\n”,i);}.有1020個(gè)西瓜,第一天賣一半多兩個(gè),以后每天賣剩下的一半多兩個(gè),問(wèn)幾天以后能賣完?參考代碼:#include*stdio.h"main(){inti=0,sum=1020;while(sum>0){sum=sum-sum/2-2;i++;}printf("i二%d\n,i);).用“輾轉(zhuǎn)想除法”求兩個(gè)正整數(shù)的最大公約數(shù)。參考代碼:main(){longm,n,i=l,j,s;scanf%ld”,&m,&n);for(;i<=m&&i<=n;i++){if(m%i==0&&n%i==0)s=i;}if(m>=n)j=m;elsej=n;for(;!(j%m==0&&j%n==0);j++);printf(^s=%ld,j=%ld\n,z,s,j);).雞兔共有30只,腳共有90個(gè),編程計(jì)算雞兔各有多少只?參考代碼:#include<stdio.h>voidmain(){inti;for(i=0;i<23;i++)/*23只兔子有92條腿*/(/*i只兔子,30-i只雞?//?ー只雞兩條腿,ー只兔子4條腿?/if(i*4+(30-i)*2=90)(printf(*%d只兔子,%d只雞。ゝn”,i,30-i);}}getchO;}.ー個(gè)數(shù)如果恰好等于它的因子之和(除自身外),則稱該數(shù)為完全數(shù),例如:6=1+2+3,6為完全數(shù),編程求1000以內(nèi)的所有完全數(shù)。參考代碼:main(){intm,i,j,s;for(m=6;m<l0000;m++){s=l;for(i=2;i<m;i++)if(m%i=0)s=s+i;if(m-s=0){printf(*%5ditsfastorsare1*,m);for(j=2;j<m;j++)if(m%j==0)printf("刎",j);printf("\n");})}或main(){intm,i,j,s;for(m=6;m<1000;m++){s=m-l;for(i=2;i<m;i++)if(m%i==0)s=s-i;if(s==0){printfC%5ditsfastorsare1”,m);for(j=2;jくm;j++)if(m%j==0)printf("%d",j)jprintf("\n");}.求Sn=a+aa+aaa+…+aa…aaa(有n個(gè)a)之值,其中a是ー個(gè)數(shù)字。例如:2+22+222+2222+22222(n=5),n由鍵盤輸入。參考代碼:#include"math.h"main(){intn,sum=0,i=l,s=2;scanf("%d",&n);while(i<=n){sum=sum+s;s=s+2*pow(10,i);i++;}printf("sum二%d\n",sum);).從三個(gè)紅球、五個(gè)白球、六個(gè)黑球中任意取出八個(gè)球,且其中必須有白球,輸出所有可能的方案。參考代碼:#include<stdio.h>main()(inti,j,k;printf("\nhongbaihei\n");for(i=0;i<=3;i++)for(j=l;j<=5;j++){k=8-i-j;if(k<=6)printf("%3d%3d%3d\n",i,j,k);}}.有一分?jǐn)?shù)序列:2/1,3/2,5/3,8/5,13/8,21/13―求出這個(gè)數(shù)列的前20項(xiàng)之和。參考代碼:main(){inti=l,n;doublet,x=l,y=2,s,sum=0;scanf("%1d',&n);while(i<=n){s=y/x;sum=sum+s;t=y;y=y+x;x=t;i++;}printf(/z%f\n",sum);is.試編程序求る£2k參考代碼:ttinclude<stdio.h>main(){inti;floats;for(i=l,s=0;i<=100;i++)s+二i;for(i=l;i<=50;i++)s+=i*i;for(i=l;i<=10;i++)s+=1.0/i;printf(*s=%f\n”,s);}.試編程序,求ー個(gè)整數(shù)任意次方的最后三位數(shù)。即求ズ的最后三位數(shù),要求x,y從鍵盤輸入◎^include<stdio.h>main(){inti,x,y,s=l;scanf("%d%d”,&x,&y);for(i=l;i<=y;i++){s=s*x%1000;}printf("s二%d\n〃,s);).ー球從100米高度自由下落,每次落地后返回原高度的一半,再落下。求它在第10次落地時(shí)共經(jīng)過(guò)多少米?第10次反彈多高?參考代碼:voidmain(){inti,n;doubleh=100,s=100;scanf("%d",&n);for(i=l;i<=n;i++){printf("i二%d,h二%f,s二%f\n”,i,h,s);h*=0.5; /?下次反彈高度?/s二2*h+s;/?下次落地路程?/printf("h二%f\n",h);/?第十次反彈高度?/21.用牛頓迭代法求方程2x3-4x2+3x-6=0在(TO,10)之間的根。參考代碼:ttinclude"stdio.h"#include<math.h>voidmain()(floatxl,xO,f,fl;printf(*InputxO:");/?輸入xO為L(zhǎng)5即求L5附近的根?/scanf("賦“,&x0);printf("x(O)=%f\n",xO);f=2*x0*x0*x0-4*x0*x0+3*x0-6;/?求函數(shù)值?/do{f1=6*x0*x0+8*x0+3;/?對(duì)方程求導(dǎo)?/xl=xO-f/fl;x0=xl;f=2*x0*x0*x0-4*x0*x0+3*x0-6;)while(fabs(f)>le-5);printf("\nTherootisx=%f\n",xO);}.用二分法求方程2x3-4x?+3x-6二〇在(TO,10)之間的根。參考代碼:main()(doublexl,x2,yl,y2;xl=-10;x2=10;do{yl=2*xl*xl*xl-4*xl*xl+3*xl-6;xl=xl-yl/(6*xl*xl-8*xl+3);}while(yl!=0);do{y2=2*x2*x2*x2-4*x2*x2+3*x2-6;x2=x2-y2/(6*x2*x2-8*x2+3);}while(y2!=0);printf("xl=%.3f,x2二%.3f\n",xl,x2);.用迭代法求x=の〇求平方根的迭代公式為:し 。、ムM=ス(ム+—)2 ム要求前后兩次求出的得差的絕對(duì)值少于0.0000lo#include"math.h"main(){floatxO,xl,a;scanf("%f",&a);xl=a/2;do{x0=xl;xl=(x0+a/xO)/2;}while(fabs(x0-xl)>=0.00001);printf("%.3f\n",xl);第4章習(xí)題一.選擇題1?在C語(yǔ)言中,引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是【 】D。A)整型常量 B)整型表達(dá)式C)整型常量或整型表達(dá)式 D)任何類型的表達(dá)式2.以下對(duì)ー維整型數(shù)組a的正確說(shuō)明是[ 】D。A)inta(10): B)intn=10,a[n];C)intn; D)#defineSIZE10scanf(“%d”,&n); inta[SIZE];inta[n];TOC\o"1-5"\h\z3?若有說(shuō)明:inta[10];則對(duì)a數(shù)組元素的正確引用是【 】B。A)a[10] B)a[10-10] C)a(5) D)a[3,5].在C語(yǔ)言中,ー維數(shù)組的定義方式為:類型說(shuō)明符數(shù)組名【 】A。;A)[常量表達(dá)式] B)[整型表達(dá)式]C)[整型常量]或[整型表達(dá)式]D)[整型常量].以下能對(duì)ー維數(shù)組a進(jìn)行正確初始化的語(yǔ)句是【 】C.A)inta[10]=(0,0,0,0,0); B)inta[10]={レOinta[]={0}; D)inta[10]=[10*l];.以下對(duì)二維數(shù)組a的正確說(shuō)明是[ 】C。A)inta[3][]; B)floata(3,4);C)doublea[l][4]; D)floata(3)(4);7?若有說(shuō)明:inta[3][4];則對(duì)a數(shù)組元素的正確引用是【 】C。A)a⑵⑷ B)a[l,3] C)a[l+l][0]D)a⑵⑴8?若有說(shuō)明:inta[3][4];則對(duì)a數(shù)組元素的非法引用是【 】D。A)a[0][2*1]B)a[l][3] C)a[4-2][0]D)a[0][4].以下能對(duì)二維數(shù)組a進(jìn)行正確初始化的語(yǔ)句是【 】BoA)inta[2][]={{l,0,1},{5,2,3}};B)inta[][3]={{1,2,3},{4,5,6}};Ointa[2][4]={{1,2,3},{4,5},{6}}:D)inta[][3]={{l,0,1},{},{1,1}};.以下不能對(duì)二維數(shù)組a進(jìn)行正確初始化的語(yǔ)句是【A)inta[2][3]={0};B)inta[][3]={{1,2},{0});Ointa[2][3]={{1,2},{3,4},{5,6}}:D)inta[][3]={1,2,3,4,5,6);.若有說(shuō)明:inta[3][4]={0};則下面正確的敘述是[ 】D。A)只有元素a[0][0]可得到初值〇B)此說(shuō)明語(yǔ)句不正確0數(shù)組a中各元素都可得到初值,但其值不一定為〇D)數(shù)組a中每個(gè)元素均可得到初值0.若二維數(shù)組a有m歹リ,則計(jì)算任一元素a[i]廿]在數(shù)組中位置的公式為【 】D。(假設(shè)a[O][〇]位于數(shù)組的第一個(gè)位置匕)A)i*m+jB)j*m+iC)i*m+j-lD)i*m+j+l.對(duì)以下說(shuō)明語(yǔ)句的正確理解是[ 】B?inta[10]={6,7,8,9,10};A)將5個(gè)初值依次賦給a[l]至a[5]B)將5個(gè)初值依次賦給a[0]至a[4]C)將5個(gè)初值依次賦給a[6]至a[10]D)因?yàn)閿?shù)組長(zhǎng)度與初值的個(gè)數(shù)不相同,所以此語(yǔ)句不正確.以下不正確的定義語(yǔ)句是【 】BoA)doublex[5]={2.0,4.0,6.0,8.0,10.0};B)inty[5]={0,1,3,5,7,9);C)charclロ={,1',,2',3,⑷,,5'};D)charc2[]={'\xl0',''xa','\x8'};.若有說(shuō)明:1朮2[][3]={1,2,3,4,5,6,7};則2數(shù)組第一維的大小是1 ]BoA)2 B)3 C)4D)無(wú)確定值.若二維數(shù)組a有m歹リ,則在a[i][j]前的元素個(gè)數(shù)為【 】BoA)j*m+iB)i*m+jC)i*m+j-lD)i*m+j+l.定義如下變量和數(shù)組:intk;inta[3][3]={1,2,3,4,5,6,7,8,9};TOC\o"1-5"\h\z則下面語(yǔ)句的輸出結(jié)果是【 】A,for(k=0;k<3;k++)printf("%d",a[k][2-k]);A)357B)369C)159D)147.下面是對(duì)s的初始化,其中不正確的是[ 】DoA)chars[5]={"abc"};B)chars[5]={,a',*b',,c'};0chars[5]=un; D)chars[5]="abcdef";.下面程序段的運(yùn)行結(jié)果是【 】Bocharc[5]={'a',<b,,’、〇',,c','、〇'};printf("%s",c);A)'a''b'B)abOabcD)'a','b','、〇’,'c'20.對(duì)兩個(gè)數(shù)組a和b進(jìn)行如下初始化chara[]="ABCDEFw;charb[]={'A','B','C,'D",'E','F');則以下敘述正確的是[ 】DoA)a與b數(shù)組完全相同 B)a與b長(zhǎng)度相同C)a和b中都存放字符串 D)a數(shù)組比b數(shù)組長(zhǎng)度長(zhǎng).有兩個(gè)字符數(shù)組a、b,則以下正確的輸入格式是【 】BoA)gets(a,b); B)scanf("%s%s",a,b);C)scanf("%s%s",&a,&b);D)gets("a"),get("b");
.有字符數(shù)組a[80]和b[80],則正確的輸出形式是【 】D。A)puts(a,b);C)putchar(a,b);B)printf(a%s%s",aロ,A)puts(a,b);C)putchar(a,b);D)puts(a),puts(b);.下面程序段的運(yùn)行結(jié)果是【 】D?chara[7]="abcdef";charb[4]="ABC”;strcpy(a,b);printf("%c”,a[5]);A)空格B)\0C)eD)f.有下面的程序段chara[3],b[]="China”;a=b;printf("%s",a):則[ ]DoA)運(yùn)行后將輸出China B)運(yùn)行后將輸出ChC)運(yùn)行后將輸出Chi D)編譯出錯(cuò)TOC\o"1-5"\h\z.下面程序段的運(yùn)行結(jié)果是【 】C,charc[]="\t\v\\\0will\n";printf("%d”,strlen(c));A)14 B)3 C)9 D)字符串中有非法字符,輸出值不確定26,判斷字符串a(chǎn)和b是否相等,應(yīng)當(dāng)使用【 】D?A)if(a==b) B)if(a=b)C)if(strcpy(a,b)) D)if(Istrcmp(a,b))27,判斷字符串s!是否大于字符串s2,應(yīng)當(dāng)使用【 】DoA)if(sl>s2) B)if(strcmp(s1,s2))C)if(strcmp(s2,si)>0) D)if(strcmp(si,s2)>0).下面程序段是輸出兩個(gè)字符串中對(duì)應(yīng)字符相等的字符。請(qǐng)選擇填空。charx[]="programming”;chary[]="Fortran";inti=0;while(x[i]!='、〇’&&y[i]!=‘、〇')(if(x[i]=y[i])printf("%c",[ ]A);elsei++;)A)x[i++] B)y[++i]C)x[i]D)y[i].下面描述正確的是[ 】D,A)兩個(gè)字符串所包含的字符個(gè)數(shù)相同時(shí),才能比較字符串B)字符個(gè)數(shù)多的字符串比字符個(gè)數(shù)少的字符串大C)字符串"STOP"與"stop"相等D)字符串“That"小于字符串“The".下述對(duì)C語(yǔ)言字符數(shù)組的描述中錯(cuò)誤的是【
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國(guó)炫彩燈光控制器行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2031年中國(guó)樹(shù)脂工藝品行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2030年中國(guó)粗布線毯數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)天然胡蘿卜素膠丸數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)埋地?zé)艟邤?shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025-2030年護(hù)膚與營(yíng)養(yǎng)結(jié)合行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 2025-2030年國(guó)際煙花節(jié)行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 2025-2030年攤鋪機(jī)智能調(diào)度企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 2025-2030年增強(qiáng)現(xiàn)實(shí)游戲機(jī)行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 2025年度城市地下空間開(kāi)發(fā)利用雙包合同范本
- 為什么偉大不能被計(jì)劃
- 人大代表履職知識(shí)講座
- 精神障礙患者的社交技巧訓(xùn)練
- 司機(jī)考核管理制度
- 重慶八中2024屆高三12月高考適應(yīng)性月考卷(四) 語(yǔ)文試卷(含答案)
- 出差報(bào)銷單-中英對(duì)照版
- 電流互感器試驗(yàn)報(bào)告
- 蔣中一動(dòng)態(tài)最優(yōu)化基礎(chǔ)
- 七年級(jí)英語(yǔ)閱讀理解10篇(附答案解析)
- 抖音來(lái)客本地生活服務(wù)酒旅商家代運(yùn)營(yíng)策劃方案
- 鉆芯法樁基檢測(cè)報(bào)告
評(píng)論
0/150
提交評(píng)論