C語言程序設計:選擇結構程序設計單元測試與答案_第1頁
C語言程序設計:選擇結構程序設計單元測試與答案_第2頁
C語言程序設計:選擇結構程序設計單元測試與答案_第3頁
全文預覽已結束

下載本文檔

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

文檔簡介

1、一、單項選擇題1、兩次運行下面的程序,如果從鍵盤上分別輸入6和4,那么輸出結果是ttinclude int main()(int x;scanf(%d,&x);if(x+5)printf (”cT,x);elseprintf (%dn,x-);return 0;)A.7 和 4B.6 和 4C.6 和 3D.7 和 5正確答案:D解析:Lx=6,x+表達式的值為65,執(zhí)行if子句,輸出為值為72.x=4,x+表達式的值為45,執(zhí)行else子句,因x表達式的值為5,所以輸出為52、對于以下程序,輸出結果為#include int main()(int x=l,y=0,a=0,b=0;switch

2、(x) case 1:switch (y) case 0:a+;break;case l:b+;break;)case 2:a+;b+;break;)printf (a=%d,b=%dn,a,b);return 0;)A.a=l,b=0B.a=l,b=lC.a=2,b-2D.a=2,b=l正確答案:D解析:x=l執(zhí)行case 1子句,y=0,執(zhí)行case 0子句,a=l,W break,跳出當前switch, easel子句執(zhí)行完畢。繼續(xù)執(zhí)行case 2子句a二2,b二L有break,跳出當前所在的switch語句。輸出a,b的值。3、執(zhí)行以下程序段后,變量a, b, c的值分別是oint x

3、=10,y=9;int a,b,c;a=(-x=y+)?-x:+y;b=x+;c=y;A.a=9,b=97c=9B.a=8,b=8,c=10C.a=9,b=10,c=9D.a=l,b=ll,c=10正確答案:B解析:a=9=9?8:lla=8,b=8,c=10(+y 未被執(zhí)行)4、輸入一個字符,如果它是一個小寫字母,那么把它變成大寫字母;其他字符不變,請在橫 線上填入正確內(nèi)容。#includeint main()(char ch;scanf(%c,&ch);if(ch=a & ch=z);printf(%c,ch);return 0;)A.ch=ch-32B.ch=ch+26C.h=ch-26

4、D.ch=ch+32正確答案:A解析:小寫字母比大寫字母大32,詳情見教材附錄:ASCII代碼與字符對照表5、對于以下程序,輸出結果為 oinclude int main()(int x=3,y=0,z=0;if(x=y+z) printf (“*”);else printf (#);return 0;A.可以通過編譯,但不能通過連接,因而不能運行B.有語法錯誤不能通過編譯C.輸出#D.輸出* * * *正確答案:C解析:x重新賦值為0,條件為假,執(zhí)行else子句。6、對于以下程序,假設從鍵盤輸入2.0/,那么程序輸出為 o ttinclude int main()(float x,y;sca

5、nf(,%f,&x);if (x0.0) y=0.0;else if (x5.0)&(x!=2.0) y=1.0/(x+2.0);else if (x10.0 ) y=1.0/x ;else y=10.0;printf (%fn,y);return 0; )正確答案:D解析:x=2.0,x0.0條件為假,x!=2.0條件為假,其后面對應的語句都不執(zhí)行。x10.0條件為真,執(zhí)行其對應的子句y=1.0/2.0=0.5000007、假設 w=l, x=2, y=3, z=4,那么表達式 wx?w:yz?y:z 的值是。A.1B.3C.4D.2正確答案:A解析:12?1:(3c)b=a; a=c; c

6、=b;A.13 2B.3 2 2C.2 13 D.12 3 正確答案:B 解析:a=l, c=3,所以ac不成立,不執(zhí)行b二a; 執(zhí)行 a=c; c=b;9、下面程序的輸出結果是#include int main() ( int a=l;switch(a) (case l:printf(*n);case 2: printf(*n); default:printf(,*n); ) return 0;) A.* * * *B.*C.* D.* * * * 正確答案:A 解析:case語句后沒有break語句,所以程序行依次輸出。 10、#include int main() ( int a=l;s

7、witch(a) (case l:printf(*n); break;case 2: printf(*n); break; default:printf(*n);)return 0;)A * * * B.*Q *D *正確答案:B解析:case 1后有break,所以輸出*后跳出了 switch11、C語言的if語句,當條件表達式為真時執(zhí)行的語句是A.if和else后的語句都執(zhí)行B.else后的語句C.不執(zhí)行語句D.if后的語句正確答案:D解析:當條件表達式為真時執(zhí)行的語句是if后的語句12、C語言的if語句中,用作判斷的條件表達式為A.算數(shù)表達式B.關系表達式C.邏輯表達式D.任意表達式正確

8、答案:D解析:C語言的if語句中,用作判斷的條件表達式可以是任意表達式13、為了防止嵌套的if-else語句的二義性,C語言規(guī)定else總是與()組成配對關系 A.同一行上的ifB.縮排位置相同的ifC.在其之前未配對的最近的ifD.在其之前未配對的if正確答案:C解析:C、C語言規(guī)定else總是與上面離他最近的尚未配對的if組成配對關系。14、以下程序的運行結果是#include stdio.h int main() (int n=0,m=l,x=2;if(!n) x-=l;if(m) x-=2;if(x) x-=3;printf(%dn,x);return 0;)A.-3B.-lC.-4D.-2正確答案:C解析:if(!0) x-=l;x=2-l=l;if(l) x-=2; x=x-2=l-2=-l;if(-l) x-=3; x=-l-3=-4.15、對于以下程序,輸出結果為:ttinclude int main() int x=l,y=O,a=O,b=O;switch(x) case 1:switch (y) case O:a+;break;case l:b+;break;)case 2:a+;b+;break;)printf (,a=%

溫馨提示

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

評論

0/150

提交評論