•逻辑值: 1(true)和0(false)
•逻辑运算符有三个:
•逻辑非 !
•逻辑与 &&
•逻辑或 ||
注:数学上用¬表示逻辑非,∧为逻辑与,∨表示逻辑或。
1、逻辑非(!)运算
经过逻辑非运算,一个表达式的真假值与原来相反。表格如下。
Reverse the result, returns false if the result is true
| A值 | !A的值 |
| 0 | 1 |
| 1 | 0 |
2、逻辑与(&&):
若参加运算的某个逻辑值为假,其结果 也为假,只有当参加运算的所有逻辑值都是真,其结果也是真,表格如下:
Returns true if both statements are true
| A的值 | B的值 | A&&B |
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
3、逻辑或(||):
若参加运算的某逻辑值是真,哪结果也是真,只有当参加运算的条件都是假,其结果才是假,表格如下:
| A的值 | B的值 | A||B |
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
在逻辑运算(布尔代数)中,变量只有 0(假) 和 1(真) 两种状态。以下是化简逻辑表达式的核心定律:
A || 0 = A ; A && 1 = AA || 1 = 1 ; A && 0 = 0A || A = AA && A = AA || !A = 1 (必有一真)A && !A = 0 (不可同时为真)!!A = A (负负得正)A || B = B || A(A || B) || C = A || (B || C)(A && B) && C = A && (B && C)A && (B || C) = (A && B) || (A && C)A || (B && C) = (A || B) && (A || C) (注意:这是逻辑运算特有的,普通代数不适用)!(A && B) = !A || !B (非“与”变“或”)!(A || B) = !A && !B (非“或”变“与”)A || (A && B) = AA && (A || B) = A练习
说明如下表达式的结果为真(true)还是假(flase).
(1>=2) && (3>=2)
(1<2) || (4>1)
(5/2)||(4%2)
(1>0)&&(!(2>0))
设计一个程序,输入三个整数a,b,c,判断以这三个整数为边长能否构成一个三角形。如果能,请输出yes,否则输出no。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | //triangle #include <iostream> using namespace std; int main() { float a,b,c; cin>>a>>b>>c; if(a+b>c&&b+c>a&&a+c>b) {cout<<"this is a triangle\n";} else {cout<<"this is not a triangle\n";} return 0; } |