C語言題集二答案_第1頁
C語言題集二答案_第2頁
C語言題集二答案_第3頁
C語言題集二答案_第4頁
C語言題集二答案_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第3章 順序結(jié)構(gòu)1. B解析: 在C語言中,當(dāng)一次輸入多個數(shù)據(jù)的時候,數(shù)據(jù)之間要用間隔符,合法的間隔符可以是空格、制表符和回車符。逗號不是合法的間隔符。2. B解析: 本題中a的值為6,b的值為8,最后s的值為8,s*=s等價于ss*s。3. C解析: printf函數(shù)的浮點數(shù)缺省輸出格式:在printf函數(shù)的輸出中,若無輸出寬度限制,每種數(shù)據(jù)都有一個缺省的輸出寬度,一般浮點數(shù)的小數(shù)位數(shù)則是6位,不管輸出格式是%f或%lf皆如此。printf函數(shù)的浮點數(shù)寬度限制輸出:以%mf或%mlf格式輸出浮點時,如果指定的寬度大于實際數(shù)據(jù)寬度,按指定寬度輸出,且多余數(shù)補以空格;如果指定的寬度小于實際數(shù)據(jù)寬

2、度,浮點數(shù)的整數(shù)部分將以實際數(shù)據(jù)(位數(shù))輸出。小數(shù)部分按指定數(shù)輸出,且對數(shù)據(jù)做四舍五入處理。printf的整數(shù)限寬輸出:沒有寬度制的整數(shù)原數(shù)輸出。在寬度限制于數(shù)的實際位數(shù)時,寬度說明無效,按數(shù)的實際位數(shù)輸出。4. D解析: 在C語言所有的運算符中,逗號運算符的優(yōu)先級最低。C語中區(qū)分大小,所以APH和aph是兩個不同的變量。賦值表達(dá)式a=b表示將b的值付給a,而b本身的值保持不變;通過鍵盤可以向計算機輸入允許的任何類型的數(shù)據(jù)。選項D)中當(dāng)從鍵盤輸入數(shù)據(jù)時,對于整型變量可以輸入整型數(shù)值和字符,對于實型變量可以輸入實型數(shù)和整型數(shù)值等。5. C解析: 本題中,程序先執(zhí)行語句 x=1.2;,根據(jù)賦值運算

3、的類型轉(zhuǎn)換規(guī)則,先將double型的常量1.2轉(zhuǎn)換為int型,即取整為1,然后將1賦值給變量x。接下來執(zhí)行語句y=(x+3.8)/5.0;根據(jù)運算符的優(yōu)先級,先計算小括號內(nèi),再計算除法,最后執(zhí)行賦值運算。小括號內(nèi)的運算過程:先將整型變量x的值1轉(zhuǎn)換為double型1.0,然后與3.8進(jìn)行加法運算,得到中間結(jié)果4.8。接著進(jìn)行除法運算4.8/5.0,其結(jié)果小于1.0,這里沒有必要計算出精確值,因為接著進(jìn)行賦值運算,賦值號左邊的變量y的類型為整型,于是對這個小于1.0的中間結(jié)果進(jìn)行取整,結(jié)果為0,于是變量y的值為0,d*y的值也為0。6. C解析: 在C語言中,對于不同類型的數(shù)據(jù)用不同的格式字符,

4、其中,“%d”是按整型數(shù)據(jù)的實際長度輸出,“%md”中,m為指定的輸出字段的寬度,如果數(shù)據(jù)的位數(shù)小于m,則左端補以空格,若大于m,則按實際位數(shù)輸出。7. D解析: 整型變量的輸出形式有:%d,%o,%x,%u等,%x是以十六進(jìn)制無符號形式輸出整數(shù)。十六進(jìn)制數(shù)同樣也可以想%md一樣按%mlx輸出指定寬度的長整型數(shù)。8. A解析: 該題考查的是C語言中自減運算符和逗號表達(dá)式的應(yīng)用。自減運算符位于變量之前時,先使變量的值減1,再進(jìn)行賦值運算。逗號表達(dá)式的一般形式為:表達(dá)式1,表達(dá)式2,其求解過程是:先求解表達(dá)式1,再求解表達(dá)式2,整個逗號表達(dá)式的值是表達(dá)式2的值。9. B解析: 本題中,“%d %d

5、 %d”表示按整型數(shù)形式輸入數(shù)據(jù),輸入數(shù)據(jù)時,在兩個數(shù)據(jù)之間以一個或多個空格間隔,也可以用回車鍵或Tab鍵。選項B)中不應(yīng)該使用逗號。10. B解析: scanf函數(shù)的一般格式是:scanf(格式控制,地址表列)該格式中,地址表列中應(yīng)是變量地址,而不是變量名。11. D解析: 在C語言中,自增1運算符記為“+”,其功能是使變量的值自增1。自減1運算符記為“-”,其功能是使變量值自減1。自增1,自減1運算符均為單目運算,都具有右結(jié)合性??捎幸韵聨追N形式:+i i 自增1后再參與其他運算。-i i 自減1后再參與其他運算。i+ i 參與運算后,i的值再自增1。i- i 參與運算后,i的值再自減1。

6、在理解和使用上容易出錯的是i+和i-。 特別是當(dāng)它們出在較復(fù)雜的表達(dá)式或語句中時,常常難于弄清,因此應(yīng)仔細(xì)解析。12. B解析: 對于逗號表達(dá)式中的第一個表達(dá)式等價為a=15;第二個表達(dá)式的值為15×4=60,此時變量a的值仍未改變還是15,第三個表達(dá)式的值為b的值。13. A解析: 此題考查有關(guān)標(biāo)準(zhǔn)設(shè)備的知識。在多數(shù)C語言版本中,stdio.h文件至少定義了四種標(biāo)準(zhǔn)設(shè)備文件,可以直接引用不必含有打開操作,包括:標(biāo)準(zhǔn)輸入文件指針 stdin缺省為鍵盤;標(biāo)準(zhǔn)輸出文件指針 stdout缺省為顯示器;標(biāo)準(zhǔn)錯誤輸出文件指針 stderr缺省為顯示器;標(biāo)準(zhǔn)打印輸出文件指針 stdprn指打印機

7、;此外,還可能包括如輔助設(shè)備等標(biāo)準(zhǔn)文件指針,且多數(shù)文件指針可以被重新定向到其他設(shè)備。14. C解析: 在使用scanf函數(shù)時,我們必須要注意以下問題:在用scanf函數(shù)給普通變量輸入數(shù)據(jù)時,在變量名前沒有寫地址運算符&。如scanf(dd, x, y);是錯誤的。正確的應(yīng)為scanf(dd, &x, &y);。2)在scanf函數(shù)調(diào)用語句中,企圖規(guī)定輸入實型數(shù)據(jù)的小數(shù)位。如執(zhí)行以下語句:scanf(6.2f, &a);C語言規(guī)定是不允許指定輸入數(shù)據(jù)的寬度的。3)是錯誤不允許輸入數(shù)字寬度。用scanf函數(shù)輸入數(shù)據(jù)時,必須注意要與scanf語句中的對應(yīng)形式匹配。如:

8、scanf(d,d,&x, &y);若按以下形式輸入數(shù)據(jù):2 4是不合法。數(shù)據(jù)2和4之間應(yīng)當(dāng)有逗號。本題選項A)中后面省略了符號&,其他選項也有省略逗號的錯誤,只要明白了以上解析,可以說,scanf函數(shù)的重要用法已經(jīng)在我們掌握之中了。15. A解析: 本題中,x原指定為float型,進(jìn)行強制類型運算后得到一個int型的中間變量,它的值等于x的整數(shù)部分,而x的類型不變,仍為float型16. B【命題目的】考查格式化輸出函數(shù)的掌握情況?!窘忸}要點】表達(dá)式n=(k%m,k/m)實際上是將k/m的結(jié)果賦值給了n?!惧e解分析】逗號表達(dá)式中最后一個表達(dá)式的值是該逗號表達(dá)式的值,所

9、以輸出結(jié)果為k/m。17. C【命題目的】考查格式化輸入函數(shù)的掌握情況。【解題要點】若在scanf的格式控制串中插入了其他字符,則在輸入時要求按一一對應(yīng)的位置原樣輸入這些字符。【錯解分析】由于scanf的格式控制串中插入了"a"、逗號和"b="等字符,所以輸入時候應(yīng)該一一對應(yīng)地在對應(yīng)位置上輸入這些字符?!究键c鏈接】格式化輸出也是在對應(yīng)的位置上輸出對應(yīng)的插入的其他字符。填空題:1. 解析: 在%與格式符之間插入一個整形數(shù)來指這輸出寬度,并不影響數(shù)據(jù)的完整性,當(dāng)插入的寬度小于實際的寬度時,則實際的寬度輸出。2. 16解析: 賦值表達(dá)式的值就是所賦值變量的值,

10、本題中a+=8相當(dāng)于a=a+8,對表達(dá)式逐步進(jìn)行求解:a+=(a=8)此時,a的值由于賦值為8,而不是0a+=8a=a+8a=16第4章 選擇結(jié)構(gòu)選擇題:1. A解析: 該題目的關(guān)鍵是要搞清楚該程序執(zhí)行了哪幾條語句。由于x的值等于1,所以switch結(jié)構(gòu)中,程序從case 1后面的語句開始執(zhí)行,又因為case 1后面的語句沒有以break結(jié)束,所以程序要繼續(xù)往下執(zhí)行case 2后面的語句。所以,該程序共執(zhí)行了這三條語句:a+;a+;b+;因此,變量a和b最后的值應(yīng)該為2和1。2. C解析: 該題目的關(guān)鍵是要搞清楚“&&”和“|”兩個邏輯運算符的運算功能。運算符“&&am

11、p;”和“|”是雙目運算符,要求有兩個運算量。且規(guī)定邏輯與運算中,只有前面運算量的值為真時,才需要判別后面的值。只要前面為假,就不必判別后面的值。而邏輯或則為只要前為真,就不必判別后面的值;只有前為假,才判別后。本題中j+值為真,不進(jìn)行k+的運算,所以k的值保持不變。3. C解析: 該題目測驗考生對if.else if結(jié)構(gòu)的理解,比較簡單。x的值滿足x<10.0的關(guān)系,所以程序?qū)?zhí)行y=1.0/x;語句,y的值應(yīng)該等于0.5。最后,用printf函數(shù)輸出時,%f的輸出格式為小數(shù)點后保留6位。4. B解析:C語言規(guī)定的運算優(yōu)先級由高到低分別是邏輯非、算術(shù)運算、邏輯或。所以先計算!x,值是0

12、,然后再計算y-,由于是后綴運算符,所以y在本次運算中的值仍然是1,最后計算0|1,值為1。5. A解析: 本題考查的是三目運算符的用法,三目運算符的形式為(表達(dá)式1)?(表達(dá)式2):(表達(dá)式3)。當(dāng)(表達(dá)式1)的值為真時,求(表達(dá)式2)的值為整個表達(dá)式的值;如果(表達(dá)式1)的值為假,則求(表達(dá)式3)的值為整個表達(dá)式的值。題中,表達(dá)式x>12的結(jié)果為假,所以執(zhí)行的語句是x-12,最終y的值應(yīng)該是0。6. A解析: 在C程序中,判斷邏輯值時,用非0表示真,用0表示假。邏輯表達(dá)式計算時,邏輯表達(dá)式值為真是用1表示的,若邏輯表達(dá)式的值為假,則用0表示。7. C解析: 此題綜合考查多種運算符的使

13、用;首先計算表達(dá)式a<=25 &&b-<=2 &&c的值,很容易看出b-<=2的值為假,因此表達(dá)式為假;根據(jù)三目運算的特點,由于前面的表達(dá)式為假,應(yīng)執(zhí)行printf(“#a=%d,b=%d,c=%dn”,a,b,c),應(yīng)注意a的值依然為25,b的值經(jīng)過b-運算后改變?yōu)?3,而c的值仍為19。8. D解析: 本題考查if語句中的一種表達(dá)方式,即:ifelse if。該表達(dá)式的語句是:if(表達(dá)式1)語句1else if(表達(dá)式2)語句2else if(表達(dá)式3)語句3else語句4本題執(zhí)行else y=1.0,并且以“%f”輸出。9. D解析:

14、選項D)為兩條語句。10. D解析: 本題考查C語言的邏輯表達(dá)式及邏輯或(“|”)運算符的用法?!皘”表示或的意思,“|”是按位或的意思,“&&”是并且的意思,C語言中沒有“or”。11. C解析: if語句嵌套使用時,應(yīng)當(dāng)注意if 與else的配對關(guān)系,else總是與它上面的最近的if配對。因此,本題中先判斷(a<b),表達(dá)式值為0,則不執(zhí)行下面的if語句,直接跳到printf語句中(c的值不變)。12. D解析: 該題考查邏輯與“&&”和邏輯或“|”以及邏輯非“!”符號的用法。選項A)即3&&4為真,選項B)即3<=4為真,選項C

15、)是一個邏輯或與邏輯與的混合運算,只要執(zhí)行了邏輯或左半部分,程序?qū)⒅苯油V箞?zhí)行邏輯或右半部分程序,因為x的值為真,此時選項C)變?yōu)?&&-1為真。選項D)不用計算,括號內(nèi)邏輯或右邊的值為1,因而括號內(nèi)的值為1,再進(jìn)行邏輯非運算得0。13. B解析: 條件運算符要求有三個操作對象,稱三目(元)運算符,它是C語言中惟一的一個三目運算符。條件表達(dá)式的一般形式為:表達(dá)式1?表達(dá)式2:表達(dá)式3其求解順序是:先求解表達(dá)式1,若為非0(真)則求解表達(dá)式2,此時表達(dá)式2的值就作為整個條件表達(dá)式的值。若表達(dá)式1的值為0(假),則求解表達(dá)式3,表達(dá)式3的值就是整個條件表達(dá)式的值。并且注意+、-的用

16、法。14. A解析: 本題考查的是邏輯與“&&”,邏輯或“|”,邏輯非“! ”,表達(dá)式的應(yīng)用。邏輯與運算符“&&”,當(dāng)參與運算的兩個量都為真時,結(jié)果才是真,否則為假;邏輯或運算符“|”,當(dāng)參與運算的兩個量有一個為真時,結(jié)果是真,否則為假;邏輯非運算符“! ”,當(dāng)參與運算的量為真時,結(jié)果才是假,否則為真。15. B解析: 本題考查邏輯與運算的運算規(guī)則。其規(guī)則是:當(dāng)運算符前后兩個條件表達(dá)式都滿足時,其最終結(jié)果才為真。當(dāng)發(fā)現(xiàn)第一個表達(dá)式的值為假后,計算機將不再執(zhí)行后面表達(dá)式的運算。本題中,由于前一個表達(dá)式的值為“假”,所以,后面的表達(dá)式不再進(jìn)行運算,因而n的值保持不變

17、,仍為2。16. C解析: 邏輯或表達(dá)式是先執(zhí)行左邊,再執(zhí)行右邊語句。如果左邊等式為真,則不執(zhí)行右邊語句,本題中+x成立,不執(zhí)行+y語句,所以,y的值不變。17. C解析: 本題考查簡單的ifelse語句。先執(zhí)行條件if(a<b),顯然不成立,則執(zhí)行else語句。18. D解析: 解答本題時,先判斷if語句,因為a=b+c不成立,則執(zhí)行else語句。19. B【命題目的】考查邏輯運算符的掌握情況?!窘忸}要點】&&,|在某種情況下會實行“短路規(guī)則”,即當(dāng)邏輯與前面一個表達(dá)式的值為假的時候,后面一個表達(dá)式就不需要計算,這個邏輯表達(dá)式一定為假;當(dāng)邏輯或前面一個表達(dá)式為真的時候,

18、后面一個表達(dá)式就不需要計算,這個邏輯或表達(dá)式一定為真?!惧e解分析】選項A)是將n的值賦值給m和k。選項C)就是進(jìn)行了短路規(guī)則,當(dāng)m=k賦值后,m得到的新值不為0,即為真,邏輯或后面的表達(dá)式就不被計算,所以n沒有被賦值。D)答案沒有什么意義?!究键c鏈接】C語言中,沒有專門的邏輯值,而是用非零值來表示真,用零表示假。20. D【命題目的】考查對于if-else語句的掌握情況?!窘忸}要點】if-else語句的執(zhí)行過程如下,首先計算if后面一對圓括號內(nèi)表達(dá)式的值,若表達(dá)式的值為非0,執(zhí)行if子句,然后跳過else子句,去執(zhí)行if語句后的下一條語句;若表達(dá)式的值為0,跳過if子句,去執(zhí)行else子句,接

19、著去執(zhí)行if語句后的下一條語句。【錯解分析】C語言的語法規(guī)定,else子句總是與前面最近的不帶else的if匹配,與書寫格式無關(guān),本題目的后一個if-else相當(dāng)于嵌套在第一個if子句里,相當(dāng)于x<y&&y<0時,z=0;當(dāng)x<y&&y>=0時,z=z+1。【考點鏈接】else不是一條獨立的語句,它只能與if同時使用。填空題1. 【命題目的】考查對于if語句的掌握情況。【解題要點】C語言的語法規(guī)定:else子句總是與前面最近的不帶else的if相結(jié)合。因為x不大于y,所以執(zhí)行printf("%dn",z);語句。第5章

20、 循環(huán)結(jié)構(gòu)選擇題1. B解析: t=1是將t賦值為1,所以循環(huán)控制表達(dá)式的值為1,而判斷t是否等于1時應(yīng)用t=1注意“”與“”的用法。2. B解析: 該題目應(yīng)該根據(jù)循環(huán)體第一次和最后一次執(zhí)行時的輸出結(jié)果來決定哪一項是正確的。第一次進(jìn)入循環(huán)時,n的值是9,循環(huán)體內(nèi),先經(jīng)過n-運算,n的值變?yōu)?,所以第一次的輸出值是8,由此可以排除選項A)和D)。由循環(huán)條件n>6可以知道,最后一次循環(huán)開始時,n的值應(yīng)該為7,所以最后一次執(zhí)行循環(huán)體時輸出為6,由此可以排除選項C)。3. D解析:選項A)的循環(huán)表達(dá)式的條件永久為1,并且小于100的數(shù)與100取余不超過99,所以在循環(huán)體內(nèi)表達(dá)式i%100+1的值

21、永遠(yuǎn)不大于100,break語句永遠(yuǎn)不會執(zhí)行,所以是死循環(huán);選項B)的括號內(nèi)沒有能使循環(huán)停下來的變量增量,是死循環(huán);選項C)中先執(zhí)行k+,使k=10001,從而使循環(huán)陷入死循環(huán)。4. B解析: 本題中,“!”表示邏輯非運算符,“!=”等于運算符,邏輯非運算符比等于運算符的優(yōu)先級低。5. C解析: do-while語句的一般形式為:do 循環(huán)語句while(表達(dá)式);本題中,執(zhí)行“語句”一次后,表達(dá)式的值為假,停止執(zhí)行。6. D解析: 本題涉及break語句,重在循環(huán)次數(shù)的判定。本題的循環(huán)由于無出口,只能借助break語句終止。鑒于題目要求說明判斷i>j的執(zhí)行次數(shù),只需考查經(jīng)過i+=k運算

22、如何累計i的值,i值分別是i=2,4,6,8,10,12時,判斷i>j為真,程序輸出s的值并結(jié)束,共循環(huán)6次。7. D解析: do.while語句的一般形式是:do 語句while (表達(dá)式);特點是:“直到型”循環(huán)結(jié)構(gòu)。先執(zhí)行一次“語句”,判“表達(dá)式”,當(dāng)“表達(dá)式”非0,再執(zhí)行“語句”,直到“表達(dá)式”的值為0時停止執(zhí)行語句。在一般情況下,用while和do-while語句解決同一問題時,若二者的循環(huán)體部分是一樣的,它們的結(jié)果也一樣。但當(dāng)while后面的“表達(dá)式”一開始就為“假”時,兩種循環(huán)的結(jié)果不同。這是因為此時while循環(huán)的循環(huán)不被執(zhí)行,而do-while循環(huán)的循環(huán)體被執(zhí)行一次。本

23、題的關(guān)鍵是兩個加數(shù)分別能被13和11整除,在i=0時,直接將316賦值給k,當(dāng)k%11的值為0時,則不必執(zhí)行循環(huán),將執(zhí)行j=k/11語句,輸出結(jié)果,所以該表達(dá)式合理的條件是k%11。8. D解析: 本題考查“+”和“-”運算符,運算符“+”是操作數(shù)加1, 而“-” 則是操作數(shù)減1。例如:x=x+1可寫成x+, 或+xx=x-1可寫成x-, 或-xx+(x-)與+x(-x)在上例中沒有什么區(qū)別, 但x=m+和x=+m卻有很大差別。x=m+ 表示將m的值賦給x后, m加1。x=+m 表示m先加1后, 再將新值賦給x。當(dāng)y=2時,首先執(zhí)行y-,使y值變?yōu)?。接著執(zhí)行y,y值變?yōu)?,循環(huán)結(jié)束。最后執(zhí)行

24、輸出語句,注意先輸出此時y的值0,在再使y值自減1變?yōu)?1。9. B解析: 本題考查兩個知識點:自加自減運算符和do.while循環(huán)語句。題中b-=a等價于b=b-a;a+的含義是在使用a之后,使a的值加1;b-的含義是在使用b之后,使b的值減1。10. B解析: 解答本題,當(dāng)然先要清楚do.while語句的執(zhí)行過程:先執(zhí)行一次指定的循環(huán)體語句,本題中執(zhí)行x-后判斷表達(dá)式,表達(dá)式的值為!x為假,程序結(jié)束循環(huán)。11. C解析: 除了考查基本的for循環(huán)結(jié)構(gòu)外,本題還考查自加運算的相關(guān)知識,但均為基礎(chǔ)。注意:for語句中的表達(dá)式可以部分或全部省略,但兩個“;”不能省略。12. D解析: 本題中需要

25、填空的是for循環(huán)的第3個條件,即“若分成9個零件一組,則多5個零件”,當(dāng)總零件數(shù)零減去5后,并與9取余為0即可滿足本題的條件。13. C解析: 本題中,首先將0賦給k,表達(dá)式變?yōu)?,跳出循環(huán),沒有執(zhí)行循環(huán)體語句。解答本題的關(guān)鍵是掌握while語句。14. B解析: 本題中,省略了for語句的第二個表達(dá)式,C語言規(guī)定如果省略了第二個表達(dá)式,則表示為真,即為1。15. A解析: 本題考查用于多分支選擇的switch語句, 其一般形式為:switch(表達(dá)式) case常量表達(dá)式1: 語句1; case常量表達(dá)式2: 語句2; case常量表達(dá)式n: 語句n; default : 語句n+1;其語

26、義是:計算表達(dá)式的值。并逐個與其后的常量表達(dá)式值相比較,當(dāng)表達(dá)式的值與某個常量表達(dá)式的值相等時,即執(zhí)行其后的語句,然后不再進(jìn)行判斷,繼續(xù)執(zhí)行后面所有 case后的語句。如表達(dá)式的值與所有case后的常量表達(dá)式均不相同時,則執(zhí)行default后的語句。16. B解析: do-while 語句的一般格式為:do 循環(huán)體語句 while(表達(dá)式);先執(zhí)行循環(huán)體語句一次,再判斷表達(dá)式的值,若為真則繼續(xù)執(zhí)行循環(huán),否則終止循環(huán)。本題中,先執(zhí)行printf(“%dn”,x=-2)后,值為x=x-2,即為1。判斷表達(dá)式的值,!(-x)為真,x=0,繼續(xù)循環(huán)。再次執(zhí)行循環(huán)體語句后,x=-2,此時表達(dá)式?。▁)的

27、值為0,結(jié)束循環(huán)。17. B解析: 根據(jù)本題提出的條件可知,控制循環(huán)的表達(dá)式應(yīng)該是所輸入的兩數(shù)互不相等(相等時結(jié)束循環(huán)),也即只有滿足這一條件時,兩數(shù)才能進(jìn)行排序輸出的操作,由此得出循環(huán)的控制表達(dá)式應(yīng)該為a!=b。18. D解析: 選項A)for循環(huán)可以用于循環(huán)次數(shù)不確定的情況;選項B)for循環(huán)是先判斷表達(dá)式,后執(zhí)行循環(huán)體語句;選項C)在for循環(huán)中,可以用break語句跳出循環(huán)體,從而接著執(zhí)行循環(huán)體后面的語句。19. B解析: 該題是一個for循環(huán)嵌套語句。第一層for循環(huán)循環(huán)2次,第二層循環(huán)3次,但當(dāng)j等于0和1時,將執(zhí)行continue語句,不執(zhí)行x+運算,所以每次執(zhí)行完內(nèi)循環(huán)后,x的

28、增量為1。最后一個x+運算將每次累加起來就是x的值。20. B解析: 本題考查邏輯非運算符和不等于運算符的區(qū)別,邏輯非運算符“!”的優(yōu)先級大于不等于運算符“!=”的優(yōu)先級。21. A解析: 和都屬于無實際作用語句,但又都符合語法要求,因為條為1,是無限循環(huán)。中省略了全部的表達(dá)式,也代表真,因此也是無限循環(huán)。22. C解析: do-while語句的一般形式為:do 循環(huán)體語句 while(表達(dá)式);,其中循環(huán)體語句可以是復(fù)合型語句,但必須用花括號括起來。while后必須要有分號作為語句的結(jié)束,在dowhile循環(huán)中,不可以省略while。23. A解析: 此題中for循環(huán)的執(zhí)行次數(shù)取決于關(guān)系表達(dá)

29、式(i<=9&&!=876)的結(jié)果。只要i<=9且x!=876,循環(huán)就將繼續(xù)執(zhí)行。結(jié)束循環(huán)取決于兩個條件:或者i>9,或者x=876,只要在執(zhí)行scanf語句時,從終端輸入876,循環(huán)就將結(jié)束。如果從終端一直未輸入876,則將由i值的增加使i>9,從而結(jié)束循環(huán)。按照題中所給定的for語句,每執(zhí)行一次循環(huán),i自增1,因此執(zhí)行10次循環(huán)后,i的值為10,循環(huán)最終也將結(jié)束。24. A解析: while是先判斷條件再執(zhí)行語句;do-while則是先執(zhí)行依次語句再判斷條件從而決定是否繼續(xù)再執(zhí)行循環(huán)體中的語句,這正是二者主要區(qū)別。解析: while是先判斷條件再執(zhí)行

30、語句;do-while則是先執(zhí)行依次語句再判斷條件從而決定是否繼續(xù)再執(zhí)行循環(huán)體中的語句,這正是二者主要區(qū)別。25. A【命題目的】考查對于while循環(huán)的理解情況。【解題要點】while循環(huán)是先判斷循環(huán)條件之后再進(jìn)入循環(huán)體?!惧e解分析】這個題目的循環(huán)體是空語句,每次做的僅僅是判斷循環(huán)的條件,由于+運算優(yōu)先于<,所以每次都先+,后比較?!究键c鏈接】do-while循環(huán)是先執(zhí)行循環(huán)體,之后判斷循環(huán)條件。26. C【命題目的】考查for循環(huán)的掌握情況?!窘忸}要點】for后一對括號中的表達(dá)式可以是任意有效的C語言表達(dá)式?!惧e解分析】該題目的循環(huán)體部分為空語句,循環(huán)控制條件為m<n,每一次m

31、增3,n減1,每當(dāng)循環(huán)體執(zhí)行結(jié)束時,循環(huán)控制變量m,n就會分別被增3和減1。【考點鏈接】for后一對括號中,允許出現(xiàn)各種形式的與循環(huán)控制無關(guān)的表達(dá)式,雖然在語法上合法,但這樣會降低程序的可讀性。27. B【命題目的】考查循環(huán)嵌套的掌握情況。【解題要點】這個題目中的k,每一次外層的for循環(huán)后都會被初始化為0,這樣輸出的k是最后一次做內(nèi)部循環(huán)所得到的值?!惧e解分析】最后一次做內(nèi)部的循環(huán)時,m的值為3,所以內(nèi)部的循環(huán)做兩次。【考點鏈接】for,while,do-while都可以相互嵌套,循環(huán)的嵌套可以多層,但每一層循環(huán)在邏輯上必須是完整的。28. B【命題目的】主要考查continue語句的掌握情

32、況。【解題要點】continue語句的作用是跳過本次循環(huán)體中余下尚未執(zhí)行的語句,接著再一次進(jìn)行循環(huán)條件的判定?!惧e解分析】當(dāng)能被2整除時,a就會增1,之后執(zhí)行continue語句,直接執(zhí)行到for循環(huán)體的結(jié)尾,進(jìn)行i+,判斷循環(huán)條件?!究键c鏈接】continue語句并沒有使整個循環(huán)終止,而break語句則是終止整個循環(huán)。第6章 字符型數(shù)據(jù)選擇題:1. A解析: C語言的字符型常量中,允許用一種特殊形式的字符常量,就是以一個“”開頭的字符。其中“ddd”表示用ASCII碼(八進(jìn)制數(shù))表示一個字符,本題中的char c=72即表示占一個字符的變量c的ASCII碼值。2. D解析: C語言的轉(zhuǎn)義字符

33、見下表所示。轉(zhuǎn)義字符轉(zhuǎn)義字符的意義n回車換行t橫向跳到下一制表位置v豎向跳格b退格r回車f換頁反斜線符“”單引號符a鳴鈴ddd13位八進(jìn)制數(shù)所代表的字符xhh12位十六進(jìn)制數(shù)所代表的字符3. C解析: 為便于表示各種數(shù)據(jù)類型,機器中采用了BCD碼(表示十進(jìn)制數(shù))、ASCII碼(字符型)、漢字機內(nèi)碼等等各種碼。數(shù)據(jù)采用了補碼、原碼和反碼為表示形式。實型數(shù)據(jù)表示方法有浮點法和定點法等,考生需熟練掌握各種碼的含義,并用之來計算、比較。需要提出的是,在機器內(nèi)部,所有碼都是由二進(jìn)制編碼而成的,它都是以二進(jìn)制存儲在機器之中的。字符“5”和“7”的ASCII的值分別為53和55,其二進(jìn)制形式分別為00110101和00110111。4. C解析: 本題考查switch語句的掌握。必須撐握以下內(nèi)容:首先應(yīng)該明白switch語句的語法格式:switch語句的語法格式為:switch (表達(dá)式) case

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論