C 语言中的 Switch Case 语句

C 语言中的 Switch Case 语句:If Else 语句允许我们在 TRUE 或 FALSE 之间进行选择;当有两个以上选项时,我们使用嵌套 If 语句。比如说,如果我们有十个备选项可供选择呢?在这种情况下,如果我们使用嵌套 If 语句,编程逻辑将难以理解。

在 C 语言编程中,Else if 语句和 Switch 语句可以有效地处理这类问题。我们已经在上一篇文章中讨论了 Else If 语句,所以我们在这里探讨 switch case 语句。

switch case 的工作功能与 if 条件几乎相同。正如我们之前所说,C 语言的 Switch 语句可以有 n 个 case。因此,它会将表达式的值与 case 语句中分配的值进行比较。如果表达式值和 case 值都匹配,那么该 case 语句中存在的语句将被执行。让我们看一下 switch case 的语法以获得更好的理解。

C 语言 Switch Case 语句语法

此 Switch Case 语句的基本语法如下:

Switch (expression) 
{
 Case Option 1:
    //Execute when the expression result match Option 1
    break;
 Case Option 2:
    //Execute these statements when the expression result match Option 2
    break;
 Case Option 3:
    //Execute when the expression result match Option 3
    break;
    ......
 Case Option N:
    //Execute when the result of expression match Option N
    break;
 Default:
    /*Execute when the result of expression Not matching with any Option */
    break;
}

表达式的值应该是整数或字符(我们也可以将表达式写成 n/2....,但结果必须是整数)。选项 1、选项 2……是常量。

Switch 语句允许我们添加一个 default 语句。如果变量值与任何 case 语句都不匹配,则 default 中的代码将被执行。

break 语句用于跳出编程中的 switch case。否则,条件中的所有语句都将被执行。每当遇到Break 语句时,执行流程将直接跳出它。

流程图

它只接受整数或字符,而 Else if 语句也接受小数值(2.3、3.5 等)。switch 语句或 case 语句的流程图如下所示。

Switch Case Statement Flow Chart

C 语言中的 Switch Case 示例

该程序允许用户输入两个整数值。接下来,它还允许他们选择任何算术运算符来执行算术运算。

#include<stdio.h>
int main()
{
 char opertor;
 int number1, number2;

 printf(" Please select any ARITHMETIC OPERATOR You wish!\n");
 scanf("%c",&opertor);

 printf("\n Please Enter two values to perform Arithmetic Operations\n");
 scanf("%d %d",&number1,&number2);

 switch (opertor)
 {
  case '+':
       printf("Addition of two numbers is: %d", number1 + number2);
       break;
  case '-':
       printf("Subtraction of two numbers is: %d", number1 - number2);
       break;
  case '*':
       printf("Multiplication of two numbers is: %d", number1 * number2);
       break;
  case '/':
       printf("Division of two numbers is: %d", number1/number2);
       break;
  case '%':
       printf("Module of two numbers is: %d",number1%number2);
       break;
  default:
       printf("You have entered Wrong operator\n");
       printf("Please enter the Correct operator such as +, -, *, /, %%");
       break;
 }
 return 0;
}

为了演示,我们输入 * 运算符,并输入 number1 = 10,number 2 = 8。

Switch Case Statement Output

输出 2:让我们输入一个错误的运算符来检查 default 值。请参阅 If Else嵌套 IfElse If 语句的文章。

 Please select any ARITHMETIC OPERATOR You wish!
@

 Please Enter two values to perform Arithmetic Operations
3
4
You have entered Wrong operator
Please enter the Correct operator such as +, -, *, /, %