二、填空題
1.下面程序段的功能是輸出大寫字母對應(yīng)的小寫字母的ASCII碼,請?zhí)羁铡?/P>
char ch;
scanf("%c",&ch);
ch=(ch>=′A′&&ch<=′Z′)?(【1】):ch
printf("【2】\\n",ch);
分析:題目中條件運算為判斷輸入字母是否為大寫,當(dāng)ch>=′A′&&ch<=′Z′為真時,將其轉(zhuǎn)換成對應(yīng)的小寫字母,需ASCII碼值加上32,已知題意是將大寫字母對應(yīng)的小寫字母ASCII值輸出,所以printf語句中的輸出格式應(yīng)為十進制格式。
本題正確答案為 【1】 ch+32, 【2】 %d。
2.下面程序段的執(zhí)行結(jié)果是x=【3】,y=【4】。
inta=3,b=5,x,y;
x=a+1,b+6;
y=(a+1,b+6);
printf("x=%d,y=%d",x,y);
分析:此題考查逗號表達式的概念,因逗號運算符的優(yōu)先級比賦值號還低,所以執(zhí)行x=a+1,b+6時,x得到的是a+1的值。
本題正確答案為 【3】 4, 【4】 11。
3.下面程序執(zhí)行后k的值為【5】。
int a=1,b=2,c=3,d=4,k;
k=a>b?a:c>d?c:d
分析:因題中a>b的值為假,故求解表達式k=a>b?a:c>d?c:d相當(dāng)于求k=a>b?a:(c>d?c:d)。
本題正確答案為 【5】 4。
4.已知:int a=5;則執(zhí)行a+=a-=a*a;語句后,a的值為【6】。
分析:a+=a-=a*a的運算順序是從右向左,相當(dāng)于求a+=(a-=a*a),其中小括號內(nèi)的運算得a=5-5*5即a=-20,下一步再求a+=a,即a=a+a,將-20代入得a=-40。
本題正確答案為 【6】 -40。
5.下面程序的運行結(jié)果是x=【7】,y=【8】。
main( )
{ float x=4.9;int y;
y=(int)x;
printf("x=%f,y=%d",x,y); }
分析:強制類型變換并不改變x的原值,x仍為4.9,而變換得到的是中間結(jié)果,此題將中間結(jié)果賦給了y,另外注意是舍棄小數(shù)部分,而不是四舍五入。
本題正確答案為 【7】 4.900000 【8】 4。
相關(guān)推薦:2010年9月計算機等級考試成績查詢時間匯總北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |