下列程序的输出结果是(  )。#include<stdio.h>main(){ int a=0,i;for(i=1;i<5:i++){ switch(i){ case 0:case 3:a+=1;case】:case 2:a=2;default:a+=3;}}printf(”%d”,a);)

2023-04-24

[单选] 下列程序的输出结果是(  )。
#include<stdio.h>
main()
{ int a=0,i;
for(i=1;i<5:i++)
{ switch(i)
{ case 0:
case 3:a+=1;
case】:
case 2:a=2;
default:a+=3;
}
}
printf(”%d”,a);
)

A . 19
B . 18
C . 6
D . 8



参考答案:A

参考解析:

A。【解析】本题考查switchcase开关语句,default退出继续循环。当i=1时,执行casel,因为没有break语句,所以依次往下运行,a=a+2-2,a=a+3=5;当i=2时,执行case2,没有break语句,所以依次往下运行,a-a+2-7,a=a+3=10;当i=3时,执行case3,当a=a+1=11,没有break语句,所以依次往下运行,a=a+2=13,a=a+3=16;当i=4时,没有case语句,则执行default,a=a十3—19,
i=5不成立,循环结束。