C Programming/Operators: Difference between revisions

From Chorke Wiki
Jump to navigation Jump to search
(Created page with "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 type...")
 
 
(12 intermediate revisions by the same user not shown)
Line 4: Line 4:


== 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>.


{| class="wikitable sortable"
|-
! 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. <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.


{| 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).


{| 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)
|-
| &#124;&#124; || 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.


{| class="wikitable sortable"
|-
! Operator !! Description
|-
| << || Binary Left Shift Operator
|-
| >> || Binary Right Shift Operator
|-
| ~ || Binary One's Complement Operator
|-
| & || Binary AND Operator
|-
| ^ || Binary XOR Operator
|-
| &#124; || 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.
{| 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
|-
| &#124;= || Bitwise inclusive OR and assigns
|}
== Conditional Operator ==
'''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 ==
'''C''' supports some special operators


== Misc 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 04: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.