问题 填空题

以下程序运行后的输出结果是______。
#include<stdio.h>
main()
int a=1,b=7;
do
b=b/2;a+=b;
while(b>1);
printf("%d\n",a);

答案

参考答案:E

解析: 本题考查do-while语句。在do-while语句中,先执行do中的内容,再判断while是否成立,如果成立,则继续执行do语句,不成立则退出。本题do语句中,b=b/2,b的值为3,a+=b,可以看成a=a+b,a的值为1+3=4;判断while语句,b为3大于1成立,再执行do循环,b=b/2,b=3/2=1,此时a为4,a=a+b后,a为5;再判断while语句,b为1,b>1不成立,所以退出循环,输出a的值为5。

单项选择题
选择题