版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、新編C程序設(shè)計(jì)教程習(xí)題集第1章 習(xí) 題一選擇題1. 用高級(jí)語(yǔ)言編寫(xiě)的源程序要轉(zhuǎn)換成等價(jià)的目標(biāo)程序,必須經(jīng)過(guò)【 】CA) 匯編 B) 編輯 C) 編譯 D) 解釋2. 計(jì)算機(jī)硬件能直接識(shí)別和執(zhí)行的只有【 】DA) 高級(jí)語(yǔ)言 B) 符號(hào)語(yǔ)言 C) 匯編語(yǔ)言 D) 機(jī)器語(yǔ)言3. 在同等情況下,計(jì)算機(jī)執(zhí)行【 】速度最快。BA)高級(jí)語(yǔ)言程序 B) 機(jī)器語(yǔ)言程序 C) 匯編語(yǔ)言程序 D) 源程序4. 以下說(shuō)法錯(cuò)誤的是【 】C A)高級(jí)語(yǔ)言都是用接近人們習(xí)慣的自然語(yǔ)言和數(shù)學(xué)語(yǔ)言作為語(yǔ)言的表達(dá)形式 B)計(jì)算機(jī)只能處理由0和1的代碼構(gòu)成的二進(jìn)制指令或數(shù)據(jù) C)C語(yǔ)言源程序經(jīng)過(guò)C語(yǔ)言編譯程序編譯之后生成一個(gè)后綴為
2、.EXE的二進(jìn)制文件 D)每一種高級(jí)語(yǔ)言都有它對(duì)應(yīng)的編譯程序 5. 以下敘述中錯(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í)符中,大、小寫(xiě)字母代表不同標(biāo)識(shí);6. 下列選項(xiàng)中屬于合法C語(yǔ)言關(guān)鍵字的是 【 】D。A) VAR B)interger C)floaT D)default 7. 下列字符串不是標(biāo)識(shí)符的是【 】D A) sum B) Average C) Day_night D) M.C)JOHN8. 正確的C語(yǔ)言自定義標(biāo)志符是【 】A。 A)file_bak B)abc
3、(10) C)continue D)class+39. 一個(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é)束;10. 以下敘述中正確的是【 】A A)構(gòu)成C程序的基本單位是函數(shù) B)可以在一個(gè)函數(shù)中定義另一個(gè)函數(shù) C)main()函數(shù)必須放在其他函數(shù)之前 D)所有被調(diào)用的函數(shù)一定要在調(diào)用之前進(jìn)行定義 11. 以下敘述不正確的是【 】DA)一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成;B)一個(gè)C源程
4、序必須包含一個(gè)main函數(shù);C)C程序的基本組成單位是函數(shù);D)在C程序中,注釋說(shuō)明只能位于一條語(yǔ)句的后面;12. 以下敘述中正確的是【 】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)有輸出;13. 以下說(shuō)法錯(cuò)誤的是【 】C A)一個(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)算法的目的是為了求解 14. 算法是指為解決某個(gè)特定問(wèn)題而采取的確定且有限的步驟,下
5、面不屬于算法的五個(gè)特性的是【 】B A)有零個(gè)輸入或多個(gè)輸入 B)高效性 C)有窮性 D)確定性 二判斷題1. 一個(gè)C程序的執(zhí)行總是從該程序的main函數(shù)開(kāi)始,在main函數(shù)最后結(jié)束?!?】2. main函數(shù)必須寫(xiě)在一個(gè)C程序的最前面。 【 × 】3. 一個(gè)C程序可以包含若干的函數(shù)?!?】4. C程序的注釋部分可以出現(xiàn)在程序的任何位置,它對(duì)程序的編譯和運(yùn)行不起任何作用。但是可以增加程序的可讀性?!?】5. C程序的注釋只能是一行?!?#215; 】6. C程序的注釋不能是中文文字信息?!?#215; 】7. 可以使用Turbo C來(lái)編譯和連接一個(gè)C程序?!?】8. 可以使用Turbo
6、 C來(lái)運(yùn)行一個(gè)C程序。【 】9. 可以使用Turbo C來(lái)實(shí)時(shí)調(diào)試(即動(dòng)態(tài)調(diào)試)一個(gè)C程序。【 】三問(wèn)答題1. c語(yǔ)言程序的總體結(jié)構(gòu)是怎樣的?答:一個(gè)完整的語(yǔ)言程序,是由一個(gè)main()函數(shù)(又稱(chēng)主函數(shù))和若干個(gè)其它函數(shù)結(jié)合構(gòu)成,或僅由一個(gè)main()函數(shù)構(gòu)成。2. c語(yǔ)言程序的基本單位是什么?它的結(jié)構(gòu)又如何?答:函數(shù)是語(yǔ)言程序的基本單位,每個(gè)源文件可由一個(gè)或多個(gè)函數(shù)組成。C語(yǔ)言的任何函數(shù)(包括主函數(shù)main())都是由函數(shù)首部和函數(shù)體兩部分組成。函數(shù)的一般結(jié)構(gòu)如下:函數(shù)類(lèi)型 函數(shù)名(函數(shù)參數(shù)表) 函數(shù)首部 函數(shù)體 說(shuō)明語(yǔ)句部分; 執(zhí)行語(yǔ)句部分; 3. 主函數(shù)main()在程序中的地位如何。程
7、序總是從哪個(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()放在程序的最前面。4. 什么是算法?算法的基本特征是什么?答:算法(Algorithm)是為解決某個(gè)問(wèn)題而采取的方法和步驟,是程序的靈魂。一個(gè)算法應(yīng)該具有以下五個(gè)重要的特征: 1.有窮性算法的有窮性是指算法必須能在執(zhí)行有限
8、個(gè)步驟之后終止,不能是無(wú)限的。2.確切性算法的每一步驟必須有確切的定義,而不能是含糊的,模棱兩可的。3.可行性算法中的所有計(jì)算步都可以被分解為有限次的基本運(yùn)算,即每個(gè)計(jì)算步都可以在有限時(shí)間內(nèi)完成。4.有0個(gè)或多個(gè)輸入一個(gè)算法有0個(gè)或多個(gè)輸入,以刻畫(huà)運(yùn)算對(duì)象的初始情況。所謂0個(gè)輸入是指算法本身定出了初始條件。 5. 有一個(gè)或多個(gè)輸出一個(gè)算法有一個(gè)或多個(gè)輸出,以反映對(duì)輸入數(shù)據(jù)加工后的結(jié)果。沒(méi)有輸出的算法是毫無(wú)意義的。5. 結(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ò)
9、渡,逐步細(xì)化。 (3)模塊化。一個(gè)復(fù)雜問(wèn)題,肯定是由若干個(gè)稍簡(jiǎn)單的問(wèn)題構(gòu)成(4)每種程序結(jié)構(gòu)允許有一個(gè)入口和一個(gè)口。(5)嚴(yán)格控制GOTO語(yǔ)句的使用。6. 程序設(shè)計(jì)的一般一那幾個(gè)步驟?答:程序設(shè)計(jì)的一般步驟如下:1.分析問(wèn)題對(duì)要解決的問(wèn)題,首先必須分析清楚,明確問(wèn)題的要求,列出所有已知量,找出問(wèn)題的求解范圍、解的精度等。2.建立數(shù)學(xué)模型對(duì)實(shí)際問(wèn)題進(jìn)行分析之后,找出它的內(nèi)在規(guī)律,就可以建立數(shù)學(xué)模型。3.選擇算法建立數(shù)學(xué)模型后,還不能著手編程序,必須根據(jù)數(shù)據(jù)結(jié)構(gòu),選擇解決問(wèn)題的算法。一般選擇算法時(shí)要注意:(1) 算法的邏輯結(jié)構(gòu)盡可能簡(jiǎn)單。(2) 算法所要求的存儲(chǔ)量應(yīng)盡可能少。(3) 避免不必要的循
10、環(huán),減少算法的執(zhí)行時(shí)間。(4) 在滿足問(wèn)題要求條件下,使所需的計(jì)算量最小。4.編寫(xiě)程序 把整個(gè)程序看作一個(gè)整體,先全局后局部,自頂向下,一層一層分解處理。如果某些子問(wèn)題的算法相同,而僅僅是參數(shù)不同,可以用函數(shù)來(lái)表示。5.調(diào)試運(yùn)行 準(zhǔn)備多組試驗(yàn)數(shù)據(jù),調(diào)試運(yùn)行。對(duì)程序中的錯(cuò)誤進(jìn)行修改,使程序能運(yùn)行出結(jié)果。6.分析結(jié)果對(duì)試驗(yàn)數(shù)據(jù)計(jì)算的結(jié)果進(jìn)行分析,看是否正確。如果不正確,返回修改程序,再調(diào)試運(yùn)行。7.寫(xiě)出程序的文檔主要是對(duì)程序中的變量、函數(shù)或過(guò)程作必要的說(shuō)明。解釋編程思路,畫(huà)出框圖,討論運(yùn)行結(jié)果等。7. 執(zhí)行一個(gè)c語(yǔ)言程序的一般過(guò)程是什么?答:一個(gè)簡(jiǎn)單C程序的上機(jī)執(zhí)行過(guò)程如下圖所示。 1)啟動(dòng)Tc,
11、進(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)行。編輯并保存編譯連接運(yùn)行新建一個(gè)程序文件源程序.c文件目標(biāo)文件.obj可執(zhí)行.exe文件.obj語(yǔ)法錯(cuò)誤邏輯錯(cuò)誤圖 C程序的上機(jī)執(zhí)行過(guò)程第2章習(xí) 題一選擇題1. 不合法的字符常量是【 】B 。A) t B) “B” C) a D)x322. 合法的字符常
12、量是【 】D 。A) 084 B) 84 C) ab D)x4A3. C語(yǔ)言提供的合法的數(shù)據(jù)類(lèi)型關(guān)鍵字是【 】DB。A) Float B) signed C) integer D)chara4. 屬于合法的C語(yǔ)言長(zhǎng)整型常量的是【 】B 。A)2736 B)0L C)2E10 D)(long)58762735. 下面選項(xiàng)中,不是合法整型常量的是【 】B。A)160 B)0xcdg C)01 D)0x48a6. 以下所列的C語(yǔ)言常量中,錯(cuò)誤的是【 】B 。A)0xFF B)1.2e0.5 C)2L D)727. 下面四個(gè)選項(xiàng)中,均是不正確的8進(jìn)制數(shù)或16進(jìn)制數(shù)的選項(xiàng)是【 】D 。A)016 0x8
13、f 018 B)0abc 017 0xaC)010 -0x11 0x16 D)0a12 7ff -1238. 下選項(xiàng)中不屬于C語(yǔ)言的類(lèi)型是【 】D。A)signed short int B)unsigned long intB)unsigned int D)long short9. 判斷int x = 0xaffb1。x的結(jié)果是【 】B 。A)賦值非法 B)溢出 C)為affb D)為ffbc10. 下面選項(xiàng)中,是合法浮點(diǎn)數(shù)的是【 】B。A)+1e0.5 B).60 C)123e D)e311. 在C語(yǔ)言中,要求參加運(yùn)算的數(shù)必須是整數(shù)的運(yùn)算符是【 】C 。A)/ B)* C)% D) =12.
14、 在C語(yǔ)言中,字符型數(shù)據(jù)在內(nèi)存中存放形式是【 】D。A)原碼 B)BCD碼 C)反碼 D)ASCII碼13. 下列語(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; 14. 下面非法的C語(yǔ)言轉(zhuǎn)義字符是【 】B。A)b B)0xf C)037 D)15. 有字符串如下,"n407as1"xabc",則字符串的長(zhǎng)度為【 】DA)6 B)7 C)8 D)916. 對(duì)于語(yǔ)句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判斷中,正確的是【 】B。A)語(yǔ)
15、法錯(cuò)誤 B)f為5.0 C)f為0.0 D)f為2.017. 與代數(shù)式 不等價(jià)的C語(yǔ)言表達(dá)式是【 】A。A)x*y/u*v B)x*y/u/v C)x*y/(u*v) D)x/(u*v)*y18. 在C語(yǔ)言中,數(shù)字029是一個(gè)【 】D 。A)八進(jìn)制數(shù) B)十六進(jìn)制數(shù) C)十進(jìn)制數(shù) D)非法數(shù)19. C語(yǔ)言中整數(shù)-8在內(nèi)存中的存儲(chǔ)形式為【 】A。A)1111111111111000 B)100000000001000C)000000000001000 D)111111111111011120. 對(duì)于char cx=039;語(yǔ)句,正確的是【 】A 。A)不合法 B)cx的ASCII值是33C)cx
16、的值為四個(gè)字符 D)cx的值為三個(gè)字符21. 在C語(yǔ)言中,不正確的short類(lèi)型的常數(shù)是 【 】B 。A)123 B)32768 C)037 D)0xAF22. 若int k=7,x=12;則能使值為3的表達(dá)式是【 】D。A)x%=(k%=5) B)x%=(kk%5)C)x%=kk%5 D)(x%=k)(k%=5)23. 假定x和y為double型,則表達(dá)式x=2,y=x+3/2的值是【 】D。A)3.500000 B)3 C)2.000000 D)3.00000024. 設(shè)以下變量均為int類(lèi)型,則值不等于7的表達(dá)式是【 】C。A)(x=y=6,x+y,x+1) B)(x=y=6,x+y,y
17、+1)C)(x=6,x+1,y=6,x+y) D)(y=6,y+1,x=y,x+1)25. 在16位C編譯系統(tǒng)上,若定義long a;,則能給a賦40000的正確語(yǔ)句是【 】D。A)a=20000+20000。 B)a=4000*10。C)30000+10000。 D)a=4000L*10L。26. 7/9*9 在C語(yǔ)言中的計(jì)算結(jié)果是 【 】C。A)1 B)7 C)0 D)以上都不是27. 以下能正確定義且賦初值的語(yǔ)句是【 】B A)int n1=n2=10; B)char c=32; C)float f=f+1.1; D)double x=12.3E2.5; 28. 若有定義:int a=7
18、;float x=2.5,y=4.7;則表達(dá)式x+a%3*(int)(x+y)%2/4的值是【 】AA)2.500000 B)2.750000 C)3.500000 D)0.000000 29. 若有運(yùn)算符<<,sizeof,&=,則它們按優(yōu)先級(jí)由高至低的正確排列次序是【 】BA)sizeof,&=,<<, B)sizeof,<<,&=C),<<,sizeof,&= D)<<,&=,sizeof30. 設(shè)變量a是int型,f是float型,i是double型,則表達(dá)式10+a+i*f值的數(shù)據(jù)類(lèi)型
19、為【 】C A)int B)float C)double D)不確定二填空題1. 在C語(yǔ)言中(以16位PC機(jī)為例),一個(gè)char數(shù)據(jù)在內(nèi)存中所占字節(jié)數(shù)為【 1 】,其數(shù)值范圍為【 0 】【255 】。一個(gè)int數(shù)據(jù)在內(nèi)存中所占字節(jié)數(shù)為【 2 】 ,其數(shù)值范圍為【-32768 】 【 32767 】。一個(gè)long數(shù)據(jù)在內(nèi)存中所占字節(jié)數(shù)為【 4 】,其數(shù)值范圍為【-214783648】 【 214783647 】。一個(gè)float數(shù)據(jù)在內(nèi)存中所占字節(jié)數(shù)為【 4 】,其數(shù)值范圍為【-3.4×1038】 【3.4×1038 】。2. C語(yǔ)言的標(biāo)識(shí)符只能由大小寫(xiě)字母,數(shù)字和下劃線三種字
20、符組成,而且第一個(gè)字符必須為【字母或下劃線】。3. 字符常量使用一對(duì)【單引號(hào)】界定單個(gè)字符,而字符串常量使用一對(duì)【雙引號(hào)】來(lái)界定若干個(gè)字符的序列。4. 在C語(yǔ)言中,不同運(yùn)算符之間運(yùn)算次序存在【優(yōu)先級(jí)】的區(qū)別,同一運(yùn)算符之間運(yùn)算次序存在【結(jié)合性 】的規(guī)則。5. 設(shè)x,i,j,k都是int型變量,表達(dá)式x=(i=4,j=16,k=32)計(jì)算后,x的值為【 32 】 。6. 設(shè)x=2.5,a=7,y=4.7,則x+a%3*(int)(x+y)%2/4為【 2 】。7. 設(shè)a=2,b=3,x=3.5,y=2.5,則表達(dá)式(float)(a+b)/2+(int)x%(int)y的值為【 3.5 】。8.
21、 數(shù)學(xué)式子的C語(yǔ)言表達(dá)式為【exp(3)+sqrt(2*x+3*y) 】。9. 數(shù)學(xué)式子的C語(yǔ)言表達(dá)式為【 abs(x-y)+(x+y)/(3*x) 】 。10. 數(shù)學(xué)式子的C語(yǔ)言表達(dá)式為【 (-b+sqrt(b*b-4*a*c)/(2*a) 】 。11. 已知:char a=a,b=b,c=c,i;則表達(dá)式i=a+b+c的值為【 294 】。12. 已知int a=12,n=5;則:a+=a; a-=2;a*=2+3 ;a/=a+a ;n%=(n%=2) ;a+=a-=a*=a ;表達(dá)式運(yùn)算后a的值各為【 0 】。13. 設(shè)int a; float f; double i ;則表達(dá)式10+a
22、+i*f值的數(shù)據(jù)類(lèi)型是【double 】。14. 若a為int型變量,則表達(dá)式 (a=4*5,a*2) ,a+6的值為【 40 】。15. 假設(shè)所有變量均為整型,則表達(dá)式(a=2,b=5,a+,b+,a+b)的值為【 9 】。16. 已知a,b,c是一個(gè)十進(jìn)制數(shù)x的百位,十位,個(gè)位,則計(jì)算該a,b,c數(shù)的表達(dá)式是【 a=x/100,b=(x-x/100*100)/10,c=x%10 】。17. 定義:double x=3.5,y=3.2;則表達(dá)式(int)x*0.5的值是【 1.5 】,表達(dá)式y(tǒng)+=x+的值是【6.7 】。18. 定義:int m=5,n=3;則表達(dá)式m/=n+4的值是【 0
23、】,表達(dá)式m=(m=1,n=2,n-m)的值是【 1 】,表達(dá)式m+=m-=(m=1)*(n=2)的值是【-2 】。19. 表達(dá)式5%(-3)的值是【 2 】,表達(dá)式-5%(-3)的值是【 -2 】。20. 若a是int變量,則執(zhí)行表達(dá)式a=25/3%3后,a的值是【 2 】。三判斷題1. 在C程序中對(duì)用到的所有數(shù)據(jù)都必須指定其數(shù)據(jù)類(lèi)型。【 】2. 一個(gè)變量在內(nèi)存中占據(jù)一定的存儲(chǔ)單元。【 】3. 一個(gè)實(shí)型變量的值肯定是精確的。【 × 】4. 對(duì)幾個(gè)變量在定義時(shí)賦初值可以寫(xiě)成:int a=b=c=3;【 × 】5. 自增運(yùn)算符(+)或自減運(yùn)算符(-)只能用于變量,不能用于常量
24、或表達(dá)式?!?】6. 在C程序的表達(dá)式中,為了明確表達(dá)式的運(yùn)算次序,常使用括號(hào)“()”。【 】7. %運(yùn)算符要求運(yùn)算數(shù)必須是整數(shù)。【 】8. 若a是實(shí)型變量,C程序中允許賦值a=10,因此實(shí)型變量中允許存放整型數(shù)。【× 】9. 在C程序中,逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低。【 】10. C語(yǔ)言不允許混合類(lèi)型數(shù)據(jù)間進(jìn)行運(yùn)算?!?#215; 】 四簡(jiǎn)答題1. 為什么C語(yǔ)言的字符型可以進(jìn)行數(shù)值運(yùn)算? 答:C語(yǔ)言將字符(character)以其ASCII碼的值進(jìn)行存儲(chǔ)和處理,因此可以參加數(shù)值運(yùn)算。2. 簡(jiǎn)述a和“a”的區(qū)別。答:字符常量由單引號(hào)括起來(lái),字符串常量由雙引號(hào)括起來(lái)。例如:'a
25、9;和 "a"是不同的。'a'是字符常量,占一個(gè)字節(jié);"a"是字符串常量,占2個(gè)字節(jié)。3. 程序:int m=12; m=15;為什么整型變量m的值在運(yùn)算后不是當(dāng)初的12,而是15? 答:int m=12;是在定義變量時(shí)進(jìn)行初始化,m=15;是程序運(yùn)行時(shí)對(duì)變量重新賦值,原來(lái)的值也就隨之改變。4. 將下面各數(shù)用八進(jìn)制和十六進(jìn)制數(shù)表示:十進(jìn)制 32 1 32768 2002 128 0八進(jìn)制 040 0177777 0100000 03722 0177600 00十六進(jìn)制0x20 0xffff 0x8000 0x7d2 0xff80 0x05
26、. 華氏溫度F與攝氏溫度c的轉(zhuǎn)換公式為:c=(F-32)*5/9 ,則float c,F; c=5/9*(F-32)是其對(duì)應(yīng)的C語(yǔ)言表達(dá)式嗎?如果不是,為什么?答:對(duì)五程序閱讀題1. 寫(xiě)出以下程序運(yùn)行的結(jié)果。void main( ) char c1='a',c2='b',c3='c',c4='101',c5='102' printf("a%c b%ctc%ctabcn",c1,c2,c3); printf("tb%c %c",c4,c5);2. 寫(xiě)出以下程序運(yùn)行的結(jié)果。voi
27、d main( ) int i,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í)題一選擇題1. printf函數(shù)中用到格式符“5s”,其中數(shù)字5表示輸出的字符串占用5列。如果字符串長(zhǎng)度小于5,則輸出按方式【 】C。A)從左起輸出該字串,右補(bǔ)空格 B)按原字符長(zhǎng)從左向右全部輸出C)右對(duì)齊輸出該字串,左補(bǔ)空格 D)輸出錯(cuò)誤信息2. 已有定義int a=-2;和輸出語(yǔ)句:printf(“%8lx”,a);以下正確的敘述是【D 】。A)整型變量的輸出格式符只有d一種B)x是格式符的一種,它可以適用于任
28、何一種類(lèi)型的數(shù)據(jù)C)x是格式符的一種,其變量的值按十六進(jìn)制輸出,但8lx是錯(cuò)誤的D)8lx不是錯(cuò)誤的格式符,其中數(shù)字8規(guī)定了輸出字段的寬度3. 以下程序的輸出結(jié)果是 【 】D。main() int a=3; printf("%dn",(a+=a-=a*a) ); A) -6 B)12 C) 0 D) -12 4. putchar函數(shù)可以向終端輸出一個(gè)【 】D。A)整型變量表達(dá)式值 B)實(shí)型變量值C)字符串 D)字符或字符型變量值5. 若x,y均定義為int型,z定義為double型,以下不合法的scanf函數(shù)調(diào)用語(yǔ)句是【 】D。A)scanf(“%d%lx,%le”,&am
29、p;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);6. 已有如下定義和輸入語(yǔ)句,若要求a1,a2,c1,c2的值分別為10,20,A和B,當(dāng)從第一列開(kāi)始輸入數(shù)據(jù)時(shí),正確的數(shù)據(jù)輸入方式是【 】A。int a1,a2; char c1,c2;scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);A)10A20B<CR> B
30、)10 A 20 B<CR>C)10 A20B<CR> D)10A20 B<CR>7. 已有定義int x; float y;且執(zhí)行scanf(“%3d%f”,&x,&y);語(yǔ)句,若從第一列開(kāi)始輸入數(shù)據(jù)12345 678<回車(chē)>,則x的值為【 】B。A)12345 B)123C)45D)3458. 已有定義int x; float y;且執(zhí)行scanf(“%3d%f”,&x,&y);語(yǔ)句,若從第一列開(kāi)始輸入數(shù)據(jù)12345 678<回車(chē)>,則y的值為【 】B。A)無(wú)定值 B)45.000000 C)678
31、.000000 D)123.0000009. 閱讀以下程序,當(dāng)輸入數(shù)據(jù)的形式為25,13,10<CR>正確的輸出結(jié)果為【D 】。main()int x,y,z;scanf(“%d%d%d”,&x,&y,&z);printf(“x+y+z=%dn”,x+y+z);A)x+y+z=48 B)x+y+z=35C)x+z=35 D)不確定值10. 邏輯運(yùn)算符兩側(cè)運(yùn)算對(duì)象的數(shù)據(jù)類(lèi)型【 】D。A)只能是0或1 B)只能是0或非0正數(shù)C)只能是整型或字符型數(shù)據(jù) D)可以是任何類(lèi)型的數(shù)據(jù)11. 以下關(guān)于運(yùn)算符優(yōu)先順序的描述中正確的是【 】C。A)關(guān)系運(yùn)算符<算術(shù)運(yùn)算符
32、<賦值運(yùn)算符<邏輯與運(yùn)算符B)邏輯與運(yùn)算符<關(guān)系運(yùn)算符<算術(shù)運(yùn)算符<賦值運(yùn)算符C)賦值運(yùn)算符<邏輯與運(yùn)算符<關(guān)系運(yùn)算符<算術(shù)運(yùn)算符D)算術(shù)運(yùn)算符<關(guān)系運(yùn)算符<賦值運(yùn)算符<邏輯與運(yùn)算符12. 下列運(yùn)算符中優(yōu)先級(jí)最高的是【 】B。A)<B)+C)&&D)!=13. 能正確表示“當(dāng)x的取值在1,10和200,210范圍內(nèi)為真,否則為假”的表達(dá)式是【 】C。A) (x>=1)&&(x<=10)&&(x>=200)&&(x<=210)B) (x&
33、gt;=1)|(x<=10)|(x>=200)|(x<=210)C) (x>=1)&&(x<=10)|(x>=200)&&(x<=210)D) (x>=1)|(x<=10)&&(x>=200)|(x<=210)14. 能正確表示邏輯關(guān)系:“a10或a0”的C語(yǔ)言表達(dá)式是【 】D。A)a>=10 or a<=0 B)a>=0|a<=10C)a>=10 &&a<=0 D)a>=10a<=015. 設(shè)int x=1,y=1;
34、表達(dá)式(!x|y-)的值是【 】BA)0 B)1 C)2 D)-116. 有如下程序段int a=14,b=15,x;char c=A;x=(a&&b)&&(c<B);執(zhí)行該程序段后,x的值為【 】DA)ture B)false C)0 D)1 xa b c17. 表示圖中坐標(biāo)軸上陰影部分的正確表達(dá)式是【 】C。A) (x<=a)&&(x>=b)&&(x<=c)B) (x<=a)|(b<=x<=c)C) (x<=a)|(x>=b)&&(x<=c)D) (x
35、<=a)&&(b<=x<=c)18. 判斷char型變量ch是否為大寫(xiě)字母的正確表達(dá)式是【 】C。A)A<=ch<=ZB)(ch>=A)&(ch<=Z)C)(ch>=A)&&(ch<=Z)D)(A<=ch)AND(Z>=ch)19. 設(shè)x、y和z是int型變量,且x=3,y=4,z=5,則下面表達(dá)式中值為0的是【D 】。A) x&&y B)x<=yC)x|y+z&&y-z D)!(x<y)&&!z|1)20. 已知x=43,ch=
36、A,y=0;則表達(dá)式(x>=y&&ch<B&&!y)的值是【 】C。A)0 B)語(yǔ)法錯(cuò) C)1 D)“假”21. 若希望當(dāng)A的值為奇數(shù)時(shí),表達(dá)式的值為“真”,A的值為偶數(shù)時(shí),表達(dá)式的值為“假”,則以下不能滿足要求的表達(dá)式是【 】C。A)A%2=1 B)!(A%2=0) C)!(A%2) D)A%222. 設(shè)有:int a=1,b=2,c=3,d=4,m=2,n=2;執(zhí)行(m=a>b)&&(n=c>d)后n的值為【 】B。A)1 B)2 C)3 D)423. 判斷char型變量c1是否為小寫(xiě)字母的正確表達(dá)式是【 】D。A)a
37、<=c1<=zB)(c1>=a)&&(c1<=z)C)(a>=c1)|(z<=c1)D)(c1>=a)&&(c1<=z)24. 已知x,y,z均為整型變量,且值均為1,則執(zhí)行語(yǔ)句+x|+y&&+z;后,表達(dá)式x+y的值為【 】CA)1 B)2 C)3 D)425. 以下程序的運(yùn)行結(jié)果是【 】B。#include “stdio.h”main() int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d”,a,b);A)6,1 B)2,1 C)
38、6,0 D)2,026. 以下不正確的if語(yǔ)句形式是【 】C。A)if(x>y&&x!=y);B)if(x=y) x+=y;C)if(x!=y) scanf(“%d”,&x) else scanf(“%d”,&y);D)if(x<y) x+; y+;27. 已知char ch='C' ;則以下表達(dá)式的值是【 】。Dch=(ch>='A' && ch<='Z')?(ch+32):ch;A)A B)a C)Z D)c28. 已知int x=10,y=20,z=30;以下語(yǔ)句:if
39、(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=2029. 以下if語(yǔ)句語(yǔ)法正確的是【 】B。A) if(x>0)printf(“%f”,x)else printf(“%f”,-x);B)if(x>0)x=x+y; printf(“%f”,x); else printf(“%f”,-x);C)if(x>0)x=x+y; printf(“%f”,x); ;else printf(“%f”,-x);D)if(x>0)x=
40、x+y; printf(“%f”,x) else printf(“%f”,-x);30. 有如下程序main()float x=2.0,y; if(x<0.0)y=0.0; else if(x<10.0)y=1.0/x; else y=1.0; printf("%fn",y);該程序的輸出結(jié)果是【 】。CA)0.000000 B)0.250000 C)0.500000 D)1.00000031. 若int k=8;則執(zhí)行下列程序后,變量k的正確結(jié)果是【 】D。main()int k=8; switch(k) case 9:k+=1; case 10:k+=1;
41、case 11:k+=1;break; default:k+=1; printf("%dn",k);A)12 B)11 C)10 D)9 32. 對(duì)表達(dá)式for(表達(dá)式1; 表達(dá)式3)可理解為 【 】。BA)for(表達(dá)式1;0;表達(dá)式3) B)for(表達(dá)式1;1;表達(dá)式3) C)for(表達(dá)式1;表達(dá)式1;表達(dá)式3) D)for(表達(dá)式1;表達(dá)式3;表達(dá)式3) 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循
42、環(huán)中,不能用break語(yǔ)句跳出循環(huán)體 D)for循環(huán)的循環(huán)體語(yǔ)句中,可以包含多條語(yǔ)句,但必須用花括號(hào)括起來(lái) 34. 設(shè)有程序段int k=10;while(k=0) k=k-1;則下面描述中正確的是【 】C。A)while循環(huán)執(zhí)行10次B)循環(huán)是無(wú)限循環(huán)C)循環(huán)體語(yǔ)句一次也不執(zhí)行D)循環(huán)體語(yǔ)句執(zhí)行一次35. 設(shè)有以下程序段int x=0,s=0;while(!x!=0) s+=+x;printf(“%d”,s);則【 】B。A)運(yùn)行程序段后輸出0 B)運(yùn)行程序段后輸出1C)程序段中的控制表達(dá)式是非法的 D)程序段執(zhí)行無(wú)限次36. 語(yǔ)句while(!E);中的表達(dá)式!E等價(jià)于【 】A。
43、A)E=0B)E!=1C)E!=0D)E=137. 下面程序段的運(yùn)行結(jié)果是【 】A。a=1; 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,0C)1,2,1D)2,1,138. 下面程序段的運(yùn)行結(jié)果是【 】D。x=y=0;while(x<15) y+,x+=+y;printf(“%d,%d”,y,x);A)20,7B)6,12C)20,8D)8,2039. 已知 int t=0; while(t=1) . 則以下敘述正確的是 【 】。 BA)循環(huán)控
44、制表達(dá)式的值為0 B)循環(huán)控制表達(dá)式的值為1 C)循環(huán)控制表達(dá)式不合法 D)以上說(shuō)法都不對(duì) 40. 下面程序段的運(yùn)行結(jié)果是【 】C。int n=0;while(n+<=2); printf(“%d”,n);A)2B)3C)4D)有語(yǔ)法錯(cuò)41. 設(shè)有程序段t=0;while(printf(“*”)t+; if(t<3) break;則下面描述正確的是【 】D。A)其中循環(huán)控制表達(dá)式與0等價(jià) B)其中循環(huán)控制表達(dá)式與0等價(jià)C)其中循環(huán)控制表達(dá)式是不合法的 D)以上說(shuō)法都不對(duì)42. C語(yǔ)言中while和do-while循環(huán)的主要區(qū)別是【 】A。A)do-while的循環(huán)體至少無(wú)條件執(zhí)行一
45、次B)while的循環(huán)控制條件比do-while的循環(huán)控制條件嚴(yán)格C)do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)D)do-while的循環(huán)體不能是復(fù)合語(yǔ)句43. 以下描述中正確的是【 】C。A)由于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á)式)后面不能寫(xiě)分號(hào)C)在do-while循環(huán)體中,一定要有能使while后面表達(dá)式的值變?yōu)榱?“假”)的操作D)do-while循環(huán)中,根據(jù)情況可以省略while44. 若i為整型變量,則以下循環(huán)執(zhí)行次數(shù)是【 】B。for(i=2;i=0;) prin
46、tf(“%d”,i-);A)無(wú)限次B)0次 C)1次 D)2次45. 以下for循環(huán)的執(zhí)行次數(shù)是【 】C。for(x=0,y=0;(y=123)&&(x<4);x+)A)是無(wú)限循環(huán)B)循環(huán)次數(shù)不定C)執(zhí)行4次D)執(zhí)行3次46. 以下不是無(wú)限循環(huán)的語(yǔ)句為【 】A。A)for(y=0,x=1;x>+y;x=i+) i=x;B)for(;x+=i);C)while(1) x+; D)for(i=10;i-) sum+=i;47. 下面程序段的運(yùn)行結(jié)果是【 】C。for(y=1;y<10;) y=(x=3*y,x+1),x-1);printf(“x=%d,y=%d”,
47、x,y);A)x=27,y=27B)x=12,y=13C)x=15,y=14D)x=y=2748. 下面程序段的運(yùn)行結(jié)果是【 】D。for(x=3;x<6;x+) printf(x%2)?(“*%d”):(“#%dn”),x);A)*3 B)#3 C)#3 D)*3#4 #4 *4 *4#5 *5 *5 #549. 下列程序段不是死循環(huán)的是【 】D。A)int i=100;while(1)i=i%100+1; if(i>100) break;B) for(;);C) int k=0;do +k; while(k>=0);D) int s=36;while(s) -s;50.
48、執(zhí)行語(yǔ)句for(i=1;i+<4;);后變量i的值是【 】C。A)3B)4C)5D)不定51. 以下正確的描述是【 】。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ǔ)句52. 下面程序段【 】D。for(t=1;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í)什么也不輸出
49、C)printf函數(shù)永遠(yuǎn)也不執(zhí)行 D)最多允許輸出100個(gè)非負(fù)整數(shù)53. 下面程序段【 】C。x=3;do y=x-; if(!y) printf(“x”); continue; printf(“#”);while(1<=x<=2);A)將輸出#B)將輸出#*C)是死循環(huán)D)含有不合法的控制表達(dá)式二填空題1. 設(shè)y是int型,請(qǐng)寫(xiě)出y為奇數(shù)的關(guān)系表達(dá)式 【 y%2 】 。2. 設(shè)int a=5,b=6,表達(dá)式(+a=b-)?+a:-b的值是【 7 】 。3. 將以下程序?qū)懗扇窟\(yùn)算表達(dá)式是【a=(a>b)?a:b; 】 。if(a>b)max=a;else max=b;
50、4. 以下程序輸出的結(jié)果是【 0 】。main() int a=5,b=4,c=3,d;d=(a>b>c);printf("%dn",d);5. 若從鍵盤(pán)輸入58,則以下程序輸出的結(jié)果是 【585858 】 。main()int a;scanf("%d",&a);if(a>50)printf("%d",a);if(a>40)printf("%d",a);if(a>30)printf("%d",a);6. 閱讀下面語(yǔ)句,則程序的執(zhí)行結(jié)果是 【 1,0 】 。#
51、include "stdio.h"main() int a=-1,b=1,k;if(+a<0)&&!(b-<=0)printf("%d,%dn",a,b);else printf("%d,%dn",b,a);7. 以下程序的輸出結(jié)果為【 】。main() short i; i=-4; printf(“ni:dec=%d,oct=%o,hex=%x,unsigned=%un”,i,i,i,i);8. 以下程序的輸出結(jié)果為【*3.140000,3.142* 】。main() printf(“*%f,%4.3f*
52、n”,3.14,3.1415);9. 以下程序的輸出結(jié)果為【c:dec=120,oct=170,hex=78,ASCII=x 】。main() char c=x; printf(“c:dec=%d,oct=%o,hex=%x,ASCII=%cn”,c,c,c,c); 10. 以下程序的輸出結(jié)果為【 】。x=1 y=2 *sum*=3 10 Squared is:100main() int x=1,y=2; printf(“x=%d y=%d *sum*=%dn”,x,y,x+y); printf(“10 Squared is:%dn”,10*10);11. 以下程序段的輸出結(jié)果為【 】。int
53、 x=7281;printf(“(1) x=%3d,x=%6d,x=%6o,x=%6x,x=%6un”,x,x,x,x,x);printf(“(2) x=%-3d,x=%-6d,x=$%-06d,x=$%06d,x=%06dn”,x,x,x,x,x);printf(“(3) x=%+3d,x=%+6d,x=%+08dn”,x,x,x);printf(“(4) x=%o,x=%#on”,x,x);printf(“(5) x=%x,x=%#xn”,x,x);12. 假設(shè)變量a和b均為整型,以下語(yǔ)句可以不借助任何變量把a(bǔ)、b中的值進(jìn)行交換。請(qǐng)?zhí)羁铡+=【b 】; b=a-【 b 】; a-=【b
54、】;13. 假設(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=10。請(qǐng)?zhí)羁??!?t=a; 】; a=b; b=c; 【c=t; 】;14. 有一輸入函數(shù)scanf(“%d”,k);其不能使float類(lèi)型變量k得到正確數(shù)值的原因是【類(lèi)型錯(cuò) 】和【 地址錯(cuò) 】。15. 已有定義int a; float b,x; char c1,c2;為使a=3,b=6.5,x=12.6,c1=a,c2=A,正確的scanf函數(shù)調(diào)用語(yǔ)句是【scanf("%d%f%f%c%c",&
溫馨提示
- 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年度高速打印機(jī)采購(gòu)及專(zhuān)業(yè)打印解決方案合同4篇
- 2025年度派駐研發(fā)團(tuán)隊(duì)技術(shù)合作協(xié)議范本4篇
- 2025年城市道路照明改造工程合同4篇
- 2025版教育培訓(xùn)機(jī)構(gòu)課程合作合同4篇
- 2025年度全國(guó)范圍內(nèi)促銷(xiāo)員勞動(dòng)合同標(biāo)準(zhǔn)范本2篇
- 2025年度跑步俱樂(lè)部會(huì)員退會(huì)處理合同范本4篇
- 2025年度體育場(chǎng)館場(chǎng)地租賃與管理協(xié)議3篇
- 智能乘法算法自適應(yīng)-深度研究
- 2025年度在線教育平臺(tái)課程分期訂閱協(xié)議2篇
- 人工智能與職業(yè)發(fā)展的融合-深度研究
- 2024公路瀝青路面結(jié)構(gòu)內(nèi)部狀況三維探地雷達(dá)快速檢測(cè)規(guī)程
- 2024年高考真題-地理(河北卷) 含答案
- 中國(guó)高血壓防治指南(2024年修訂版)解讀課件
- 2024風(fēng)力發(fā)電葉片維保作業(yè)技術(shù)規(guī)范
- 《思想道德與法治》課程教學(xué)大綱
- 2024光儲(chǔ)充一體化系統(tǒng)解決方案
- 處理后事授權(quán)委托書(shū)
- 封條(標(biāo)準(zhǔn)A4打印封條)
- 中醫(yī)治療“濕疹”醫(yī)案72例
- 2023年大學(xué)生《思想道德與法治》考試題庫(kù)附答案(712題)
- 清代文學(xué)緒論
評(píng)論
0/150
提交評(píng)論