In C programming Language, Decision-Making statements are used when a user wants a certain block to be executed under certain conditions.
It also allows the user to determine the order in which a certain block has to be executed, or repeat that block until the certain condition is fulfilled.
C programming language provides the following types of decision-making statements:
if statement in C
An if statement consists of a Boolean expression followed by one or more statements. If the boolean expression is true, the block of code inside the if statement will be executed else not.
Syntax of if
statement in C:
1 2 3 4 5 | if (boolean expression) { /* if expression is true */ statements... ; /* Execute statements */ } |
if…else statement in C
If the Boolean expression is true then the code inside the if
statement block is executed or if it is false then the code inside else
statement will be executed. Hence if..else statement.
Syntax of if...else
statement in C:
1 2 3 4 5 6 7 8 | if (condition) { //code executed if condition true } else { //code executed if condition false } |
nested if statement in C
This statement allows the user to use if
block inside the other if
block. And the inner if
statement is executed only if the outer if
statement’s condition is true.
Syntax of nested if
statement in C:
1 2 3 4 5 6 7 8 | if(condition1) { //block of code to be executed if(condition2) { //block of code to be executed } } |
switch statement in C
A switch statement allows a variable to be tested for equality against multiple values and each of those values is called a case. It can be used instead of nested if...else
.
Switch expression and case value must be of the same type. There must be at least one case or multiple cases with unique case values. In the end, it can have a default case which is optional that is executed if no cases are matched.
Syntax of switch
statement in C:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | switch (expression) { case value1: //code to be executed; break; //optional case value2: //code to be executed; break; //optional . . . . case valueN: //code to be executed; break; //optional default: code to be executed if all cases are not matched; } |
nested switch statement in C
The use of switch statement inside another switch statement is called nested switch statement.
Syntax of nested switch
statement in C:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | switch(ch1) { case 'A': printf("This A is part of outer switch" ); //use of another switch statement switch(ch2) { case 'A': printf("This A is part of inner switch" ); break; case 'B': /* case code */ } break; case 'B': /* case code */ } |
The ? : Operator
? :
This operator is called a conditional operator or ternary operator. The execution of this operator depends on the result of binary condition.
Ternary Operator can also be used instead of if...else
statement as it does follow the same algorithm and the only difference is ternary operator takes less space and it’s the short version of if...else
statement.
? : Operator is also called Ternary Operator because it takes three operands to operate, as shown in the syntax below.
Syntax of Ternary Operator:
1 | variable = Condition ? Expression1 : Expression1 |
Here, the condition that is the binary condition is to be evaluated. And if the binary condition is true then Expression1 is executed and if it is false then Expression2 is executed. And both of them return the results.
Example of Ternary Operator in C:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #include <stdio.h> int main() { // declaring variables int num1 = 5, num2 = 10, minNum; /*Using Ternary Operator to find smallest among num1 and num2 */ minNum = (num1 > num2) ? num1 : num2; // Display Smallest Number printf("The smallest number is: %d", minNum); return 0; } |
The Output of Ternary Operator:
1 | The smallest number is: 10 |