Các phép so sánh (toán tử quan hệ), phép logic (toán tử logic).
Câu lệnh điều kiện, lặp.
Ví dụ: int a = 10, b = 20;
| Phép so sánh | Kí hiệu (toán tử so sánh) |
Ví dụ | Kết quả |
|---|---|---|---|
| Bằng | == | a == b | false |
| Khác | != | a != b | true |
| Lớn hơn | > | a > b | false |
| Nhỏ hơn | < | a < b | true |
| Lớn hơn hoặc bằng | >= | a >= b | false |
| Nhỏ hơn hoặc bằng | <= | a <= b | true |
Ví dụ: A = true; B = false
| Phép Logic | Kí hiệu (toán tử logic) |
Ví dụ | Kết quả |
|---|---|---|---|
| AND (Và) | && | A && B | false |
| OR (Hoặc) | || | A || B | true |
| NOT (Phủ định) | ! | !A | false |
| !B | true |
Ví dụ:
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
int a=0;
int b=0;
cin>>a;
cin>>b;
if((a>0)&&(b>0))
{
cout<<"a va b deu lon hon 0"<<"\n";
}
if((a>0)||(b>0))
{
cout<<"a hoac b lon hon 0"<<"\n";
}
if(!(a>0))
{
cout<<"Xuat ra man hinh khi a nho hon 0"<<"\n";
}
return 0;
}
Câu lệnh điều kiện if
Cú pháp:
if (điều kiện)
{
Các lệnh khi điều kiện đúng;
}
Ví dụ:
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
int a=0, b=0, S=0;
cin>>a>>b;
if(a>b)
{
cout<<"So a lon hon so b";
}
return 0;
}
if (điều kiện)
{
Các lệnh khi điều kiện đúng;
}
else
{
Các lệnh khi điều kiện sai;
}
Ví dụ:
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
int a=0, b=0, S=0;
cin>>a>>b;
if(a>b)
{
cout<<"So a lon hon so b";
}
else
{
cout<<"So a nho hon so b";
}
return 0;
}
c = (a>b ? KQ trả lại khi điều kiện đúng : KQ trả lại khi điều kiện sai);
Ví dụ:
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
int a=0, b=0, S=0;
cin>>a>>b;
S=(a>b?a-b:a+b);
cout<<S<<"\n";
return 0;
}
thay thế cặp lệnh if ...else sau:
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
int a=0, b=0, S=0;
cin>>a>>b;
if(a>b)
{
S=a-b;
}
else
{
S=a+b;
}
cout<<S<<"\n";
return 0;
}
switch (bien_hoac_bieu_thuc_kiem_tra)
{
case gia_tri_1:
lenh_thu_1;
break;
case gia_tri_2:
lenh_thu_2;
break;
case gia_tri_3:
lenh_thu_3;
break;
case gia_tri_n:
lenh_thu_n;
break;
default: // phan default la khong bat buoc
lenh_thuc_hien_khi_cac_lua_chon_tren_deu_sai;
}
Ví dụ:
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
char dau;
int a=0, b=0, S=0;
cin>>a>>b;
cin>>dau;
switch (dau)
{
case '+':
S= a + b;
break;
case '-':
S= a - b;
break;
case '*':
S= a * b;
break;
case '/':
if (b == 0)
{
cout << "ERORR b=0";
}
if (b != 0)
{
S= a / b;
}
default:
cout << "ERORR!";
}
cout<<S;
return 0;
}
Câu 1. 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ố lẻ ra CAU1.OUT.
| CAU1.INP | CAU1.OUT |
|---|---|
| 6 | CHAN |
| 7 | LE |
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
freopen("BAI1.INP","r",stdin);
freopen("BAI1.OUT","w",stdout);
int N;
cin >> N;
if(N % 2 == 0)
{
cout << "CHAN";
}
else
{
cout << "LE";
}
return 0;
}
for (bien = gia_tri_dau; dieu_kien_lap; tang_giam_gia_tri_bien)
{
cac_lenh;
}
Lưu ý: Câu lệnh for lặp vĩnh viễn khi khuyết điều kiện lặp hoặc điều kiện lặp và tăng giảm giá trị biến hoặc cả ba.
Câu lệnh khởi tạo được thực hiện 1 lần duy nhất khi bắt đầu vào vòng lặp.
Sau đó điều kiện lặp được kiểm tra, nếu đúng thì sẽ tiến hành thực hiện các câu lệnh trong for, sai sẽ không thực hiện và kết thúc vòng lặp.
Sau khi các câu lệnh trong vòng lặp được thực hiện xong thì tới phần câu lệnh cập nhật được thực thi.
Câu lệnh cập nhật được thực hiện xong sẽ tiếp tục kiểm tra điều kiện lặp và nếu đúng tiếp tục thực hiện code trong vòng lặp, sai sẽ kết thúc vòng lặp.
Ví dụ xuất ra màn hình các số từ 1 đến 15
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
int a=0;
for(a = 1; a <= 15; a++)
{
cout <<a << " ";
}
return 0;
}
while(dieu_kien)
{
cac_lenh;
}
Lưu ý: Vòng lặp while vào kiểm tra điều kiện bên trong ngoặc tròn. Nếu điều kiện có giá trị sai, vòng lặp sẽ không thực hiện code mà kết thúc ngay. Nếu điều kiện này có giá trị đúng, vòng lặp sẽ tiến hành thực hiện các câu lệnh bên trong vòng lặp, sau khi thực hiện xong các câu lệnh vòng lặp while sẽ quay lại kiểm tra điều kiện.
Lệnh lặp while được lặp đi lặp lại cho tới khi điều kiện trong while bị sai thì vòng lặp kết thúc, nếu điều kiện này không sai vòng while sẽ bị lặp vĩnh viễn.
Ví dụ xuất ra màn hình các số từ 1 đến 15
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
int a=0;
while(a < 15)
{
a++;
cout << a << " ";
}
return 0;
}
Câu lệnh này được thực hiện ít nhất 01 lần
do
{
cac_lenh;
}
while(dieu_kien);
Lưu ý: do-while thực hiện câu lệnh trước rồi mới kiểm tra điều kiện sau.
Lệnh bên trong vòng lặp được thực hiện lần thứ nhất, sau đó điều kiện được kiểm tra. Nếu điều kiện trong while có giá trị sai vòng lặp do-while sẽ kết thúc. Nếu điều kiện trong while đúng, khối lệnh trong do được thực hiện tiếp. Được lặp đi lặp lại cho tới khi điều kiện trong while bị sai, nếu điều kiện này luôn đúng vòng lặp sẽ lặp vĩnh viễn.
Ví dụ xuất ra màn hình các số từ 1 đến 15
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
int a=0;
do
{
a++;
cout << a << " ";
}
while(a<15);
return 0;
}