TEST BANK
ST
UV
IA
Walter Savitch
_A
Comprehensive Test Bank for Instructors
PP
and Students
RO
© Walter Savitch
All rights reserved. Reproduction or distribution without permission is prohibited.
VE
D?
??
©Medexcellence
, Chapter 1 - Test Questions
These test questions are fill in the blank, multiple choice, and true-false. The multiple
ST
choice questions may have more than one correct answer. There is one matching
question. Mark all of the correct answers for full credit.
True False questions require an explanation in addition to the true/false response, and, if
UV
false, also require a correction.
True False:
Comment required.
IA
1. OOP is an acronym that means Object Oriented Programming.
Answer: True.
Explanation: OOP is currently popular and is a powerful programming technique for a
_A
large class of problems.
2. C++ not only supports OOP but also supports other programming styles.
Answer: True.
PP
Explanation: C++ supports OOP and traditional procedure oriented programming.
3. The namespace facility is a tool used that assists in the study of genealogy.
Answer: False.
RO
Explanation: The namespace facility helps prevent the libraries from “preempting all the
good names,” and allows us to use names we want whether the library has used them.
4. In C++ the variables Alpha, ALPHA and AlphA are the same identifier.
Answer: False.
VE
Explanation: C++ is case sensitive, these are different identifiers.
5. In C++ the compiler will infer the type intended for a variable from the context in
which the variable occurs.
D?
Answer: False.
Explanation: C++ requires every identifier to be declared prior to use. The type is
specified in the declaration.
6. A C++ declaration introduces only an identifier's spelling and specifies its type.
??
Answer: True.
Explanation: A declaration introduces the spelling and type, whereas a definition is a
, Test Bank for Savitch Absolute C++ 6e Page 2
declaration that also allocates memory.
7. A C++ declaration is a definition that also allocates storage for an identifier's value
ST
(or function's body etc.).
Answer: True.
Explanation: A declaration introduces the spelling and type, whereas a definition is a
UV
declaration that also allocates memory.
8. The range of values for an int variable is from about 0 to +2 billion.
Answer: False:
Explanation: The correct range is about –2 Billion to +2 Billion.
IA
9. The names x, y, and z are satisfactory variable names for the lengths of the legs and
hypotenuse of a triangle.
Answer: False.
_A
Explanation: Names should communicate to the human reader the meaning of the value.
These identifiers do not communicate the meaning of their values..
10. In C++ you can assign an expression of type int to a variable of type double with
PP
no problem.
Answer: True.
Explanation: Assignment from an integer type to a floating point type can lose
RO
information and should be avoided. Some compilers will warn, others may give an error
message, but you should avoid this.
11. In C++ you can assign an expression of type double to a variable of type int with
no problem.
VE
Answer: False.
Explanation: In general assigning a floating point value to an integer variable mostly
loses information. A warning message (or an error message) is issued by C++ compilers.
D?
12. To put a character into a cstring constant that causes the output to continue on the
next line, insert the escape sequence \t into the string constant.
Answer: False.
Explanation: \t is the tab escape sequence. Use \n instead.
??
13. If we execute this code in an otherwise correct and complete program:
n = 1;
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
, Test Bank for Savitch Absolute C++ 6e Page 3
n = (n++) + (n++);
the value of n is guaranteed to be 3 after the second line executes.
ST
Answer: False.
Explanation: Some compilers may give the value 3. The result of such code is dependent
on the compiler implementation. The C++ Standard says such code is illegal, and the
UV
Standard says the results are undefined, meaning the compiler can do anything with it
that suits the compiler writer. One of my compilers gives the value 4 to n.
14. If we execute the code fragment in an otherwise complete, correct program:
n = 1;
IA
cout << n++ << " " << n++ << " " << n++ << endl;
the output is guaranteed to be 1 2 3.
Answer: False.
_A
Explanation: The code is illegal because its execution depends on the order of evaluation
of arguments. Various compilers give different answers. One compiler this writer uses
gives 3 2 1.
PP
15. C++ uses only /* */ for comments.
Answer: False.
Explanation: C++ uses /* */ comments and // “here to the end of the line”
RO
comments.
16. A program’s comments should connect the program code to the problem being
solved.
Answer: True.
VE
Explanation: The purpose of comments in a program is to help the human reader of the
code to connect the program to the problem being solved. Comments are so important
there is an aphorism, often quoted by expert programmers: “If the comments and the code
D?
disagree, then both are probably wrong.
17. A program should have a comment on every line.
Answer: False.
Explanation: This would be satisfactory only on a very complicated assembly language
??
program for an inexperienced programmer.
18. Comments have no value whatsoever and do not belong in a program.
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.