Trước hết tìm hiểu toán tử logic.
Toán tử logic
- Kết hợp 2+ biểu thức logic.
- Bao gồm: AND (&&), OR (||), NOT (!)
Logic AND (&&)
| exp1 | exp2 | exp1&&exp2 |
|---|---|---|
| T | T | T |
| T | F | F |
| F | T | F |
| F | F | F |
Logic OR (||)
| exp1 | exp2 | exp1||exp2 |
|---|---|---|
| T | T | T |
| T | F | T |
| F | T | T |
| F | F | F |
Logic NOT (!)
| exp | !exp |
|---|---|
| T | F |
| F | T |
| Toán tử | Mô tả | Ví dụ | a=10,b=20,c=30 | Kết quả |
|---|---|---|---|---|
| && | Logic AND | (a>b)&&(a| (10>20)&&(10<30) | 0 | |
| || | Logic OR | (a>b)||(a<=c) | (10>20)||(10<30) | 1 |
| ! | Logic NOT | !(a>b) | !(10>20) | 1 |
Ví dụ chương trình
#include <stdio.h>
main() {
float a=0.5, b=0.3, c=0.7;
printf("%d\n", (ac)); // 0
printf("%d\n", (a>=b)&&(b<=c)); // 1
printf("%d\n", (a==b)||(b==c)); // 0
printf("%d\n", (b>=a)||(a==c)); // 0
printf("%d\n", (b<=c)&&!(c>=a)); // 0
printf("%d\n", !(b<=c)||(c>=a)); // 1
}
Kết quả
0 1 0 0 0 1
Toán tử gán (Assignment Operator)
Gán giá trị cho biến.
Các loại
- Gán đơn giản
- Gán kết hợp (compound)
| Toán tử | Mô tả | Ví dụ |
|---|---|---|
| = | Gán đơn | a=10 |
| +=,-=,*=,/=,%= | Gán kết hợp | a+=10 → a=a+10 a-=10 → a=a-10 |
Chương trình
Ví dụ toán tử gán kết hợp:
#include <stdio.h>
int main(void) {
int i;
char a = 'h';
printf("Nhập i: ");
scanf("%d", &i);
printf("ASCII %c = %d\n", a, a);
a += 5;
printf("ASCII %c = %d\n", a, a);
a *= a + i;
printf("a = %d\n", a);
a *= 3;
printf("a = %d\n", a);
a /= 2;
printf("a = %d\n", a);
a %= 4;
printf("a = %d\n", a);
return 0;
}
Kết quả
Nhập i: 3 ASCII h = 104 ASCII m = 109 a = -80 a = 16 a = 8 a = 0