Programming with C Language
Tutorial 04 – Writing if condition
1) What is wrong with the following if statement (there are at least 3 errors). The Indentation
indicates the desired behavior.
if numNeighbors >= 3 || numNeighbors = 4
++numNeighbors;
printf("You are dead! \n " );
else
--numNeighbors;
2) Describe the output produced by this poorly indented program segment:
int number = 4;
double alpha = -1.0;
if (number > 0)
if (alpha > 0)
printf("Here I am! \n" );
else
printf("No, I’m here! \n");
printf(“No, actually, I’m here! \n");
3) Consider the following if statement, where doesSignificantWork, makesBreakthrough,
and nobelPrizeCandidate are all boolean variables:
if (doesSignificantWork) {
if (makesBreakthrough)
nobelPrizeCandidate = true;
else
nobelPrizeCandidate = false;
else if (!doesSignificantWork)
nobelPrizeCandidate = false;
4) Write if statements to do the following:
– If character variable taxCode is ’T’, increase price by adding the taxRate percentage of price to it.
– If integer variable opCode has the value 1, read in double values for X and Y and calculate and print
their sum.
– If integer variable currentNumber is odd, change its value so that it is now 3 times currentNumber
plus 1, otherwise change its value so that it is now half of currentNumber (rounded down when
currentNumber is odd).
– Assign true to the boolean variable leapYear if the integer variable year is a leap year. (A leap year is
a multiple of 4, and if it is a multiple of 100, it must also be a multiple of 400.)
– Assign a value to double variable cost depending on the value of integer variable distance as follows:
Distance Cost
----------------------------------- ----------
0 through 100 5.00
More than 100 but not more than 500 8.00
More than 500 but less than 1,000 10.00
1,000 or more 12.00