当前位置:IT认证>计算机二级

问题:

[单选] 有以下程序

#include <sthio.h>

Main()

{int s=0,n;

   For (n=0;n<3;n<0++)

{switch(s)

{ case 0;

Case 1;s+=1;

Case 2;s+=2;break;

Case 3;s+3;

Case 4;s+=3 ;

}

printf((“%dn”,s);

}

}

程序运行后的结果是


A . A 1,2,4
B . B 1,3,6
C . C 3,10,14
D . D 3,6,10

有以下函数#include void fun(char c){if(c>’x’) fun(c-1);printf (“%c”,c);}main(){fun(”z”);}程序运行输出结果是(  )。 xyz 。 wxyz 。 zyxw 。 zyx。 #include void main() { char a[20], b[20], c[20]; scanf("%s%s", a, b); gets(c); printf("%s%s%s", a, b, c); } 程序运行时从第一行开始输入 this is a cat!<回车>,则输出结果是(  )。thisisacat! this is a thisis a cat! thisisa cat! thisisacat! 。 this is a 。 thisis a cat! 。 thisisa cat!。 以下选项中有语法错误的是(  )。 char *str[ ]={“guest”}; 。 char str[10 ]={“guest”};。 char *str[3] *str[1]={“guest”}; 。 char str[3][10];str[1]={“guest”};。 下列关于单目运算符++,— —的叙述中正确的是(  )。 它们的运算对象可以是任何变量和常量。 它们的运算对象可以是char型变量和int型变量,但不能是float型变量。 它们的运算对象可以是int型变量,但不能是double型变量和float型变量。 它们的运算对象可以是char型变量、int型变量和float型变量。 有以下程序

#include <sthio.h>

Main()

{int s=0,n;

   For (n=0;n<3;n<0++)

{switch(s)

{ case 0;

Case 1;s+=1;

Case 2;s+=2;break;

Case 3;s+3;

Case 4;s+=3 ;

}

printf((“%dn”,s);

}

}

程序运行后的结果是


参考答案:

  参考解析

本题考察switch语句的应用,case分支后面如果没有break,那么就会顺序执行下面的case,直到遇到break跳出。所以第一次循环后s的值为3打印输出。第二次s的值为:s=s+3,s=s+4,即为10,打印输出。第三次没有匹配成功直接执行 case 4语句,s=s+4,所以s的值为14,打印输出。

在线 客服