有下列程序 #include<stdio.h> main() { int i,a,b,e; a=b=c=0: for(i=0;i<3;i++) { switch(i%3) {

admin2018-03-27  4

问题 有下列程序
    #include<stdio.h>
    main()
    {
    int i,a,b,e;
    a=b=c=0:
    for(i=0;i<3;i++)
    {
    switch(i%3)
    {
    ease 0:a++;
    break;
    ease 1:b++;
    break;
    ease 2:c++;
    break;
    }
    if(i%3==0)
    break;
    }
    printf(’’%d%d%d\n’’,a,b,c);
    }
    程序执行后的输出结果是(    )。

选项 A、2 0 1
B、1 1 1
C、1 0 0
D、2 1 0

答案C

解析 switch为多分支选择语句,其后面括号内的值应为整型类型(包括字符类型),将switch后括号的值与case中给定的值相比较,如果和其中之一相匹配,则执行该case后的语句,若都不匹配,则执行default语句,若没有default语句,则不执行任何语句,流程转到switch下一条语句,每一个case语句后应加上break,使流程跳出switch语句若不加break,在执行完相匹的case语句后会顺序执行完该case语句下的所有case语句。定义变量,a、b、c初值为0,执行循环语句:i=0,%为取余运算符,如a%b,结果为a/b的余数,0%3值为0,执行case 0语句,执行完该语句此时a的值为1;向下执行if语句,判断i%3==0,结果为真,执行if语句内的break,跳出for语句,输出a、b、c的值,此时a的值为1,b、c的值仍为0,选项C正确;本题答案为C。
转载请注明原文地址:https://kaotiyun.com/show/FqID777K
0

相关试题推荐
最新回复(0)