if statement can conditionally execute code, and is a frequently used statement in programming. When the value of num is less than 5, the statement will be executed and print "The number is less than 5."
int num = 2;
// some operations may change num's value
if (num < 5)
cout << "The number is less than 5." << endl;If it is a compound statement to be executed, the compound statement should be brace-enclosed. Even it is an one-line statement, it can also be brace-enclosed.
if (num == 5 )
{
cout << "The number is 5." << endl;
//some other lines
}else statement will be executed when the condition follows if is not true.
if (num == 5 )
{
cout << "The number is 5." << endl;
}
else
{
cout << "The number is not 5." << endl;
}If there are multiple conditions to be evaluated, you can use else if as follows. The first condition num < 5 will be evaluated first, and then the second condition num > 10. If no matched conditions, the else statement will be executed.
if (num < 5)
cout << "The number is less than 5." << endl;
else if (num > 10)
cout << "The number is greater than 10." << endl;
else
cout << "The number is in range [5, 10]." << endl;else will be associated with the closest if. In the following code, else is associated with if(num < 5), not if(num < 10). Even no error is in the following code, some compilers will also give some warning messages since it may confuse readers.
if(num < 10)
if(num < 5)
cout << "The number is less than 5" << endl;
else
cout << "Where I'm?" << endl;To make the source code easier to understand, I suggest to use braces and indents to format the source code as follows.
if(num < 20)
{
if(num < 5)
cout << "The number is less than 5" << endl;
else
cout << "Where I'm?" << endl;
}The ternary conditional operator ? : is also widely used to replace some if else statements.
bool isPositive = true;
int factor = 0;
//some operations may change isPositive's value
if(isPositive)
factor = 1;
else
factor = -1;The if else statement can be replaced by one line code as follows.
factor = isPositive ? 1 : -1;If the condition before ? is true, the value will be the one between ? and :. Otherwise, the value will be the one after :.
For the previous example, it can even be simplified to an expression without jump. In the instructions compiled from if, ? :, for, while and some others, there are jump statements. Different with them, the following code does not contain jumps. It should be more efficient most of the time. But not all ? : statements can be converted to the following style statement.
factor = (isPositive) * 2 - 1;-
a calculator?
-
Makefile (how to manage multiple source files using a Makefile)