Trong bài này, chúng ta sẽ cùng học cách sử dụng câu lệnh if else và switch case. Đây là những câu lệnh điều kiện các bạn phải sử dụng trong mọi bài toán lập trình. Cùng nhau tìm hiểu nhé
Cấu trúc rẽ nhánh if, else là gì
Trong cuộc sống có nhiều lúc chúng ta phải ra quyết định khi có 2 hoặc nhiều hướng khác nhau. Lúc đấy chúng ta tường sử dụng câu Nếu … Thì …
VD:
Nếu bạn đọc Blog của mình thì bạn sẽ học được nhiều thứ.
Nếu crush thích mình thì mình sẽ tỏ tình với bạn ấy
Nếu hôm nay trời nắng thì mình sẽ đi chơi hoặc nếu không nắng thì mình ở nhà
Khi đó những thứ sau từ Nếu chính là điều kiện và sau từ Thì chính là lệnh thực thi.
Tương tự trong máy tính chúng ta có if (điều kiện) thì thực thi gì đó, hoặc nếu không else (điều kiện) thì thực thi một cái gì đó.
Cú pháp như sau:
if(bieu_thuc_boolean) { /* cac lenh se duoc thuc thi neu bieu thuc boolean la true */ } else { /* cac lenh se duoc thuc thi neu bieu thuc boolean la false */ }
Nếu biểu thức logic được ước lượng là true, thì khi đó khối if sẽ được thực thi, nếu không thì khối else sẽ được thực thi.
Lệnh If và If else
Trong thực tế chúng ta sẽ sử dụng 2 cấu trúc này nhiều nhất, if sẽ kiểm tra nếu đúng điều kiện thì thực hiện. Con if else sẽ kiểm tra 2 trường hợp đúng và không đúng điều kiện thì thực thi 2 lệnh khác nhau.
Lệnh if
Ví dụ:
#include <stdio.h> int main(){ int a; printf("Nhap a = "); scanf("%d", &a); if (a % 2 == 0) // a chia hết cho 2 { printf("%d la so chan", a); } printf("\nKet thuc!"); }
Kết quả
Lệnh if else
Ví dụ:
#include <stdio.h> int main(){ int a; printf("Nhap a = "); scanf("%d", &a); if (a % 2 == 0) // a chia hết cho 2 { printf("%d la so chan", a); } else { printf("%d la so le", a); } printf("\nKet thuc!"); }
Kết quả
Lệnh if else if
Nói đơn giản lệnh này sẽ kiểm tra lần lượt các điều kiện, nếu từ trên xuống dưới, nếu điều kiện nào đúng sẽ thực thi lệnh rồi thoát khỏi chương trình.
Ví dụ
#include <stdio.h> int main(){ int a, b; printf("Nhap a = "); scanf("%d", &a); printf("Nhap b = "); scanf("%d", &b); if(a > b) { printf("a lon hon b"); } else if(a == b) { printf("a bang b"); } else { printf("a nho hon b"); } }
Kết quả
Lệnh if lồng nhau
Lệnh này có thể hiểu là kiểm tra nhiều điều kiện phải được đáp ứng.
Ví dụ: Anh muốn cưới con tôi à?
Đúng ạ
Anh có nhà không?
Có ạ
Anh có xe không?
Có ạ
Lương tháng anh 20 củ không?
Có ạ => ok tôi gả cho
Không ạ => Cút
Ta xét ví dụ sau:
#include <stdio.h> int main(){ int a; printf("Nhap a = "); scanf("%d", &a); if(a > 0) { if(a % 2 == 0) { printf("\nDay la so duong chan!"); } else { printf("\nDay la so duong le!"); } } else { printf("\nDay khong phai so duong!"); } }
Kết quả
Switch case là gì?
Switch case thực ra tương tự như if else if đó là nếu điều kiện đó đáp ứng 1 trong các tiêu chí là được.
Cú pháp
switch (expression) { case constant1: // statements break; case constant2: // statements break; . . . default: // default statements }
Lưu ý khi sử dụng:
expression
phải bắt buộc là giá trị hằng, có thể là biểu thức nhưng kết quả cần là hằng số.- Nếu có 1 case nào đó khớp giá trị, các khối lệnh tương ứng sau case đó sẽ được thực hiện cho tới khi gặp lệnh
break
. Do đó, nếu chúng ta không sử dụngbreak
thì tất cả các case kể từ case khớp giá trị đều được thực hiện. - Case
default
sẽ được thực hiện nếu không có case nào khớp giá trị vớiexpression
.
Sử dụng switch case
Kiểm tra điểm số và in ra học lực
#include <stdio.h> int main () { char hocluc; printf("Nhap hoc luc: "); scanf("%c", &hocluc); switch(hocluc) { case 'A' : printf("\nGioi!"); break; case 'B' : printf("\nKha Gioi!"); break; case 'C' : printf("\nKha!"); break; case 'D' : printf("\nTrung Binh!"); break; case 'F' : printf("\nYeu!"); break; default : printf("\nKhong hop le!"); } return 0; }
Kết quả
Kết
If else và switch case được sử dụng rất nhiều trong lập trình C hay tất cả các ngôn ngữ lập trình khác như C++, Python, Java…. Vì vậy các bạn cần nắm vững cách làm việc với nó nhé.
Tiếp tục qua bài mới trong Serie Học lập trình C từ A tới Z
Nếu thấy có ích hãy chia sẻ bài viết và tham gia nhóm Nghiện Lập Trình để giao lưu và học hỏi nhé