若运行以下程序时,从键盘输入ADescriptor<CR>(<CR>表示回车),则下面程序的运行结果是( )。 #include<stdio.h> main() {char c; int v0=1,v1=0,v2=0; do

admin2013-02-23  26

问题 若运行以下程序时,从键盘输入ADescriptor<CR>(<CR>表示回车),则下面程序的运行结果是(  )。    #include<stdio.h>    main()    {char c;    int v0=1,v1=0,v2=0;    do{  switch(c=getchar())    {  case’a’:case’A’:    case’e’:case’E’:    case’i’:case’I’:    case’o’:case’O’:    case’u’:case’U’:v1+=1:    default:v0+=1;v2+=1;}    }while(c!=’\n’);    printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);    }

选项 A、v0=7,v1=4,v2=7
B、v0=8,v1=4,v2=8
C、v0=11,v1=4,v2=11
D、v0=13,v1=4,v2=12

答案D

解析 本题考查的是switch语句的应用。分析程序,do-while语句是先执行do后面的语句再判断是否符合while的条件。V2+=1;语句无论读入的是什么字母(包括回车符),此语句都要执行,语句default:v0+=1;亦是如此;而语句case’U’:v1+=1;只有在读入的字母是’a’、’A’、’e’、’E’、’i’、’I’、’o’、’O’、’u’、’U’时才会执行。
转载请注明原文地址:https://kaotiyun.com/show/ozJp777K
0

最新回复(0)