177 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			177 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | title: Operators | ||
|  | --- | ||
|  | 
 | ||
|  | # Operators :
 | ||
|  | 
 | ||
|  | * Operators let you perform operations on your data. | ||
|  | * The data that is being operated on is called the  _operand_ . | ||
|  | * The different types of operators in C++ are :  | ||
|  | * *OPERANDS* are the data on which the operator performs certain commands. | ||
|  | * Operators are of 3 types : unary(works on 1 operand), binary(works on 2 operands) , ternary(works on 3 operands). | ||
|  | 
 | ||
|  | ### 1 The I/O operators -
 | ||
|  | 
 | ||
|  | * These operators allow you to direct input and output. | ||
|  |  ## The Input oerator ">>" ##  | ||
|  |  is used to read data from standard input (the "cin" statement) .   | ||
|  | 
 | ||
|  |  ##The Output operator "<<"## | ||
|  |  is used to send output in the `cout` statement. | ||
|  | 
 | ||
|  | ### 2 The Arithmetic operators -
 | ||
|  | 
 | ||
|  | * These operators allow you to perform basic arithmetic operations. | ||
|  |  1. The `+` operator *adds* the two operands. | ||
|  |  2. The `-` operator *subtracts* the two operands. | ||
|  |  3. The `*` operator *multiplies* the two operands. | ||
|  |  4. The `/` operator *divides* and gives the *quotient* of the two operands. | ||
|  |  5. The `%` operator *divides* and gives the *remainder* of the two operands. (Or, for the more mathematically inclined reader, `a % b` is essentially the result of "a mod b" | ||
|  | 
 | ||
|  |  ### Example of using arithmetic operators : | ||
|  |   | ||
|  |  ```cpp | ||
|  | #include <iostream>
 | ||
|  | using namespace std; | ||
|  | 
 | ||
|  | int main() | ||
|  | { | ||
|  |         int a = 5; //1st operand | ||
|  |         int b = 10; //2nd operand | ||
|  |          | ||
|  |         cout << "+ operator " << a+b << "\n"; //Add | ||
|  |         cout << "- operator " << a-b << "\n"; //Subtract | ||
|  |         cout << "* operator " << a*b << "\n"; //Multiply | ||
|  |         cout << "/ operator " << b/a << "\n"; //Find Quotient | ||
|  |         cout << "modulus operator " << b%a << "\n"; //Find remainder | ||
|  |          | ||
|  |         return 0;  | ||
|  | } | ||
|  |  ``` | ||
|  |   | ||
|  |  OUTPUT : | ||
|  | ``` | ||
|  | + operator 15 | ||
|  | - operator -5 | ||
|  | * operator 50 | ||
|  | / operator 2 | ||
|  | modulus operator 0 | ||
|  | ``` | ||
|  | 
 | ||
|  | <a href='https://repl.it/Mge9' target='_blank' rel='nofollow'>Try the code yourself ! :) </a> | ||
|  | 
 | ||
|  | ### The increment operator :
 | ||
|  | 
 | ||
|  | * `++` is known as the increment operator. It increases the value of an integer variable by 1. | ||
|  | 
 | ||
|  | The 2 types of increment :  | ||
|  | 
 | ||
|  | * Pre increment first increments the value and then uses it. Example : `int a ; ++a;` | ||
|  | * Post increment first uses the variable then increments it. Example : `int b; b++;` | ||
|  | 
 | ||
|  | ### The decrement operator :
 | ||
|  | 
 | ||
|  | * `--` is known as the decrement operator. It decreases the value of an integer variable by 1. | ||
|  | 
 | ||
|  | The 2 types of decrement :  | ||
|  | 
 | ||
|  | * Pre decrement first decrements the value and then uses it. Example : `int a ; --a;` | ||
|  | * Post decrement first uses the variable then decrements it. Example : `int b; b--;` | ||
|  | 
 | ||
|  | Example of Increment and decrement operators : | ||
|  | 
 | ||
|  | ```cpp | ||
|  | #include <iostream>
 | ||
|  | using namespace std; | ||
|  | 
 | ||
|  | int main() | ||
|  | {  | ||
|  |         int a = 3 ,b = 4; | ||
|  |    | ||
|  |          // INCREMENT | ||
|  |         cout<< "Value of int a PRE INCREMENTED : " << ++a << "\n"; | ||
|  |         cout<< "Value of int b POST INCREMENTED : " << b++ << "\n"; | ||
|  |         cout<< "Value of b is changed after using once : " << b << "\n"; | ||
|  |    | ||
|  |          // DECREMENT | ||
|  |         cout << "\n"; //go to next line  | ||
|  |         a = 10; //Assigning a new value to a | ||
|  |         b = 10; //Assigning a new value to b | ||
|  |         cout << "Value of int a PRE DECREMENTED : " << --a << "\n"; | ||
|  |         cout << "Value of int b POST DECREMENTED : " << b-- << "\n"; | ||
|  |         cout << "Value of b is changed after using once : " << b << "\n"; | ||
|  |          | ||
|  |         return 0; | ||
|  | } | ||
|  | ``` | ||
|  | 
 | ||
|  | OUTPUT : | ||
|  | 
 | ||
|  | ``` | ||
|  | Value of int a PRE INCREMENTED : 4 | ||
|  | Value of int b POST INCREMENTED : 4 | ||
|  | Value of b is changed after using once : 5 | ||
|  | 
 | ||
|  | Value of int a PRE DECREMENTED : 9 | ||
|  | Value of int b POST DECREMENTED : 10 | ||
|  | Value of b is changed after using once : 9 | ||
|  | ``` | ||
|  | 
 | ||
|  | <a href='https://repl.it/Mgg4/2' target='_blank' rel='nofollow'>Try the code yourself ! :) </a> | ||
|  | 
 | ||
|  | ### 3 : Relational Operators :
 | ||
|  | 
 | ||
|  | * These operators tell us the relation among 2 operands and return a boolean value(0 or 1). If the relation is `true` then it results into 1 . If the realtion is false then it results into 0. | ||
|  | 
 | ||
|  | * The 6 relational operators are : | ||
|  |     1. Less than `<` | ||
|  |     2. Greater than `>` | ||
|  |     3. Less than or equal to `<=` | ||
|  |     4. Greater than or equal to `>=` | ||
|  |     5. Equal to `==` | ||
|  |     6. Not equal to `!=` | ||
|  | 
 | ||
|  | 
 | ||
|  | ### 4 : Logical Operators : 
 | ||
|  | 
 | ||
|  | * These operators combine expressions for logical operations . They are : | ||
|  |  1. Logical AND `&&` : Evaluates to true if both values are true . | ||
|  |  2. Logical OR `||`  : Evaluates to true if any value is true . | ||
|  |  3. Logical NOT `!`  : If *expression* is true then *!expression* is false. This operator reverses the truth value and is a unary operator. | ||
|  |   | ||
|  |  ### 5. Ternary Operators :  | ||
|  |   | ||
|  |  The `?:` operator is the ternary operator, or the _conditional operator_, becuase it can be used to substitute an `if else` statement, or even an `if else if` statement. | ||
|  | The syntax:  | ||
|  | 
 | ||
|  | `condition ? ValueIfTrue : ValueIfFalse `. This expands to: | ||
|  | 
 | ||
|  | ```cpp | ||
|  | if(condition) | ||
|  |  ValueIfTrue; | ||
|  | else ValueIfFalse; | ||
|  | ``` | ||
|  | 
 | ||
|  | Calling `ValueIfTrue` a value is a bit wrong, since it need not be a number. Something like this: | ||
|  | 
 | ||
|  | `condition ? FirstLevelTrueValue : ConditionIfFalse ? SecondLevelTrueValue : SecondLevelFalseValue ` also works, and is interpreted as the following `if else if` statement: | ||
|  | 
 | ||
|  | ```cpp | ||
|  | if(condition) | ||
|  |  FirstLevelTrueValue; | ||
|  | else if(ConditionIfFalse) | ||
|  |  SecondLevelTrueValue; | ||
|  | else SecondLevelFalseValue; | ||
|  | ``` | ||
|  | Similarly, nested `if` statements can also be made using ternary operators. | ||
|  | 
 | ||
|  | 
 | ||
|  | _Camper , You now know what tokens are. The next article will be about <need-to-put-topic> CONGRATULATIONS_  | ||
|  |   | ||
|  |  **Good Luck to all of you**  | ||
|  |   | ||
|  |  **Happy Coding ! :)** | ||
|  |   | ||
|  |  **Feel free to ask any queries on FreeCodeCamp's GitHub page or <a href='https://forum.freecodecamp.org/' target='_blank' rel='nofollow'>FreeCodeCamp's Forum .</a>** | ||
|  | 
 |