## DEV Community

Mirsoli Mirzaahmad õğli

Posted on • Updated on

# Lesson 03 | Conditionals

## Types of Conditionals

A conditional in C can be written using `if`, `else-if`, `else`, `ternary operators`, and `switch` statements.

## if Statements

An `if` statement tests an expression and executes code based on its truth.

``````if (x == 3) {
printf("x is 3!");
}
``````

## else-if Statements

An `else-if` statement tests an expression and must come after an existing `if` or `else-if`.

``````if (x > 3) {
printf("x is greater than 3");
} else if (x < 3) {
printf("x is less than 3");
}
``````

## else Statements

An `else` statement is accessed when all preceding `if` and/or `else-if` statements return false.

``````if (x > 3) {
printf("x is greater than 3");
} else if (x < 3) {
printf("x is less than 3");
} else {
printf("x equals 3");
}
``````

## Dangling else Statement

A dangling `else` statement results when it’s ambiguous which conditional the `else` statement is attached to.

## Ternary Operators

A ternary operator is a condensed `if-else` statement.

``````min = a < b ? a : b; // This is the same as the if-else below

if (a < b) {
min = a;
} else {
min = b;
}
``````

## switch Statements

A `switch` statement is a condensed series of cascading `else` statements. It tests a value and compares it against multiple cases.

``````switch (grade) {
case 9:
printf("Freshman\n");
break;
case 10:
printf("Sophomore\n");
break;
case 11:
printf("Junior\n");
break;
case 12:
printf("Senior\n");
break;
default:
printf("Invalid\n");
break;
}
``````

## Operators and Conditionals

A conditional in C can use relational operators such as `&&`, `||`, and `!` to compare values and test multiple expressions.