在编写程序时,我们经常需要根据某些条件执行不同的代码,这时就需要使用选择结构。在C语言中,有if语句、switch语句等多种选择结构可供使用。其中,switch语句是一种非常强大的选择结构,它可以根据具体的值来选择不同的执行路径。本文将详细介绍switch语句的使用方法,希望能对大家有所帮助。
一、基本语法及用法
1、基本语法
switch(expression){ case constant1: statement1; break; case constant2: statement2; break; ... default: statement_default; }
switch语句由switch关键字、表达式、花括号、case标签、语句以及default标签组成。其中:
- expression:表示要进行判断的表达式,必须为整型或字符型
- case constant:表示匹配值,可以是整型或字符型常量
- statement:表示要执行的语句,可以是一条或多条
- break:表示跳出switch语句,可选
- default:表示默认情况,可选
2、使用方法
switch语句的使用方法非常灵活,可以根据不同的场景采取不同的形式。下面是一些常见的使用方法:
1)判断具体值
我们可以根据表达式的值来进行判断,然后执行对应的语句。例如:
int i = 1; switch(i){ case 1: printf("i = 1\n"); break; case 2: printf("i = 2\n"); break; default: printf("i != 1 and i != 2\n"); break; }
上述代码中,表达式i的值为1,因此会执行第一个case标签下的语句,输出“i = 1”。
2)使用连续的标签
我们可以使用连续的case标签,表示这些值都会执行同样的语句。例如:
int i = 1; switch(i){ case 1: case 2: case 3: printf("i is between 1 and 3\n"); break; default: printf("i is not between 1 and 3\n"); break; }
上述代码中,表达式i的值为1,2,3中的任意一个,因此会执行第一个case标签下的语句,输出“i is between 1 and 3”。
3)省略break
我们可以省略case标签后面的break语句,这样会执行下一个case标签下的语句。例如:
int i = 1; switch(i){ case 1: printf("i = 1\n"); case 2: printf("i is bigger than 2\n"); default: printf("default\n"); break; }
上述代码中,表达式i的值为1,因此会执行第一个case标签下的语句,输出“i = 1”和“i is bigger than 2”,然后继续执行下一个case标签下的语句,输出“default”。注意,为了避免出现意外情况,我们在最后一条语句使用了break语句。
二、代码示例
下面是一个完整的代码示例:
#include int main(){ int i; printf("请输入1或2或3:"); scanf("%d",&i); switch(i){ case 1: printf("你选择了1\n"); break; case 2: printf("你选择了2\n"); break; case 3: printf("你选择了3\n"); break; default: printf("你没有选择1或2或3\n"); break; } return 0; }
该程序中,我们使用scanf函数来获取用户输入,然后使用switch语句来根据用户输入执行不同的语句。当用户输入1、2、3时,程序会分别输出“你选择了1”、“你选择了2”、“你选择了3”,否则输出“你没有选择1或2或3”。
三、小结
本文详细介绍了C语言中switch语句的使用,包括基本语法及用法、使用方法和代码示例。使用switch语句可以使程序结构更清晰、代码更简洁,适用于各种不同的场景。我们在编写程序时,需要根据具体情况选择最合适的选择结构,以便更好地完成我们的任务。
原创文章,作者:SXIGW,如若转载,请注明出处:https://www.506064.com/n/373150.html