Bài 5_Phần 1_Các phép so sánh, phép toán logic và câu lệnh điều kiện trong C++
1. Các phép so sánh (toán tử quan hệ).
- Ví dụ: int a = 10, int b= 20;
TT | Phép so sánh | Kí hiệu (toán tử so sánh) | Ví dụ | Kết quả |
---|---|---|---|---|
1 | Bằng | == | a==b | false |
2 | Khác | != | a!=b | true |
3 | Lớn hơn | > | a>b | false |
4 | Nhỏ hơn | < | a<b | true |
5 | Lớn hơn hoặc bằng | >= | a>=b | false |
6 | Nhỏ hơn hoặc bằng | <= | a<=b | true |
2. Phép logic (toán tử logic).
Ví dụ: A = true; B = false
TT | Phép Logic | Kí kiệu (toán tử logic) | Ví dụ | Kết quả |
---|---|---|---|---|
1 | AND (Và) | && |
A&&B | false |
2 | OR (Hoặc) | || |
A||B | true |
3 | NOT (Phủ định) | ! |
!A | false |
!B | true |
Ví dụ:
#include <iostream>
using namespace std;
int main()
{
int a=0;
int b=0;
cout<<"Nhap a = ";
cin>>a;
cout<<"Nhap b = ";
cin>>b;
if((a>0)&&(b>0))
{
cout<<"a va b deu lon hon 0"<<endl;
}
if((a>0)||(b>0))
{
cout<<"a hoac b lon hon 0"<<endl;
}
if(!(a>0))
{
cout<<"Xuat ra man hinh khi a nho hon 0"<<endl;
}
return 0;
}
3. Câu lệnh điều kiện.
3.1. Câu lệnh điều kiện if.
Dạng thiếu:
if (điều kiện)
{
nội dung khi đk đúng;
}
Ví dụ:
#include <iostream>
using namespace std;
int main()
{
int a=0, b=0, S=0;
cout << "a = ";
cin>>a;
cout << "b = ";
cin>>b;
if(a>b)
{
cout<<"So a lon hon so b";
}
return 0;
}
Dạng đủ:
if (điều kiện)
{
nội dung khi đk đúng;
}
else
{
nội dung khi đk sai;
}
Ví dụ:
#include <iostream>
using namespace std;
int main()
{
int a=0, b=0, S=0;
cout << "a = ";
cin>>a;
cout << "b = ";
cin>>b;
if(a>b)
{
cout<<"So a lon hon so b";
}
else
{
cout<<"So a nho hon hoac bang so b";
}
return 0;
}
3.2. Câu lệnh điều kiện switch ... case.
switch (biến hoặc biểu thức kiểm tra)
{
case giá trị 1:
Lệnh thứ 1;
break;
case giá trị 2:
Lệnh thứ 2;
break;
case giá trị 3:
Lệnh thứ 3;
break;
case giá trị thứ n:
Lệnh thứ n;
break;
default:
Lệnh thực hiện khi các lựa chọn trên đều sai; //phần default là không bắt buộc
}
Ví dụ:
#include <iostream>
using namespace std;
int main()
{
char dau;
int a=0, b=0, S=0;
cout << "a = ";
cin>>a;
cout << "b = ";
cin>>b;
cout<<"Nhap dau phep toan la: ";
cin>>dau;
switch (dau)
{
case '+':
S= a + b;
break;
case '-':
S= a - b;
break;
case '*':
S= a * b;
break;
case '/':
if (b == 0)
{
cout << "Phep chia cho 0!";
}
if (b != 0)
{
S= a / b;
}
default:
cout << "Phep tinh khong hop le!";
}
cout<<"Ket qua phep tinh la: "<<S;
return 0;
}
3.3. Câu lệnh điều kiện thay thế cặp if ..else.
c = (a>b? giá trị khi đúng : giá trị khi sai);
Ví dụ:
#include <iostream>
using namespace std;
int main()
{
int a=0, b=0, S=0;
cout << "a = ";
cin>>a;
cout << "b = ";
cin>>b;
S=(a>b?a-b:a+b);
cout<<S<<endl;
return 0;
}
Nếu dùng lệnh if ...else thì như sau:
#include <iostream>
using namespace std;
int main()
{
int a=0, b=0, S=0;
cout << "a = ";
cin>>a;
cout << "b = ";
cin>>b;
if(a>b)
{
S=a-b;
}
else
{
S=a+b;
}
cout<<S<<endl;
return 0;
}
- Ví dụ: Cho số nguyên N trong tệp Cau1.INP. Xuất ra màn hình kết quả kiểm tra xem N là số chẵn hay số ra màn hình
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream fin;
fin.open("BAI1.INP",ios::in);
int N;
if(fin.fail())
{
cout<<"Loi mo tep";
fin.close();
}
else
{
fin>>N;
fin.close();
}
if(N%2==0)
{
cout<<N<<" la so chan";
}
else
{
cout<<N<<" la so le";
}
return 0;
}
- Phép so sánh trong C++ sẽ 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++.
- Để 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 trong C++ được liệt kê trong bảng dưới đây.
- 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 là 65 nên phép so sánh sau sẽ cho ra kết quả True.
- 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ỏ.
- Bạn có thể sử dụng một hoặc nhiều vòng lặp trong các vòng lặp while, for hoặc do..while khác.
Không có quyền nào được bảo lưu - Phạm vi công cộng