Tải bản đầy đủ (.pdf) (6 trang)

Test bank and solution of inrodcution to c++ programming (1)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.07 MB, 6 trang )

Introduction to C++
Programming, Input/Output
and Operators

2
What’s in a name? that
which we call a rose
By any other name
would smell as sweet.
—William Shakespeare

High thoughts must have high
language.
—Aristophanes

One person can make a
difference and every person
should try.
—John F. Kennedy

Objectives
In this chapter you’ll learn:













To write simple computer
programs in C++.
To write simple input and
output statements.
To use fundamental types.
Basic computer memory
concepts.
To use arithmetic operators.
The precedence of arithmetic
operators.
To write simple decisionmaking statements.

© 2014 Pearson Education, Inc., Upper Saddle River, NJ. All Rights Reserved


2

Chapter 2 Introduction to C++ Programming, Input/Output and Operators

Self-Review Exercises
2.1

Fill in the blanks in each of the following.
.
a) Every C++ program begins execution at the function
ANS: !4(`.
b) A(n)

begins the body of every function and a(n)
ends the body.
ANS: left brace (+), right brace (\)
.
c) Most C++ statements end with a(n)
ANS: semicolon.
d) The escape sequence Y` represents the
character, which causes the cursor to
position to the beginning of the next line on the screen.
ANS: semicolon.
e) The
statement is used to make decisions.
ANS: (..

2.2
State whether each of the following is true or false. If false, explain why. Assume the statement TW(`, WU1LL2_TU$ is used.
a) Comments cause the computer to print the text after the 55 on the screen when the program is executed.
ANS: False. Comments do not cause any action to be performed when the program is executed. They’re used to document programs and improve their readability.
b) The escape sequence Y`, when output with 2_TU and the stream insertion operator,
causes the cursor to position to the beginning of the next line on the screen.
ANS: True.
c) All variables must be declared before they’re used.
ANS: True.
d) All variables must be given a type when they’re declared.
ANS: True.
e) C++ considers the variables `T!30Z and @TC3GZ to be identical.
ANS: False. C++ is case sensitive, so these variables are different.
f) Declarations can appear almost anywhere in the body of a C++ function.
ANS: True.
g) The modulus operator ()) can be used only with integer operands.

ANS: True.
h) The arithmetic operators ], 5, ), < and – all have the same level of precedence.
ANS: False. The operators ], 5 and ) have the same precedence, and the operators < and D
have a lower precedence.
i) A C++ program that prints three lines of output must contain three statements using
2_TU and the stream insertion operator.
ANS: False. One statement with 2_TU and multiple Y` escape sequences can print several
lines.
2.3
TW(`,

Write a single C++ statement to accomplish each of the following (assume that neither
declarations nor a TW(`, directive have been used):
a) Declare the variables 2, U*(WEWO94Z(43"0, [AN>?- and `T!30Z to be of type (`U (in one
statement).
ANS: int 28 U*(WEWO94Z(43"08 [AN>?-8 `T!30Z$

b) Prompt the user to enter an integer. End your prompting message with a colon (L) followed by a space and leave the cursor positioned after the space.
ANS: WU1LL2_TU XX "Enter an integer: "$

c) Read an integer from the user at the keyboard and store it in integer variable 4,0.
ANS: WU1LL2(` SS 4,0$

© 2014 Pearson Education, Inc., Upper Saddle River, NJ. All Rights Reserved


Self-Review Exercises
d) If the variable `T!30Z is not equal to A, print 7;*0

3


R4Z(43"0 `T!30Z (W `_U 0[T4" U_ A7.

ANS: if : `T!30Z #Q 7 B
WU1LL2_TU XX "The variable number is not equal to 7\n"$

e) Print the message 7;*(W (W 4 J<< ^Z_,Z4!7 on one line.
ANS: WU1LL2_TU XX "This is a C++ program\n"$

f) Print the message 7;*(W (W 4 J<< ^Z_,Z4!7 on two lines. End the first line with J<<.
ANS: WU1LL2_TU XX "This is a C++\nprogram\n"$

g) Print the message 7;*(W (W 4 J<< ^Z_,Z4!7 with each word on a separate line.
ANS: WU1LL2_TU XX "This\nis\na\nC++\nprogram\n"$

h) Print the message 7;*(W (W 4 J<< ^Z_,Z4!7% Separate each word from the next by a tab.
ANS: WU1LL2_TU XX "This\tis\ta\tC++\tprogram\n"$

2.4
Write a statement (or comment) to accomplish each of the following (assume that
declarations have been used for 2(`, 2_TU and 0`1"):
a) State that a program calculates the product of three integers.

TW(`,

ANS: 55 J4"2T"4U0 U*0 ^Z_1T2U _. U*Z00 (`U0,0ZW

b) Declare the variables M, K, H and Z0WT"U to be of type (`U (in separate statements) and
initalize each to 0.
ANS: int M Q 0$

int K Q 0$
int H Q 0$
int Z0WT"U Q 0$

c) Prompt the user to enter three integers.
ANS: 2_TU XX "Enter three integers: "$

d) Read three integers from the keyboard and store them in the variables M, K and H.
ANS: 2(` SS M SS K SS H$

e) Compute the product of the three integers contained in variables M, K and H, and assign
the result to the variable Z0WT"U.
ANS: Z0WT"U Q M ] K ] H$

f) Print 7;*0

^Z_1T2U (W 7

followed by the value of the variable Z0WT"U.

ANS: 2_TU XX "The product is " XX Z0WT"U XX 0`1"$

g) Return a value from !4(` indicating that the program terminated successfully.
ANS: return 0$

2.5
Using the statements you wrote in Exercise 2.4, write a complete program that calculates
and displays the product of three integers. Add comments to the code where appropriate. [Note:
You’ll need to write the necessary TW(`, declarations or directive.]
ANS: (See program below.)

1
2
3
4
5
6
7
8
9
10
11
12

55 J4"2T"4U0 U*0 ^Z_1T2U _. U*Z00 (`U0,0ZW
#include X(_WUZ04!S 55 4""_PW ^Z_,Z4! U_ ^0Z._Z! (`^TU 4`1 _TU^TU
using namespace WU1$ 55 ^Z_,Z4! TW0W `4!0W .Z_! U*0 WU1 `4!0W^420
55 .T`2U(_` !4(` 30,(`W ^Z_,Z4! 0M02TU(_`
int !4(`:B
+
int M Q 0$ 55 .(ZWU (`U0,0Z U_ !T"U(^"K
int K Q 0$ 55 W02_`1 (`U0,0Z U_ !T"U(^"K
int H Q 0$ 55 U*(Z1 (`U0,0Z U_ !T"U(^"K
int Z0WT"U Q 0$ 55 U*0 ^Z_1T2U _. U*0 U*Z00 (`U0,0ZW

© 2014 Pearson Education, Inc., Upper Saddle River, NJ. All Rights Reserved


4

13

14
15
16
17

Chapter 2 Introduction to C++ Programming, Input/Output and Operators

2_TU XX "Enter three integers: "$ 55 ^Z_!^U TW0Z ._Z 14U4
2(` SS M SS K SS H$ 55 Z041 U*Z00 (`U0,0ZW .Z_! TW0Z
Z0WT"U Q M ] K ] H$ 55 !T"U(^"K U*0 U*Z00 (`U0,0ZW$ WU_Z0 Z0WT"U
2_TU XX "The product is " XX Z0WT"U XX 0`1"$ 55 ^Z(`U Z0WT"U$ 0`1 "(`0
\ 55 0`1 .T`2U(_` !4(`

2.6
Identify and correct the errors in each of the following statements (assume that the statement TW(`, WU1LL2_TU$ is used):
a) if : 2 X 7 B$
2_TU XX "c is less than 7\n"$

ANS: Error: Semicolon after the right parenthesis of the condition in the (. statement.

Correction: Remove the semicolon after the right parenthesis. [Note: The result of this
error is that the output statement executes whether or not the condition in the (.
statement is true.] The semicolon after the right parenthesis is a null (or empty) statement that does nothing. We’ll learn more about the null statement in Chapter 4.
b)

if : 2 QS 7 B
2_TU XX "c is equal to or greater than 7\n"$

ANS: Error: The relational operator QS.


Correction: Change QS to SQ, and you may want to change “equal to or greater than”
to “greater than or equal to” as well.

Exercises
NOTE: Solutions to the programming exercises are located in the ch02solutions folder.
2.7

Discuss the meaning of each of the following objects:
a) WU1LL2(`
ANS: This object refers to the standard input device that is normally connected to the keyboard.
b) WU1LL2_TU
ANS: This object refers to the standard output device that is normally connected to the
screen.

2.8

Fill in the blanks in each of the following:
are used to document a program and improve its readability.
a)
ANS: Comments
.
b) The object used to print information on the screen is
ANS: WU1LL2_TU

c) A C++ statement that makes a decision is

.

ANS: (.


d) Most calculations are normally performed by

statements.

ANS: assignment

e) The

object inputs values from the keyboard.

ANS: WU1LL2(`

2.9

Write a single C++ statement or line that accomplishes each of the following:
a) Print the message 7G`U0Z UP_ `T!30ZW7.
ANS: 2_TU XX "Enter two numbers"$

b) Assign the product of variables 3 and 2 to variable 4.
ANS: 4 Q 3 ] 2$

© 2014 Pearson Education, Inc., Upper Saddle River, NJ. All Rights Reserved


Exercises

5

c) State that a program performs a payroll calculation (i.e., use text that helps to document
a program).

ANS: 55 =4KZ_"" 24"2T"4U(_` ^Z_,Z4!

d) Input three integer values from the keyboard into integer variables 4, 3 and 2.
ANS: 2(` SS 4 SS 3 SS 2$

2.10

State which of the following are true and which are false. If false, explain your answers.
a) C++ operators are evaluated from left to right.
ANS: False. Some operators are evaluated from left to right, while other operators are evaluated right to left.
b) The following are all valid variable names: FT`10ZF34ZF, !/IV6>-, U?, 'A, *0ZFW4"0W,
*(WF422_T`UFU_U4", 4, 3, 2, H, HI.
ANS: True.
c) The statement 2_TU XX 74 Q ?$7; is a typical example of an assignment statement.
ANS: False. The statement is an output statement. The text 4 Q ?$ is output to the screen.
d) A valid C++ arithmetic expression with no parentheses is evaluated from left to right.
ANS: False. Arithmetic operators can appear in any order in an expression, so the expression is 4 Q 3 < 2 ] 1$ actually evaluates from right to left because of the rules of operator precedence.
e) The following are all invalid variable names: >,, VA, NA*I, *II, I*.
ANS: False. *II is a valid variable name. The others are invalid because they each begin with
a digit.

2.11

Fill in the blanks in each of the following:
a) What arithmetic operations are on the same level of precedence as multiplication?
.
ANS: division and modulus.
b) When parentheses are nested, which set of parentheses is evaluated first in an arithmetic
expression?
.

ANS: innermost.
c) A location in the computer’s memory that may contain different values at various times
throughout the execution of a program is called a(n)
.
ANS: variable.

2.12 What, if anything, prints when each of the following C++ statements is performed? If nothing prints, then answer “nothing.” Assume M Q I and K Q >.
a) 2_TU XX M$
ANS: I

b)

2_TU XX M < M$

ANS: -

c)

2_TU XX "x="$

ANS: MQ

d)

2_TU XX "x = " XX M$

ANS: M Q I

e)


2_TU XX M < K XX " = " XX K < M$

ANS: ? Q ?

f)

H Q M < K$

ANS: nothing.

g)

2(` SS M SS K$

ANS: nothing.

h)

55 2_TU XX 7M < K Q 7 XX M < K$

ANS: nothing (because it is a comment).

© 2014 Pearson Education, Inc., Upper Saddle River, NJ. All Rights Reserved


6

Chapter 2 Introduction to C++ Programming, Input/Output and Operators
i)


2_TU XX "\n"$

ANS: A newline is output which positions the cursor at the beginning of the next line on

the screen.
2.13

Which of the following C++ statements contain variables whose values are replaced?
a) 2(` SS 3 SS 2 SS 1 SS 0 SS .$
b) ^ Q ( < ' < & < A$
c) 2_TU XX "variables whose values are replaced"$
d) 2_TU XX "a = 5"$
ANS: Parts (a) and (b).

2.14 Given the algebraic equation y = ax 3 + 7, which of the following, if any, are correct C++
statements for this equation?
a) K Q 4 ] M ] M ] M < 7$
b) K Q 4 ] M ] M ] : M < 7 B$
c) K Q : 4 ] M B ] M ] : M < 7 B$
d) K Q :4 ] MB ] M ] M < 7$
e) K Q 4 ] : M ] M ] M B < 7$
f) K Q 4 ] M ] : M ] M < 7 B$
ANS: Parts (a), (d) and (e).
2.15 (Order of Evalution) State the order of evaluation of the operators in each of the following
C++ statements and show the value of M after each statement is performed.
a) M Q 7 < 3 ] 6 5 2 D 1$
ANS: ]8 58 <8 D8 Q8 6?

b)


M Q 2 ) 2 < 2 ] 2 D 2 5 2$

ANS: )8 ]8 58 <8 D8 Q8 >

c)

M Q : 3 ] 9 ] : 3 < : 9 ] 3 5 : 3 B B B B$

ANS: innermost parentheses around >, ], 5, <, ], ]8 >I-

2.22

What does the following code print?
2_TU XX "*\n**\n***\n****\n*****" XX 0`1"$

ANS: ]
]]
]]]
]]]]
]]]]]

© 2014 Pearson Education, Inc., Upper Saddle River, NJ. All Rights Reserved



×