Để việc lập trình hiệu quả hơn hầu hết các Ngôn ngữ lập trình bậc cao đều có các câu lệnh rẽ nhánh và các câu lệnh lặp cho phép thực hiện các câu lệnh của chương trình không theo trình tự tuần tự như trong văn bản. Trong bài này, chúng ta sẽ tìm hiểu về những câu lệnh rẽ nhánh trong C++.
Câu lệnh điều kiện if, if...else...
Cú pháp:
if(dieu_kien) {
khoi_lenh;
}
hoặc
if(dieu_kien) {
khoi_lenh1;
} else {
khoi_lenh2;
}
hoặc
if(dieu_kien) {
khoi_lenh1;
} else if(dieu_kien2) {
khoi_lenh2;
} else {
khoi_lenh3;
}
Trong cú pháp trên if có 2 dạng:
- Có else.
- Không có else.
Ví dụ:
#include <bits/stdc++.h>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
if(a > b) {
cout << "a > b";
} else if(a == b) {
cout << "a = b";
} else {
cout << "a < b";
}
}
Câu lệnh switch
Câu lệnh if cho ta khả năng được lựa chọn một trong hai nhánh để thực hiện, do đónếu sử dụng nhiều lệnh if lồng nhau sẽ cung cấp khả năng được rẽ theo nhiều nhánh.
Tuy nhiên trong trường hợp như vậy chương trình sẽ rất khó đọc, do vậy C++ còn cung cấp một câu lệnh cấu trúc khác cho phép chương trình có thể chọn một trong nhiều nhánh để thực hiện, đó là câu lệnh switch.
Tuy nhiên trong trường hợp như vậy chương trình sẽ rất khó đọc, do vậy C++ còn cung cấp một câu lệnh cấu trúc khác cho phép chương trình có thể chọn một trong nhiều nhánh để thực hiện, đó là câu lệnh switch.
Cú pháp
switch (biểu thức điều khiển) {
case biểu_thức_1: khối lệnh 1 ; break;
case ……………...: ............... ; break;
case biểu_thức_n: khối lệnh n ; break;
default: khối lệnh n+1;
}
- Biểu thức điều khiển được sử dụng trong một lệnh switch phải có kiểu là integer hoặc liệt kê, hoặc là một trong các kiểu lớp trong đó lớp có một hàm biến đổi đơn tới một kiểu integer hoặc kiểu liệt kê.
- Bạn có thể có bất kỳ số lệnh case nào trong một switch. Mỗi case được theo sau bởi giá trị để được so sánh và một dấu hai chấm.
- biểu_thức_n, là biểu thức hằng, cho một case phải cùng kiểu dữ liệu với biến trong switch, và nó phải là hằng số.
- Khi biến được chuyển tới cùng giá trị với một case nào đó, lệnh theo sau case đó sẽ thực thi tới khi gặp lệnh break.
- Khi gặp lệnh break, switch kết thúc, và dòng điều khiển nhảy tới dòng lệnh tiếp theo của lệnh switch đó.
- Không nhất thiết mỗi case cần phải chứa một lệnh break. Nếu không có lệnh break nào xuất hiện, dòng điều khiển sẽ không tới được case tiếp theo cho tới khi bắt gặp một lệnh break.
- Một lệnh switch có thể có một case mặc định tùy chọn, và phải xuất hiện ở cuối cùng của lệnh switch. Case mặc định này có thể được sử dụng để thực hiện một nhiệm vụ khi không có case nào là đúng (true). Trong trường hợp case mặc định này thì không cần lệnh break.
Ví dụ:
#include <bits/stdc++.h>
using namespace std;
int main() {
int month;
cin >> month;
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
cout << "Thang du";
break;
default:
cout << "Thang thieu";
}
}
Các toán tử trong C++
Qua bài viết hôm nay, chắc hẳn bạn cũng đã hiểu câu lệnh điều kiện trong C++, hãy tiếp tục những bài tiếp theo nhé.
Nhận xét
Đăng nhận xét