校園網(wǎng)新視野教育全國計(jì)算機(jī)等級(jí)考試二級(jí)C語言筆試習(xí)題集答案及解析_第1頁
校園網(wǎng)新視野教育全國計(jì)算機(jī)等級(jí)考試二級(jí)C語言筆試習(xí)題集答案及解析_第2頁
校園網(wǎng)新視野教育全國計(jì)算機(jī)等級(jí)考試二級(jí)C語言筆試習(xí)題集答案及解析_第3頁
校園網(wǎng)新視野教育全國計(jì)算機(jī)等級(jí)考試二級(jí)C語言筆試習(xí)題集答案及解析_第4頁
校園網(wǎng)新視野教育全國計(jì)算機(jī)等級(jí)考試二級(jí)C語言筆試習(xí)題集答案及解析_第5頁
已閱讀5頁,還剩48頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、C語言基礎(chǔ)知識(shí)一,選擇題 1 答案是A A正確 B 可以作為復(fù)合語句的標(biāo)志 C main 函數(shù)不是用戶命名的 D 分號(hào)是語句結(jié)束的標(biāo)志,肯定是語句的一部分 做這個(gè)題目需要對(duì)書上的概念透徹的理解 2 答案是A A 錯(cuò)誤 用戶標(biāo)識(shí)符:命名時(shí),標(biāo)識(shí)符的選擇由用戶自定,但是不能與關(guān)鍵字相同,所以A選項(xiàng)錯(cuò)誤。這個(gè)題目考察用戶標(biāo)識(shí)符 3 答案是B 用戶標(biāo)識(shí)符是標(biāo)識(shí)符,所以可以是有下劃線,但是中劃線不屬于字母, 數(shù)字,下劃線其中一種。這個(gè)題目考察用戶標(biāo)識(shí)符的概念。 4 答案是B define 是預(yù)定義標(biāo)識(shí)符,而預(yù)定義標(biāo)識(shí)符可以是用戶標(biāo)識(shí)符,所以 define可以是用戶標(biāo)識(shí),if 是關(guān)鍵字,而關(guān)鍵字不能是用戶

2、標(biāo)識(shí)符, 所以if不可以是用戶標(biāo)識(shí)符 5 答案是D long 是關(guān)鍵字,參照附錄二 注:6-13 考察用戶標(biāo)識(shí)符概念 6 答案是D D答案以數(shù)字2開頭了,不符合標(biāo)識(shí)符定義 7 答案是C C答案以數(shù)字開頭了 8 答案是D int 是關(guān)鍵字 9 答案是B 答案A 是關(guān)鍵字,答案C是以數(shù)字開頭了,不符合概念,答案D出 現(xiàn)了小數(shù)點(diǎn) 10 答案是A 答案A出現(xiàn)了小數(shù)點(diǎn) 11 答案是C 答案C 以數(shù)字開頭了 12 答案是A B答案中float 是關(guān)鍵字,C答案中3c以數(shù)字3開頭了,D答案中-5d 中 - 不屬于字母,數(shù)字,下劃線中一種 13 答案是A B答案中-max中-錯(cuò)誤,C答案中3COM以字母3開頭

3、了,D答案中 int 是關(guān)鍵字,不是用戶標(biāo)識(shí)符 14 答案是B A答案中15. 后面不應(yīng)該有點(diǎn),C答案中出現(xiàn)了逗號(hào),D中字母B有 問題 15 答案是D Visual C+6.0中int類型的變量占的字節(jié)數(shù)為4。 16 答案是B B中出現(xiàn)了8,而八進(jìn)制只能有0到7組成 17 答案是D 答案D中開頭是0不是o 18 答案是C 答案A中E后面是整數(shù),0.5是小數(shù) 答案B 中E后面不能為空 答案D中E前面不能為空 本題目考察指數(shù)的表示形式 19 答案是C 答案A中2.0有問題,不能為小數(shù)形式 答案B中E前面不能為空 答案D中E后面不能為空 本題目考察指數(shù)的表示形式 20 答案是A B中八進(jìn)制中不能出現(xiàn)

4、數(shù)字8,C中e后面不能是小數(shù),D中e后面 不能為空 21 答案是B B中0.4是小數(shù),不正確 22 答案是C C中0.5是小數(shù),不正確 23 答案是D 3.6-5/2+1.2+5%2=3.6-2+1.2+1=3.8 本題目考察算術(shù)運(yùn)算符,需要注意整數(shù)除以整數(shù)結(jié)果只能是整數(shù) 24 答案是D %不能用于實(shí)型的計(jì)算 25 答案是D D答案中$不屬于字母,數(shù)字,下劃線 26 答案是 A A答案是逗號(hào)表達(dá)式,B答案中x+1=y是賦值表達(dá)式,左邊只能是變 量,而這里是x+1, 同理答案C中x+10也是錯(cuò)誤的,在D答案中, 考察的是強(qiáng)制類型轉(zhuǎn)換, 正確的是(double)x/10 27 答案是 A 本題考察

5、的是注釋需要注意的地方,具體解答見課本第2頁中間部分 28 答案是B 答案A中n2沒有定義,答案C中在定義f之前不能使用它,答案D 中E后面必須是整數(shù) 29 答案是 C 考察的是強(qiáng)制類型轉(zhuǎn)換,正確的是k%(int)f 30 答案是 D 本題目類似與第七課時(shí)的例一,解題方法是要抓住+m,-n,-m, 表達(dá)式的值是變量變化之后的值,而n-表達(dá)式的值是變量n變化之 前的值 31 答案是B 本題目考察的是負(fù) 整數(shù)與無符號(hào)正整數(shù)在計(jì)算機(jī)中存放的格式的一樣的,但表示的不 同的兩個(gè)數(shù) 32 答案是C A答案中%運(yùn)算對(duì)象不能為實(shí)型,26.8錯(cuò)誤,B答案中考察的賦值 運(yùn)算符,賦值運(yùn)算符左邊必須是變量,所以賦值運(yùn)

6、算符左邊1+2錯(cuò) 誤,同理答案D錯(cuò)誤 33 答案是 C 本題目考察的是課本第15頁的關(guān)于自加與自減運(yùn)算符的第一點(diǎn)說 明,即增量運(yùn)算符的運(yùn)算對(duì)象只能是變量,而在C答案中+(i+1) 中,i+1是表達(dá)式 34 答案是 B 本題目考察的是整數(shù)除以整數(shù)結(jié)果是整數(shù),在B答案中1/2結(jié)果是0,導(dǎo)致整個(gè)表達(dá)式的值是0,明顯是錯(cuò)誤的 35 答案是D對(duì)于+、-單目運(yùn)算符來說,其運(yùn)算對(duì)象可以是char型、int型和float型變量 36 答案是A 本題目主要考察n+表達(dá)式的值是n變化之前的值,然后使n的值增加1 37 答案是 B c=a/b+0.4 c=8/5+0.4 c=1+0.4 c=1.4 因?yàn)閏 是int

7、 型的,所以c的值是1 ,做此題目需要仔細(xì)閱讀題目 38 答案是 D (int)a+b/b=(int)5.5+2.5/2.5=5+1.000000=b=6.000000 同樣a,b的類型是double型的 39 答案是D long 和short不能相互修飾 40 答案是 C 標(biāo)識(shí)符中不能有$答案是CA選項(xiàng)中,在變量賦值時(shí)不能賦給表達(dá)式,而y*5是表達(dá)式;選項(xiàng)B中進(jìn)行強(qiáng)制類型轉(zhuǎn)換時(shí),類型標(biāo)識(shí)符要加上括號(hào),所以錯(cuò)誤;選項(xiàng)D中,%(求余運(yùn)算符)運(yùn)算對(duì)象只能是整形數(shù)。 42 答案是 A 選項(xiàng)A中,b變量還沒有定義 43 答案是C選項(xiàng)A中l(wèi)ong是關(guān)鍵字;選項(xiàng)B中“-”符號(hào)不屬于字母、數(shù)字或下劃線;選項(xiàng)

8、D中,int是關(guān)鍵字。 44 答案是 B選項(xiàng)A中,八進(jìn)制數(shù)只能由07之間的數(shù)字組成;選項(xiàng)C,十六進(jìn)制數(shù)應(yīng)該以0X開頭,并且由09以及af組成,Oabc不正確;選項(xiàng)D中10,000包含逗號(hào),不正確。 45 答案是B C語言的標(biāo)識(shí)符中只能包含字線、數(shù)字和下劃線,沒有連接符。 46 答案是 C既然在內(nèi)存中,字符數(shù)據(jù)以 ASCII 碼存儲(chǔ),它的存儲(chǔ)形式就與整數(shù)的存儲(chǔ)形式類似。這樣使字符型數(shù)據(jù)和整型數(shù)據(jù)之間可以通用。一個(gè)字符數(shù)據(jù)既可以以字符形式輸出,也可以以整數(shù)形式輸出。以字符形式輸出時(shí),需要先將存儲(chǔ)單元中的 ASCII 碼轉(zhuǎn)換成相應(yīng)字符,然后輸出。以整數(shù)形式輸出時(shí),直接將 ASCII 碼作為整數(shù)輸出。

9、也可以對(duì)字符數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算,此時(shí)相當(dāng)于對(duì)它們的 ASCII 碼進(jìn)行算術(shù)運(yùn)算。 47 答案是D不同的計(jì)算機(jī)系統(tǒng)或者編譯系統(tǒng),對(duì)3種整數(shù)類型所占用的字節(jié)數(shù)有不同的規(guī)定。 48 答案是A選項(xiàng)B中求余運(yùn)算(%)的運(yùn)算對(duì)象必須是整型;選項(xiàng)C中,賦值運(yùn)算符(=)的左邊必須是變量,不能是常量或表達(dá)式;選項(xiàng)D與選項(xiàng)C同理。 49 答案是 A +運(yùn)算符有前綴和后綴兩種形式,本題中的選項(xiàng)C就是前綴形式,其表達(dá)式的值為增1后的值,而選項(xiàng)A為后綴形式,其表達(dá)式的值為增1之前的值。而選項(xiàng)B和D的表達(dá)式都是k加1之后的值 50 答案是A 51 答案是C 選項(xiàng)A中將一個(gè)變量j的值賦給了一個(gè)表達(dá)式,這種寫法是錯(cuò)誤的,只能給

10、變量賦值,而不能給常量和表達(dá)式賦值;選項(xiàng)B中強(qiáng)制類型轉(zhuǎn)換的格式使用出錯(cuò),強(qiáng)制類型轉(zhuǎn)換時(shí),類型標(biāo)識(shí)符必須用括號(hào)括起來;選項(xiàng)D中,求余運(yùn)算符(%)的兩端必須是整形數(shù)。 52 答案是 D 字符常量是用單引號(hào)括起來的單個(gè)字符,所以選項(xiàng)B錯(cuò)誤;此外還有一種特殊的字符專為控制設(shè)計(jì),稱為轉(zhuǎn)義字符,有三種轉(zhuǎn)義字符:一種是由一個(gè)“”開頭加一個(gè)普通字符組成,代表一個(gè)字符。如表示一個(gè)單引號(hào)字符,所以選項(xiàng)D正確;表示一個(gè)斜杠字符,而選項(xiàng)C中的則是錯(cuò)誤的;用“”與其后的13位八進(jìn)制數(shù)字構(gòu)成的字符序列,表示ASCII碼等值于該八進(jìn)制數(shù)的字符;用“x”與其后的12位十六進(jìn)制數(shù)字構(gòu)成的字符序列,表示ASCII碼等值于該十六進(jìn)

11、制數(shù)的字符;所以選項(xiàng)A錯(cuò)誤。 53 答案是B字符常量是用單引號(hào)括起來的單個(gè)字符,所以選項(xiàng)A正確;此外還有一種特殊的字符專為控制設(shè)計(jì),稱為轉(zhuǎn)義字符,有三種轉(zhuǎn)義字符:一種是由一個(gè)“”開頭加一個(gè)普通字符組成,代表一個(gè)字符。如n表示一個(gè)換行符,所以選項(xiàng)D正確;用“”與其后的13位八進(jìn)制數(shù)字構(gòu)成的字符序列,表示ASCII碼等值于該八進(jìn)制數(shù)的字符,所以選項(xiàng)B錯(cuò)誤,因?yàn)?不是八進(jìn)制數(shù)字;用“x”與其后的12位十六進(jìn)制數(shù)字構(gòu)成的字符序列,表示ASCII碼等值于該十六進(jìn)制數(shù)的字符;所以選項(xiàng)C正確。 54 答案是D 大寫字母的ASCII碼值比小寫字母的ASCII碼值小32 55 答案是 A選項(xiàng)A中的字符變量ch只

12、能接收單個(gè)字符,ab不是單個(gè)字符,所以錯(cuò)誤。 56 答案是Bchar x=C將一個(gè)大寫字母賦給了字符型變量x;然后通過x=x+32將x中字符的ASCII碼值加32,即為小寫字符c的ASCII碼值;然后將x以字符形式輸出,即為小寫字母c。 57 答案是A語句char x,y;定義兩個(gè)字符型變量x,y;然后通過x=B-A+a將用大寫字母B的ASCII碼送去大寫字母A的ASCII碼,結(jié)果便為1,然后再加上小寫字每a的AS CII碼,結(jié)果就為小寫字母b的ASCII碼,然后再賦值給變量x;通過y=x+2,將變量x中的ASCII碼值加2,即變成小寫字母d的ASCII碼值再賦值給變量y;然后以數(shù)值形式輸出變

13、量x中的ASCII碼值為98,再以字符形式輸出變量y中的字符為d。 58 答案是B選項(xiàng)A中字符0的ASCII碼值為48,所以A的結(jié)果不為1;選項(xiàng)B中0代表空值,空值NULL的ASCII碼值為0所以結(jié)果為1;選項(xiàng)C中字符1的ASCII碼值為49,所以結(jié)果不為1;選項(xiàng)D相當(dāng)于用0-48結(jié)果也不為1。 59 答案是 D如果要表示十六進(jìn)制字符,則要用x開頭,所以選項(xiàng)A錯(cuò)誤;如果要表示八進(jìn)制,則0開頭,后面跟13位的八進(jìn)制數(shù),八進(jìn)制數(shù)由07組成,不包含8,所以選項(xiàng)B錯(cuò)誤;用單引號(hào)括起來的單個(gè)字符才是字符常量,所以C錯(cuò)誤;而n是轉(zhuǎn)義字符,用來表示回車符。 60 答案是B用單引號(hào)括起來的單個(gè)字符,稱為字符常

14、量,所以選項(xiàng)B錯(cuò)誤。 61 答案是C先將c1 變量中的字符的ASCII碼值輸出,即為65,將變量c2中字符的ASCII碼值減2后輸出,即為66。 62 答案是 A我們知道異或運(yùn)算,只有兩個(gè)操作數(shù)不同,結(jié)果才為1。所以01=1,11=0,由此可推理,任何數(shù)與1進(jìn)行異或運(yùn)算都得它的相反數(shù);變量b中的高4位為1,所以要讓變量a的高4位取反,即可讓變量a和變量b進(jìn)行異或運(yùn)算。 63 答案是A變量c1和c2中的值相同,所以轉(zhuǎn)換成二進(jìn)制數(shù)后,對(duì)應(yīng)的二進(jìn)制位上的值也相同,當(dāng)兩值相同時(shí),只有進(jìn)行異或運(yùn)算,結(jié)果才為0,所以c1c2值為0。所以本題的正確答案為A。 64 答案是A4|3轉(zhuǎn)換成對(duì)應(yīng)的二進(jìn)制數(shù)即100

15、|011=111再轉(zhuǎn)換為十進(jìn)制數(shù)即為7;而4&3轉(zhuǎn)換成對(duì)應(yīng)的二進(jìn)制數(shù)即100&011=000,再轉(zhuǎn)換為十進(jìn)制數(shù)即為0;所以選擇A。 65 答案是 Dx/y的值為1,z的值也為1,1和1求反進(jìn)行與運(yùn)算,結(jié)果一定為0。所以本題選擇D。 66 答案是D2+x=00000010+10100111=10101001;3=00000011=11111100;所以就相當(dāng)于1010100111111100=01010101,所以選擇D。 67 答案是 Da=0x3轉(zhuǎn)換為二進(jìn)制數(shù)即為00000011;b=a|0x8轉(zhuǎn)換為二進(jìn)制數(shù)即為00000011|00001000=00001011即b=11,

16、b<<1即00001011<<1=00010110即c=22,所以本題選擇D。二,填空題 1 位 0 1 2 關(guān)鍵字 預(yù)定義標(biāo)識(shí)符 用戶標(biāo)識(shí)符 3 8 4 八 十 十六 5 int float double 6 5+3.6/2=5+1.8=6.8 7 15 16 a+表達(dá)式的值是a變化之前的值,當(dāng)然a本身增加了18 把10賦給變量B 9 123.46 (int)(x*100+0.5)/100.0=(int)(12345.67+0.5)/100.0=(int)(12346.17)/100.0=12346/100.0=123.46。 10 3整個(gè)表達(dá)式是一個(gè)逗號(hào)表達(dá)式,變量

17、n和i賦值為2后,通過+i將i的值增加1變?yōu)?,然后再通過i+為i增加1,整個(gè)逗號(hào)表達(dá)式的值為i+的值,此時(shí)是后綴,所以整個(gè)i+表達(dá)式的值為3,而變量i的值為2。 11 11110111第11題沒有詳細(xì)解析而且答案出錯(cuò): xy<<1=0000001000000101<<1=1111110100001010=11110111 12 2只有和b是正確的 13 2 20.000000x=f*=n/=(c=50)是一個(gè)賦值表達(dá)式,它的順序是從右向左賦值,先執(zhí)行c=50,然后執(zhí)行n/=50即n=n/50=100/50=2,接著執(zhí)行f*=2即f=f*2=10*2=20.000000

18、,最后再將值賦給變量x。輸出變量n和x的值,即為2 20.000000。 14 a=14表達(dá)式a=(3*5,a+4)的括號(hào)中是一個(gè)逗號(hào)表達(dá)式,其結(jié)果是最后一個(gè)表達(dá)式的值,即將a+4=14的值賦給變量a。所以輸出結(jié)果為a=14。第二章 順序結(jié)構(gòu)一 選擇題1, 答案是 C 隨意使用空語句會(huì)導(dǎo)致邏輯上出現(xiàn)錯(cuò)誤,不要隨便使用。2, 答案是 B 語句必須以分號(hào)結(jié)尾,A,C,D表達(dá)式后面均沒有分號(hào)。3, 答案是 Cint x=13,y=4;說明x,y均為整型,所以x/y只取整數(shù)部分(舍去法),值為3,把3賦值給x,整個(gè)x=x/y表達(dá)式的值為左邊變量x的值,所以輸出為3。4, 答案是 Aa,b均為整型,a/

19、b是取a÷b所得商的整數(shù)部分,所以是0,再把0賦值給 c,所以是c的值是0。答案是 DA 注釋語句可以放在代碼的任何位置B 將r定義為整型不會(huì)在編譯時(shí)出錯(cuò),會(huì)自動(dòng)進(jìn)行類型轉(zhuǎn)換C 變量s為浮點(diǎn)型,格式描述符f時(shí)正確的D 是非法的變量答案是 D(x,y)是逗號(hào)表達(dá)式,它的值只有一個(gè),所以格式說明符的個(gè)數(shù)和輸出項(xiàng)的個(gè)數(shù)是相等的。并且逗號(hào)表達(dá)式的值為最后一個(gè)表達(dá)式的值,最后一個(gè)表達(dá)式是y=2003,所以整個(gè)表達(dá)式的值是2003,因此輸出值為2003。答案是 Am是十進(jìn)制整數(shù)以十進(jìn)制有符號(hào)的形式輸出,即照原樣輸32767,n=032767,032767是八進(jìn)制的整數(shù)以八進(jìn)制無符號(hào)形式輸出,去掉

20、前面的0。見教材P348, 答案是 C m,n的值都是十六進(jìn)制數(shù)0xabc,m-=n即是m=m-n, 把m-n的值賦給m, 即把0賦給m,再把m值以十六進(jìn)制無符號(hào)的形式輸出,輸出的十六進(jìn)制 數(shù)不用在前面0x或者0X。見教材P359, 答案是 B表達(dá)式i的值是在變量自減之前的值,i的初值為10,所以該表達(dá)式的值也為10;表達(dá)式j(luò)+的值是變量自加之后的值,j初值為1,所以該表達(dá) 式在值是2。10, 答案是 C m=0256,即m是八進(jìn)制的數(shù)0256,要以八進(jìn)制無符號(hào)的形式輸出,即輸出 256;n=256,即n是十進(jìn)制的數(shù)256,也要以八進(jìn)制無符號(hào)的形式輸出,首 先要把十進(jìn)制數(shù)轉(zhuǎn)化為八進(jìn)制數(shù),256

21、轉(zhuǎn)化為八進(jìn)制為0400,以無符號(hào)形 式輸出,即輸出400。11, 答案是 B在printf語句中,格式控制的個(gè)數(shù)只有一個(gè),即d,而輸出項(xiàng)有兩項(xiàng),即a和b。而得到的結(jié)果應(yīng)該只有一個(gè),所以應(yīng)該輸出第一個(gè)變量的值,即變量a的值。12, 答案是 C第一個(gè)數(shù)據(jù)的輸出控制寬度是2位,但是x的值是102,占3位,要輸出的數(shù)據(jù)寬度大于規(guī)定的輸出寬度,所以按數(shù)據(jù)的實(shí)際寬度輸出,輸出102。第二個(gè)數(shù)據(jù)要求以十進(jìn)制形式輸出,輸出控制寬度是2,y的值為012,是八進(jìn)制數(shù),所以要轉(zhuǎn)換成十進(jìn)制數(shù)10后再輸出。13, 答案是 B表達(dá)式af/=c*=(x=6.5),按從右到左結(jié)合,先把6.5賦值給x,再執(zhí)行cc*6.5,c的

22、值變?yōu)?5,再執(zhí)行ff/65,為浮點(diǎn)數(shù)的除法,f的值為1.53,再把f的值賦給a,a為整型數(shù)據(jù),執(zhí)行強(qiáng)制類型轉(zhuǎn)換,a的值為1。a對(duì)應(yīng)的輸出格式為d,即輸出1;c對(duì)應(yīng)的輸出格式為d,輸出65,f對(duì)應(yīng)的輸出格式3.1f,即輸出控制寬度為3位,保留小數(shù)點(diǎn)后一位小數(shù),即輸出1.5,x對(duì)應(yīng)的輸出格式也為3.1f,輸出6.5。14, 答案是 Dfloat x=-123.456;說明x為單精度浮點(diǎn)數(shù)據(jù),單精度浮點(diǎn)數(shù)據(jù)對(duì)應(yīng)的輸出格式應(yīng)該為%f。15, 答案是 Cm=(k+=i*=k);按從右到左結(jié)合,先執(zhí)行i=i*k;即i被賦值為4,再執(zhí)行kk4;k被賦值為6,最后把6賦給m,輸出m和i的值。16, 答案是

23、C 略(參考12題)17, 答案是 Dm遵循從右向左結(jié)合的原則;m的值為m自增之前的值,所以執(zhí)行完xm以后,x被賦值為3;表達(dá)式xx8/+n中有加號(hào)除號(hào),先算8/+n,+n的值為自增之后的值為5,8/5取整為1,即xx8/+n轉(zhuǎn)化為xx1,即把x1的值賦給x,x的值變?yōu)?。18, 答案是 D A 輸入函數(shù)應(yīng)為scanf(); B,C 輸入數(shù)據(jù)列表必須是地址表達(dá)式;19, 答案是 A 從鍵盤輸入數(shù)據(jù)的格式必須與輸入控制要求的格式一樣 B答案三個(gè)之間不要有空格;C答案用逗號(hào)分開是多余的;D答案格式不匹配。20, 答案是 A格式控制要求輸入的兩個(gè)數(shù)據(jù)之間要用逗號(hào)隔開,A沒有逗號(hào)所以錯(cuò)誤,D兩個(gè)輸入數(shù)

24、之間的回車換行可以忽略。21, 答案是 Cx乘以100是為了把x小數(shù)點(diǎn)后的兩位小數(shù)變?yōu)檎麛?shù),再加上0.5,如果小數(shù)點(diǎn)后一位大于等于5則會(huì)進(jìn)一位,如果小數(shù)點(diǎn)后一位小于5則不會(huì)出現(xiàn)進(jìn)位的情況,再對(duì)其進(jìn)行強(qiáng)制類型轉(zhuǎn)換,采用舍去法丟掉小數(shù)部分,即對(duì)x乘上100后的數(shù)實(shí)現(xiàn)了小數(shù)位到整數(shù)位的四舍五入。最后再除以100.0,把數(shù)字變回原來的大小,整數(shù)與浮點(diǎn)數(shù)相除結(jié)果為浮點(diǎn)數(shù),即實(shí)現(xiàn)了要求。答案是 C 從鍵盤輸入數(shù)據(jù)的格式必須與輸入控制要求的格式一樣。 答案是 B輸入控制中第一個(gè)數(shù)要求以“2d”形式輸入,即要求輸入一個(gè)兩位的數(shù),而從鍵盤輸入的數(shù)為876,所以從左到右取兩位數(shù)字87,即把87賦值給整型變量a,余

25、下的6再賦值給浮點(diǎn)型變量b,自動(dòng)進(jìn)行類型轉(zhuǎn)換,b的值為6.000000,后面輸入的543則沒有賦值給變量。答案是 D“”會(huì)輸出一個(gè)“”,“d”會(huì)照原樣輸出,因?yàn)闆]有格式說明,m,n無法輸出到屏幕。答案是 D第1個(gè)輸出語句要求ch以%c(字符)形式輸出所以為輸出“a”,以%d(整數(shù))形式輸出為,字符轉(zhuǎn)換為整型要使用ASCII碼所以為“97”,k沒有對(duì)應(yīng)的輸出符所以沒有輸出,第2個(gè)輸出語句要求以整型方式輸出k得到“12”。結(jié)果為“a,97,k=12”答案是 Ba+b的結(jié)果為30,按照“a+b=%dn”的輸出格式得到輸出結(jié)果“a+b=30”B答案是 Bprintf可以沒有輸出項(xiàng),沒有輸出項(xiàng)的prin

26、tf只是沒有輸出內(nèi)容;整數(shù)不能以十二進(jìn)制輸出,getchar()只能讀入字符。答案是 Agetchar()可以讀入空格符合回車符。二 填空題1, 一條語句 分號(hào) 2, 88首先將八進(jìn)制數(shù)0210轉(zhuǎn)化為十六進(jìn)制的數(shù)0X88,輸出格式說明要以十六進(jìn)制無符號(hào)的形式輸出,所以省略0X,直接輸出88。3, 11把十進(jìn)制數(shù)轉(zhuǎn)化為八進(jìn)制數(shù),以無符號(hào)的形式輸出4, 25 21 37 b為八進(jìn)制數(shù)025,c為十六進(jìn)制數(shù)0X25,首先把b、c都轉(zhuǎn)化為十進(jìn)制的整數(shù),分別為21、37,按照輸出格式要求a、b、c以十進(jìn)制整數(shù)形式輸出,中間以空格分開,所以輸出為25 21 37。5, n1%dnn2=%d除了n1,n2的

27、值之外,還必須加入“n1”“n2”照原樣輸出的字符,很明顯在兩個(gè)數(shù)據(jù)之間還加了換行符。6, i=10,j=20<回車>格式控制中加入了格式說明以外的其他字符,則在輸入數(shù)據(jù)時(shí)這些字符也要同樣輸入。輸入格式控制為i=%d,j=%d,所以則應(yīng)該從鍵盤輸入i=10,j=207, 261a為十進(jìn)制數(shù)177轉(zhuǎn)化為八進(jìn)制的數(shù)為0261,以無符號(hào)的形式輸出為26116a的初值為0,在表達(dá)式a+=(a=8)中,a首先被賦值為8,再執(zhí)行操作a=aa,所以a最后被賦值為16,即輸出a的值為16printf(“a=%d,b=%d”, a, b);B 66B在ASCII碼中派在A的后面A為65,那么B為66

28、。10 012為八進(jìn)制數(shù),轉(zhuǎn)換為十進(jìn)制為10。12 34 在scanf函數(shù)中指定了寬度為2,輸入123456,a=12,b=34,后面的567無效。12程序運(yùn)行時(shí)輸入12,getchar()函數(shù)只能接受單個(gè)字符,所以ch1=1,ch2=2。n1=ch1-0,轉(zhuǎn)化為ASCII碼計(jì)算n1=50-49,n1的值為1。n2=n1*10+(ch2-0)轉(zhuǎn)化為ASCII碼計(jì)算n2 = 1*10+(51-49),n2的值為12。第三章 選擇結(jié)構(gòu)一、選擇題1、D 此題主要是考語句的特征。一條語句只包含一個(gè)分號(hào),D項(xiàng)有兩個(gè)分號(hào),應(yīng)該是兩條語句,所以選D。2、C此題主要是考真假條件的等價(jià)。題目中的E為非0時(shí)條件為

29、真,為0時(shí)為假。那么把非0和0帶到選項(xiàng)中可知,C項(xiàng)正好是E為0時(shí)表達(dá)式為真,非0時(shí)為假,所以選C。3、D 任意合法的表達(dá)式都可以作為邏輯運(yùn)算符的運(yùn)算對(duì)象4、D 此題主要是考邏輯運(yùn)算和關(guān)系運(yùn)算的優(yōu)先級(jí)別.只要掌握!、算術(shù)運(yùn)算和&&的優(yōu)先級(jí)別便可選對(duì).這幾種運(yùn)算符的具體優(yōu)先級(jí)關(guān)系見見教材P188,附錄三。5、A 此題主要是考邏輯運(yùn)算符!、&&和|之間的優(yōu)先級(jí)別。!最高,&&次之,|最低。先求得!a為0,所以不必計(jì)算!b的值,即!a&&!b的值為0,由c=0,!c=1,而0|1=1,所以選A。6、A 此題主要是考了邏輯、關(guān)系和算術(shù)運(yùn)算,

30、熟練掌握邏輯運(yùn)算、關(guān)系運(yùn)算和算術(shù)運(yùn)算的優(yōu)先級(jí)別后,就不難了。A 選項(xiàng)中!a為0,所以!a=1為假,那么就不用計(jì)算&&后面的表達(dá)式了,因?yàn)?與任何數(shù)均為假;B項(xiàng)中先計(jì)算出a<b為假,則(a<b)&&!c也為假,而0|1=1; C項(xiàng)中a和b均為真,所以a&&b的值為1;D項(xiàng)中先計(jì)算出(b+b)&&(c-a)=1,又a=2,2|1=1 所以選A。7、D 此題考到了+運(yùn)算符以及邏輯運(yùn)算。當(dāng)計(jì)算機(jī)碰到a&&b時(shí),先計(jì)算表達(dá)式a的值,若為真才會(huì)計(jì)算表達(dá)式b的值,否則將不會(huì)去計(jì)算b的值,因?yàn)橐坏゛=0,則0&

31、&b必為0;而a|b則正好是相反的,即先計(jì)算表達(dá)式a的值,若a為假才會(huì)計(jì)算表達(dá)式b的值,否則將不會(huì)去計(jì)算b的值,因?yàn)橐坏゛=1,則1|b的值必為1,理解了這兩點(diǎn)后,我們?cè)诳搭}目:i+=1的值為1,此時(shí)i為2,所以計(jì)算&&后的表達(dá)式,首先計(jì)算+j=3的值為1,j的值為3,由上面的原理我們可知,|后面的表達(dá)式不用再計(jì)算,所以此時(shí)i,j,k的值分別為2,3,3。8、D 此題和題2非常的相似,也是考真假條件的轉(zhuǎn)換,其中D項(xiàng)中只有k為0時(shí),!k%2=1才成立,顯然和A、B、C三項(xiàng)不同。9、C 此題主要是考if和else的配對(duì)問題。見教材P51。10、D 此題主要是考if和else

32、的一般形式。if后面的語句要么是單條語句,要么是由 擴(kuò)起來的復(fù)合語句,不能是if后有兩條語句的,所以本題程序在運(yùn)行的時(shí)候會(huì)出錯(cuò)。11、C 此題考到了關(guān)系運(yùn)算和邏輯運(yùn)算及一定數(shù)學(xué)知識(shí)。|x-y|<10可等價(jià)為-10<x-y<10,首先選項(xiàng)A表示x-y的絕對(duì)值小于10,與題中的數(shù)學(xué)關(guān)系一樣;將-10<x-y<10用邏輯表達(dá)式表示的話就是B選項(xiàng);而D選項(xiàng)只是數(shù)學(xué)變換,所以選擇C12、D 此題也是考到了真假條件的變換和if-else語句。A、B、C三項(xiàng)都是表示a為真時(shí)輸出x,為假時(shí)輸出y,而D則是a為假時(shí)輸出x,為真時(shí)輸出y。13、D 此題考查了賦值表達(dá)式的一般格式,=的

33、左邊是變量名,右邊是表達(dá)式,所以D項(xiàng)錯(cuò)誤。14、C 此題主要是考查邏輯運(yùn)算符|,當(dāng)計(jì)算機(jī)碰到a|b, 先計(jì)算表達(dá)式a的值,若為假才會(huì)計(jì)算表達(dá)式b的值,否則將不會(huì)去計(jì)算b的值,因?yàn)橐坏゛=1,則0|b必為0。題中b>a為真,所以(n=b>a)為1,那么將不會(huì)去計(jì)算m=a<b的值,k被并賦值1,所以m依然為0 。 15、C 此題主要是考查if-else-if和if語句。具體分析見教材第49頁例7。16、C此題主要是考查if-else-if以及關(guān)系表達(dá)式的運(yùn)算。首先判斷第一個(gè)條件a>b>c的值為0,所以不執(zhí)行第一條語句;在判斷第二個(gè)條件,c-1>=c表達(dá)式的結(jié)果為

34、假,所以也不執(zhí)行其下面的語句,因此執(zhí)行最后一條語句,將輸出d+2的值為4 。17、C 此題主要是考查條件表達(dá)式和條件運(yùn)算符。首先要注意條件表達(dá)式的結(jié)合方向,它是從右至左的(可參照附錄三) 第一個(gè)條件表達(dá)式的值為a,第二個(gè)條件表達(dá)式的值為c ,而c=6,所以答案選C 。18、A此題主要是考查if-else語句和條件表達(dá)式的轉(zhuǎn)化。只要理解了if-else語句和條件表達(dá)式的運(yùn)算規(guī)則的話,就很容易選出A19、D 此題主要是考查在switch語句中break和default的作用及break的適用范圍。詳細(xì)說明可參看教材第三章 P53對(duì)switch的說明部分。20、B 此題考查的是條件表達(dá)式求解問題。先

35、看第一個(gè)條件表達(dá)式語句,a<b為真,所以k=b=2;再看第二個(gè)條件表達(dá)式語句,k>c為假,所以k=k=2選 B21、A 此題考查的是條件表達(dá)式的求解順序。參照附錄三可知,它的結(jié)合方向是自右至左,所以先求得右邊一個(gè)條件表達(dá)式的值為2,再求得左邊一個(gè)的值為1,即選A22、C 此題考查的是真假條件的等價(jià)問題。x-y為真表示x-y是非0的,也即x-y<0或x-y>0 即選C23 答案是BC語言的字符以其ASCII碼的形式存在,所以要確定某個(gè)字符是大寫字母,只要確定它的ASCII碼在A和Z之間就可以了,選項(xiàng)A和C符合要求。大寫字母的ASCII碼值的范圍為65到90,所以D選項(xiàng)符合

36、要求,所以只有C是錯(cuò)誤的。24 答案是B滿足表達(dá)式(c>=2&&c<=6)的整型變量c的值是2,3,4,5,6。當(dāng)變量c的值不為2,4,6時(shí),其值只能為3或5,所以表達(dá)式c!=3和c!=5中至少有一個(gè)為真,即不論c為何值,B選項(xiàng)中的表達(dá)式的值都為真,所以B選項(xiàng)正確。25 答案是A條件x=0|x=1為真,所以執(zhí)行y=1,然后執(zhí)行y=x*x-(x-2)*(x-2)=1-(-1)*(-1)=1-1=0,所以選擇A。26 答案是B當(dāng)表達(dá)式EXP為非0值時(shí)條件成立,即執(zhí)行語句i+;當(dāng)EXP等于0時(shí)執(zhí)行語句j-;。這就等同于條件表達(dá)式“(EXP!=0)?i+:j”。所以本題選擇

37、B。27 答案是DC語言的字符以其ASCII碼的形式存在,所以要確定某個(gè)字符是大寫字母,只要確定它的ASCII碼在A和Z之間就可以了,選項(xiàng)B的書寫格式錯(cuò)誤,而選項(xiàng)C不符合要求。大寫字母的ASCII碼值的范圍為65到90,所以A選項(xiàng)不符合要求,小寫字母的ASCII碼比大寫字母的ASCII碼大32,所以只有D是正確的。28 答案是D奇數(shù)和2求余一定不為0,所以當(dāng)x為奇數(shù)時(shí),x%2=0是不成立的,值為0,此題選擇D。29 答案是B兩個(gè)if語句的判斷條件都不滿足,程序只執(zhí)行了c=a這條語句,所以變量c的值等于3,變量b的值沒有變化,程序輸出的結(jié)果是3,5,3。所以本題選擇B。30 答案是C表達(dá)式y(tǒng)%3

38、=0的值為1,所以執(zhí)行下面的輸出語句,表達(dá)式y(tǒng)的值為8,所以輸出結(jié)果是8。選擇C。31 答案是C表達(dá)式x%3的值為2,非0所以執(zhí)行下面的輸出語句,將x-的值8輸出,此時(shí)x的值變?yōu)?,然后再執(zhí)行下一個(gè)輸出語句,將-x的值6輸出,x的值也變?yōu)?,所以選擇C。32 答案是D這是嵌套形式的switch語句,因?yàn)閎reak結(jié)構(gòu)影響較大,而此程序中的第一個(gè)case后沒有break語句,程序執(zhí)行時(shí),x=1,執(zhí)行內(nèi)嵌的switch語句,因y=0,執(zhí)行a+,使變量a的值為1并終止內(nèi)層switch結(jié)構(gòu),回到外層。程序繼續(xù)執(zhí)行case 2后面的語句a+;b+;,這使變量a,b的值分別為2和1,外層switch語句結(jié)

39、束。所以此題選擇D。33 答案是Dbreak與continue語句都可用于switch語句中。選擇D。二、填空題1、答案是:10 20 0分析:多數(shù)同學(xué)得到的答案是10 20 1,顯然是沒有弄清楚第三條賦值語句:c=(a%b<1)|(a/b>1).這是將后面一個(gè)邏輯表達(dá)式的值給c,那么關(guān)于邏輯表達(dá)式的考題,無非就是考察運(yùn)算符的優(yōu)先級(jí),也就是說先算哪個(gè),后算哪個(gè)的問題。在這個(gè)題里面,先計(jì)算第一個(gè)圓括號(hào)里面的內(nèi)容,a%b的值是10,所以10<1為假;a/b的值為0,0>1為假。在邏輯或運(yùn)算的時(shí)候,兩個(gè)運(yùn)算對(duì)象都為假,則結(jié)果為假。所以c的值為0.答案是:10 20 02、答案

40、是: 1分析:程序中是一個(gè)ifelse結(jié)構(gòu)。這個(gè)題最容易出錯(cuò)的地方在于if的條件,注意,里面的是c=a是一個(gè)賦值表達(dá)式,不是將c與a的值進(jìn)行比較。所以條件為真,輸出賦值以后c的值,為1。3、答案是:4,5,99分析:題中的重點(diǎn)在于兩個(gè)if結(jié)構(gòu),大家要注意兩點(diǎn):第一,如果if后面沒有花括號(hào),則它后面的第一條語句是它的結(jié)構(gòu)體,并且只有一條語句。(如果后面是一個(gè)結(jié)構(gòu),則整個(gè)結(jié)構(gòu)都屬于if結(jié)構(gòu)的結(jié)構(gòu)體)。第二,變量在不斷的被重新賦值,所以其值在不斷的變化。4、答案是:yes 分析:該題與第二題是同一回事。5、答案是:1分析:這個(gè)題還上一個(gè)ifelse結(jié)構(gòu),考查點(diǎn)仍然是考察考生是否能夠正確識(shí)別if后面括

41、號(hào)里的表達(dá)式p=a!=0,根據(jù)運(yùn)算符的優(yōu)先級(jí)知道,這里應(yīng)該先算a!=0,這是一個(gè)邏輯運(yùn)算,a的值為5,所以a!=0為真,其邏輯值為1,將1賦值給p,所以條件為真,輸出p的值,為1。6、答案是:20,0 分析:見第3題分析。7、答案是:585858分析:題中有三個(gè)if結(jié)構(gòu),注意,這三個(gè)if結(jié)構(gòu)是相互獨(dú)立的,是互不相關(guān)的,只要他們的條件成立,就要執(zhí)行其結(jié)構(gòu)體(后面的輸出語句)。通過鍵盤輸入,得a的值為58,所以a>50為真,輸出58;然后判斷a>40,仍然為真,再輸出58,最后判斷a>30,肯定為真,所以再輸出58,連續(xù)三次輸出58。8、答案是:0分析:本題的關(guān)鍵在于關(guān)系運(yùn)算符的

42、運(yùn)算次序,a=5,b=4,c=3.a>b>c看起來是真的,但是這這是數(shù)學(xué)里面是這樣的,這里我們要一步一步的計(jì)算,先算a>b,a確實(shí)大于b,所以為真,邏輯值為1,后面的計(jì)算就變成了1>c,顯然為假,邏輯值為0,并將它賦值給d,所以最后輸出d的值為0。9、答案是:3分析:這個(gè)題主要考察條件運(yùn)算符。程序要輸出(P/3>0?p/10:p%3)這個(gè)條件表達(dá)式的值。P為30,所以p/3=10,10>0顯然為真,所以整個(gè)表達(dá)式的值應(yīng)該是p/10的值,p/10得3。10、答案是:2 1分析:題中是一個(gè)switch嵌套結(jié)構(gòu)。里面的switch是case 1的語句,題的關(guān)鍵點(diǎn)在

43、于這個(gè)語句(即里面的這個(gè)switch結(jié)構(gòu))的后面并沒有跳出整個(gè)結(jié)構(gòu)的break語句。所以,當(dāng)x=1,與case相配以后,執(zhí)行完后面的語句(即里面的這個(gè)switch結(jié)構(gòu)),然后沒有遇到break語句,所以并不跳出結(jié)構(gòu)體,而是繼續(xù)執(zhí)行case 2后面的語句。所以最后得到的結(jié)果應(yīng)該是2 1,而不是1 0。11、答案是:0字符空格的ASCII碼不為0,所以本題中表達(dá)式!c的值為0,b=0&&1的結(jié)果顯然為0。12、答案是:1執(zhí)行“j=!ch&&i+”時(shí),首先判斷j=!ch的值,因?yàn)閏h=$不為0,所以j=!ch=0,編譯便不再計(jì)算表達(dá)式i+的值,i的值不變?nèi)詾?。13、

44、答案是:-4表達(dá)式!n的值為1,所以執(zhí)行x-=1后x=1;表達(dá)式m的值為非0值,所以執(zhí)行其后的語句x-=2后x的值為-1,表達(dá)式x的值也為非0,所以執(zhí)行其后的語句后x的值為-4,最后輸出x的值即為-4。14、答案是:#&表達(dá)式c=5的值為真,所以表達(dá)式的值等于1,因此輸出符號(hào)“#”,然后執(zhí)行“break”,繼而去執(zhí)行“default:printf(“&”);”語句,輸出符號(hào)“&”。15、答案是:1因?yàn)樵跅l件表達(dá)式(a<b)a:b中,比較表達(dá)式a<b為真,所以x的值為a的值等于1。后面兩個(gè)條件表達(dá)式中的比較表達(dá)式都真,所以最終x的值等于1。16、答案是:a:b

45、 c:t1條件表達(dá)式類似于if語句,根據(jù)“?”前面子表達(dá)式的邏輯值來判斷應(yīng)該計(jì)算“:”前面的子表達(dá)式還是后面的作為整個(gè)條件表達(dá)式的結(jié)果。題目要求輸出a、b、c3個(gè)變量中的最小值,所以當(dāng)a<b時(shí),應(yīng)該選a,否則選b,幫前一空應(yīng)填a:b。同理,后一空應(yīng)填c:t1。第四章 循環(huán)結(jié)構(gòu)選擇題:答案:BN的值為10,n>7為真,執(zhí)行循環(huán)體,n的值減1后為9,輸出n的值9N的值為9,n>7為真,執(zhí)行循環(huán)體,n的值減1后為8,輸出n的值8N的值為8,n>7為真,執(zhí)行循環(huán)體,n的值減1后為7,輸出n的值7N的值為7,n>7為假,結(jié)束循環(huán)。答案:Ak的值為5,進(jìn)入循環(huán),(-k)表達(dá)式

46、的值為4(真),同時(shí)k的值改變?yōu)?,輸出表達(dá)式k-=3的值1,同時(shí)k的值為1。k為1,表達(dá)式(k)的值為0, 結(jié)束循環(huán)。答案:AX=0,y=5,z=3,(z>0&&x<4)值為真,進(jìn)入循環(huán)體,y值為4,z值為2, x值為1(z>0&&x<4)值為真,進(jìn)入循環(huán)體, y值為3,z值為1, x值為2(z>0&&x<4)值為真,進(jìn)入循環(huán)體, y值為2,z值為0, x值為3(z>0&&x<4)值為假,結(jié)束循環(huán)。輸出x,y,z的值3,2,0答案:D分析:當(dāng)K的值為3時(shí),只執(zhí)行case 3后面的語

47、句n+=k,n的值為3;當(dāng)k的值為2時(shí),先執(zhí)行case 2后面的語句,但沒有break,所以不會(huì)退出,繼續(xù)執(zhí)行case 3后面的語句n+=k,n的值為5;當(dāng)k的值為1時(shí),先執(zhí)行case 1后面的語句n+=k,n的值為6,先執(zhí)行case 2后面的語句(沒有),繼續(xù)執(zhí)行case 3后面的語句n+=k,n的值為7。輸出n的值7。答案:B在循環(huán)體中有“s+=1;”s的初始值為0,要讓s的值等于2必須是循環(huán)體執(zhí)行兩遍。當(dāng)循環(huán)提執(zhí)行兩遍后a的值等于-3,所以在n=-3的時(shí)候循環(huán)體執(zhí)行兩遍后條件表達(dá)試(a!=0)為假,會(huì)退出循環(huán)。答案:A分析:t值為1,s的值為0。從鍵盤中輸入3后,n的值為3.先執(zhí)行循環(huán)體

48、。執(zhí)行s=s+t;s的值為1,執(zhí)行t=t-2;t的值為-1.再判斷表達(dá)式的值t!=n為真,再次執(zhí)行循環(huán)體。執(zhí)行s=s+t;s的值為0,執(zhí)行t=t-2;t的值為-3.再判斷表達(dá)式的值t!=n為假,結(jié)束do.while循環(huán)。最后輸出s的值0。答案:A分析:x3; 先執(zhí)行循環(huán)體,輸出表達(dá)式x-=2的值1,同時(shí)x的值也改變成1,再判斷表達(dá)式的值(!x),x的值為1(真),(!x)為假,循環(huán)結(jié)束。答案:B分析:B選項(xiàng)每次進(jìn)入循環(huán)體,都要先執(zhí)行p=1;即1賦值給p.所以不能求出5!的值答案:D分析:變量i每次增量為2,變化過程為:1->3->5->7->9,語句s+=1每次執(zhí)行使s

49、增加的數(shù)為:2,4,6,8,10,所以s的值為自然數(shù)110中偶數(shù)的值。答案:C分析:C項(xiàng)s=s+1/n, 1/n首先運(yùn)算,n為整型變量,1也是整型變量,當(dāng)n=210時(shí),1/n的值為整數(shù)0,故C不正確 答案:A執(zhí)行第一次循環(huán)時(shí),a= 7,b = 4,a!=b為真繼續(xù)循環(huán)。第二次循環(huán)a = 3,b=1,a!=b為真繼續(xù)循環(huán)。第三次循環(huán)a = 2,b = 1, a!=b為真繼續(xù)循環(huán)。第四次循環(huán)a = 1,b=1,a!=b為假退出循環(huán)。答案:C答案:C分析:x的值為15。執(zhí)行while循環(huán),(x>10)為真,執(zhí)行循環(huán)體。執(zhí)行x+;x的值為16。再執(zhí)行if語句。(x%3)為真,執(zhí)行x+,x的值為1

50、7,再執(zhí)行break;語句,退出循環(huán)體,結(jié)束while語句的執(zhí)行。最后輸出x的值17。 答案:D在循環(huán)中當(dāng)x等于0,3,6,9時(shí)x%3等于0,這時(shí)會(huì)進(jìn)入if語句執(zhí)行printf語句,在輸出前x會(huì)先自加。屏幕上輸出14710。答案:D分析:continue語句會(huì)提前結(jié)束此次循環(huán)體的執(zhí)行,不會(huì)結(jié)束整個(gè)for語句的執(zhí)行。答案:2345選擇中沒有此答案。解析:本題注意的是在循環(huán)第一次進(jìn)入switch語句的時(shí)候是執(zhí)行的default后面的語句塊,由于沒有break,所以還會(huì)執(zhí)行case2:case4:后面的語句。答案:A本題答案為A 解析:A首先執(zhí)行+n,判斷條件表達(dá)式n<=0為假退出循環(huán)。B條件

51、表達(dá)式1永遠(yuǎn)為真是無限循環(huán),C條件表達(dá)式n的值為10永遠(yuǎn)為真是無限循環(huán),D沒有條件表達(dá)式,所以沒有退出條件,是無限循環(huán)。此題要注意的是0為假,非0為真。答案:Ado-while循環(huán)先執(zhí)行后判斷,先執(zhí)行循環(huán)體中的printf語句輸出n的值0,在while(i+)中i先執(zhí)行再自加,所以while(i+)的等于while(0)為假退出循環(huán)。輸出結(jié)果為 “0,0”。答案:D分析:第一次循環(huán)x=8,x%3<>0,進(jìn)入if語句輸出x的值為8,然后x自減1,執(zhí)行continue立即進(jìn)行下次循環(huán)條件判斷。第二次循環(huán)x=6,x%3=0,不進(jìn)入if語句,執(zhí)行if語句后面的printf(“%d,”,-x

52、),x先自減1再輸出得到5。第三次循環(huán)x=4,x%3<>0,進(jìn)入if語句輸出x的值為4,然后x自減1,執(zhí)行continue立即進(jìn)行下次循環(huán)條件判斷。第四次循環(huán)x=2,x%3<>0,進(jìn)入if語句,輸出x的值為2,然后x自減1,執(zhí)行continue立即進(jìn)行下次循環(huán)條件判斷。第五次循環(huán)x=0,判斷表達(dá)式x>0為假。結(jié)束循環(huán)輸出結(jié)果為8,5,4,2。答案DC第一次循環(huán)y=9,y%3=0,進(jìn)入if語句y先自減,輸出y的值為8。第二次循環(huán)y=7,y%3<>0,進(jìn)入下次循環(huán)。第三次循環(huán)y=6,y%3=0,進(jìn)入if語句y先自減,輸出y的值為5。第四次循環(huán)y=4,y%3<>0,進(jìn)入下次循環(huán)。第五次循環(huán)y=3,y

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論