Các phép toán luận lý
Các phép toán luận lý có hai kết quả trả về là đúng hay sai, giá trị đúng là 1, giá trị sai là 0.
Phép toán so sánh bằng ==
Phép so sánh hai biểu thức A và B ký hiệu A==B là một mệnh đề. Mệnh đề này có giá trị là đúng(bằng 1) nếu biểu thức A bằng biểu thức B, ngược lại mệnh đề này sẽ có giá trị false (bằng 0).
int a,b;
a=1;
b=2;
b==a;//có giá trị là sai (0)
a==1;//có giá trị là đúng (1)
2==b;//có giá trị là đúng.
2==2;//có giá trị là đúng.
Ta có thể lấy giá trị của kết quả phép toán so sánh bằng cách gán giá trị trả về của phép so sánh vào một biến cụ thể.
int a;
a=(1==2);//Mệnh đề 1==2 là một mệnh đề sai,a sẽ được gán kết quả là a=0.
a=(a==0);//mệnh đề a==0 là một mệnh đề đúng do đó kết quả a=1.
Chương trình cho phép bạn nhập vào 2 số và in ra giá trị đúng sai của biểu thức so sánh hai số.
#include<stdio.h>
#include<conio.h>
int main()
{
int a,b,c;
printf("Chuong trinh tinh tong hai so\n"); printf("Ban hay nhap vao so thu nhat :"); printf("Ban hay nhap vao so thu hai :"); c=(b==a);
printf("\nKet Qua cua phep so sanh: (%d == %d)=%d",a
,b
,c
); return 0;
}
Phép so sánh không bằng !=
Phép so sánh A!=B là một mệnh đề, mệnh đề này đúng(bằng 1) khi A khác B (hay A không bằng B) và có giá trị sai (bằng 0) khi A==B.
int a,b;
a=1;
b=2;
1!=2; //Mệnh đề 1 khác 2 có giá trị đúng (1).
a!=b;//Mệnh đề a khác b có giá trị đúng.
2!=b;//Mệnh đề 2 khác b có giá trị sai (0).
Ta có thể lưu giá trị của phép so sánh không bằng vào biến.
Code:
int a;
a=(1!=2);//1 khác 2 là một mệnh đề đúng do đó biến a sẽ có giá trị 1.
a=(1!=a);//1 khác a (a=1) là một mệnh đề sai do đó biến a sẽ có giá trị là 0.
Chương trình cho phép bạn nhập vào hai số, in ra giá trị đúng sai của phép toán so sách khác nhau giữa hai số.
#include<stdio.h>
#include<conio.h>
int main()
{
int a,b,c;
printf("Chuong trinh tinh tong hai so\n"); printf("Ban hay nhap vao so thu nhat :"); printf("Ban hay nhap vao so thu hai :"); c=(b!=a);
printf("\nKet Qua cua phep so sanh: (%d != %d)=%d",a
,b
,c
); return 0;
}
Phép toán so sánh lớn hơn >, lớn hơn bằng >=, nhỏ hơn < nhỏ hơn bằng<=
Code:
1>2; //Mệnh đề(MĐ) có giá trị Sai.
1>=2; //MĐ có giá trị Sai.
1<2; //MĐ có giá trị đúng.
1<=2 //Mệnh đề có giá trị đúng.
Phép toán Or ||
Cho A B là các mệnh đề mệnh phép toán A or B (A||B) có kết quả là một mệnh đề, và mệnh đề này chỉ sai khi và chỉ khi A và B cùng là hai mệnh đề sai.
Ta có bảng chân trị sau:
Code:
A \ B 0 1
0 0 1
1 1 1
ví dụ:
Code:
(1<2)||(1==2); //Mệnh đề kết quả có giá trị sai do 1<2 và 1==2 là hai mệnh đề sai.
(1==1)||(1==2);// Mệnh đề kết quả là một mệnh đề đúng do 1==1 là MĐ đúng và 1==2 là một mệnh đề sai.
Phép toán and &&
Hai mệnh đề A và B, phép toán and hai mệnh đề A và B (A&&B) là một mệnh đề,mệnh đề này có giá trị là đúng khi và chỉ khi A và B là hai mệnh đề đúng.
bảng chân trị
Code:
A/B 0 1
0 0 0
1 0 1
ví dụ:
int a;
a=(1==1)&&(0<1); //Hai mệnh đề 1==1 và (0<1) là hai mệnh đề đúng kết quả a=1;
a=(1>2)&&(1==1);// Do mệnh đề 1>2 là mệnh đề sai nên kết quả a=0;