The if statement evaluates the test expression inside the parenthesis () .
How if statement works in C programming?" width="527" height="196" />
To learn more about when test expression is evaluated to true (non-zero value) and false (0), check relational and logical operators.
// Program to display a number if it is negative #include int main() < int number; printf("Enter an integer: "); scanf("%d", &number); // true if number is less than 0 if (number < 0) < printf("You entered %d.\n", number); >printf("The if statement is easy."); return 0; >
Output 1
Enter an integer: -2 You entered -2. The if statement is easy.
Output 2
Enter an integer: 5 The if statement is easy.
The if statement may have an optional else block. The syntax of the if..else statement is:
if (test expression) < // run code if test expression is true >else < // run code if test expression is false >
If the test expression is evaluated to true,
If the test expression is evaluated to false,
// Check whether an integer is odd or even #include int main() < int number; printf("Enter an integer: "); scanf("%d", &number); // True if the remainder is 0 if (number%2 == 0) < printf("%d is an even integer.",number); >else < printf("%d is an odd integer.",number); >return 0; >
Output
Enter an integer: 7 7 is an odd integer.
When the user enters 7, the test expression number%2==0 is evaluated to false. Hence, the statement inside the body of else is executed.
The if. else statement executes two different codes depending upon whether the test expression is true or false. Sometimes, a choice has to be made from more than 2 possibilities.
The if. else ladder allows you to check between multiple test expressions and execute different statements.
if (test expression1) < // statement(s) >else if(test expression2) < // statement(s) >else if (test expression3) < // statement(s) >. . else < // statement(s) >
// Program to relate two integers using =, > or < symbol #include int main() < int number1, number2; printf("Enter two integers: "); scanf("%d %d", &number1, &number2); //checks if the two integers are equal. if(number1 == number2) < printf("Result: %d = %d",number1,number2); >//checks if number1 is greater than number2. else if (number1 > number2) < printf("Result: %d >%d", number1, number2); > //checks if both test expressions are false else < printf("Result: %d < %d",number1, number2); >return 0; >
Output
Enter two integers: 12 23 Result: 12 < 23
It is possible to include an if. else statement inside the body of another if. else statement.
This program given below relates two integers using either < , >and = similar to the if. else ladder's example. However, we will use a nested if. else statement to solve this problem.
#include int main() < int number1, number2; printf("Enter two integers: "); scanf("%d %d", &number1, &number2); if (number1 >= number2) < if (number1 == number2) < printf("Result: %d = %d",number1,number2); >else < printf("Result: %d >%d", number1, number2); > > else < printf("Result: %d < %d",number1, number2); >return 0; >
If the body of an if. else statement has only one statement, you do not need to use brackets <> .
For example, this code
if (a > b) < printf("Hello"); >printf("Hi");
is equivalent to
if (a > b) printf("Hello"); printf("Hi");