




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第3章 順序結(jié)構(gòu)1. B解析: 在C語言中,當(dāng)一次輸入多個(gè)數(shù)據(jù)的時(shí)候,數(shù)據(jù)之間要用間隔符,合法的間隔符可以是空格、制表符和回車符。逗號不是合法的間隔符。2. B解析: 本題中a的值為6,b的值為8,最后s的值為8,s*=s等價(jià)于ss*s。3. C解析: printf函數(shù)的浮點(diǎn)數(shù)缺省輸出格式:在printf函數(shù)的輸出中,若無輸出寬度限制,每種數(shù)據(jù)都有一個(gè)缺省的輸出寬度,一般浮點(diǎn)數(shù)的小數(shù)位數(shù)則是6位,不管輸出格式是%f或%lf皆如此。printf函數(shù)的浮點(diǎn)數(shù)寬度限制輸出:以%mf或%mlf格式輸出浮點(diǎn)時(shí),如果指定的寬度大于實(shí)際數(shù)據(jù)寬度,按指定寬度輸出,且多余數(shù)補(bǔ)以空格;如果指定的寬度小于實(shí)際數(shù)據(jù)寬
2、度,浮點(diǎn)數(shù)的整數(shù)部分將以實(shí)際數(shù)據(jù)(位數(shù))輸出。小數(shù)部分按指定數(shù)輸出,且對數(shù)據(jù)做四舍五入處理。printf的整數(shù)限寬輸出:沒有寬度制的整數(shù)原數(shù)輸出。在寬度限制于數(shù)的實(shí)際位數(shù)時(shí),寬度說明無效,按數(shù)的實(shí)際位數(shù)輸出。4. D解析: 在C語言所有的運(yùn)算符中,逗號運(yùn)算符的優(yōu)先級最低。C語中區(qū)分大小,所以APH和aph是兩個(gè)不同的變量。賦值表達(dá)式a=b表示將b的值付給a,而b本身的值保持不變;通過鍵盤可以向計(jì)算機(jī)輸入允許的任何類型的數(shù)據(jù)。選項(xiàng)D)中當(dāng)從鍵盤輸入數(shù)據(jù)時(shí),對于整型變量可以輸入整型數(shù)值和字符,對于實(shí)型變量可以輸入實(shí)型數(shù)和整型數(shù)值等。5. C解析: 本題中,程序先執(zhí)行語句 x=1.2;,根據(jù)賦值運(yùn)算
3、的類型轉(zhuǎn)換規(guī)則,先將double型的常量1.2轉(zhuǎn)換為int型,即取整為1,然后將1賦值給變量x。接下來執(zhí)行語句y=(x+3.8)/5.0;根據(jù)運(yùn)算符的優(yōu)先級,先計(jì)算小括號內(nèi),再計(jì)算除法,最后執(zhí)行賦值運(yùn)算。小括號內(nèi)的運(yùn)算過程:先將整型變量x的值1轉(zhuǎn)換為double型1.0,然后與3.8進(jìn)行加法運(yùn)算,得到中間結(jié)果4.8。接著進(jìn)行除法運(yùn)算4.8/5.0,其結(jié)果小于1.0,這里沒有必要計(jì)算出精確值,因?yàn)榻又M(jìn)行賦值運(yùn)算,賦值號左邊的變量y的類型為整型,于是對這個(gè)小于1.0的中間結(jié)果進(jìn)行取整,結(jié)果為0,于是變量y的值為0,d*y的值也為0。6. C解析: 在C語言中,對于不同類型的數(shù)據(jù)用不同的格式字符,
4、其中,“%d”是按整型數(shù)據(jù)的實(shí)際長度輸出,“%md”中,m為指定的輸出字段的寬度,如果數(shù)據(jù)的位數(shù)小于m,則左端補(bǔ)以空格,若大于m,則按實(shí)際位數(shù)輸出。7. D解析: 整型變量的輸出形式有:%d,%o,%x,%u等,%x是以十六進(jìn)制無符號形式輸出整數(shù)。十六進(jìn)制數(shù)同樣也可以想%md一樣按%mlx輸出指定寬度的長整型數(shù)。8. A解析: 該題考查的是C語言中自減運(yùn)算符和逗號表達(dá)式的應(yīng)用。自減運(yùn)算符位于變量之前時(shí),先使變量的值減1,再進(jìn)行賦值運(yùn)算。逗號表達(dá)式的一般形式為:表達(dá)式1,表達(dá)式2,其求解過程是:先求解表達(dá)式1,再求解表達(dá)式2,整個(gè)逗號表達(dá)式的值是表達(dá)式2的值。9. B解析: 本題中,“%d %d
5、 %d”表示按整型數(shù)形式輸入數(shù)據(jù),輸入數(shù)據(jù)時(shí),在兩個(gè)數(shù)據(jù)之間以一個(gè)或多個(gè)空格間隔,也可以用回車鍵或Tab鍵。選項(xiàng)B)中不應(yīng)該使用逗號。10. B解析: scanf函數(shù)的一般格式是:scanf(格式控制,地址表列)該格式中,地址表列中應(yīng)是變量地址,而不是變量名。11. D解析: 在C語言中,自增1運(yùn)算符記為“+”,其功能是使變量的值自增1。自減1運(yùn)算符記為“-”,其功能是使變量值自減1。自增1,自減1運(yùn)算符均為單目運(yùn)算,都具有右結(jié)合性??捎幸韵聨追N形式:+i i 自增1后再參與其他運(yùn)算。-i i 自減1后再參與其他運(yùn)算。i+ i 參與運(yùn)算后,i的值再自增1。i- i 參與運(yùn)算后,i的值再自減1。
6、在理解和使用上容易出錯(cuò)的是i+和i-。 特別是當(dāng)它們出在較復(fù)雜的表達(dá)式或語句中時(shí),常常難于弄清,因此應(yīng)仔細(xì)解析。12. B解析: 對于逗號表達(dá)式中的第一個(gè)表達(dá)式等價(jià)為a=15;第二個(gè)表達(dá)式的值為15×4=60,此時(shí)變量a的值仍未改變還是15,第三個(gè)表達(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)錯(cuò)誤輸出文件指針 stderr缺省為顯示器;標(biāo)準(zhǔn)打印輸出文件指針 stdprn指打印機(jī)
7、;此外,還可能包括如輔助設(shè)備等標(biāo)準(zhǔn)文件指針,且多數(shù)文件指針可以被重新定向到其他設(shè)備。14. C解析: 在使用scanf函數(shù)時(shí),我們必須要注意以下問題:在用scanf函數(shù)給普通變量輸入數(shù)據(jù)時(shí),在變量名前沒有寫地址運(yùn)算符&。如scanf(dd, x, y);是錯(cuò)誤的。正確的應(yīng)為scanf(dd, &x, &y);。2)在scanf函數(shù)調(diào)用語句中,企圖規(guī)定輸入實(shí)型數(shù)據(jù)的小數(shù)位。如執(zhí)行以下語句:scanf(6.2f, &a);C語言規(guī)定是不允許指定輸入數(shù)據(jù)的寬度的。3)是錯(cuò)誤不允許輸入數(shù)字寬度。用scanf函數(shù)輸入數(shù)據(jù)時(shí),必須注意要與scanf語句中的對應(yīng)形式匹配。如:
8、scanf(d,d,&x, &y);若按以下形式輸入數(shù)據(jù):2 4是不合法。數(shù)據(jù)2和4之間應(yīng)當(dāng)有逗號。本題選項(xiàng)A)中后面省略了符號&,其他選項(xiàng)也有省略逗號的錯(cuò)誤,只要明白了以上解析,可以說,scanf函數(shù)的重要用法已經(jīng)在我們掌握之中了。15. A解析: 本題中,x原指定為float型,進(jìn)行強(qiáng)制類型運(yùn)算后得到一個(gè)int型的中間變量,它的值等于x的整數(shù)部分,而x的類型不變,仍為float型16. B【命題目的】考查格式化輸出函數(shù)的掌握情況。【解題要點(diǎn)】表達(dá)式n=(k%m,k/m)實(shí)際上是將k/m的結(jié)果賦值給了n?!惧e(cuò)解分析】逗號表達(dá)式中最后一個(gè)表達(dá)式的值是該逗號表達(dá)式的值,所
9、以輸出結(jié)果為k/m。17. C【命題目的】考查格式化輸入函數(shù)的掌握情況。【解題要點(diǎn)】若在scanf的格式控制串中插入了其他字符,則在輸入時(shí)要求按一一對應(yīng)的位置原樣輸入這些字符?!惧e(cuò)解分析】由于scanf的格式控制串中插入了"a"、逗號和"b="等字符,所以輸入時(shí)候應(yīng)該一一對應(yīng)地在對應(yīng)位置上輸入這些字符?!究键c(diǎn)鏈接】格式化輸出也是在對應(yīng)的位置上輸出對應(yīng)的插入的其他字符。填空題:1. 解析: 在%與格式符之間插入一個(gè)整形數(shù)來指這輸出寬度,并不影響數(shù)據(jù)的完整性,當(dāng)插入的寬度小于實(shí)際的寬度時(shí),則實(shí)際的寬度輸出。2. 16解析: 賦值表達(dá)式的值就是所賦值變量的值,
10、本題中a+=8相當(dāng)于a=a+8,對表達(dá)式逐步進(jìn)行求解:a+=(a=8)此時(shí),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í)行,又因?yàn)閏ase 1后面的語句沒有以break結(jié)束,所以程序要繼續(xù)往下執(zhí)行case 2后面的語句。所以,該程序共執(zhí)行了這三條語句:a+;a+;b+;因此,變量a和b最后的值應(yīng)該為2和1。2. C解析: 該題目的關(guān)鍵是要搞清楚“&&”和“|”兩個(gè)邏輯運(yùn)算符的運(yùn)算功能。運(yùn)算符“&&am
11、p;”和“|”是雙目運(yùn)算符,要求有兩個(gè)運(yùn)算量。且規(guī)定邏輯與運(yùn)算中,只有前面運(yùn)算量的值為真時(shí),才需要判別后面的值。只要前面為假,就不必判別后面的值。而邏輯或則為只要前為真,就不必判別后面的值;只有前為假,才判別后。本題中j+值為真,不進(jìn)行k+的運(yùn)算,所以k的值保持不變。3. C解析: 該題目測驗(yàn)考生對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ù)輸出時(shí),%f的輸出格式為小數(shù)點(diǎn)后保留6位。4. B解析:C語言規(guī)定的運(yùn)算優(yōu)先級由高到低分別是邏輯非、算術(shù)運(yùn)算、邏輯或。所以先計(jì)算!x,值是0
12、,然后再計(jì)算y-,由于是后綴運(yùn)算符,所以y在本次運(yùn)算中的值仍然是1,最后計(jì)算0|1,值為1。5. A解析: 本題考查的是三目運(yùn)算符的用法,三目運(yùn)算符的形式為(表達(dá)式1)?(表達(dá)式2):(表達(dá)式3)。當(dāng)(表達(dá)式1)的值為真時(shí),求(表達(dá)式2)的值為整個(gè)表達(dá)式的值;如果(表達(dá)式1)的值為假,則求(表達(dá)式3)的值為整個(gè)表達(dá)式的值。題中,表達(dá)式x>12的結(jié)果為假,所以執(zhí)行的語句是x-12,最終y的值應(yīng)該是0。6. A解析: 在C程序中,判斷邏輯值時(shí),用非0表示真,用0表示假。邏輯表達(dá)式計(jì)算時(shí),邏輯表達(dá)式值為真是用1表示的,若邏輯表達(dá)式的值為假,則用0表示。7. C解析: 此題綜合考查多種運(yùn)算符的使
13、用;首先計(jì)算表達(dá)式a<=25 &&b-<=2 &&c的值,很容易看出b-<=2的值為假,因此表達(dá)式為假;根據(jù)三目運(yùn)算的特點(diǎn),由于前面的表達(dá)式為假,應(yīng)執(zhí)行printf(“#a=%d,b=%d,c=%dn”,a,b,c),應(yīng)注意a的值依然為25,b的值經(jīng)過b-運(yùn)算后改變?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、選項(xiàng)D)為兩條語句。10. D解析: 本題考查C語言的邏輯表達(dá)式及邏輯或(“|”)運(yùn)算符的用法?!皘”表示或的意思,“|”是按位或的意思,“&&”是并且的意思,C語言中沒有“or”。11. C解析: if語句嵌套使用時(shí),應(yīng)當(dāng)注意if 與else的配對關(guān)系,else總是與它上面的最近的if配對。因此,本題中先判斷(a<b),表達(dá)式值為0,則不執(zhí)行下面的if語句,直接跳到printf語句中(c的值不變)。12. D解析: 該題考查邏輯與“&&”和邏輯或“|”以及邏輯非“!”符號的用法。選項(xiàng)A)即3&&4為真,選項(xiàng)B)即3<=4為真,選項(xiàng)C
15、)是一個(gè)邏輯或與邏輯與的混合運(yùn)算,只要執(zhí)行了邏輯或左半部分,程序?qū)⒅苯油V箞?zhí)行邏輯或右半部分程序,因?yàn)閤的值為真,此時(shí)選項(xiàng)C)變?yōu)?&&-1為真。選項(xiàng)D)不用計(jì)算,括號內(nèi)邏輯或右邊的值為1,因而括號內(nèi)的值為1,再進(jìn)行邏輯非運(yùn)算得0。13. B解析: 條件運(yùn)算符要求有三個(gè)操作對象,稱三目(元)運(yùn)算符,它是C語言中惟一的一個(gè)三目運(yùn)算符。條件表達(dá)式的一般形式為:表達(dá)式1?表達(dá)式2:表達(dá)式3其求解順序是:先求解表達(dá)式1,若為非0(真)則求解表達(dá)式2,此時(shí)表達(dá)式2的值就作為整個(gè)條件表達(dá)式的值。若表達(dá)式1的值為0(假),則求解表達(dá)式3,表達(dá)式3的值就是整個(gè)條件表達(dá)式的值。并且注意+、-的用
16、法。14. A解析: 本題考查的是邏輯與“&&”,邏輯或“|”,邏輯非“! ”,表達(dá)式的應(yīng)用。邏輯與運(yùn)算符“&&”,當(dāng)參與運(yùn)算的兩個(gè)量都為真時(shí),結(jié)果才是真,否則為假;邏輯或運(yùn)算符“|”,當(dāng)參與運(yùn)算的兩個(gè)量有一個(gè)為真時(shí),結(jié)果是真,否則為假;邏輯非運(yùn)算符“! ”,當(dāng)參與運(yùn)算的量為真時(shí),結(jié)果才是假,否則為真。15. B解析: 本題考查邏輯與運(yùn)算的運(yùn)算規(guī)則。其規(guī)則是:當(dāng)運(yùn)算符前后兩個(gè)條件表達(dá)式都滿足時(shí),其最終結(jié)果才為真。當(dāng)發(fā)現(xiàn)第一個(gè)表達(dá)式的值為假后,計(jì)算機(jī)將不再執(zhí)行后面表達(dá)式的運(yùn)算。本題中,由于前一個(gè)表達(dá)式的值為“假”,所以,后面的表達(dá)式不再進(jìn)行運(yù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解析: 解答本題時(shí),先判斷if語句,因?yàn)閍=b+c不成立,則執(zhí)行else語句。19. B【命題目的】考查邏輯運(yùn)算符的掌握情況?!窘忸}要點(diǎn)】&&,|在某種情況下會實(shí)行“短路規(guī)則”,即當(dāng)邏輯與前面一個(gè)表達(dá)式的值為假的時(shí)候,后面一個(gè)表達(dá)式就不需要計(jì)算,這個(gè)邏輯表達(dá)式一定為假;當(dāng)邏輯或前面一個(gè)表達(dá)式為真的時(shí)候,
18、后面一個(gè)表達(dá)式就不需要計(jì)算,這個(gè)邏輯或表達(dá)式一定為真?!惧e(cuò)解分析】選項(xiàng)A)是將n的值賦值給m和k。選項(xiàng)C)就是進(jìn)行了短路規(guī)則,當(dāng)m=k賦值后,m得到的新值不為0,即為真,邏輯或后面的表達(dá)式就不被計(jì)算,所以n沒有被賦值。D)答案沒有什么意義?!究键c(diǎn)鏈接】C語言中,沒有專門的邏輯值,而是用非零值來表示真,用零表示假。20. D【命題目的】考查對于if-else語句的掌握情況。【解題要點(diǎn)】if-else語句的執(zhí)行過程如下,首先計(jì)算if后面一對圓括號內(nèi)表達(dá)式的值,若表達(dá)式的值為非0,執(zhí)行if子句,然后跳過else子句,去執(zhí)行if語句后的下一條語句;若表達(dá)式的值為0,跳過if子句,去執(zhí)行else子句,接
19、著去執(zhí)行if語句后的下一條語句?!惧e(cuò)解分析】C語言的語法規(guī)定,else子句總是與前面最近的不帶else的if匹配,與書寫格式無關(guān),本題目的后一個(gè)if-else相當(dāng)于嵌套在第一個(gè)if子句里,相當(dāng)于x<y&&y<0時(shí),z=0;當(dāng)x<y&&y>=0時(shí),z=z+1?!究键c(diǎn)鏈接】else不是一條獨(dú)立的語句,它只能與if同時(shí)使用。填空題1. 【命題目的】考查對于if語句的掌握情況?!窘忸}要點(diǎn)】C語言的語法規(guī)定:else子句總是與前面最近的不帶else的if相結(jié)合。因?yàn)閤不大于y,所以執(zhí)行printf("%dn",z);語句。第5章
20、 循環(huán)結(jié)構(gòu)選擇題1. B解析: t=1是將t賦值為1,所以循環(huán)控制表達(dá)式的值為1,而判斷t是否等于1時(shí)應(yīng)用t=1注意“”與“”的用法。2. B解析: 該題目應(yīng)該根據(jù)循環(huán)體第一次和最后一次執(zhí)行時(shí)的輸出結(jié)果來決定哪一項(xiàng)是正確的。第一次進(jìn)入循環(huán)時(shí),n的值是9,循環(huán)體內(nèi),先經(jīng)過n-運(yùn)算,n的值變?yōu)?,所以第一次的輸出值是8,由此可以排除選項(xiàng)A)和D)。由循環(huán)條件n>6可以知道,最后一次循環(huán)開始時(shí),n的值應(yīng)該為7,所以最后一次執(zhí)行循環(huán)體時(shí)輸出為6,由此可以排除選項(xiàng)C)。3. D解析:選項(xiàng)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);選項(xiàng)B)的括號內(nèi)沒有能使循環(huán)停下來的變量增量,是死循環(huán);選項(xiàng)C)中先執(zhí)行k+,使k=10001,從而使循環(huán)陷入死循環(huán)。4. B解析: 本題中,“!”表示邏輯非運(yùn)算符,“!=”等于運(yùn)算符,邏輯非運(yùn)算符比等于運(yùn)算符的優(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運(yùn)算
22、如何累計(jì)i的值,i值分別是i=2,4,6,8,10,12時(shí),判斷i>j為真,程序輸出s的值并結(jié)束,共循環(huán)6次。7. D解析: do.while語句的一般形式是:do 語句while (表達(dá)式);特點(diǎn)是:“直到型”循環(huán)結(jié)構(gòu)。先執(zhí)行一次“語句”,判“表達(dá)式”,當(dāng)“表達(dá)式”非0,再執(zhí)行“語句”,直到“表達(dá)式”的值為0時(shí)停止執(zhí)行語句。在一般情況下,用while和do-while語句解決同一問題時(shí),若二者的循環(huán)體部分是一樣的,它們的結(jié)果也一樣。但當(dāng)while后面的“表達(dá)式”一開始就為“假”時(shí),兩種循環(huán)的結(jié)果不同。這是因?yàn)榇藭r(shí)while循環(huán)的循環(huán)不被執(zhí)行,而do-while循環(huán)的循環(huán)體被執(zhí)行一次。本
23、題的關(guān)鍵是兩個(gè)加數(shù)分別能被13和11整除,在i=0時(shí),直接將316賦值給k,當(dāng)k%11的值為0時(shí),則不必執(zhí)行循環(huán),將執(zhí)行j=k/11語句,輸出結(jié)果,所以該表達(dá)式合理的條件是k%11。8. D解析: 本題考查“+”和“-”運(yùn)算符,運(yùn)算符“+”是操作數(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時(shí),首先執(zhí)行y-,使y值變?yōu)?。接著執(zhí)行y,y值變?yōu)?,循環(huán)結(jié)束。最后執(zhí)行
24、輸出語句,注意先輸出此時(shí)y的值0,在再使y值自減1變?yōu)?1。9. B解析: 本題考查兩個(gè)知識點(diǎn):自加自減運(yùn)算符和do.while循環(huán)語句。題中b-=a等價(jià)于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)外,本題還考查自加運(yùn)算的相關(guān)知識,但均為基礎(chǔ)。注意:for語句中的表達(dá)式可以部分或全部省略,但兩個(gè)“;”不能省略。12. D解析: 本題中需要
25、填空的是for循環(huán)的第3個(gè)條件,即“若分成9個(gè)零件一組,則多5個(gè)零件”,當(dāng)總零件數(shù)零減去5后,并與9取余為0即可滿足本題的條件。13. C解析: 本題中,首先將0賦給k,表達(dá)式變?yōu)?,跳出循環(huán),沒有執(zhí)行循環(huán)體語句。解答本題的關(guān)鍵是掌握while語句。14. B解析: 本題中,省略了for語句的第二個(gè)表達(dá)式,C語言規(guī)定如果省略了第二個(gè)表達(dá)式,則表示為真,即為1。15. A解析: 本題考查用于多分支選擇的switch語句, 其一般形式為:switch(表達(dá)式) case常量表達(dá)式1: 語句1; case常量表達(dá)式2: 語句2; case常量表達(dá)式n: 語句n; default : 語句n+1;其語
26、義是:計(jì)算表達(dá)式的值。并逐個(gè)與其后的常量表達(dá)式值相比較,當(dāng)表達(dá)式的值與某個(gè)常量表達(dá)式的值相等時(shí),即執(zhí)行其后的語句,然后不再進(jìn)行判斷,繼續(xù)執(zhí)行后面所有 case后的語句。如表達(dá)式的值與所有case后的常量表達(dá)式均不相同時(shí),則執(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,此時(shí)表達(dá)式!(x)的
27、值為0,結(jié)束循環(huán)。17. B解析: 根據(jù)本題提出的條件可知,控制循環(huán)的表達(dá)式應(yīng)該是所輸入的兩數(shù)互不相等(相等時(shí)結(jié)束循環(huán)),也即只有滿足這一條件時(shí),兩數(shù)才能進(jìn)行排序輸出的操作,由此得出循環(huán)的控制表達(dá)式應(yīng)該為a!=b。18. D解析: 選項(xiàng)A)for循環(huán)可以用于循環(huán)次數(shù)不確定的情況;選項(xiàng)B)for循環(huán)是先判斷表達(dá)式,后執(zhí)行循環(huán)體語句;選項(xiàng)C)在for循環(huán)中,可以用break語句跳出循環(huán)體,從而接著執(zhí)行循環(huán)體后面的語句。19. B解析: 該題是一個(gè)for循環(huán)嵌套語句。第一層for循環(huán)循環(huán)2次,第二層循環(huán)3次,但當(dāng)j等于0和1時(shí),將執(zhí)行continue語句,不執(zhí)行x+運(yùn)算,所以每次執(zhí)行完內(nèi)循環(huán)后,x的
28、增量為1。最后一個(gè)x+運(yùn)算將每次累加起來就是x的值。20. B解析: 本題考查邏輯非運(yùn)算符和不等于運(yùn)算符的區(qū)別,邏輯非運(yùn)算符“!”的優(yōu)先級大于不等于運(yùn)算符“!=”的優(yōu)先級。21. A解析: 和都屬于無實(shí)際作用語句,但又都符合語法要求,因?yàn)闂l為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)取決于兩個(gè)條件:或者i>9,或者x=876,只要在執(zhí)行scanf語句時(shí),從終端輸入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)的理解情況。【解題要點(diǎn)】while循環(huán)是先判斷循環(huán)條件之后再進(jìn)入循環(huán)體?!惧e(cuò)解分析】這個(gè)題目的循環(huán)體是空語句,每次做的僅僅是判斷循環(huán)的條件,由于+運(yùn)算優(yōu)先于<,所以每次都先+,后比較?!究键c(diǎn)鏈接】do-while循環(huán)是先執(zhí)行循環(huán)體,之后判斷循環(huán)條件。26. C【命題目的】考查for循環(huán)的掌握情況。【解題要點(diǎn)】for后一對括號中的表達(dá)式可以是任意有效的C語言表達(dá)式。【錯(cuò)解分析】該題目的循環(huán)體部分為空語句,循環(huán)控制條件為m<n,每一次m
31、增3,n減1,每當(dāng)循環(huán)體執(zhí)行結(jié)束時(shí),循環(huán)控制變量m,n就會分別被增3和減1?!究键c(diǎn)鏈接】for后一對括號中,允許出現(xiàn)各種形式的與循環(huán)控制無關(guān)的表達(dá)式,雖然在語法上合法,但這樣會降低程序的可讀性。27. B【命題目的】考查循環(huán)嵌套的掌握情況?!窘忸}要點(diǎn)】這個(gè)題目中的k,每一次外層的for循環(huán)后都會被初始化為0,這樣輸出的k是最后一次做內(nèi)部循環(huán)所得到的值?!惧e(cuò)解分析】最后一次做內(nèi)部的循環(huán)時(shí),m的值為3,所以內(nèi)部的循環(huán)做兩次?!究键c(diǎn)鏈接】for,while,do-while都可以相互嵌套,循環(huán)的嵌套可以多層,但每一層循環(huán)在邏輯上必須是完整的。28. B【命題目的】主要考查continue語句的掌握情
32、況?!窘忸}要點(diǎn)】continue語句的作用是跳過本次循環(huán)體中余下尚未執(zhí)行的語句,接著再一次進(jìn)行循環(huán)條件的判定?!惧e(cuò)解分析】當(dāng)能被2整除時(shí),a就會增1,之后執(zhí)行continue語句,直接執(zhí)行到for循環(huán)體的結(jié)尾,進(jìn)行i+,判斷循環(huán)條件。【考點(diǎn)鏈接】continue語句并沒有使整個(gè)循環(huán)終止,而break語句則是終止整個(gè)循環(huán)。第6章 字符型數(shù)據(jù)選擇題:1. A解析: C語言的字符型常量中,允許用一種特殊形式的字符常量,就是以一個(gè)“”開頭的字符。其中“ddd”表示用ASCII碼(八進(jìn)制數(shù))表示一個(gè)字符,本題中的char c=72即表示占一個(gè)字符的變量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ù)類型,機(jī)器中采用了BCD碼(表示十進(jìn)制數(shù))、ASCII碼(字符型)、漢字機(jī)內(nèi)碼等等各種碼。數(shù)據(jù)采用了補(bǔ)碼、原碼和反碼為表示形式。實(shí)型數(shù)據(jù)表示方法有浮點(diǎn)法和定點(diǎn)法等,考生需熟練掌握各種碼的含義,并用之來計(jì)算、比較。需要提出的是,在機(jī)器內(nèi)部,所有碼都是由二進(jìn)制編碼而成的,它都是以二進(jìn)制存儲在機(jī)器之中的。字符“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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 巖土公司年會策劃方案
- 小班圓夢行動活動方案
- 屈原公園徒步活動方案
- 師生師師三幫扶活動方案
- 小學(xué)生友好相處活動方案
- 少兒職業(yè)活動方案
- 崗位體驗(yàn)活動方案
- 崇明公司團(tuán)建活動方案
- 居家養(yǎng)老院活動方案
- 山東煙草公司團(tuán)建活動方案
- 2025年中鐵(天津)軌道交通投資建設(shè)限公司運(yùn)營管理人員招聘5人自考難、易點(diǎn)模擬試卷(共500題附帶答案詳解)
- 北京市西城區(qū)2024-2025學(xué)年七年級上學(xué)期期末考試數(shù)學(xué)試題【含答案】
- 屋頂分布式光伏發(fā)電項(xiàng)目(承包人實(shí)施計(jì)劃方案)(技術(shù)方案)
- 2025電動自行車停放充電場所消防安全管理規(guī)范
- GA/T 701-2024安全防范指紋識別應(yīng)用出入口控制指紋識別模塊通用規(guī)范
- 工作分析實(shí)務(wù)-國家開放大學(xué)電大易考通考試題目答案
- 八項(xiàng)硬措施培訓(xùn)課件
- 政府采購廉政風(fēng)險(xiǎn)控制措施
- 養(yǎng)老服務(wù)中心可行性報(bào)告
- 多囊卵巢綜合征完全指南
- 《顱骨修補(bǔ)術(shù)》課件
評論
0/150
提交評論