# Introduction notes to C + + Basics (III) operator Basics

Whether you learn or not, C + + is there, seducing you all the time

The content is based on the dark horse programmer c + + course handout. I added a small part and put it here as a reference for my review in the future. (this introductory course is highly recommended. It's available on website B)

Dark horse handout original file point here Learn from yourself and make progress together.

## 3 operator

Function: used to perform code operations

In this chapter, we mainly explain the following types of operators:

Operator type | effect |
---|---|

Arithmetic operator | Used to process four operations |

Assignment Operators | Used to assign the value of an expression to a variable |

Comparison operator | Used to compare expressions and return a true or false value |

Logical operator | Used to return true or false values based on the value of an expression |

### 3.1 arithmetic operators

Function: used to process four operations

Arithmetic operators include the following symbols:

operator | term | Examples | result |
---|---|---|---|

+ | Plus sign | +3 | 3 |

- | minus sign | -3 | -3 |

+ | plus | 10 + 5 | 15 |

- | reduce | 10 - 5 | 5 |

* | ride | 10 * 5 | 50 |

/ | except | 10 / 5 | 2 |

% | Mold taking (residual) | 10 % 3 | 1 |

++ | Pre increment | a=2; b=++a; | a=3; b=3; |

++ | Post increment | a=2; b=a++; | a=3; b=2; |

– | Pre decrement | a=2; b=–a; | a=1; b=1; |

– | Post decrement | a=2; b=a–; | a=1; b=2; |

Example 1:

#include<iostream> using namespace std; //add , subtract , multiply and divide int main() { int a1 = 10; int b1 = 3; cout << a1 + b1 << endl; cout << a1 - b1 << endl; cout << a1 * b1 << endl; cout << a1 / b1 << endl; //The output is 3 because the result of dividing two integers is still an integer int a2 = 10; int b2 = 20; cout << a2 / b2 << endl; //The output is 0, also because the result of dividing two integers is still an integer int a3 = 10; int b3 = 0; //cout << a3 / b3 << endl; // An error is reported. The divisor cannot be 0 //Two decimals can be divided double d1 = 0.5; double d2 = 0.25; cout << d1 / d2 << endl; //The output is 2 because it is exactly divisible. Non divisible decimals will be decimals system("pause"); return 0; }

Summary:

- In a division operation, the divisor cannot be 0
- The result of dividing two integers is still an integer. Remove the decimal part

Example 2:

#include<iostream> using namespace std; //Take the mold, that is, take the remainder int main() { int a1 = 10; int b1 = 3; cout << 10 % 3 << endl; //The result is 1 int a2 = 10; int b2 = 20; cout << a2 % b2 << endl; //The result is 10 int a3 = 10; int b3 = 0; //cout << a3 % b3 << endl; // An error is reported because the divisor cannot be 0 during modulo operation //Two decimals cannot be modulo double d1 = 3.14; double d2 = 1.1; //cout << d1 % d2 << endl; // An error is reported because modulo operation can only be performed on integers system("pause"); return 0; }

Summary:

- Only integer variables can perform modulo operations, which is essentially the remainder
- Two decimals cannot be modulo

Example 3:

#include<iostream> using namespace std; //Increasing int main() { //1. Pre increment int b = 10; ++b; //Add 1 to the variable cout << b << endl; //The result is: 11 //2. Post increment int a = 10; a++; //Equivalent to a = a + 1 cout << a << endl; //The result is: 11 //3. Difference between pre and post //Pre increment first + + the variable, and then calculate the expression int a2 = 10; int b2 = ++a2 * 10; cout << b2 << endl; //The result is 110 //Post increment calculates the expression first, and then calculates the variable++ int a3 = 10; int b3 = a3++ * 10; cout << b3 << endl; //The result is: 100 system("pause"); return 0; }

Summary:

- Pre increment first + + the variable, and then calculate the expression
- In contrast to post increment, the expression is calculated first and then++

### 3.2 assignment operator

Function: used to assign the value of an expression to a variable

The assignment operator includes the following symbols:

operator | term | Examples | result |
---|---|---|---|

= | assignment | a=2; b=3; | a=2; b=3; |

+= | Plus equals | a=0; a+=2; | a=2; |

-= | Minus equals | a=5; a-=3; | a=2; |

*= | Multiply equal | a=2; a*=2; | a=4; |

/= | Equal to divide | a=4; a/=2; | a=2; |

%= | Modulo equal | a=3; a%=2; | a=1; |

Example:

#include<iostream> using namespace std; int main() { //Assignment Operators // Equals= int a = 10; a = 100; //Reassign a cout << "a = " << a << endl; //The result is 100 // Plus equals+= a = 10; //Reassign a a += 2; // Equivalent to a = a + 2; cout << "a = " << a << endl; //The result is 12 // Minus equals-= a = 10; //Reassign a a -= 2; // Equivalent to a = a - 2 cout << "a = " << a << endl; //The result is 8 // Multiply equal*= a = 10; //Reassign a a *= 2; // Equivalent to a = a * 2 cout << "a = " << a << endl; //The result is 20 // Division equals/= a = 10; //Reassign a a /= 2; // Equivalent to a = a / 2; cout << "a = " << a << endl; //The result is 5 // Modulus equal to%= a = 10; //Reassign a a %= 2; // A = 2; cout << "a = " << a << endl; //The result is 0 system("pause"); return 0; }

### 3.3 comparison operator

Function: used to compare expressions and return a true value or false value

The comparison operator has the following symbols:

operator | term | Examples | result |
---|---|---|---|

== | Equal to | 4 == 3 | 0 |

!= | Not equal to | 4 != 3 | 1 |

< | less than | 4 < 3 | 0 |

> | greater than | 4 > 3 | 1 |

<= | Less than or equal to | 4 <= 3 | 0 |

>= | Greater than or equal to | 4 >= 1 | 1 |

Example:

#include<iostream> using namespace std; int main() { int a = 10; int b = 20; cout << (a == b) << endl; //The expression should be enclosed in parentheses, otherwise the output symbol will be regarded as two less than signs // 0 cout << (a != b) << endl; // 1 cout << (a > b) << endl; // 0 cout << (a < b) << endl; // 1 cout << (a >= b) << endl; // 0 cout << (a <= b) << endl; // 1 system("pause"); return 0; }

Note: in the comparison operation of C and C + + languages, "true" is represented by the number "1", and "false" is represented by the number "0".

### 3.4 logical operators

Function: used to return true or false values according to the value of the expression

Logical operators have the following symbols:

operator | term | Examples | result |
---|---|---|---|

! | wrong | !a | If a is false, then! A is true; If a is true, then! A is false. |

&& | And | a && b | If both a and b are true, the result is true, otherwise it is false. |

|| | or | a || b | If one of a and b is true, the result is true. If both are false, the result is false. |

Example 1: logical non

//Logical operator --- not int main() { int a = 10; cout << !a << endl; // 0 cout << !!a << endl; // 1 system("pause"); return 0; }

Summary: reverse operation, true to false, false to true

Example 2: logic and

//Logical operators --- and int main() { int a = 10; int b = 10; cout << (a && b) << endl; //Be careful to have parentheses // 1 a = 10; b = 0; cout << (a && b) << endl;// 0 a = 0; b = 0; cout << (a && b) << endl;// 0 system("pause"); return 0; }

Summary: logic and operator summary: 8-word truth = = the same truth is true, and the rest are false==

Example 3: logical or

//Logical operator --- or int main() { int a = 10; int b = 10; cout << (a || b) << endl; //Be careful to have parentheses // 1 a = 10; b = 0; cout << (a || b) << endl;// 1 a = 0; b = 0; cout << (a || b) << endl;// 0 system("pause"); return 0; }

Logical or operator summary: 8-character true words are false if they are the same as false, and the rest are true