Lệnh switch trong C

Lệnh switch là gì?

Lệnh switch cho phép thực hiện một đoạn code trong các trường hợp khác nhau.

Cú pháp switch..case

switch (biểu thức)
​{
    case hằng số 1:
      // các câu lệnh
      break;

    case hằng số 2:
      // các câu lệnh
      break;
    .
    .
    .
    default:
      // các câu lệnh mặc định
}

switch hoạt động như thế nào?

Biểu thức sẽ được so sánh với các giá trị hằng số trong các case.
– Nếu biểu thức khớp giá trị với case thì các câu lệnh trong case đó sẽ được kích hoạt.
– Nếu không có case nào khớp giá trị với biểu thức thì các câu lệnh trong default sẽ được kích hoạt.

default không bắt buộc phải có trong lệnh switch

switch flowchart

switch flowchart


Ví dụ: Tạo phép tính đơn giản

// Program to create a simple calculator
#include <stdio.h>

int main() {
    char operator;
    double n1, n2;

    printf("Nhập phép toán (+, -, *, /): ");
    scanf("%c", &operator);
    printf("Nhập 2 số bất kì: ");
    scanf("%lf %lf",&n1, &n2);

    switch(operator)
    {
        case '+':
            printf("%.1lf + %.1lf = %.1lf",n1, n2, n1+n2);
            break;

        case '-':
            printf("%.1lf - %.1lf = %.1lf",n1, n2, n1-n2);
            break;

        case '*':
            printf("%.1lf * %.1lf = %.1lf",n1, n2, n1*n2);
            break;

        case '/':
            printf("%.1lf / %.1lf = %.1lf",n1, n2, n1/n2);
            break;

        // operator doesn't match any case constant +, -, *, /
        default:
            printf("Error! operator is not correct");
    }

    return 0;
}

Kết quả

Nhập phép toán (+, -, *,): -
Nhập 2 số bất kì: 
32.5
12.4
32.5 - 12.4 = 20.1

Trong ví dụ trên chúng ta đã lựa chọn phép toán - và 2 số 32.5, 12.4 được lưu trong biến n1n2. Kết quả của phép tính là 32.5 - 12.4 = 20.1.

Series Navigation<< Break và Continue trong CLệnh goto trong C >>

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *