C++ Tutorial/Operators statements/relational and logical operators
Содержание
- 1 A Demonstration of Branching Based on Relational Operators
- 2 Create an XOR using the C++ logical operators.
- 3 Logical operator keywords: and, or, not, not_eq
- 4 Output the results of several variable comparisons.
- 5 The relational and logical operators
- 6 Use And operator to connect two boolean expressions
A Demonstration of Branching Based on Relational Operators
<source lang="cpp">#include <iostream> int main() {
using std::cout; using std::cin; int i, i2; cout << "Enter the score for the Mets: "; cin >> i; cout << "\nEnter the score for the Yankees: "; cin >> i2; if (i > i2) cout << "Go i!\n"; if (i < i2) { cout << "Go i2!\n"; } if (i == i2) { cout << "A tie?\n"; cout << "Give me the real score for the i2: "; cin >> i2; if (i > i2) cout << "i"; if (i2 > i) cout << "i2"; if (i2 == i) cout << "tie!"; } return 0;
}</source>
Create an XOR using the C++ logical operators.
<source lang="cpp">#include <iostream>
- include <cmath>
using namespace std;
int main() {
bool p, q; p = true; q = true; cout << p << " XOR " << q << " is " << ( (p || q) && !(p && q) ) << "\n"; p = false; q = true; cout << p << " XOR " << q << " is " << ( (p || q) && !(p && q) ) << "\n"; p = true; q = false; cout << p << " XOR " << q << " is " << ( (p || q) && !(p && q) ) << "\n"; p = false; q = false; cout << p << " XOR " << q << " is " << ( (p || q) && !(p && q) ) << "\n"; return 0;
}</source>
1 XOR 1 is 0 0 XOR 1 is 1 1 XOR 0 is 1 0 XOR 0 is 0
Logical operator keywords: and, or, not, not_eq
<source lang="cpp">#include <iostream> using std::boolalpha; using std::cout; using std::endl; int main() {
bool a = true; bool b = false; int c = 2; int d = 3; cout << boolalpha; cout << "a = " << a << "; b = " << b << "; c = " << c << "; d = " << d; cout << "\n\nLogical operator keywords:"; cout << "\n a and a: " << ( a and a ); cout << "\n a and b: " << ( a and b ); cout << "\n a or a: " << ( a or a ); cout << "\n a or b: " << ( a or b ); cout << "\n not a: " << ( not a ); cout << "\n not b: " << ( not b ); cout << "\na not_eq b: " << ( a not_eq b ); return 0;
}</source>
a = true; b = false; c = 2; d = 3 Logical operator keywords: a and a: true a and b: false a or a: true a or b: true not a: false not b: true a not_eq b: true
Output the results of several variable comparisons.
<source lang="cpp">#include <iostream> using namespace std; int main(void) {
int a = 4, b = 5; cout << a << " > " << b << " is " << (a > b) << endl; cout << a << " >= " << b << " is " << (a >= b) << endl; cout << a << " == " << b << " is " << (a == b) << endl; cout << a << " <= " << b << " is " << (a <= b) << endl; cout << a << " < " << b << " is " << (a < b) << endl; return 0;
}</source>
The relational and logical operators
<source lang="cpp">#include <iostream> using namespace std;
int main() {
int i, j; bool b1, b2; i = 10; j = 11; if(i < j) cout << "i < j\n"; if(i <= j) cout << "i <= j\n"; if(i != j) cout << "i != j\n"; if(i == j) cout << "this won"t execute\n"; if(i >= j) cout << "this won"t execute\n"; if(i > j) cout << "this won"t execute\n"; b1 = true; b2 = false; if(b1 && b2) cout << "this won"t execute\n"; if(!(b1 && b2)) cout << "!(b1 && b2) is true\n"; if(b1 || b2) cout << "b1 || b2 is true\n"; return 0;
}</source>
i < j i <= j i != j !(b1 && b2) is true b1 || b2 is true
Use And operator to connect two boolean expressions
<source lang="cpp">#include <iostream> int main() {
int i1, i2; i1 = 4; i2 = 2; if ((i1 != 0) && (i2 != 0)) std::cout << "Both are not zero #1\n"; return (0);
}</source>
Both are not zero #1