6.以下程序的輸出為【 】。
main( )
{ int a=20,b=30,c=40;
if(a>b) a=b,
b=c;c=a;
printf("a=%d,b=%d,c=%d",a,b,c);
}
A) a=20,b=30,c=20
B) a=20,b=40,c=20
C) a=30,b=40,c=20
D) a=30,b=40,c=30
分析:題中的"a=b , b=c;"是一個語句書寫在了兩行,因a>b為假,所此句不執(zhí)行,又"c=a"與if語句無關(guān),總要執(zhí)行,故a,b值不變,c值為20。
本題正確答案為A。
7.對于條件表達式(k)?(i++):(i--)來說,其中的表達式k等價于【 】。
A) k==0 B) k==1 C) k!=0 D) k!=1
分析:因為條件表達式e1?e2:e3的含義是e1為真時,取表達式e2的值,否則取表達式e3的值,"為真"的意思就是不等于0。
本題正確答案為C。
8.執(zhí)行下面的程序后,輸出為【 】。
main( )
{ int m=20;
swith(m)
{ case 19: m+=1;
case 20: m+=1;
case 21: m+=1;
case 22: m+=1;
}
printf("%d\\n",m); }
A) 20 B) 21 C) 22 D) 23
分析:因無break控制語句,程序會從case 20開始連續(xù)執(zhí)行后面的各個case語句,最后結(jié)果是m=23。
本題正確答案為D。
9.下面程序運行結(jié)果為【 】。
main( )
{ char c=′a′;
if(′a′ elseprintf("UP");
}
A) LOW B) UP C) LOWUP D) 語句錯誤,編譯不能通過
分析:關(guān)系運算符“<”和“<=”的優(yōu)先級相同,計算順序是從左向右,求解表達式′a′ 本題正確答案為A。
10.對下述程序,正確的判斷是【 】。
main( )
{ int a,b;
scanf ("%d,%d",&a,&b);
if(a>b)a=b; b=a;
elsea++; b++;
printf("%d,%d",a,b); }
A) 有語法錯誤不能通過編譯
B) 若輸入4,5則輸出5,6
C) 若輸入5,4則輸出4,5
D) 若輸入5,4則輸出5,5
分析:不管if語句中的條件真假,它只能執(zhí)行一個語句,要想根據(jù)條件執(zhí)行多個語句,應(yīng)寫成復(fù)合語句,程序中if和else的后面都有兩個語句,違反了這一點。
本題正確答案為A。
相關(guān)推薦:2010年9月計算機等級考試成績查詢時間匯總北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |