Saturday, 11 January 2014

CHAPTER 3—LOOPS AND DECISIONS

CHAPTER 3—LOOPS AND DECISIONS 


Questions:
----------
1. A relational operator
a. assigns one operand to another.
b. yields a Boolean result.
c. compares two operands.
d. logically combines two operands.
2. Write an expression that uses a relational operator to return true if the variable george is not equal to sally.
3. Is –1 true or false?
4. Name and describe the usual purpose of three expressions in a for statement.
5. In a for loop with a multistatement loop body, semicolons should appear following
a. the for statement itself.
b. the closing brace in a multistatement loop body.
c. each statement within the loop body.
d. the test expression.
6. True or false: The increment expression in a for loop can decrement the loop variable.
7. Write a for loop that displays the numbers from 100 to 110.
8. A block of code is delimited by _________.
9. A variable defined within a block is visible
a. from the point of definition onward in the program.
b. from the point of definition onward in the function.
c. from the point of definition onward in the block.
d. throughout the function.
10. Write a while loop that displays the numbers from 100 to 110.
11. True or false: Relational operators have a higher precedence than arithmetic operators.
12. How many times is the loop body executed in a do loop?
13. Write a do loop that displays the numbers from 100 to 110.
14. Write an if statement that prints Yes if a variable age is greater than 21.
15. The library function exit() causes an exit from
a. the loop in which it occurs.
b. the block in which it occurs.
c. the function in which it occurs.
d. the program in which it occurs.
16. Write an if...else statement that displays Yes if a variable age is greater than 21, and displays No otherwise.
17. The getche() library function
a. returns a character when any key is pressed.
b. returns a character when [Enter] is pressed.
c. displays a character on the screen when any key is pressed.
d. does not display a character on the screen.
18. What is the character obtained from cin when the user presses the [Enter] key?
19. An else always matches the _________ if, unless the if is _________.
20. The else...if construction is obtained from a nested if...else by ________________.
21. Write a switch statement that prints Yes if a variable ch is ‘y’, prints No if ch is ‘n’, and prints Unknown response otherwise.
22. Write a statement that uses a conditional operator to set ticket to 1 if speed is greater than 55, and to 0 otherwise.
23. The && and || operators
a. compare two numeric values.
b. combine two numeric values.
c. compare two Boolean values.
d. combine two Boolean values.
24. Write an expression involving a logical operator that is true if limit is 55 and speed is greater than 55.
25. Arrange in order of precedence (highest first) the following kinds of operators: logical, unary, arithmetic, assignment, relational, conditional.
26. The break statement causes an exit
a. only from the innermost loop.
b. only from the innermost switch.
c. from all loops and switches.
d. from the innermost loop or switch.
27. Executing the continue operator from within a loop causes control to go to ________.
28. The goto statement causes control to go to
a. an operator.
b. a label.
c. a variable.
d. a function.
__________
My answers:
-----------
1. yields a Boolean result, compares two operands.
2. if(george != sally) op=true.
3. true.
4. definitions of some variavles, compare of operands to hold the exit for condition, the changes in variables in each loop.
5. each statement within the loop body, the test expression.
6. true.
7. for(int i=100; i<111; i++) cout<<i<<endl;
8. {}
9. from the point of definition onward in the function.
10. int i=110; while(i<111) cout<<i++<<endl;
11. false.
12. one time.
13. int i=110; do cout<<i++<<endl; while(i<111);
14. if(age>21) cout<<"Yes";
15. the program in which it occurs.
16. if(age>21) cout<<"Yes"; else cout<<"No";
17. returns a character when any key is pressed, displays a character on the screen when any key is pressed.
18. '\r'
19. opposit of the, done.
20. nested if contidtions.
21. switch(ch){case 'y': cout<<"Yes"; break; case 'n': cout<<"No"; break; default: cout<<"Unknown response";}
22. ticket = (speed>55) ? 1 : false;
23. combine two Boolean values.
24. if(limit == 55 && speed > 55) op = true;
25. ???.
26. from the innermost loop or switch.
27. begin of loop.
28. a label.
___________
Answers:
--------
1. b, c
2. george != sally
3. –1 is true; only 0 is false.
4. The initialize expression initializes the loop variable, the test expression tests the loop variable, and the increment expression changes the loop variable.
5. c, d
6. True
7.
for(int j=100; j<=110; j++)
cout << endl << j;

8. braces (curly brackets)
9. c
10.
int j = 100;
while( j <= 110 )
cout << endl << j++;

11. False
12. At least once.
13.
int j = 100;
do
cout << endl << j++;
while( j <= 110 );

14.
if(age > 21)
cout << “Yes”;

15. d
16.
if( age > 21 )
cout << “Yes”;
else
cout << “No”;

17. a, c
18. ‘\r’
19. preceding, surrounded by braces
20. reformatting
21.
switch(ch)
{
case ‘y’:
cout << “Yes”;
break;
case ‘n’:
cout << “No”;
break;
default:
cout << “Unknown response”;
}

22. ticket = (speed > 55) ? 1 : 0;
23. d
24. limit == 55 && speed > 55
25. unary, arithmetic, relational, logical, conditional, assignment
26. d
27. the top of the loop
28. b
________

1 comment: