C Programming/Operators: Difference between revisions
| (8 intermediate revisions by the same user not shown) | |||
| Line 5: | Line 5: | ||
== Arithmetic Operators == | == Arithmetic Operators == | ||
Arithmetic Operators are used to performing mathematical calculations like addition <code>+</code>, subtraction <code>-</code>, multiplication <code>*</code>, division <code>/</code> and modulus <code>%</code>. | Arithmetic Operators are used to performing mathematical calculations like addition <code>+</code>, subtraction <code>-</code>, multiplication <code>*</code>, division <code>/</code> and modulus <code>%</code>. | ||
{| class="wikitable sortable" | |||
|- | |||
! Operator !! Description | |||
|- | |||
| + || Addition | |||
|- | |||
| - || Subtraction | |||
|- | |||
| * || Multiplication | |||
|- | |||
| / || Division | |||
|- | |||
| % || Modulus | |||
|} | |||
== Increment and Decrement Operators == | == Increment and Decrement Operators == | ||
Increment and Decrement Operators are useful operators generally used to minimize the calculation, i.e. <code>++x</code> & <code>x++</code> means <code>x=x+1</code> or <code>--x</code> & <code>x−−</code> means <code>x=x-1</code>. But there is a slight difference between <code>++</code> or <code>−−</code> written before or after the operand. Applying the pre-increment first add one to the operand and then the result is assigned to the variable on left whereas post-increment first assigns the value to the variable on left and then increment the operand. | Increment and Decrement Operators are useful operators generally used to minimize the calculation, i.e. <code>++x</code> & <code>x++</code> means <code>x=x+1</code> or <code>--x</code> & <code>x−−</code> means <code>x=x-1</code>. But there is a slight difference between <code>++</code> or <code>−−</code> written before or after the operand. Applying the pre-increment first add one to the operand and then the result is assigned to the variable on left whereas post-increment first assigns the value to the variable on left and then increment the operand. | ||
{| class="wikitable sortable" | |||
|- | |||
! Operator !! Description | |||
|- | |||
| ++ || Increment | |||
|- | |||
| −− || Decrement | |||
|} | |||
== Relational Operators == | == Relational Operators == | ||
Relational operators are used to compare two quantities or values. | Relational operators are used to compare two quantities or values. | ||
{| class="wikitable sortable" | |||
|- | |||
! Operator !! Description | |||
|- | |||
| == || Is equal to | |||
|- | |||
| != || Is not equal to | |||
|- | |||
| > || Greater than | |||
|- | |||
| < || Less than | |||
|- | |||
| >= || Greater than or equal to | |||
|- | |||
| <= || Less than or equal to | |||
|} | |||
== Logical Operators == | == Logical Operators == | ||
'''C''' provides three logical operators when we test more than one condition to make decisions. These are: <code>&&</code> (meaning logical AND), <code>||</code> (meaning logical OR) and <code>!</code> (meaning logical NOT). | '''C''' provides three logical operators when we test more than one condition to make decisions. These are: <code>&&</code> (meaning logical AND), <code>||</code> (meaning logical OR) and <code>!</code> (meaning logical NOT). | ||
{| class="wikitable" | |||
|- | |||
! Operator !! Description | |||
|- | |||
| && || And operator. Performs a logical conjunction of two expressions. (if both expressions evaluate to True, result is True. If either expression evaluates to False, result is False) | |||
|- | |||
| || || Or operator. Performs a logical disjunction on two expressions. (if either or both expressions evaluate to True, result is True) | |||
|- | |||
| ! || Not operator. Performs logical negation on an expression. | |||
|} | |||
== Bitwise Operators == | == Bitwise Operators == | ||
'''C''' provides a special operator for bit operation between two variables. | '''C''' provides a special operator for bit operation between two variables. | ||
{| class="wikitable sortable" | |||
|- | |||
! Operator !! Description | |||
|- | |||
| << || Binary Left Shift Operator | |||
|- | |||
| >> || Binary Right Shift Operator | |||
|- | |||
| ~ || Binary One's Complement Operator | |||
|- | |||
| & || Binary AND Operator | |||
|- | |||
| ^ || Binary XOR Operator | |||
|- | |||
| | || Binary OR Operator | |||
|} | |||
== Assignment Operators == | == Assignment Operators == | ||
Assignment operators applied to assign the result of an expression to a variable. C has a collection of shorthand assignment operators. | Assignment operators applied to assign the result of an expression to a variable. C has a collection of shorthand assignment operators. | ||
{| class="wikitable sortable" | |||
|- | |||
! Operator !! Description | |||
|- | |||
| = || Assign | |||
|- | |||
| += || Increments then assigns | |||
|- | |||
| -= || Decrements then assigns | |||
|- | |||
| *= || Multiplies, then assigns | |||
|- | |||
| /= || Divides then assigns | |||
|- | |||
| %= || Modulus then assigns | |||
|- | |||
| <<= || Left shift and assigns | |||
|- | |||
| >>= || Right shift and assigns | |||
|- | |||
| &= || Bitwise AND assigns | |||
|- | |||
| ^= || Bitwise exclusive OR and assigns | |||
|- | |||
| |= || Bitwise inclusive OR and assigns | |||
|} | |||
== Conditional Operator == | == Conditional Operator == | ||
'''C''' offers a ternary operator which is the conditional operator (?: in combination) to construct conditional expressions. | '''C''' offers a ternary operator which is the conditional operator (<code>?:</code> in combination) to construct conditional expressions. | ||
{| class="wikitable sortable" | |||
|- | |||
! Operator !! Description | |||
|- | |||
| ? : || Conditional Expression | |||
|} | |||
== Special Operators == | == Special Operators == | ||
'''C''' supports some special operators | '''C''' supports some special operators | ||
{| class="wikitable sortable" | |||
|- | |||
! Operator !! Description | |||
|- | |||
| sizeof() || Returns the size of a memory location. | |||
|- | |||
| & || Returns the address of a memory location. | |||
|- | |||
| * || Pointer to a variable. | |||
|} | |||
Latest revision as of 10:21, 5 February 2018
An operator is a symbol that tells the compiler to perform specific mathematical or logical functions. C language is rich in built-in operators and provides the following types of operators:
Arithmetic Operators
Arithmetic Operators are used to performing mathematical calculations like addition +, subtraction -, multiplication *, division / and modulus %.
| Operator | Description |
|---|---|
| + | Addition |
| - | Subtraction |
| * | Multiplication |
| / | Division |
| % | Modulus |
Increment and Decrement Operators
Increment and Decrement Operators are useful operators generally used to minimize the calculation, i.e. ++x & x++ means x=x+1 or --x & x−− means x=x-1. But there is a slight difference between ++ or −− written before or after the operand. Applying the pre-increment first add one to the operand and then the result is assigned to the variable on left whereas post-increment first assigns the value to the variable on left and then increment the operand.
| Operator | Description |
|---|---|
| ++ | Increment |
| −− | Decrement |
Relational Operators
Relational operators are used to compare two quantities or values.
| Operator | Description |
|---|---|
| == | Is equal to |
| != | Is not equal to |
| > | Greater than |
| < | Less than |
| >= | Greater than or equal to |
| <= | Less than or equal to |
Logical Operators
C provides three logical operators when we test more than one condition to make decisions. These are: && (meaning logical AND), || (meaning logical OR) and ! (meaning logical NOT).
| Operator | Description |
|---|---|
| && | And operator. Performs a logical conjunction of two expressions. (if both expressions evaluate to True, result is True. If either expression evaluates to False, result is False) |
| || | Or operator. Performs a logical disjunction on two expressions. (if either or both expressions evaluate to True, result is True) |
| ! | Not operator. Performs logical negation on an expression. |
Bitwise Operators
C provides a special operator for bit operation between two variables.
| Operator | Description |
|---|---|
| << | Binary Left Shift Operator |
| >> | Binary Right Shift Operator |
| ~ | Binary One's Complement Operator |
| & | Binary AND Operator |
| ^ | Binary XOR Operator |
| | | Binary OR Operator |
Assignment Operators
Assignment operators applied to assign the result of an expression to a variable. C has a collection of shorthand assignment operators.
| Operator | Description |
|---|---|
| = | Assign |
| += | Increments then assigns |
| -= | Decrements then assigns |
| *= | Multiplies, then assigns |
| /= | Divides then assigns |
| %= | Modulus then assigns |
| <<= | Left shift and assigns |
| >>= | Right shift and assigns |
| &= | Bitwise AND assigns |
| ^= | Bitwise exclusive OR and assigns |
| |= | Bitwise inclusive OR and assigns |
Conditional Operator
C offers a ternary operator which is the conditional operator (?: in combination) to construct conditional expressions.
| Operator | Description |
|---|---|
| ? : | Conditional Expression |
Special Operators
C supports some special operators
| Operator | Description |
|---|---|
| sizeof() | Returns the size of a memory location. |
| & | Returns the address of a memory location. |
| * | Pointer to a variable. |