若运行以下程序时,从键盘输入 ADescriptor<CR>(<CR>表示回车),则下面程序的运行结果

14 查阅

若运行以下程序时,从键盘输入 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语句的掌握。必须撑握以下内容:首先应该明白switch语句的语法格式:switch语句的语法格式为:switch (表达式){case 常量表达式1:语句组1;case 常量表达式2:语句组2; case 常量表达式n:语句组n;default:语句组n+1;}另外,以下几点关于switch语句的重点:① 系统在执行时计算开关表达式的值;② 根据所得的值在各个case标号表达式中寻找匹配,直到发现与表达式匹配的标号(本例中匹配的是case 'B':);③ 找到匹配后执行

计算机二级