- Operators in C
- What are Operators in C?
- Types of Operators in C
- 1. Arithmetic Operations in C
- a) Unary Operators:
- b) Binary Operators:
- 2. Relational Operators in C
- 3. Logical Operator in C
- 4. Bitwise Operators in C
- 5. Assignment Operators in C
- a) “=”
- b) “+=”
- c) “-=”
- d) “*=”
- e) “/=”
- 6. Other Operators
- i. sizeof operator
- ii. Comma Operator
- iii. Conditional Operator
- iv. dot (.) and arrow (->) Operators
- v. Cast Operator
- vi. &,* Operator
- C operators
- See also
- Операторы в C
- См. также
Operators in C
C Operators are symbols that represent operations to be performed on one or more operands. C provides a wide range of operators, which can be classified into different categories based on their functionality. Operators are used for performing operations on variables and values.
What are Operators in C?
Operators can be defined as the symbols that help us to perform specific mathematical, relational, bitwise, conditional, or logical computations on operands. In other words, we can say that an operator operates the operands. For example, ‘+’ is an operator used for addition, as shown below:
Here, ‘+’ is the operator known as the addition operator, and ‘a’ and ‘b’ are operands. The addition operator tells the compiler to add both of the operands ‘a’ and ‘b’. The functionality of the C programming language is incomplete without the use of operators.
Types of Operators in C
C has many built-in operators and can be classified into 6 types:
- Arithmetic Operators
- Relational Operators
- Logical Operators
- Bitwise Operators
- Assignment Operators
- Other Operators
The above operators have been discussed in detail:
1. Arithmetic Operations in C
These operators are used to perform arithmetic/mathematical operations on operands. Examples: (+, -, *, /, %,++,–). Arithmetic operators are of two types:
a) Unary Operators:
Operators that operate or work with a single operand are unary operators. For example: Increment(++) and Decrement(–) Operators
b) Binary Operators:
Operators that operate or work with two operands are binary operators. For example: Addition(+), Subtraction(-), multiplication(*), Division(/) operators
2. Relational Operators in C
These are used for the comparison of the values of two operands. For example, checking if one operand is equal to the other operand or not, whether an operand is greater than the other operand or not, etc. Some of the relational operators are (==, >= ,
3. Logical Operator in C
Logical Operators are used to combining two or more conditions/constraints or to complement the evaluation of the original condition in consideration. The result of the operation of a logical operator is a Boolean value either true or false.
For example, the logical AND represented as the ‘&&’ operator in C returns true when both the conditions under consideration are satisfied. Otherwise, it returns false. Therefore, a && b returns true when both a and b are true (i.e. non-zero)(See this article for more reference).
4. Bitwise Operators in C
The Bitwise operators are used to perform bit-level operations on the operands. The operators are first converted to bit-level and then the calculation is performed on the operands. Mathematical operations such as addition, subtraction, multiplication, etc. can be performed at the bit level for faster processing. For example, the bitwise AND operator represented as ‘&’ in C takes two numbers as operands and does AND on every bit of two numbers. The result of AND is 1 only if both bits are 1(True).
int a = 5, b = 9; // a = 5(00000101), b = 9(00001001) cout5. Assignment Operators in C
Assignment operators are used to assign value to a variable. The left side operand of the assignment operator is a variable and the right side operand of the assignment operator is a value. The value on the right side must be of the same data type as the variable on the left side otherwise the compiler will raise an error.
Different types of assignment operators are shown below:
a) “=”
This is the simplest assignment operator. This operator is used to assign the value on the right to the variable on the left.
Example:b) “+=”
This operator is the combination of the ‘+’ and ‘=’ operators. This operator first adds the current value of the variable on left to the value on the right and then assigns the result to the variable on the left.
Example:(a += b) can be written as (a = a + b) If initially value stored in a is 5. Then (a += 6) = 11.c) “-=”
This operator is a combination of ‘-‘ and ‘=’ operators. This operator first subtracts the value on the right from the current value of the variable on left and then assigns the result to the variable on the left.
Example:(a -= b) can be written as (a = a - b) If initially value stored in a is 8. Then (a -= 6) = 2.d) “*=”
This operator is a combination of the ‘*’ and ‘=’ operators. This operator first multiplies the current value of the variable on left to the value on the right and then assigns the result to the variable on the left.
Example:(a *= b) can be written as (a = a * b) If initially, the value stored in a is 5. Then (a *= 6) = 30.e) “/=”
This operator is a combination of the ‘/’ and ‘=’ operators. This operator first divides the current value of the variable on left by the value on the right and then assigns the result to the variable on the left.
Example:(a /= b) can be written as (a = a / b) If initially, the value stored in a is 6. Then (a /= 2) = 3.6. Other Operators
Apart from the above operators, there are some other operators available in C used to perform some specific tasks. Some of them are discussed here:
i. sizeof operator
- sizeof is much used in the C programming language.
- It is a compile-time unary operator which can be used to compute the size of its operand.
- The result of sizeof is of the unsigned integral type which is usually denoted by size_t.
- Basically, the sizeof the operator is used to compute the size of the variable.
To know more about the topic refer to this article.
ii. Comma Operator
- The comma operator (represented by the token) is a binary operator that evaluates its first operand and discards the result, it then evaluates the second operand and returns this value (and type).
- The comma operator has the lowest precedence of any C operator.
- Comma acts as both operator and separator.
To know more about the topic refer to this article.
iii. Conditional Operator
- The conditional operator is of the form Expression1? Expression2: Expression3
- Here, Expression1 is the condition to be evaluated. If the condition(Expression1) is True then we will execute and return the result of Expression2 otherwise if the condition(Expression1) is false then we will execute and return the result of Expression3.
- We may replace the use of if..else statements with conditional operators.
To know more about the topic refer to this article.
iv. dot (.) and arrow (->) Operators
- Member operators are used to referencing individual members of classes, structures, and unions.
- The dot operator is applied to the actual object.
- The arrow operator is used with a pointer to an object.
to know more about dot operators refer to this article and to know more about arrow(->) operators refer to this article.
v. Cast Operator
- Casting operators convert one data type to another. For example, int(2.2000) would return 2.
- A cast is a special operator that forces one data type to be converted into another.
- The most general cast supported by most of the C compilers is as follows − [ (type) expression ].
To know more about the topic refer to this article.
vi. &,* Operator
- Pointer operator & returns the address of a variable. For example &a; will give the actual address of the variable.
- The pointer operator * is a pointer to a variable. For example *var; will pointer to a variable var.
To know more about the topic refer to this article.
C operators
The C operators are a subset of the C++ built-in operators.
There are three types of operators. A unary expression consists of either a unary operator followed by an operand, or the sizeof or _Alignof keyword followed by an expression. The expression can be either the name of a variable or a cast expression. If the expression is a cast expression, it must be enclosed in parentheses. A binary expression consists of two operands joined by a binary operator. A ternary expression consists of three operands joined by the conditional-expression operator.
C includes the following unary operators:
Symbol | Name |
---|---|
- ~ ! | Negation and complement operators |
* & | Indirection and address-of operators |
_Alignof | Alignment operator (since C11) |
sizeof | Size operator |
+ | Unary plus operator |
++ -- | Unary increment and decrement operators |
Binary operators associate from left to right. C provides the following binary operators:
Symbol | Name |
---|---|
* / % | Multiplicative operators |
+ - | Additive operators |
>> | Shift operators |
> >= == != | Relational operators |
& | ^ | Bitwise operators |
&& || | Logical operators |
, | Sequential-evaluation operator |
The base operator ( :> ), supported by previous versions of the Microsoft 16-bit C compiler, is described in C Language syntax summary.
The conditional-expression operator has lower precedence than binary expressions and differs from them in being right associative.
Expressions with operators also include assignment expressions, which use unary or binary assignment operators. The unary assignment operators are the increment ( ++ ) and decrement ( -- ) operators; the binary assignment operators are the simple-assignment operator ( = ) and the compound-assignment operators. Each compound-assignment operator is a combination of another binary operator with the simple-assignment operator.
See also
Операторы в C
Операторы C являются подмножеством встроенных операторов C++.
Существуют три типа операторов. Унарное выражение состоит либо из унарного оператора, за которым следует операнд, либо из ключевого слова sizeof или _Alignof , за которым следует выражение. Выражением может быть либо имя переменной, либо выражение приведения типа. В последнем случае выражение должно быть заключено в круглые скобки. Бинарное выражение состоит из 2 операндов, соединенных бинарным оператором. Троичное выражение состоит из 3 операндов, соединенных оператором условного выражения.
В языке C имеются следующие унарные операторы:
Символ | name |
---|---|
- ~ ! | Операторы отрицания и дополнения |
* & | Операторы косвенного обращения и взятия адреса |
_Alignof | Оператор выравнивания (начиная с выпуска C11) |
sizeof | Оператор определения размера |
+ | Оператор унарного сложения |
++ -- | Унарные операторы инкремента и декремента |
Бинарные операторы имеют левую ассоциативность, т. е. выполняются слева направо. В языке C имеются следующие бинарные операторы:
Символ | name |
---|---|
* / % | Мультипликативные операторы |
+ - | Аддитивные операторы |
>> | Операторы сдвига |
> >= == != | Реляционные операторы |
& | ^ | битовые операторы; |
&& || | Логические операторы |
, | Оператор последовательного вычисления |
Базовый оператор ( :> ), который поддерживается в предыдущих версиях компилятора Microsoft C для 16-разрядных систем, описывается в кратком обзоре синтаксиса языка C.
Оператор условного выражения имеет более низкий приоритет, чем бинарные выражения, и отличается от них тем, что имеет правую ассоциативность.
К выражениям с операторами также относятся выражения присваивания, в которых используются унарные или бинарные операторы присваивания. Унарные операторы присваивания — это операторы инкремента и декремента ( ++ и -- соответственно). Бинарные операторы присваивания — это оператор простого присваивания ( = ) и составные операторы присваивания. Все составные операторы присваивания состоят из другого бинарного оператора и оператора простого присваивания.