An Introduction to
Programming with C++
Fifth Edition
Chapter 4
Chapter 4: Variables, Constants, and
Arithmetic Operators
Objectives
• Distinguish among a variable, a named constant,
and a literal constant
• Explain how data is stored in memory
• Declare and initialize a memory location
• Use an assignment statement to assign data to a
variable
An Introduction to Programming with C++, Fifth Edition 2
Objectives (continued)
• Include arithmetic operators and arithmetic
assignment operators in a statement
• Get string input using the getline() function
• Ignore characters using the ignore() function
• Format floating-point output
• Write simple .NET C++ commands
An Introduction to Programming with C++, Fifth Edition 3
Concept Lesson
• More on the Problem-Solving Process
• Variables and Named Constants
• Declaring a Named Constant
• Declaring a Variable
An Introduction to Programming with C++, Fifth Edition 4
Concept Lesson (continued)
• Using an Assignment Statement to Store Data in a
Variable
• Arithmetic Operators
• Getting Data from the Keyboard
• Formatting Floating-Point Numbers
An Introduction to Programming with C++, Fifth Edition 5
More on the Problem-Solving Process
An Introduction to Programming with C++, Fifth Edition 6
Variables and Named Constants
• Declare a memory location for each input,
processing, and output item in IPO chart
– A variable is a type of memory location whose
contents can change while program is running
– Values of named constant items remain the same
each time the program is executed
An Introduction to Programming with C++, Fifth Edition 7
Variables and Named Constants
(continued)
Requires four memory
locations:
Two input items
•radius
variable
•pi
named constant
One processing item
•radius squared
variable
One output item
•area
variable
An Introduction to Programming with C++, Fifth Edition 8
Selecting a Name for a Memory
Location
• Identifiers should be descriptive and follow some
rules:
An Introduction to Programming with C++, Fifth Edition 9
Selecting a Name for a Memory
Location (continued)
• Most programmers:
– Use uppercase letters for named constants
– Use lowercase letters for variables
– Use camel case if a variable’s name contains two or
more words
An Introduction to Programming with C++, Fifth Edition 10
Selecting a Name for a Memory
Location (continued)
An Introduction to Programming with C++, Fifth Edition 11
Selecting a Data Type for a Memory
Location
These data types, except string, are fundamental data types
An Introduction to Programming with C++, Fifth Edition 12
Selecting a Data Type for a Memory
Location (continued)
• string is a class
– Program must include:
• #include <string>
• using std::string;
• C++ contains one or more data types for storing
– Integers (whole numbers)
– Floating-point numbers (with a decimal place)
– Characters (letters, symbols, and numbers that will
not be used in calculations)
– Boolean values (true and false)
An Introduction to Programming with C++, Fifth Edition 13
Selecting a Data Type for a Memory
Location (continued)
• The data type to use for a memory location
depends on the values it will store
An Introduction to Programming with C++, Fifth Edition 14
How Data is Stored in Internal Memory
An Introduction to Programming with C++, Fifth Edition 15
How Data is Stored in Internal Memory
(continued)
An Introduction to Programming with C++, Fifth Edition 16
Selecting an Initial Value for a Memory
Location
• To initialize is to assign an initial value to a
memory location
– Typically a literal constant
• Type can be: numeric, character, or string
– A location with bool data type can be initialized with
keywords true or false
– Typical initialization values
• 0
• 0.0
• ‘‘
• “”
• true, false
An Introduction to Programming with C++, Fifth Edition 17
Selecting an Initial Value for a Memory
Location (continued)
An Introduction to Programming with C++, Fifth Edition 18
Type Conversions
• Implicit type conversions can occur when
assigning a value to a memory location
– Or, when processing calculation statements
– Value can be promoted or demoted
• Implicit demotion can adversely affect output
• Use explicit type conversion (type casting) to
convert an item from one data type to another
– static_cast operator
An Introduction to Programming with C++, Fifth Edition 19
Type Conversions (continued)
An Introduction to Programming with C++, Fifth Edition 20
Type Conversions (continued)
An Introduction to Programming with C++, Fifth Edition 21
Variables and Named Constants
(continued)
An Introduction to Programming with C++, Fifth Edition 22
Declaring a Named Constant
An Introduction to Programming with C++, Fifth Edition 23
Declaring a Variable
An Introduction to Programming with C++, Fifth Edition 24
Declaring a Variable (continued)
An Introduction to Programming with C++, Fifth Edition 25
Using an Assignment Statement to
Store Data in a Variable
An Introduction to Programming with C++, Fifth Edition 26
Using an Assignment Statement to
Store Data in a Variable (continued)
An Introduction to Programming with C++, Fifth Edition 27
Arithmetic Operators
• Precedence numbers indicate order in which
computer performs the operation in an expression
– Use parentheses to override order of precedence
An Introduction to Programming with C++, Fifth Edition 28
Arithmetic Operators (continued)
An Introduction to Programming with C++, Fifth Edition 29
Arithmetic Operators (continued)
An Introduction to Programming with C++, Fifth Edition 30
Arithmetic Assignment Operators
An Introduction to Programming with C++, Fifth Edition 31
Getting Data from the Keyboard
• Use >> to get numeric, character, or string values
from the keyboard and store them in a variable
– Stops reading characters when it encounters a
white-space character in the input
• Blank, tab, or newline
– An alternative is to use getline()
An Introduction to Programming with C++, Fifth Edition 32
The getline() Function
• When getline() encounters the delimiter
character in the input, it consumes the character
newline character
Items between parentheses in a function’s syntax are the arguments
An Introduction to Programming with C++, Fifth Edition 33
The ignore() Function
• ignore() instructs computer to read and
consume characters entered at keyboard
An Introduction to Programming with C++, Fifth Edition 34
The ignore() Function (continued)
An Introduction to Programming with C++, Fifth Edition 35
Formatting Floating-Point Numbers
• Use fixed stream manipulator to display a
floating-point number in fixed-point notation
#include <iostream>
using std::fixed;
• Use scientific stream manipulator for e notation
#include <iostream>
using std::scientific;
• Setprecision stream manipulator controls
number of decimal places displayed
#include <iomanip>
using std::setprecision;
An Introduction to Programming with C++, Fifth Edition 36
Formatting Floating-Point Numbers
(continued)
An Introduction to Programming with C++, Fifth Edition 37
Formatting Floating-Point Numbers
(continued)
An Introduction to Programming with C++, Fifth Edition 38
Summary
• Programs have variables, constants (named, literal),
and arithmetic operators (to perform calculations)
const dataType constantName = value;
dataType variableName [= initialValue];
• Use assignment statement to store data in a variable
variableName = expression;
– When assigning a value to a memory location, the value
should fit the memory location’s data type
• Use static_cast operator to convert an item of data
from one data type to another
An Introduction to Programming with C++, Fifth Edition 39
Summary (continued)
• Arithmetic operators have a precedence number
– Use parentheses to override order of precedence
• Arithmetic assignment operators abbreviate an
assignment statement
varName arithmeticAssignmentOp expr;
• getline() gets a string of characters
• ignore() reads and consumes characters
entered at the keyboard
• fixed and scientific stream manipulators
format the display of floating-point numbers
An Introduction to Programming with C++, Fifth Edition 40
Application Lesson: Using Variables,
Constants, and Arithmetic Operators in
a C++ Program
• Lab 4.1: Stop and Analyze
– Study the program shown in Figure 4-26, then
answer the questions
• Lab 4.2:
– Test program in Figure 4-27
• Lab 4.3:
– Modify program so that it allows user to enter the
semester hour fee
• Lab 4.4: Desk-Check Lab
• Lab 4.5: Debugging Lab
An Introduction to Programming with C++, Fifth Edition 41