Hướng dẫn cách sử dụng toán tử so sánh trong C++. Bạn sẽ học được các phép so sánh trong C++ được biểu diễn thông qua các toán tử so sánh trong C++ và ứng dụng chúng để so sánh 2 số trong C++ và so sánh 2 chuỗi trong C++ sau bài học này.
Bảng toán tử so sánh trong C++
Để thực hiện các phép so sánh trong C++, chúng ta sử dụng các toán tử so sánh bao gồm toán tử bằng và toán tử khác trong C++ được liệt kê trong bảng dưới đây:
Toán tử | Biểu thức điều kiện | Ý nghĩa |
---|---|---|
== | x == y | x và y bằng nhau |
!= | x != y | x và y không bằng nhau |
> | x > y | x lớn hơn y |
< | x < y | x nhỏ hơn y |
>= | x >= y | x bằng hoặc lớn hơn y |
<= | x <= y | x bằng hoặc nhỏ hơn y |
Phép so sánh trong C++ sẽ kết hợp toán tử so sánh cùng với hai giá trị ở hai vế trái phải thành một biểu thức điều kiện, sau đó kiểm tra biểu thức điều kiện này là đúng hay sai và đưa ra kết quả. Kết quả của các phép so sánh trong C++ sẽ là kiểu boolean trong C++ với hai giá trị là True (đúng) hoặc False (sai), và phép toán so sánh trong C++ được sử dụng để cấu tạo biểu thức điều kiện được sử dụng trong câu lệnh if trong C++.
So sánh bằng trong C++
Để so sánh hai giá trị có bằng nhau hay không, chúng ta sử dụng toán tử so sánh bằng trong C++ ==
hoặc là toán tử so sánh khác trong C++ !=
.
Nếu hai giá trị bằng nhau, toán tử bằng trong C++ ==
trả về True và ngược lại nếu hai giá trị không bằng nhau, toán tử khác trong C++ !=
sẽ trả về True.
Chúng ta hãy cùng xem một số ví dụ cụ thể sử dụng phép so sánh bằng trong C++ với toán tử bằng và toán tử khác trong C++ sau đây:
So sánh 2 số có giống nhau trong C++
Khi sử dụng phép so sánh bằng để so sánh hai số trong C++, không những chúng ta có thể so sánh giữa số nguyên với số nguyên, số thực với số thực, mà còn có thể so sánh các số có kiểu dữ liệu khác nhau như số nguyên với số thực v.v..
Ví dụ:
1 == 1 |
So sánh 2 chuỗi có giống nhau trong C++
Khi sử dụng phép so sánh bằng để so sánh chuỗi C++, chúng ta kiểm tra giá trị của chúng có bằng nhau hay không. Lưu ý là khi so sánh chuỗi trong C++, chúng ta cần phân biệt giữa chữ hoa và chữ thường. Ví dụ:
"Hello" == "Hello" |
Phép so sánh lớn nhỏ trong C++
Để so sánh lớn nhỏ trong C++, chúng ta sử dụng các toán tử <
, >
, >=
và <=
.
Toán tử <
cho kết quả là True nếu giá trị bên trái nhỏ hơn giá trị bên phải và ngược lại, toán tử >
cho kết quả là True nếu giá trị bên trái lớn hơn giá trị bên phải.
Tương tự, toán tử <=
cho kết quả là True nếu giá trị bên trái nhỏ hơn hoặc bằng giá trị bên phải và ngược lại, toán tử >=
cho kết quả là True nếu giá trị bên trái lớn hơn hoặc bằng giá trị bên phải.
Chúng ta hãy cùng xem một số ví dụ cụ thể sử dụng phép so sánh lớn nhỏ trong C++ sau đây:
So sánh lớn nhỏ giữa 2 số trong C++
Khi sử dụng phép so sánh lớn nhỏ để so sánh 2 số trong C++, chúng ta kiểm tra giá trị của chúng lớn hơn hay nhỏ hơn.
5 > 3 |
Lưu ý là chúng ta không thể sử dụng phép so sánh lớn nhỏ để so sánh 2 số phức trong C++.
cout <<(5 + 2j) > (3 + 4j); |
Lỗi sau đây sẽ xảy ra:
main.cpp:7:13: error: unable to find numeric literal operator ‘operator""j’ |
So sánh lớn nhỏ trong chuỗi C++
Khi sử dụng phép so sánh lớn nhỏ để so sánh chuỗi C++, thay vì so sánh trực tiếp giá trị của hai chuỗi, chúng ta sẽ so sánh mã ký tự ASSCII giữa chúng.
Để lấy mã ASSCII của một ký tự bất kỳ, chúng ta có thể ép kiểu ký tự về kiểu int như sau:
int asciiValuea = 'a'; |
Khi so sánh lớn nhỏ hai ký tự đơn, chúng ta đơn giản so sánh mã ký tự ASSCII của chúng. Ví dụ, do mã ký tự ASSCII của ký tự a
là 97 sẽ lớn hơn của ký tự A
à 65 nên phép so sánh sau sẽ cho ra kết quả True.
|
Kết quả:
Ma ascii cua a: 97 |
Tuy nhiên khi so sánh 2 chuỗi ký tự với nhau, chúng ta không thể đơn thuần so sánh các mã ký tự ASSCII của từng ký tự được. Lúc này, phép so sánh sẽ bắt đầu từ ký tự đầu tiên trong hai chuỗi, và nếu chúng giống nhau, các ký tự tiếp theo được so sánh cho tới khi xuất hiện một ký tự khác nhau đầu tiên trong hai chuỗi. Khi đó, mã ký tự ASSCII của ký tự này sẽ đại diện cho cả chuỗi và được dùng để so sánh lớn nhỏ.
Để làm được việc này thì thay vì sử dụng toán tử so sánh thì chúng ta sẽ sử dụng tới các hàm hoặc phương thức có sẵn như hàm strcmp hoặc strncmp().
Tổng kết
Trên đây Kiyoshi đã hướng dẫn bạn về cách sử dụng các phép so sánh trong C++ được biểu diễn thông qua các toán tử so sánh trong C++ rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.
Và hãy cùng tìm hiểu những kiến thức sâu hơn về C++ trong các bài học tiếp theo.
HOME › lập trình c++ cơ bản dành cho người mới học lập trình>>06. toán tử trong c++