switch 语句又是怎么回事啊?谢谢了,请求讲解 c语言:switch语句怎么运行的?围绕题目讲解,谢谢

switch\u8bed\u53e5\u600e\u4e48\u7528\u554a\uff1f\uff08\u521a\u5b66\u5355\u7247\u673a\uff0cswitch\u8bed\u53e5\u4e66\u4e0a\u5c31\u51e0\u53e5\u8bdd\uff0c\u8fde\u4f8b\u5b50\u90fd\u6ca1\u6709\u3002\u6765\u5e2e\u5e2e\u6211\u5427\uff01\uff09

C\u8bed\u8a00\u4e2dswitch\u8bed\u53e5\u7684\u683c\u5f0f\u662f\u8fd9\u6837\u7684
switch(\u8868\u8fbe\u5f0f)
{
case \u5e38\u91cf\u8868\u8fbe\u5f0f1: \u8bed\u53e51
case \u5e38\u91cf\u8868\u8fbe\u5f0f2: \u8bed\u53e52
.....................
case \u5e38\u91cf\u8868\u8fbe\u5f0fn: \u8bed\u53e5n
default : \u8bed\u53e5n+1
}
\u5b83\u7684\u6267\u884c\u6d41\u7a0b:\u5f53\u8868\u8fbe\u5f0f\u7684\u503c\u548c\u67d0\u4e2acase\u540e\u9762\u7684\u8bed\u53e5\u76f8\u540c\u65f6\u6267\u884c\u8fd9\u4e2acase\u540e\u9762\u7684\u8bed\u53e5\uff08\u5e76\u63a5\u7740\u6267\u884c\u4e0b\u9762\u7684\u8bed\u53e5\uff0c\u5982\u679c\u4e0d\u5e0c\u671b\u63a5\u7740\u6267\u884c\u4e0b\u9762\u7684\u8bed\u53e5\u8981\u7528break\u8bed\u53e5\u8df3\u51fa\uff09\u3002
\u4e0b\u9762C\u8bed\u8a00\u5b9e\u73b0\u7684\u4f60\u7684\u903b\u8f91\u8981\u6c42\uff08\u7a0b\u5e8f\u5df2\u8c03\u8bd5\u8fc7\u4e86\uff09\uff1a
#include "stdio.h"
main()
{
int num;
scanf("%d",&num);
switch(num)
{
case 1: putchar('A');
break;
case 2: putchar('B');
break;
case 3: putchar('C');
break;
case 4: putchar('D');
break;
default:
putchar('?');
}
printf("\n");
}
\u5e0c\u671b\u5bf9\u670b\u53cb\u4f60\u6709\u5e2e\u52a9\uff01

\u901a\u8fc7for\u5faa\u73af\uff0c\u5f00\u59cbn=0\uff0c\u7136\u540e\u8fdb\u5165\u5faa\u73af\u6267\u884cswitch\u8bed\u53e5\uff0cswitch\uff080\uff09\uff0cswitch\u8bed\u53e5\u4e2d\u7684case\u5f00\u5173\u4e2d\u6ca1\u6709\u5e38\u91cf0\u7684\u5f00\u5173\uff0c\u6240\u4ee5\u6267\u884cdefault\u8bed\u53e5\uff0c\u7531\u4e8e\u6ca1\u52a0\u201cbreak\uff1b\u201d\u6240\u4ee5\u4f1a\u4f9d\u6b21\u6267\u884ccase1\u3001case2\u3001case3\u7136\u540e\u8df3\u51faswitch\u8bed\u53e5\uff0c\u518d\u6b21\u5faa\u73af\uff1b
\u518d\u6b21\u5faa\u73af\u7ecf\u8fc7\u201cn++\u201dn=1\uff0c\u6240\u4ee5\u6267\u884cswitch\u4e2d\u7684case1\u5f00\u5173\uff0c\u7531\u4e8e\u6ca1\u52a0\u201cbreak\uff1b\u201d\u6240\u4ee5\u4f1a\u4f9d\u6b21\u6267\u884ccase2\u3001case3\u7136\u540e\u8df3\u51faswitch\u8bed\u53e5\uff0c\u518d\u6b21\u5faa\u73af\uff1b
\u518d\u6b21\u5faa\u73af\u7ecf\u8fc7\u201cn++\u201dn=2\uff0c\u6240\u4ee5\u6267\u884cswitch\u4e2d\u7684case2\u5f00\u5173\uff0c\u7531\u4e8e\u6ca1\u52a0\u201cbreak\uff1b\u201d\u6240\u4ee5\u4f1a\u4f9d\u6b21\u6267\u884ccase3\u7136\u540e\u8df3\u51faswitch\u8bed\u53e5\uff0c\u518d\u6b21\u5faa\u73af\uff1b
\u518d\u6b21\u5faa\u73af\u7ecf\u8fc7\u201cn++\u201dn=3\uff0c\u6240\u4ee5\u6267\u884cswitch\u4e2d\u7684case3\u5f00\u5173\uff0ccase3\u540e\u6ca1\u6709\u4efb\u4f55\u5f00\u5173\u6216default\u8bed\u53e5\uff0c\u6240\u4ee5\u76f4\u63a5\u8df3\u51faswitch\u8bed\u53e5\uff0c\u518d\u6b21\u5faa\u73af\uff0c\u5f53\u518d\u6b21\u6267\u884cn++\u540e\uff0cn<4\u4e3a\u5047\uff0c\u7136\u540e\u8df3\u51fa\u5faa\u73af\uff0c\u8f93\u51fa\u201cs\u201d\uff0c\u7a0b\u5e8f\u7ed3\u675f\uff01

switch语句也叫开关语句,它是多分支选择语句,每个分支、每种情况可通过一个常量表达式取不同的值来描述,废话不多说!给你举几个简单的例子。
例1:
x='B';

switch(x)
{
case 'A': printf("grade is A\n");
case 'B': printf("grade is B\n");
case 'c': printf("grade is C\n");
case 'D': printf("grade is D\n");
}

结果为:grade is B
grade is C
grade is D
来看一下语句的执行过程,执行switch语句时,先计算表达式的值,然后将它逐个与case后的常量表达式的值进行比较,当switch后的表达式的值与某一个常量表达式的值一致时,程序就转到此case 后的语句开始执行,执行后,程序转到下一个case 后的语句执行;如果没有一个常量表达式的值与switch后的值一致,就执行default语句,对于这个例子,首先将'B'的值赋给x,开始执行switch语句,因为x='B',所以第一句A值不匹配,跳到下一句B,正好=x,所以执行后面的语句:打印grade is A 继续执行下一句打印:grade is C,接着执行最后一句打印:grade is D,为什么会是这样的结果呢?请看下一个例子,看它们有何区别!

例2
x='B';

switch(x)
{
case 'A': printf("grade is A\n");
case 'B': printf("grade is B\n");break;
case 'c': printf("grade is C\n");
case 'D': printf("grade is D\n");

}

结果为:grade is B
这个例子和上面的例1的唯一区别就是多了一个break语句,结果却大不相同!如果只想执行某个case后的语句,那么就要在该case 语句后使用break语句以跳出switch语句,后面的语句它将不执行了!switch语句就这么简单!需要注意的是case后的常量表达式只能是常量组成的表达式(整型、字符型),switch语句后的表达式可以是整型或字符型,也可以是枚举类型!平时应该多看书多做题,有问题请与我留言!

string str = "1";
switch(str)
{
case "1":
"这是1的条件";
break;
case "2":
"这是2的条件";
break;
...
default:
"这是默认的条件";
break;
}

switch相当于if...else if...else地用法。编程时鼓励运用switch这种。

switch语句也叫开关语句,它是多分支选择语句,每个分支、每种情况可通过一个常量表达式取不同的值来描述。

扩展阅读:字母switch圈内意思 ... switch语句怎么表示范围 ... java中switch语句简单例子 ... 求一个switch语句的例子 ... switch case用法举例 ... 女生switch什么意思 ... c语言switch嵌套switch ... java中switch语句的用法 ... switch case语句实例 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网