Chapter 3 PowerPoint
Download
Report
Transcript Chapter 3 PowerPoint
Chapter 3 – Variables and
Arithmetic Operations
Variable Rules
Must
declare all variable names
– List name and type
Keep
length to 31 characters
– Older compiler restriction
Give
numeric values to variables with
assignment statement
variable_name = value;
assignment operator
Lesson 3.1
Naming Identifiers
First
character must be letter
– a-z, A-Z or _
Other
characters
– letters (a-z, A-Z, _ ) or digits 0-9
Cannot
use C++ keywords (reserved words)
Cannot have blank within identifies
Lesson 3.1
Keywords
Words
with special meaning to C++
Also includes alternative representations of
certain operators and punctuators
Full listing in Table 3.1
Examples:
– auto, bool, float, inline, union, delete
– namespace, private, void
Lesson 3.1
Declaring Variables
Variables
MUST be declared
List name and data type
Variables of same type may be declared in
same statement (separate by comma)
Causes C++ compiler to know size of space
to be reserved for storing variable’s value
data type double radius, diameter; variable names
separator
Lesson 3.1
Assignment Statements
Causes
value to be stored in variable’s
memory cell
variable_name = value;
Variable name MUST appear on left
Equal sign is assignment operator
Note: be careful = does NOT mean equal
temperature = 78;
Example:
Lesson 3.1
Constant Qualified Variables
Use
const qualifier
const double PI = 3.14159;
Cannot modify later in program
Style tip: use all uppercase characters to
name constant
– Makes constants easy to identify
Lesson 3.2
Formatting Output
Insert
I/O manipulators (parameterized) into
cout statements for printing
– declared in header iomanip
#include <iomanip>
Basic form
cout << manipulator(parameter);
Listed
in Table
what
manipulator
uses3.2
to modify output
Lesson 3.2
setw( )
Sets
field width
Right justifies contents
C++ automatically expands if set width too
small
cout<<“number =“<<setw(7)<<num<<endl;
number =
5
*******
Field size
Lesson 3.2
setprecision( )
Sets
number of digits after decimal point
All digits retained in memory
Once set may or may not be used until
another statement changes it (compiler)
num = 5.3415;
cout<<“num = “<<setprecision(2)<<num;
num = 5.34
Lesson 3.2
setfill( )
Specifies
character for blank space in field
Single quotes required around character
enclosed in parentheses
num = 5.34;
cout<<setw(10)<<setfill(‘*’)<<num;
******5.34
Lesson 3.2
setiosflags(ios:: )
Perform
number of different actions based
on flag that is set
Table 3.3
Example:
left justifies in field
num = 5.34;
cout<<setiosflags(ios::left)
<< setfill(‘*’)<<setw(10)<<num;
5.34******
Lesson 3.2
Printing “dollar” Format
Necessary
to use I/O manipulators
cout<<setprecision(2)
<<setiosflags(ios::fixed|ios::showpoint)
<<“Income = $” <<income;
Income = $7842.00
Lesson 3.2
Character Data
Lowercase
and uppercase characters
Also graphic characters (!, #, ^) and “space”
Escape characters (\n) regarded as single
characters
Numbers 0-9 can also be characters
Declare character variable:
char c1,c2;
Assign value:
c1 = ‘g’;
Can hold
ONEincharacter
Enclose
single quotes
Lesson 3.3
Assigning Characters to int
C++
assigns ASCII code value for the char
Does not use numeric value if assign 0-9
character
Table 3.5 gives characters and ASCII
code/values
Lesson 3.3
Arithmetic Operations
Look
like algebraic expressions
Expression consists of sequence of
operand(s) and operator(s)
– Operand (variable, constant, any value)
– Operators (+, - , * , / , % )
Represent operation to be done
Increment (++) and decrement (--)
Lesson 3.4
Problems
Uninitialized
variables
– C++ assigns own value
– Does not trigger as an error
Exceeding
integer range
– int type range –32768 to 32767
– Due to limit of two bytes of memory
– Overflow error
Division
Lesson 3.4
by zero
Pre- and Post- Operators
++
or - Place in front, incrementing or decrementing
occurs BEFORE value assigned
i = 2 and k = 1
k = ++i;
i = i + 1; 3
k = i; 3
Place
i = i - 1; 1
k = i; 1
in back, occurs AFTER value assigned
i = 2 and k = 1
k = i; 1
k = i++;
i = i + 1; 3
Lesson 3.5
k =--i;
k = i--;
k = i; 2
i = i - 1; 1
Mixed Type Arithmetic
Assign
real to int
– Cut off fractional part of real
Assign
int value to real
– Put decimal point at end, converts method of
storage to exponential binary form
Modify
with cast operators
– Change type of expression
– Keyword
static_cast
– Old form:
(type) expression
Lesson 3.5
static_cast Operator
General
form
static_cast <type> (expression)
Keyword
requires underscore
Expression for which temporary copy is
made of type type
Type can be any valid C++ data type
Lesson 3.5
Operator Precedence
( )
++, -++, -+
static_cast
%, *, /
+, +=, -=, *=
/=, %=
=
Lesson 3.5
parentheses
post-(in/de)crement
pre-(in/de)crement
positive sign
negative sign
cast
remainder/multi/div
add/subtract
math & assignment
math & assignment
assignment
unary
unary
unary
unary
unary
unary
binary
binary
binary
binary
binary
prefix
postfix
prefix
prefix
prefix
prefix
infix
infix
infix
infix
infix
L to R
L to R
R to L
R to L
R to L
R to L
L to R
L to R
R to L
R to L
R to L
1
2
3
3
3
4
5
6
7
7
7
Real data types
Decimal
numbers
float
– 4 bytes of memory, 6 digit precision
double
– 8 bytes of memory, 15 digits precision
long
double
– 10 bytes of memory, 19 digits precision
Lesson 3.6
Integer data types
Whole
numbers
int, signed int, short int, signed short int
– 2 bytes, range: -32768 to 32767
unsigned
int, unsigned short int
– 2 bytes, range: 0 to 65535
long
int, signed long int
– 4 bytes, range: -2147483648 to 2147483645
unsigned
long int
– 4 bytes, range: 0 to 4294967295
Lesson 3.6
Math Functions
Need
cmath or cstlib headers
#include <cmath> or #include <cstlib>
General form:
name(parameters)
Note what type and form parameters take
– Trig functions use radian measure not angle
Table
Lesson 3.6
3.11 lists math library functions
Summary
Learned how to:
Declare
variables and constants
Format output
Work with character data
Create mathematical expressions
Work with mixed data types and casting
Use different data types for precision
Utilize available math functions
Chapter 3