C语言中的switch语句是if-else-if梯度语句的一种替代方式,它允许我们根据一个称为switch变量的单个变量的不同可能值执行多个操作。在这里,我们可以为单个变量的不同值定义多个case中的语句。C语言中switch语句的语法如下:switch(expression){case value1://要执行的代码;break; //可选的case value2://要执行的代码;break; //可选的……default://如果所有的case都不匹配,则执行的代码;}
👉C语言知识资料合集C语言中switch语句的规则
switch表达式必须是整数或字符类型。case值必须是整数或字符常量。case值只能在switch语句内部使用。switch case中的break语句是可选的。如果在case中没有找到break语句,匹配的case之后的所有case都会被执行。这被称为C语言switch语句的”穿透”状态。让我们通过示例来理解。假设有以下变量:int x, y, z;char a, b;float f;switch case语句的工作原理
首先,计算switch语句中指定的整数表达式的值。然后,逐个将该值与不同case中给定的常量值进行匹配。如果找到匹配的情况,那么将执行该case中指定的所有语句,以及该case之后的所有case,包括default语句。两个case不能具有相同的值。如果匹配的case包含break语句,则会跳过之后的所有case,并且控制流会退出switch语句。否则,将执行匹配的case之后的所有case。让我们看一个C语言switch语句的简单示例。#include<stdio.h>int main() { int number = 0; printf(“请输入一个数字: “); scanf(“%d”, &number); switch(number) { case 10: printf(“数字等于10”); break; case 50: printf(“数字等于50”); break; case 100: printf(“数字等于100”); break; default: printf(“数字不等于10、50或100”); } return 0;}输出:请输入一个数字: 4数字不等于10、50或100请输入一个数字: 50数字等于50#include <stdio.h>int main() { int x = 10, y = 5; switch (x > y && x + y > 0) { case 1: printf(“hi”); break; case 0: printf(“bye”); break; default: printf(“Hello bye”); } return 0;}输出:hiC语言中的switch语句具有”穿透”特性
这意味着如果在switch case中没有使用break语句,那么匹配的case之后的所有case都将被执行。#include<stdio.h>int main() { int number = 0; printf(“请输入一个数字:”); scanf(“%d”, &number); switch(number) { case 10: printf(“数字等于10\n”); case 50: printf(“数字等于50\n”); case 100: printf(“数字等于100\n”); default: printf(“数字不等于10、50或100”); } return 0;}输出:请输入一个数字:10数字等于10数字等于50数字等于100数字不等于10、50或100输出:请输入一个数字:50数字等于50数字等于100数字不等于10、50或100嵌套的 switch case 语句
我们可以在 switch 语句中使用任意多的 switch 语句。 这种类型的语句称为嵌套 switch case 语句。 考虑以下示例。#include <stdio.h>int main() { int i = 10; int j = 20; switch (i) { case 10: printf(“外部switch中i的值为: %d\n”, i); case 20: switch (j) { case 20: printf(“嵌套switch中j的值为: %d\n”, j); } } printf(“i的确切值为: %d\n”, i); printf(“j的确切值为: %d\n”, j); return 0;}输出:外部switch中i的值为: 10嵌套switch中j的值为: 20i的确切值为: 10j的确切值为: 20在这个例子中,我们使用了嵌套的switch case语句。外部的switch语句根据变量i的值进行匹配,如果匹配到指定的case,就会执行相应的语句。在其中一个case中,我们有另一个switch语句,用来匹配变量j的值。如果匹配到指定的case,就会执行相应的语句。最后,在嵌套的switch case之后,程序会继续执行嵌套外部switch之外的代码。程序员技术交流群
扫码进群记得备注:城市、昵称和技术方向。
声明:本站为非盈利性赞助网站,本站所有软件来自互联网,版权属原著所有,如有需要请购买正版。如有侵权,敬请来信联系我们,我们立即删除。