Introduction to C++ Programming, Y. Daniel Liang
Chapter 4 Loops
Section 4.2 The while Loop
1
How many times the following code prints "Welcome to C++"?
int count = 0;
while (count < 10)
{
   cout << "Welcome to C++";
   count++;
}
A.
8
B.
9
C.
10
D.
11
E.
0
2
Analyze the following code.
int count = 0;
while (count < 100)
{
   // Point A
   cout << "Welcome to C++!" << endl;
   count++;
   // Point B
}
   // Point C
int count = 0;
while (count < 100)
{
   // Point A
   cout << "Welcome to C++!\n";
   count++;
   // Point B
}
   // Point C
A.
count < 100 is always true at Point A
B.
count < 100 is always true at Point B
C.
count < 100 is always false at Point B
D.
count < 100 is always true at Point C
E.
count < 100 is always false at Point C
3
How many times the following code prints "Welcome to C++"?
int count = 0;
while (count++ < 10)
{
   cout << "Welcome to C++";
}
A.
8
B.
9
C.
10
D.
11
E.
0
Section 4.3 The do-while Loop
4
How many times the following code prints "Welcome to C++"?
int count = 0;
do
{
   cout << "Welcome to C++";
   count++;
} while (count < 10);
A.
8
B.
9
C.
10
D.
11
E.
0
5
How many times the following code prints "Welcome to C++"?
int count = 0;
do
{
   cout << "Welcome to C++";
} while (count++ < 10);
A.
8
B.
9
C.
10
D.
11
E.
0
6
How many times the following code prints "Welcome to C++"?
int count = 0;
do
{
   cout << "Welcome to C++";
} while (++count < 10);
A.
8
B.
9
C.
10
D.
11
E.
0
7
What is the value in count after the following loop is executed?
int count = 0;
do
{
   cout << "Welcome to C++";
} while (count++ < 9);
cout << count;
A.
8
B.
9
C.
10
D.
11
E.
0
Section 4.4 The for Loop
8
Analyze the following statement:
double sum = 0;
for (double d = 0; d<10;)
{
   d += 0.1;
   sum += sum + d;
}
A.
The program has a syntax error because the adjustment is missing in the for loop.
B.
The program has a syntax error because the control variable in the for loop cannot be of the double type.
C.
The program runs in an infinite loop because d<10 would always be true.
D.
The program compiles and runs fine.
9
Do the following two statements result in the same value in sum?
for (int i = 0; i<10; ++i)
{
   sum += i;
}
for (int i = 0; i<10; i++)
{
   sum += i;
}
A.
Yes
B.
No
10
What is the output for y?
int y = 0;
for (int i = 0; i<10; ++i)
{
   y += i;
}
cout << y;
A.
10
B.
11
C.
12
D.
13
E.
45
11
What is i after the following for loop?
int y = 0;
for (int i = 0; i<10; ++i)
{
   y += i;
}
A.
9
B.
10
C.
11
D.
undefined
12
Is the following loop correct?
for (; ; );
A.
Yes
B.
No
Section 4.5 Which Loop to Use?
13
Analyze the following fragment:
double sum = 0;
double d = 0;
while (d != 10.0)
{
   d += 0.1;
   sum += sum + d;
}
A.
The program does not compile because sum and d are declared double, but assigned with integer value 0.
B.
The program never stops because d is always 0.1 inside the loop.
C.
The program may not stop because of the phenomenon referred to as numerical inaccuracy for operating with floating-point numbers.
D.
After the loop, sum is 0 + 0.1 + 0.2 + 0.3 + ... + 1.9
14
Analyze the following code:
int main ()
{
   int i = 0;
   for (i = 0; i<10; i++);
     cout << i + 4);
}
A.
The program has a syntax error because of the semicolon (;) on the for loop line.
B.
The program compiles despite the semicolon (;) on the for loop line, and displays 4.
C.
The program compiles despite the semicolon (;) on the for loop line, and displays 14.
D.
The for loop in this program is same as for (i = 0; i<10; i++) { }; cout << i + 4;
Section 4.9 (Optional) Keywords break and continue
15
Will the following program terminate?
int balance = 10;
while (true)
{
   if (balance < 9) break;
   balance = balance - 9;
}
A.
Yes
B.
No
16
What is sum after the following loop terminates?
int sum = 0;
int item = 0;
do
{
   item++;
   sum += item;
   if (sum > 4) break;
}
while (item < 5);
A.
5
B.
6
C.
7
D.
8
17
What is sum after the following loop terminates?
int sum = 0;
int item = 0;
do
{
   item++;
   sum += item;
   if (sum >= 4) continue;
}
while (item < 5);
A.
15
B.
16
C.
17
D.
18
18
Will the following program terminate?
int balance = 10;
while (true)
{
   if (balance < 9) continue;
   balance = balance - 9;
}
A.
Yes
B.
No
19
What is the number of iterations in the following loop:
   for (int i = 1; i < n; i++)
   {
     // iteration
   }
A.
2*n
B.
n
C.
n - 1
D.
n + 1
20
What is the number of iterations in the following loop:
   for (int i = 1; i <= n; i++)
   {
     // iteration
   }
A.
2*n
B.
n
C.
n - 1
D.
n + 1
21
Suppose the input for number is 9. What is the output from running the following program?
  #include <iostream>
  using namespace std;
  int main()
  {
    cout << "Enter an integer: ";
    int number;
    cin >> number;
    int i;
    bool isPrime = true;
    for (i = 2; i < number && isPrime; i++)
    {
      if (number % i == 0)
      {
        isPrime = false;
      }
    }
    cout << "i is " << i << endl;
    if (isPrime)
      cout << number << " is prime" << endl;
    else
      cout << number << " is not prime" << endl;
    return 0;
  }
A.
i is 3 followed by 9 is prime
B.
i is 3 followed by 9 is not prime
C.
i is 4 followed by 9 is prime
D.
i is 4 followed by 9 is not prime