选择题 37.  下列程序的运行结果是______。
    #include<stdio.h>
    void main()
    {int s=0,k;
    for(k=7; k>1; k--)
    {switch(k)
    {case 1:
    case 4:
    case 7:
    s++;
    break;
    case 2:
    case 3:
    case 6: break;
    case 0:
    case 5:
    s+=2;
    break;
    }}
    printf("s=%d",s);
    }
【正确答案】 B
【答案解析】 运行程序,当k=7时,switch(7)执行case:7,s++后s=1,break跳出。k--,k=7,继续循环switch(6),执行case 6;直接跳出循环,k--变成5,继续循环switch(5),执行case 5后面的语句。s+=2也相当于s=s+2,此时s为3,break跳出,k变为4,继续循环,执行case 4为空,继续执行case 7;s++为4,跳出循环,k--变为3,继续循环,执行case 3,空语句往下执行case 6,跳出,k--为2,继续循环,执行case 2;空语句往下执行case 3,空语句再执行case 7,跳出循环,k--为1,不符合循环,退出,此时s=4。