Chapter 02 Introduction to C++
Chapter 02 Introduction to C++
sql
Chapter 2:
Introduction
to
C++
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
2.1
The Parts of a C++ Program
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
The Parts of a C++ Program
// sample C++ program comment
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Special Characters
Character Name Meaning
// Double slash Beginning of a comment
# Pound sign Beginning of preprocessor
directive
<> Open/close brackets Enclose filename in #include
() Open/close Used when naming a
parentheses function
{} Open/close brace Encloses a group of
statements
"" Open/close Encloses string of
quotation marks characters
; Semicolon End of a programming
statement
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
2.2
The cout Object
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
The cout Object
Displays output on the computer screen
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
The cout Object
Can be used to send more than one item
to cout:
Or:
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
The cout Object
This produces one line of output:
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
The endl Manipulator
You can use the endl manipulator to start
a new line of output. This will produce two
lines of output:
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
The endl Manipulator
Programming is
fun!
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
The endl Manipulator
You do NOT put quotation marks around
endl
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
The \n Escape Sequence
You can also use the \n escape sequence
to start a new line of output. This will
produce two lines of output:
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
The \n Escape Sequence
cout << "Programming is\n";
cout << "fun!";
Programming is
fun!
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
2.3
The #include Directive
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
The #include Directive
Inserts the contents of another file into the
program
This is a preprocessor directive, not part of
C++ language
#include lines not seen by compiler
Do not place a semicolon at end of
#include line
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
2.4
Variables and Literals
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Variables and Literals
Variable: a storage location in memory
int item;
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Variable Definition in Program 2-7
Variable Definition
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Literals
Literal: a value that is written into a
program’s code.
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Integer Literal in Program 2-9
20 is an integer literal
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
String Literals in Program 2-9
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
2.5
Identifiers
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Identifiers
An identifier is a programmer-defined
name for some part of a program:
variables, functions, etc.
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
C++ Key Words
You cannot use any of the C++ key words as an identifier. These words
have reserved meaning.
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Variable Names
A variable name should represent the
purpose of the variable. For example:
itemsOrdered
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Identifier Rules
The first character of an identifier must be
an alphabetic character or and underscore
( _ ),
After the first character you may use
alphabetic characters, numbers, or
underscore characters.
Upper- and lowercase characters are
distinct
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Valid and Invalid Identifiers
IDENTIFIER VALID? REASON IF INVALID
totalSales Yes
total_Sales Yes
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
2.6
Integer Data Types
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Integer Data Types
Integer variables can hold whole numbers such
as 12, 7, and -99.
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Defining Variables
Variables of the same type can be defined
- On separate lines:
int length;
int width;
unsigned int area;
- On the same line:
int length, width;
unsigned int area;
Variables of different types must be in different
definitions
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Integer Types in Program 2-10
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Integer Literals
An integer literal is an integer value that is
typed into a program’s code. For example:
itemsOrdered = 15;
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Integer Literals in Program 2-10
Integer Literals
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
2.7
The char Data Type
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
The char Data Type
Used to hold characters or very small
integer values
Usually 1 byte of memory
Numeric value of character from the
character set is stored in memory:
CODE: MEMORY:
char letter; letter
letter = 'C';
67
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Character Literals
Character literals must be enclosed in
single quote marks. Example:
'A'
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Character Literals in Program 2-14
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Character Strings
A series of characters in consecutive memory
locations:
"Hello"
Stored with the null terminator, \0, at the end:
H e l l o \0
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
2.8
The C++ string Class
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
The C++ string Class
Special data type supports working with strings
#include <string>
Can define string variables in programs:
string firstName, lastName;
Can receive values with assignment operator:
firstName = "George";
lastName = "Washington";
Can be displayed via cout
cout << firstName << " " << lastName;
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
The string class in Program 2-15
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
2.9
Floating-Point Data Types
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Floating-Point Data Types
The floating-point data types are:
float
double
long double
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Floating-Point Data Types
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Floating-Point Literals
Can be represented in
Fixed point (decimal) notation:
31.4159 0.0000625
E notation:
3.14159E1 6.25e-5
Can be forced to be float (3.14159f) or
long double (0.0000625L)
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Floating-Point Data Types in Program 2-16
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
2.10
The bool Data Type
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
The bool Data Type
Represents values that are true or
false
bool variables are stored as small
integers
false is represented by 0, true by 1:
bool allDone = true; allDone finished
1 0
bool finished = false;
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Boolean Variables in Program 2-17
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
2.11
Determining the Size of a Data
Type
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Determining the Size of a Data Type
double amount;
cout << "A double is stored in "
<< sizeof(double) << "bytes\n";
cout << "Variable amount is stored in "
<< sizeof(amount)
<< "bytes\n";
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
2.12
Variable Assignments and
Initialization
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Variable Assignments and Initialization
item = 12;
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Assignment
The variable receiving the value must
appear on the left side of the = operator.
This will NOT work:
// ERROR!
12 = item;
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Variable Initialization
To initialize a variable means to assign it a
value when it is defined:
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Variable Initialization in Program 2-19
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Declaring Variables With the auto Key Word
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
2.13
Scope
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Scope
The scope of a variable: the part of the
program in which the variable can be
accessed
A variable cannot be used before it is
defined
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Variable Out of Scope in Program 2-20
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
2.14
Arithmetic Operators
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Arithmetic Operators
Used for performing numeric calculations
C++ has unary, binary, and ternary
operators:
unary (1 operand) -5
binary (2 operands) 13 - 7
ternary (3 operands) exp1 ? exp2 : exp3
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Binary Arithmetic Operators
SYMBOL OPERATION EXAMPLE VALUE OF
ans
+ addition ans = 7 + 3; 10
- subtraction ans = 7 - 3; 4
* multiplication ans = 7 * 3; 21
/ division ans = 7 / 3; 2
% modulus ans = 7 % 3; 1
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Arithmetic Operators in Program 2-21
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
A Closer Look at the / Operator
/ (division) operator performs integer
division if both operands are integers
cout << 13 / 5; // displays 2
cout << 91 / 7; // displays 13
If either operand is floating point, the result
is floating point
cout << 13 / 5.0; // displays 2.6
cout << 91.0 / 7; // displays 13.0
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
A Closer Look at the % Operator
% (modulus) operator computes the
remainder resulting from integer division
cout << 13 % 5; // displays 3
% requires integers for both operands
cout << 13 % 5.0; // error
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
2.15
Comments
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Comments
Used to document parts of the program
Intended for persons reading the source
code of the program:
Indicate the purpose of the program
Describe the use of variables
Explain complex sections of code
Are ignored by the compiler
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Single-Line Comments
Begin with // through to the end of line:
int length = 12; // length in
inches
int width = 15; // width in inches
int area; // calculated area
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Multi-Line Comments
Begin with /*, end with */
Can span multiple lines:
/* this is a multi-line
comment
*/
Can begin and end on the same line:
int area; /* calculated area */
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.