An expression
in C is a combination of operands and operators – it computes a single value stored in a variable. The operator denotes the action or operation to be performed. The operands are the items to which we apply the operation.
An expression
can be defined depending on the position and number of its operator and operands:
a = x + y
xy+
+xy
x++
x+y
There are six types of expressions
. These are shown below:
It consists of arithmetic operators ( + , - , * , and / ) and computes values of int, float, or double
type.
#include <stdio.h>int main(){//Arithmetic Expressionint a = (6 * 2) + 7 - 9;printf("The arithmetic expression returns: %d\n", a);return 0;}
It usually consists of comparison operators (> , < , >= , <= , === , and !== ) and computes the answer in the bool
type, i.e., true (1) or false (0).
#include <stdio.h>int main(){//Relational Expressionint b = 10;printf("The relational expression returns: %d\n", b % 2 == 0);return 0;}
It consists of logical operators (&&, ||, and !) and combines relational expressions to compute answers in the bool
type.
#include <stdio.h>int main(){//Logical Expressionint c = (7 > 9) && ( 5 <= 9);printf("The logical expression returns: %d\n", c);return 0;}
It consists of conditional statements that return true
if the condition is met and false
otherwise.
#include <stdio.h>int main(){//Conditional Expressionint d = (34 > 7) ? 1 : 0;printf("The conditional expression returns: %d\n", d);return 0;}
It may consist of an ampersand (&) operator and returns address
values.
#include <stdio.h>int main(){//Pointer Expressionint e = 20;int *addr = &e;printf("The pointer expression returns: %p\n", addr);return 0;}
It consists of bitwise operators ( >>, <<, ~, &, |, and ^ ) and performs operations at the bit level.
#include <stdio.h>int main(){//Bitwise Expressionint f = 10;int shift = 10 >> 1;printf("The bitwise expression returns: %d\n", shift);return 0;}
Expressions play a pivotal role in manipulating data and enabling logical and mathematical operations within C programs, forming the core of computational tasks in the language.