Mệnh đề if-else,switch trong C

Posted by

Mệnh đề if-else trong C được sử dụng để kiểm tra một biểu thức điều kiện nào đó có đúng hay không, nếu đúng thì thực thi những câu lệnh bên trong khối lệnh if và ngược lại nếu sai thì nó sẽ bỏ qua những câu lệnh đó. Có ba dạng của câu lệnh if trong C.

  • Mệnh đề if.
  • Mệnh đề if-else.
  • Mệnh đề if-elseif-else.

Ngoài ra, còn có dạng mệnh đề if lồng nhau.

Lưu đồ thuật toán của mệnh đề if trong C:


1. Mệnh đề if trong C

Mệnh đề if được sử dụng để kiểm tra giá trị dạng boolean của điều kiện. Khối lệnh sau if được thực thi nếu giá trị của điều kiện là True. Cú pháp:

1
2
3
if (condition) { 
  // khối lệnh này được thực thi nếu condition = true
}

Ví dụ mệnh đề if trong C:

1
2
3
4
5
6
7
8
9
#include <stdio.h>
int main () {
   int num = 10;
        if (num % 2 == 0) {
            printf("num la so chan.");
        }  
   return 0;
}

Kết quả:

num la so chan.

 

2. Mệnh đề if-else trong C

Mệnh đề if được sử dụng để kiểm tra giá trị dạng boolean của điều kiện. Khối lệnh sau if được thực thi nếu giá trị của điều kiện là True, nếu là False thì chỉ có khối lệnh sau else được thực hiện. Cú pháp:

1
2
3
4
5
if (condition) { 
  // khối lệnh này được thực thi nếu condition = true
} else {
  // khối lệnh này được thực thi nếu condition = false
}

Ví dụ mệnh đề if-else trong C:

1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
int main() {
    int num = 11;
    if (num % 2 == 0) {
        printf("num la so chan.");
    } else {
        printf("num la so le.");
    }
    return 0;
}

Kết quả:

num la so le.

Ví dụ mệnh đề if-else trong C, với input từ người dùng:

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
int main() {
    int num;
    printf("Nhap so num = ");
    scanf("%d", & num);
    if (num % 2 == 0) {
        printf("num la so chan.");
    } else {
        printf("num la so le.");
    }
    return 0;
}

Kết quả 1:

Nhap so num = 11
num la so le.

Kết quả 2:

Nhap so num = 12
num la so chan.

3. Mệnh đề if-elseif-else trong C

Mệnh đề if-elseif-else cũng kiểm tra giá trị dạng boolean của điều kiện. Nếu giá trị điều kiện if là True thì chỉ có khối lệnh sau if sẽ được thực hiện. Nếu giá trị điều kiện else if nào là True thì chỉ có khối lệnh sau if else đó sẽ được thực hiện… Nếu tất cả điều kiện của if và if else là False thì chỉ có khối lệnh sau else sẽ được thực hiện. Cú pháp:

1
2
3
4
5
6
7
8
if (condition1) { 
  // khối lệnh này được thực thi nếu condition1 = true
} else if (condition2) {
  // khối lệnh này được thực thi nếu condition1 = false và condition2 = true
...
} else {
  // khối lệnh này được thực thi nếu nếu tất cả những điều kiện trên = false
}

Ví dụ mệnh đề if-else-if trong C:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
int main() {
    int num;
    printf("Nhap 1 so de kiem tra thang diem:");
    scanf("%d", &num);
    if (num < 0 || num >= 100) {
        printf("Ban nen nhap so tu 1 den 100");
    } else if (num > 0 && num < 50) {
        printf("Fail");
    } else if (num >= 50 && num < 60) {
        printf("D Grade");
    } else if (num >= 60 && num < 70) {
        printf("C Grade");
    } else if (num >= 70 && num < 80) {
        printf("B Grade");
    } else if (num >= 80 && num < 90) {
        printf("A Grade");
    } else if (num >= 90 && num <= 100) {
        printf("A+ Grade");
    }
}

Kết quả 1:

Nhap 1 so de kiem tra thang diem: 69
C Grade

Kết quả 2:

Nhap 1 so de kiem tra thang diem: -1
Ban nen nhap so tu 1 den 100

Mệnh đề switch trong C cho phép một biến được kiểm tra xem giá trị của nó có bằng một giá trị trong một danh sách hay không. Mỗi giá trị được gọi là một trường hợp (case).

Cú pháp cho câu lệnh switch trong ngôn ngữ lập trình C như sau:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
switch (bieu_thuc) {   
case gia_tri_1:
    // Khối lệnh 1
    break//tùy chọn
case gia_tri_2:   
    // Khối lệnh 2
    break//tùy chọn
......   
case gia_tri_n:   
    // Khối lệnh n
    break//tùy chọn 
default:
    // Khối lệnh này được thực thi
    // nếu tất cả các điều kiện trên không thỏa mãn
}

Mệnh đề switch trong C

Các quy tắc sau đây áp dụng cho mệnh đề switch trong C:

  • Biểu thức được sử dụng trong mệnh đề switch phải là một số nguyên, kiểu char, hoặc kiểu enum, hoặc kiểu lớp có một hàm chuyển đổi duy nhất thành một số nguyên hoặc kiểu enum.
  • Bạn có thể khai báo bất kỳ số lượng lệnh case bên trong một switch. Đẳng sau từ khóa case là một giá trị được sử dụng để so sánh và một dấu hai chấm (:).
  • Biểu thức hằng số cho một case phải giống kiểu dữ liệu như biến trong switch và nó phải là một hẳng số hoặc một chuỗi.
  • Khi gặp case có giá trị phù hợp các câu lệnh sau đó được thực hiện cho tới khi gặp lệnh break.
  • Khi gặp lệnh break, mệnh đề switch kết thúc và luồng điều khiển chuyển sang dòng tiếp theo sau câu lệnh switch.
  • Lệnh break là tùy chọn.
  • Một câu lệnh switch có thể có một trường hợp mặc định (default) tùy chọn, nó được khai báo ở cuối switch. Case mặc định có thể được sử dụng để thực hiện tác vụ khi không có case nào đúng. Không cần khai báo break trong case mặc định.

Ví dụ mệnh đề switch trong C

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <stdio.h>
int main() {
    char xeploai = 'B';
    switch (xeploai) {
    case 'A':
        printf("Gioi!\n");
        break;
    case 'B':
    case 'C':
        printf("Kha\n");
        break;
    case 'D':
        printf("Trung Binh\n");
        break;
    case 'F':
        printf("Kem\n");
        break;
    default:
        printf("Dup\n");
    }
    printf("Ban xep loai  %c\n", xeploai);
    return 0;
}

Kết quả:

Kha
Ban xep loai  

Nguồn: viettuts.vn

Leave a Reply

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 *