11.分析以下程序,結(jié)論是【 】。
main( )
{ int x=5,a=0,b=0;
if(x=a+b) printf("****\\n");
elseprintf("####\\n");
}
A) 有語法錯,不能通過編譯
B) 能通過編譯,但不能連接
C) 輸出****
D) 輸出 ####
分析:if語句中的判別式可以是賦值表達(dá)式,題中if(x=a+b)的含義是,先把a+b的值賦給x,再判斷x的值是否為0。
本題正確答案為D。
12.對下面的程序,正確的說法是【 】。
main( )
{ int a,b=1,c=2;
a=b+c,a+b,c+3;
c=(c)?a++:b--;
printf("c=%d/n",(a+b,c)); }
A) 無錯誤 B) 第三行有錯誤 C) 第四行有錯誤 D) 第五行有錯誤
分析:第三行是由逗號表達(dá)式組成的語句,第四行是由條件表達(dá)式組成的語句,第五行printf語句的輸出項為逗號表達(dá)式,本題沒有語法錯誤。
本題正確答案為A。
13.執(zhí)行下面的程序時,輸入abc(其中CR代表回車),輸出結(jié)果是【 】。
#include
#include
main( )
{ char ch;
while((ch=getchar( ))!=′\\n′)
{ switch(ch-′a′)
{ case 0: putchar(ch+1);
case 1: putchar(ch+1);break;
case 2: putchar(ch+2);
case 3: putchar(ch+2);break;
}
}
}
A) abc B) bbc C) abcd D) bbcee
分析:用getchar函數(shù)輸入數(shù)據(jù),接收的是ASCII碼,當(dāng)輸入為a時對應(yīng)執(zhí)行case 0和case 1處的語句,當(dāng)輸入為b時,執(zhí)行case 1處的語句,當(dāng)輸入為c時,對應(yīng)執(zhí)行case 2和case 3處的語句。
本題正確答案為D。
相關(guān)推薦:2010年9月計算機等級考試成績查詢時間匯總北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |