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

admin2009-02-15  37

问题 若运行以下程序时,从键盘输入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

答案8

解析 本题考查switch语句的掌握。必须撑握以下内容:首先应该明白switch语句的语法格式:
   switch语句的语法格式为:
       switch(表达式)
       {
          case常量表达式1:语句组1;
          case常量表达式2:语句组2;
          ……
          case常量表达式n:语句组n;
          default:语句组n+1;
       }
   另外,注意以下几点关于switch语句的重点:
   ①系统在执行时计算开关表达式的值;②根据所得的值在各个case标号表达式中寻找匹配,直到发现与表达式匹配的标号(本例中匹配的是case ’B’:);③找到匹配后执行后面相应的语句表,顺序往下执行;④如果无相匹配的标号,若存在default标号,则执行该语句标号后面的语句表n+1;当不存在default标号时,不执行switch中的任何一个语句表。
   一般而言,在多分支结构中总会出现“意外”的情况,这时均可归入default:程序段,作统一的处理;default标号是可选性的,不必每次都有,视需要而定。 switch语句中还可以包含switch语句,形成switch的嵌套。
转载请注明原文地址:https://jikaoti.com/ti/4oK0FFFM
0

最新回复(0)