c语言switch经典题目(switchc语言例题)
c语言switch语句题
#include?stdio.h
?
double?fun(char?fu,?int?a,?int?b)
{
????double?res?;
????switch?(fu)
????{
????????case?'+'?:?res?=?(double)a?+?b?;
????????????break?;
????????case?'-'?:?res?=?(double)a?-?b?;
????????????break?;
????????case?'*'?:?res?=?(double)a?*?b?;
????????????break?;
????????case?'/'?:?res?=?(double)a?/?b?;
????????????break?;
????????case?'%'?:?res?=?a?%?b?;
????????????break?;
????????default?:
????????????return?0?;
????????????break?;
?????????????????
????}
????return?res?;
}
?
int?main(void)
{
????int?n1,?n2?;
????char?opt?;
????int?i?;
????for?(i?=?0;?i??3;?++i)
????{
????????puts("输入?x?运算符?y:")?;
????????scanf("%d?%c?%d",?n1,?opt,?n2)?;
?????
????????if?(???opt?==?'+'?
????????????||?opt?==?'-'?
????????????||?opt?=='*'
????????????||?opt?==?'/'
????????????||?opt?==?'%'?)
????????{
????????????printf?("%d?%c?%d?=?%lf\n",?n1,?opt,?n2,?fun(opt,?n1,?n2))?;
????????}
????????else
????????{
????????????puts("运算符非法")?;
????????}
????}
????return?0?;
}
求问这道关于Switch语句的c语言的题
这是因为这个switch...case句块的执行顺序是这样的,一开始k=8,在case从句中没有匹配的,所以它会执行defult句块中的内容,因为没有break语句来中断,所以在那之后会继续往下执行case10,case11句块中的内容,直到触底退出,因为这个过程共有3个k+=1语句,所以k被加了3次1,这样k的值就从8变成了11。
(switch 语句)c语言题
#include?stdio.h
int?main?()?{
????int?n;
????printf("读入一个整数?");
????scanf("%d",?n);
????switch(n)?{
????case?1:?printf("第一个福娃名字\n");?break;
????case?2:?printf("第二个福娃名字\n");?break;
????case?3:?printf("第三个福娃名字\n");?break;
????case?4:?printf("第四个福娃名字\n");?break;
????case?5:?printf("第五个福娃名字\n");?break;
????default:?printf("北京欢迎你\n");?
????}
????return?0;
}
C语言switch 的题
因为C语言是面向过程的
所以它都是按顺序执行的
当遇到第一个switch(x)时,由于x=0,是执行case
语句的
而case
中
又有switch,此时switch(y==2),y==2是判断是否为真,为真则返回1,假返回0,因为之前定义y=2,所以2==2,为真返回1,就是switch(1)了,因此执行下面的case
1语句,输出*号,遇到
break,跳出了switch
(y==2)语句,即{
case
1:printf("*");
break;
case
2:
printf("%");break;
}
执行case
1语句
而case
1中又有switch(z)
,z=3,在这个switch(z)
中没有t找到Case
3,因此会执行default语句,输出#号
default
是默认的意思,没有时选择默认的语句
有关C语言 switch语句的例题讲解
格式太
不好了,我给你弄了下很清楚明显了,希望以后一定要注意格式,这样不仅美观,而且对找问题很有帮组:
void
main()
{
int
a=2,b=7,c=5;
switch(a0)
{
case
1:
switch(b0)
//b明显大于0,所以这里的判断b0得到的结果明显为假,也就是0,而下面的case里面只有1,2所以都不满足
{
case
1:printf("@");break;
case
2:printf("!");break;
//上面2个条件都不满足,而后面又没有break等,所以顺序执行下面的语句
}
case
0:
//也就是到这里来了
switch(c==5)
//c明显等于5,所以这里得到的结果真,也就是1
{
case
0:printf("*");break;
case
1:printf("#");break;
//满足这个条件,然后打印“#”,并break推出
case
2:printf("$");break;
}
default:printf("");
}
printf("\n");
}
C语言选择题switch
switch()不支持浮点型,所以1错;case
只支持整型表达式,所以2错;case只支持常量,不支持变量,所以d错。答案是C~