Vai trò của từ khóa default và break trong switch case?

Cấu trúc câu lệnh switch case

switch(expression)
{
case N1:
    // Code
    break;
case N2:
    // Code
    break;
case N3:
    // Code
    break;
...
default:
    // Code
    break;
}

Câu lệnh switch case đánh giá biểu thức expression. Chú ý: Biểu thức expression là biểu thức trả về số nguyên. Nếu expression = N1 (N2, N3,…) câu lệnh nằm trong case N1 (N2, N3,…) được thực hiện,… Nếu expression không bằng bất kì giá trị nào, câu lệnh nằm trong từ khóa default được thực hiện.

Vậy, từ khóa default đóng vai trò xử lý những case ngoại lệ khi biểu thức điều kiện không thỏa mãn bất cứ case nào.

Khi câu lệnh trong mỗi case được thực hiên xong, lệnh break giúp thoát switch case. Điều này giúp các câu lệnh của các case bên dưới không được thực hiện.

Ví du 1: Không có lệnh break trong switch case

#include <stdio.h>
#include <conio.h>

void main()
{
    int sel = 1;
    switch(sel)
    {
    case 0:
        printf("\nHello");
    case 1:
        printf("\nHi");
    case 2:
        printf("\nGood morning");
    }
    getch();
}

Kết quả:

No break in switch case
No break in switch case

Khi sel = 1, “Hi” được in ra màn hình. Do không có lệnh break nên “Good morning” được thực hiện.

Ví dụ 2: Lệnh break trong switch case

#include <stdio.h>
#include <conio.h>


void main()
{
    int sel = 1;
    switch(sel)
    {
    case 0:
        printf("\nHello");
        break;
    case 1:
        printf("\nHi");
        break;
    case 2:
        printf("\nGood morning");
        break;
    }
    getch();
}

Kết quả:

Lệnh break in switch case
Lệnh break in switch case

Sau khi “Hi” được in ra màn hình. Lệnh break thoát khỏi lệnh switch case, đảm bảo các lệnh của các case bên dưới không được thực hiện. Ở case 2, lệnh break không cần thiết vì sau case 2 không còn case nào nữa. Để đảm bảo tính đồng nhất so với các case khác nên break được add vào tất cả các case.

 

Be the first to comment

Leave a Reply

Your email address will not be published.

*