vault backup: 2025-01-07 18:14:44
This commit is contained in:
@ -0,0 +1,58 @@
|
||||
> 1. What output does the following program fragment produce?
|
||||
```c
|
||||
i = 1;
|
||||
while (i <= 128) {
|
||||
printf("%d ", i);
|
||||
i *= 2;
|
||||
}
|
||||
```
|
||||
|
||||
Output:
|
||||
```
|
||||
1 2 4 8 16 32 64 128
|
||||
```
|
||||
|
||||
> 2. What output does the following program fragment produce?
|
||||
```c
|
||||
i = 9384
|
||||
do {
|
||||
printf("%d ", i);
|
||||
i /= 10;
|
||||
} while (i <= 128);
|
||||
```
|
||||
|
||||
Output:
|
||||
```
|
||||
9384 938 93 9
|
||||
```
|
||||
|
||||
> 3. What output does the following `for` statement produce?
|
||||
```c
|
||||
for (i = 5, j = i - 1; i > 0, j > 0; --i, j = i - 1)
|
||||
printf("%d ", i);
|
||||
```
|
||||
|
||||
Output:
|
||||
```
|
||||
5 4 3 2
|
||||
```
|
||||
|
||||
> 4. Which one of the following statements is not equivalent to the other two (assuming that the loop bodies are the same?)
|
||||
```c
|
||||
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.
|
||||
|
||||
> 5. Which one of the following statements is not equivalent to the other two (assuming that the loop bodies are the same)?
|
||||
```c
|
||||
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.
|
Reference in New Issue
Block a user