c语言和switch实现相同功能,【学习笔记】【C语言】取舍结构-switch

【学习笔记】【C语言】选择结构-switch

1.用法

switch(整型表达式)

{

case 数值1:

语句1;

break;

case 数值2:

语句2;

break;

... ...

case 数值n:

语句n;

break;

default :

语句n+1;

break;

}

当整型表达式的值等于“数值1”时,就会执行“语句1”,后面的break表示退出整个switch语句,也就是直接跳到第16行代码;

当整形表达式的值等于“数值2”时,就会执行“语句2”;后面的以此类推。如果在数值1~数值n中,没有一个值等于整型表达式的值,那么就会执行default中的语句n+1。

由于所有的case后面都有个break,因此执行完任意一个case中的语句后,都会直接退出switch语句

2.break的作用

break关键字的作用是退出整个switch语句。默认的格式中,每个case后面都有个break,因此执行完case中的语句后,就会退出switch语句。

1> 如果某个case后面没有break,意味着执行完这个case中的语句后,会按顺序执行后面所有case和default中的语句,直到遇到break为止。

3.代码

1 #include

2

3 /*

4 if (条件)5 {6

7 }8

9

10 switch (数值)11 {12 case 数值1:13 语句1;14 break;15

16 case 数值2:17 语句2;18 break;19

20 default :21 语句3;22 break;23 }24 */

25

26 intmain()27 {28 //int a = 10;29 //break:退出整个switch语句30 //如果case后面没有break,就会执行后面所有case中的语句,直到遇到break为止

31 /*

32 int b = 10;33

34 switch (a)35 {36 case 10:37 printf("A\n");38 b++;39 case 5:40 printf("B\n");41 b++;42 case 0:43 printf("C\n");44 b++;45 break;46 default:47 printf("D\n");48 break;49 }50

51 printf("b的值是%d\n", b);*/

52

53 char c = '+';54 int a = 10;55 int b = 20;56 //如果要在case后面定义新的变量,必须用大括号{}包住

57 switch(c) {58 case '+':59 {60 int sum = a +b;61 printf("和是%d\n", sum);62 break;63 }64

65 case '-':66 {67 int minus = a -b;68 printf("差是%d\n", minus);69 break;70 }71 }72

73 return 0;74 }

4.练习

1 /*

2 输入一个整数score代表分数,根据分数输出等级(A-E)(用两种方式)3 A:90~100 score/10 == 9、104 B:80~89 score/10 == 85 C:70~79 score/10 == 76 D:60~69 score/10 == 67 E:0~608 */

9

10 #include

11

12 intmain()13 {14 int score = 100;15

16 switch (score/10) {17 case 10: //100

18 case 9: //90+

19 printf("A\n");20 break;21 case 8: //80+

22 printf("B\n");23 break;24 case 7: //70+

25 printf("C\n");26 break;27 case 6: //60+

28 printf("D\n");29 break;30 default:31 printf("E\n");32 break;33 }34

35

36

37 /*

38 if和switch39 1> if语句能完成的功能,switch并不一定能完成40 int a = 10;41 if (a>100)42 {43

44 }45

46 2> 在有些情况下,if语句和switch语句可以互换47

48 3> switch能完成的功能,if语句都能完成49 */

50

51 return 0;52 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值