1.1 KiB
1.1 KiB
- What output does the following program fragment produce?
i = 1;
while (i <= 128) {
printf("%d ", i);
i *= 2;
}
Output:
1 2 4 8 16 32 64 128
- What output does the following program fragment produce?
i = 9384
do {
printf("%d ", i);
i /= 10;
} while (i <= 128);
Output:
9384 938 93 9
- What output does the following
for
statement produce?
for (i = 5, j = i - 1; i > 0, j > 0; --i, j = i - 1)
printf("%d ", i);
Output:
5 4 3 2
- Which one of the following statements is not equivalent to the other two (assuming that the loop bodies are the same?)
for (i = 0; i < 10; i++) // (a)
for (i = 0; i < 10; ++i) // (b)
for (i = 0; i ++ < 10; ) // (c)
Answer: C is not the same as A and B, because the increment takes place before the loop body is executed.
- Which one of the following statements is not equivalent to the other two (assuming that the loop bodies are the same)?
while (i < 10) {...} // (a)
for (; i < 10;) {...} // (b)
do {...} while (i < 10); // (c)
Answer: C is not the same as A and B, because the block is executed before the condition is checked.