}
「解」程序中,第一個if語句if(a B)A=B,當(dāng)A B時,讓B值置A,該語句確保A的值不比B小。同樣第二個IF語句IF(A<C)A=C,當(dāng)A<C時,讓C值置A,使A的值不比C小。實際;情況是A本來就比B和C都大,所以A的值沒有變,程序輸出A、B和 C的原來值:10,4,3.
2.閱讀下列程序,寫出程序的輸出結(jié)果。
main()
{ int x=100, a=10, b=20, Ok1=5,Ok2=0;
if(a<b)if(b?。?5)if(!Ok1) x=1;
else if(ok2) x=10;
else x=-l;
printf(“%d\n”,x);
}
「解」程序預(yù)置變量x的值為100,a的值為10,b的值為20,ok1為5,Ok2為0.
程序中給出的if語句可以寫成更結(jié)構(gòu)化的形式如下:
if(a<b) {
if(b?。?5){
if(!Ok1) x=1;
else{
if(Ok2) x=10;
else x=-l;
}
}
}
由于條件a<b成立,并且條件b!=15也成立,而ok1不等于0,執(zhí)行else后的語句。又因ok2等于0,執(zhí)行else后的語句賦-1給x.所以程序輸出一l.
3.閱讀下列程序,寫出程序的輸出結(jié)果。
main()
{ int y=9;
for(; y>0; y——)
if(y%3==0){ printf(“%d”,——y);continue;}
}
「解」循環(huán)前,變量y的值為9,其中的循環(huán)語句在y大于0情況下循環(huán),每次循環(huán)后y的值減1.循環(huán)體是當(dāng)y能被3整除時輸出表達(dá)式——y,輸出的是減1后的y值。這樣,第一次循環(huán)因y為9,能被3整除,輸出8,y也變成8.又經(jīng)兩次循環(huán),y的值變?yōu)?,又讓y減1變成5,并輸出5;又經(jīng)兩次循環(huán),y的值變成3,讓y減至變成2,輸出2;再經(jīng)兩次循環(huán)后,y的值變成0,結(jié)束循環(huán)。所以程序輸出852.