![Page 1: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/1.jpg)
An Introduction to Programming with C++
Fifth Edition
Chapter 4Chapter 4: Variables, Constants, and
Arithmetic Operators
![Page 2: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/2.jpg)
An Introduction to Programming with C++, Fifth Edition 2
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
![Page 3: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/3.jpg)
An Introduction to Programming with C++, Fifth Edition 3
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
![Page 4: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/4.jpg)
An Introduction to Programming with C++, Fifth Edition 4
Concept Lesson
• More on the Problem-Solving Process
• Variables and Named Constants
• Declaring a Named Constant
• Declaring a Variable
![Page 5: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/5.jpg)
An Introduction to Programming with C++, Fifth Edition 5
Concept Lesson (continued)
• Using an Assignment Statement to Store Data in a Variable
• Arithmetic Operators
• Getting Data from the Keyboard
• Formatting Floating-Point Numbers
![Page 6: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/6.jpg)
An Introduction to Programming with C++, Fifth Edition 6
More on the Problem-Solving Process
![Page 7: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/7.jpg)
An Introduction to Programming with C++, Fifth Edition 7
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
![Page 8: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/8.jpg)
An Introduction to Programming with C++, Fifth Edition 8
Variables and Named Constants (continued)
Requires four memory locations:
Two input items•radius
variable•pi
named constantOne processing item
•radius squared variable
One output item•area
variable
![Page 9: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/9.jpg)
An Introduction to Programming with C++, Fifth Edition 9
Selecting a Name for a Memory Location
• Identifiers should be descriptive and follow some rules:
![Page 10: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/10.jpg)
An Introduction to Programming with C++, Fifth Edition 10
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
![Page 11: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/11.jpg)
Selecting a Name for a Memory Location (continued)
An Introduction to Programming with C++, Fifth Edition 11
![Page 12: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/12.jpg)
An Introduction to Programming with C++, Fifth Edition 12
Selecting a Data Type for a Memory Location
These data types, except string, are fundamental data types
![Page 13: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/13.jpg)
An Introduction to Programming with C++, Fifth Edition 13
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)
![Page 14: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/14.jpg)
An Introduction to Programming with C++, Fifth Edition 14
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
![Page 15: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/15.jpg)
An Introduction to Programming with C++, Fifth Edition 15
How Data is Stored in Internal Memory
![Page 16: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/16.jpg)
An Introduction to Programming with C++, Fifth Edition 16
How Data is Stored in Internal Memory (continued)
![Page 17: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/17.jpg)
An Introduction to Programming with C++, Fifth Edition 17
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
![Page 18: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/18.jpg)
An Introduction to Programming with C++, Fifth Edition 18
Selecting an Initial Value for a Memory Location (continued)
![Page 19: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/19.jpg)
An Introduction to Programming with C++, Fifth Edition 19
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
![Page 20: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/20.jpg)
An Introduction to Programming with C++, Fifth Edition 20
Type Conversions (continued)
![Page 21: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/21.jpg)
An Introduction to Programming with C++, Fifth Edition 21
Type Conversions (continued)
![Page 22: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/22.jpg)
An Introduction to Programming with C++, Fifth Edition 22
Variables and Named Constants (continued)
![Page 23: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/23.jpg)
An Introduction to Programming with C++, Fifth Edition 23
Declaring a Named Constant
![Page 24: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/24.jpg)
An Introduction to Programming with C++, Fifth Edition 24
Declaring a Variable
![Page 25: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/25.jpg)
Declaring a Variable (continued)
An Introduction to Programming with C++, Fifth Edition 25
![Page 26: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/26.jpg)
An Introduction to Programming with C++, Fifth Edition 26
Using an Assignment Statement to Store Data in a Variable
![Page 27: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/27.jpg)
An Introduction to Programming with C++, Fifth Edition 27
Using an Assignment Statement to Store Data in a Variable (continued)
![Page 28: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/28.jpg)
An Introduction to Programming with C++, Fifth Edition 28
Arithmetic Operators
• Precedence numbers indicate order in which computer performs the operation in an expression– Use parentheses to override order of precedence
![Page 29: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/29.jpg)
Arithmetic Operators (continued)
An Introduction to Programming with C++, Fifth Edition 29
![Page 30: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/30.jpg)
An Introduction to Programming with C++, Fifth Edition 30
Arithmetic Operators (continued)
![Page 31: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/31.jpg)
An Introduction to Programming with C++, Fifth Edition 31
Arithmetic Assignment Operators
![Page 32: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/32.jpg)
An Introduction to Programming with C++, Fifth Edition 32
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()
![Page 33: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/33.jpg)
An Introduction to Programming with C++, Fifth Edition 33
The getline() Function
• When getline() encounters the delimiter character in the input, it consumes the character
Items between parentheses in a function’s syntax are the arguments
newline character
![Page 34: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/34.jpg)
An Introduction to Programming with C++, Fifth Edition 34
The ignore() Function
• ignore() instructs computer to read and consume characters entered at keyboard
![Page 35: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/35.jpg)
An Introduction to Programming with C++, Fifth Edition 35
The ignore() Function (continued)
![Page 36: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/36.jpg)
An Introduction to Programming with C++, Fifth Edition 36
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;
![Page 37: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/37.jpg)
An Introduction to Programming with C++, Fifth Edition 37
Formatting Floating-Point Numbers (continued)
![Page 38: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/38.jpg)
An Introduction to Programming with C++, Fifth Edition 38
Formatting Floating-Point Numbers (continued)
![Page 39: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/39.jpg)
An Introduction to Programming with C++, Fifth Edition 39
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 variablevariableName = 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
![Page 40: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/40.jpg)
An Introduction to Programming with C++, Fifth Edition 40
Summary (continued)
• Arithmetic operators have a precedence number – Use parentheses to override order of precedence
• Arithmetic assignment operators abbreviate an assignment statementvarName 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
![Page 41: An Introduction to Programming with C++ Fifth Edition Chapter 4 Chapter 4: Variables, Constants, and Arithmetic Operators](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d5f5503460f94a40042/html5/thumbnails/41.jpg)
An Introduction to Programming with C++, Fifth Edition 41
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