Giới thiệu
Trong bài học trước, chúng ta đã tìm hiểu về kiểu dữ liệu ký tự và những vấn đề liên quan khi sử dụng nó. Trong C++, ngoài các kiểu integer, floating point và character, còn có một kiểu dữ liệu cực kỳ quan trọng khác - kiểu luận lý và cơ bản về câu điều kiện If.
Nội dung
Để hiểu rõ hơn về chủ đề này, chúng ta cần có kiến thức cơ bản về các phần:
- Biến trong C++
- Kiểu dữ liệu cơ bản trong C++
- Kiểu ký tự trong C++
Trong bài học này, chúng ta sẽ tìm hiểu về:
- Tổng quan về kiểu luận lý (Boolean)
- Cơ bản về câu điều kiện If trong C++ và Boolean
Tổng quan về kiểu luận lý (Boolean)
Trong bài học trước, chúng ta đã tìm hiểu về các kiểu dữ liệu số học như integer và floating point để giải quyết các bài toán trong chương trình. Kiểu ký tự (character) được sử dụng để lưu trữ ký tự. Ngoài ra, trong C++ còn có một kiểu dữ liệu khác để lưu trữ tính đúng, sai của một mệnh đề trong máy tính, đó là kiểu luận lý (boolean).
Trong C++, kiểu luận lý (boolean) có kích thước 1 byte và chỉ lưu được 2 giá trị: true (1) và false (0).
Để khai báo một biến boolean, ta sử dụng từ khóa bool:
bool ; // Khai báo biến có kiểu bool
Để khởi tạo và gán giá trị cho một biến boolean trong C++, ta sử dụng từ khóa true (1) và false (0):
bool b1(true); // true = 1 bool b2{ false }; // false = 0 bool b3 = 1; // 1 = true
Bạn cũng có thể phủ định giá trị luận lý từ true sang false và ngược lại bằng cách sử dụng toán tử NOT (!):
bool b1(!true); // b1 = NOT true = false (0) bool b2{ !false }; // b2 = NOT false = true (1) bool b3 = !1; // b3 = NOT 1 = false (0)
Giá trị của biến kiểu bool trong máy tính được biểu diễn dưới dạng 0 (false) hoặc 1 (true). Vì vậy, khi in một biến kiểu bool, giá trị được in ra sẽ là 0 (false) hoặc 1 (true):
#include using namespace std; int main() { bool b1{ true }; // b1 is true cout b1 endl; // in 1 ra màn hình cout !b1 endl; // in 0 ra màn hình bool b2{ false }; // b1 is false cout b2 endl; // in 0 ra màn hình cout !b2 endl; // in 1 ra màn hình return 0; }
Chú ý: khi khởi tạo hoặc gán giá trị dưới dạng số nguyên cho biến kiểu bool, mọi giá trị khác 0 sẽ mặc định là true.
bool b1(6); // b1 = true (1) bool b3 = !-9; // b2 = NOT true = false (0)
Nếu bạn muốn giá trị của biến boolean khi được in ra là true hoặc false thay vì 0 hoặc 1, bạn có thể sử dụng std::boolalpha. Nếu bạn muốn in giá trị biến kiểu boolean như mặc định thì có thể sử dụng std::noboolalpha.
#include using namespace std; int main() { cout std::boolalpha; // in "true" hoặc "false" với kiểu bool cout true endl; // in "true" ra màn hình cout false endl; // in "false" ra màn hình cout std::noboolalpha; // in 1 hoặc 0 với kiểu bool cout true endl; // in 1 ra màn hình cout false endl; // in 0 ra màn hình return 0; }
Cơ bản về câu điều kiện If và Boolean
Một trong những ứng dụng phổ biến nhất của các biến boolean là sử dụng bên trong câu điều kiện If. Cấu trúc câu điều kiện If được mô tả bên dưới:
- If thiếu:
if (condition) // nếu condition là true statement; // thực thi câu lệnh này
- If đủ:
if (condition) // nếu condition là true statement1; // thực thi câu lệnh này else statement2; // nếu condition là false, thực thi câu lệnh này
Trong cú pháp câu điều kiện If bên trên, nếu condition là một mệnh đề true, statement1 sẽ được thực thi, ngược lại thì statement2 sẽ được thực thi. Ví dụ:
#include using namespace std; int main() { bool b1{ true }; if (b1) cout "b1 is true" endl; else cout "b1 is false" endl; bool b2{ false }; if (b2) cout "b2 is true" endl; else cout "b2 is false" endl; return 0; }
Mệnh đề condition trong câu điều kiện If có thể là một biến kiểu boolean, một biểu thức hoặc kết quả trả về của một function. Những vấn đề này sẽ được hướng dẫn kỹ hơn trong bài viết tiếp theo.
Kết luận
Qua bài học này, bạn đã tìm hiểu về kiểu luận lý và cơ bản về câu điều kiện If trong C++. Nắm vững kiến thức này sẽ giúp bạn xây dựng các chương trình phức tạp hơn trong tương lai.