0% found this document useful (0 votes)
33 views

Chapter 3 - Variables and Arithmetic Operations

This document summarizes key points from Chapter 3 on variables, arithmetic operations, and data types in C++. It discusses rules for declaring variables, naming identifiers, and using keywords. It also covers assigning values, constants, formatting output, character data, arithmetic operations, operator precedence, mixed type arithmetic, casting, and different data types including integer, real, and math functions. The chapter introduces basic syntax for variables, expressions, and input/output in C++.

Uploaded by

hewaka
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
33 views

Chapter 3 - Variables and Arithmetic Operations

This document summarizes key points from Chapter 3 on variables, arithmetic operations, and data types in C++. It discusses rules for declaring variables, naming identifiers, and using keywords. It also covers assigning values, constants, formatting output, character data, arithmetic operations, operator precedence, mixed type arithmetic, casting, and different data types including integer, real, and math functions. The chapter introduces basic syntax for variables, expressions, and input/output in C++.

Uploaded by

hewaka
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 25

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
 Example: temperature = 78;

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
what in Table
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 by zero

Lesson 3.4
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; i = i - 1; 1
k = i; 3 k = i; 1
 Place in back, occurs AFTER value assigned
i = 2 and k = 1
k = i++; k = i; 1 k = i--; k = i; 2
i = i + 1; 3 i = i - 1; 1
Lesson 3.5
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
( ) parentheses unary prefix L to R 1
++, -- post-(in/de)crement unary postfix L to R 2
++, -- pre-(in/de)crement unary prefix R to L 3
+ positive sign unary prefix R to L 3
- negative sign unary prefix R to L 3
static_cast cast unary prefix R to L 4
%, *, / remainder/multi/div binary infix L to R 5
+, - add/subtract binary infix L to R 6
+=, -=, *= math & assignment binary infix R to L 7
/=, %= math & assignment binary infix R to L 7
= assignment binary infix R to L 7

Lesson 3.5
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 3.11 lists math library functions

Lesson 3.6
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

You might also like