Expression Evaluation in C

Expression Evaluation in C

While knowing about expression evaluation we must understand what is an expression in C and what is an expression means. An expression in C is defined as 2 or more operands are connected by one operator and which can also be said to a formula to perform any operation. An operand is a function reference, an array element, a variable, or any constant. An operator is symbols like “+”, “-“, “/”, “*” etc. Now expression evaluation is nothing but operator precedence and associativity. Expression precedence in C tells you which operator is performed first, next, and so on in an expression with more than one operator with different precedence. This plays a crucial role while we are performing day to day arithmetic operations. If we get 2 same precedences appear in an expression, then it is said to be “Associativity”. Now in this case we can calculate this statement either from Left to right or right to left because this both are having the same precedence.

Web development, programming languages, Software testing & others

Types of Expression Evaluation in C

In C there are 4 types of expressions evaluations

  1. Arithmetic expressions evaluation
  2. Relational expressions evaluation
  3. Logical expressions evaluation
  4. Conditional expressions evaluation

Every expression evaluation of these 4 types takes certain types of operands and used a specific type of operators. The result of this expression evaluation operation produces a specific value.

Example to Implement Expression Evaluation in C

Below are some examples mentioned:

1. Arithmetic expression Evaluation

Addition (+), Subtraction(-), Multiplication(*), Division(/), Modulus(%), Increment(++) and Decrement(–) operators are said to “Arithmetic expressions”. These operators work in between operands. like A+B, A-B, A–, A++ etc. While we perform the operation with these operators based on specified precedence order as like below image.

A+B*C/D-E%F

Arithmetic Expression evaluation order:

addition

Code:

Explanation: As you can see in the above example arithmetic expression values evaluated based on precedence as the first *, followed by /, %, + and -.

2. Relational expression evaluation

Relation expression evaluation order:

expression evaluation in c9

Code:

Explanation: As you can see in the above example relational expression values evaluated based on precedence as First , >=, ==, !=.

3. Logical expression evaluation

&&(Logical and), ||(Logical or) and !(Logical not) operators are said to “Logical expressions”. Used to perform a logical operation. These operators work in between operands. Like A&&B, A||B, A!B etc. While we perform the operation with these operators based on specified precedence order as like the below image.

Logical expression evaluation order:

left to right

Code:

Explanation: As you can see in the above example logical expression values evaluated based on precedence as the First &&, followed by || and !.

4. Conditional expression Evaluation

?(Question mark) and :(colon) are said to “Conditional expressions”. Used to perform a conditional check. It has 3 expressions first expression is condition. If it is true then execute expression2 and if it is false then execute expression3. Like (A>B)?”A is Big”:”B is Big”. While we perform the operation with these operators based on specified precedence order as like the below image.

(X+2=10)?’true’:’false’;

Conditional expression Evaluation order:

right to left

Code:

//used to include basic C libraries #include //main method for run c application int main() < //declaring variables int a,b,c; int result_con_eval; //Asking the user to enter 3 numbers printf("Enter 3 numbers for Conditional evaluation operation\n"); //Storing 3 numbers in varaibles a, b and c scanf("%d\n%d\n%d",&a,&b,&c); //Conditional evaluation operations and its result displaying result_con_eval=(a>b && a>b)? a: (b>a && b>c)? b:c; printf("================CONDITIONAL EXPRESSION EVALUATION==============\n"); printf("Maximum value of %d, %d and %d is = %d \n",a,b,c,result_con_eval); printf("============================================================== alignnone wp-image-368914 size-full" svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20561%20145'%3E%3C/svg%3E" alt="Conditional expression Evaluation" width="561" height="145" data-lazy-srcset="https://cdn.educba.com/academy/wp-content/uploads/2020/05/expression-evaluation-in-c8.jpg 561w, https://cdn.educba.com/academy/wp-content/uploads/2020/05/expression-evaluation-in-c8-300x78.jpg 300w" data-lazy-sizes="(max-width: 561px) 100vw, 561px" data-lazy-src="https://cdn.educba.com/academy/wp-content/uploads/2020/05/expression-evaluation-in-c8.jpg" />

Explanation: As you can see in the above example conditional expression values evaluated based on precedence as First ? and:.

Conclusion

Expression evaluation in C is used to determine the order of the operators to calculate the accurate output. Arithmetic, Relational, Logical, and Conditional are expression evaluations in C.

Recommended Articles

This is a guide to Expression Evaluation in C. Here we discuss an introduction to Expression Evaluation in C, with types and respective examples for better understanding. You can also go through our other related articles to learn more –

  1. Operator Precedence in C++
  2. Patterns in C Programming
  3. Arrays in C Programming
  4. Functional Programming in Java
ADVERTISEMENT all.in.one: EXCEL VBA - 100+ Courses | 1207+ Hrs | 15+ Specializations | Tests | Certificates

1207+ Hours of HD Videos
15+ Learning Paths
100+ Courses
40+ Projects
Verifiable Certificate of Completion
Lifetime Access

ADVERTISEMENT all.in.one: FINANCE - 750+ Courses | 6133+ Hrs | 40+ Specializations | Tests | Certificates

6133+ Hours of HD Videos
40+ Learning Paths
750+ Courses
40+ Projects
Verifiable Certificate of Completion
Lifetime Access

ADVERTISEMENT

all.in.one: AI & DATA SCIENCE - 470+ Courses | 4655+ Hrs | 80+ Specializations | Tests | Certificates

4655+ Hours of HD Videos
80+ Learning Paths
470+ Courses
50+ Projects
Verifiable Certificate of Completion
Lifetime Access

ADVERTISEMENT all.in.one: IT & CS - 990+ Courses | 7286+ Hrs | 150+ Specializations | Tests | Certificates

7286+ Hours of HD Videos
150+ Learning Paths
990+ Courses
50+ Projects
Verifiable Certificate of Completion
Lifetime Access

Primary Sidebar

all.in.one: IT & CS - 990+ Courses | 7286+ Hrs | 150+ Specializations | Tests | Certificates 7286+ Hours of HD Videos | 150+ Learning Paths | 990+ Courses | 50+ Projects | Verifiable Certificate of Completion | Lifetime Access

all.in.one: AI & DATA SCIENCE - 470+ Courses | 4655+ Hrs | 80+ Specializations | Tests | Certificates 4655+ Hours of HD Videos | 80+ Learning Paths | 470+ Courses | 50+ Projects | Verifiable Certificate of Completion | Lifetime Access