SlideShare a Scribd company logo
1 of 81
Download to read offline
Warning
Class Book: 8th Edition This Slides
• Taken from same book
but 7th Edition
• I added some and did
some modifications to
others
Copyright © 2012 Pearson Education, Inc.
Chapter 2:
Introduction to
C++
Copyright © 2012 Pearson Education, Inc.
2.1
The Part of a C++ Program
Copyright © 2012 Pearson Education, Inc.
The Parts of a C++ Program
// sample C++ program
#include <iostream>
using namespace std;
int main()
{
cout << "Hello, there!";
return 0;
}
preprocessor directive
comment
which namespace to use
beginning of function named main
beginning of block for main
output statement
end of block for main
string literal
send 0 to operating system
Copyright © 2012 Pearson Education, Inc.
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
parentheses
Used when naming a
function
{ } Open/close brace Encloses a group of
statements
" " Open/close
quotation marks
Encloses string of
characters
; Semicolon End of a programming
statement
Copyright © 2012 Pearson Education, Inc.
2.2
The cout Object
Copyright © 2012 Pearson Education, Inc.
The cout Object
• Displays output on the computer screen
• You use the stream insertion operator <<
to send output to cout:
cout << "Programming is fun!";
Copyright © 2012 Pearson Education, Inc.
The cout Object
• Can be used to send more than one item
to cout:
cout << "Hello " << "there!";
Or:
cout << "Hello ";
cout << "there!";
Copyright © 2012 Pearson Education, Inc.
The cout Object
• This produces one line of output:
cout << "Programming is ";
cout << "fun!";
Copyright © 2012 Pearson Education, Inc.
The endl Manipulator
• You can use the endl manipulator to start
a new line of output. This will produce two
lines of output:
cout << "Programming is" << endl;
cout << "fun!";
Copyright © 2012 Pearson Education, Inc.
The endl Manipulator
cout << "Programming is" << endl;
cout << "fun!";
Programming is
fun!
Copyright © 2012 Pearson Education, Inc.
The endl Manipulator
• You do NOT put quotation marks around
endl
• The last character in endl is a lowercase
L, not the number 1.
endl This is a lowercase L
Copyright © 2012 Pearson Education, Inc.
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:
cout << "Programming isn";
cout << "fun!";
Notice that the n is INSIDE
the string.
Copyright © 2012 Pearson Education, Inc.
The n Escape Sequence
cout << "Programming isn";
cout << "fun!";
Programming is
fun!
Copyright © 2012 Pearson Education, Inc.
2.3
The #include Directive
Copyright © 2012 Pearson Education, Inc.
From a High-Level Program to an
Executable File
In charge of all #
directives
Copyright © 2012 Pearson Education, Inc.
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 © 2012 Pearson Education, Inc.
2.4
Variables and Literals
Copyright © 2012 Pearson Education, Inc.
Variables and Literals
• Variable: a name to represent a storage
location in memory
– Has a name and a type of data it can hold
– Must be defined before it can be used:
int item;
Copyright © 2012 Pearson Education, Inc.
Variable Definition in Program 2-7
Variable Definition
Copyright © 2012 Pearson Education, Inc.
Literals
• Literal: a value that is written into a
program’s code.
"hello, there" (string literal)
12 (integer literal)
Copyright © 2012 Pearson Education, Inc.
Integer Literal in Program 2-9
20 is an integer literal
Copyright © 2012 Pearson Education, Inc.
String Literals in Program 2-9
These are string literals
Copyright © 2012 Pearson Education, Inc.
2.5
Identifiers
Copyright © 2012 Pearson Education, Inc.
Identifiers
• An identifier is a programmer-defined
name for some part of a program:
– Variables
– Functions
– Files names, ex. myFirstProgram.cpp
Copyright © 2012 Pearson Education, Inc.
C++ Key Words
You cannot use any of the C++ key words as an
identifier. These words have reserved meaning.
Copyright © 2012 Pearson Education, Inc.
Variable Names
• A variable name should represent the
purpose of the variable. For example:
itemsOrdered
The purpose of this variable is to hold the
number of items ordered.
Copyright © 2012 Pearson Education, Inc.
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 © 2012 Pearson Education, Inc.
Valid and Invalid Identifiers
IDENTIFIER VALID? REASON IF INVALID
totalSales Yes
total_Sales Yes
total.Sales No Cannot contain .
4thQtrSales No Cannot begin with digit
totalSale$ No Cannot contain $
Copyright © 2012 Pearson Education, Inc.
2.6
Integer Data Types
Copyright © 2012 Pearson Education, Inc.
Integer Data Types
• Integer variables can hold whole numbers such
as 12, 7, and -99.
Copyright © 2012 Pearson Education, Inc.
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
– int length, width;
– float area_triangle;
Copyright © 2012 Pearson Education, Inc.
Integer Types in Program 2-10
This program has three variables: checking,
miles, and days
Copyright © 2012 Pearson Education, Inc.
Integer Literals
• An integer literal is an integer value that is
typed into a program’s code. For example:
itemsOrdered = 15;
In this code, 15 is an integer literal.
Copyright © 2012 Pearson Education, Inc.
Integer Literals in Program 2-10
Integer Literals
Copyright © 2012 Pearson Education, Inc.
Integer Literals
• Integer literals are stored in memory as
ints by default
• To store an integer constant in a long
memory location, put ‘L’ at the end of the
number: 1234L
• Constants that begin with ‘0’ (zero) are
base 8: 075
• Constants that begin with ‘0x’ are base
16: 0x75A
Copyright © 2012 Pearson Education, Inc.
2.7
The char Data Type
Copyright © 2012 Pearson Education, Inc.
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:
char letter;
letter = 'C';
MEMORY:
letter
67
Copyright © 2012 Pearson Education, Inc.
Character Literals
• Character literals must be enclosed in
single quote marks. Example:
'A'
Copyright © 2012 Pearson Education, Inc.
Character Literals in Program 2-13
Copyright © 2012 Pearson Education, Inc.
Character Strings
• A series of characters in consecutive memory
locations:
"Hello"
• Stored with the null terminator, 0, at the end:
• Comprised of the characters between the " "
H e l l o 0
Copyright © 2012 Pearson Education, Inc.
2.8
The C++ string Class
Copyright © 2012 Pearson Education, Inc.
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 © 2012 Pearson Education, Inc.
The string class in Program 2-15
Copyright © 2012 Pearson Education, Inc.
2.9
Floating-Point Data Types
Copyright © 2012 Pearson Education, Inc.
Floating-Point Data Types
• The floating-point data types are:
float
double
long double
• They can hold real numbers such as:
12.45 -3.8
• Stored in a form similar to scientific notation
• All floating-point numbers are signed
Copyright © 2012 Pearson Education, Inc.
Floating-Point Data Types
Copyright © 2012 Pearson Education, Inc.
Floating-Point Literals
• Can be represented in
– Fixed point (decimal) notation:
31.4159 0.0000625
– E notation:
3.14159E1 6.25e-5
• Are double by default
• Can be forced to be float (3.14159f) or
long double (0.0000625L)
Copyright © 2012 Pearson Education, Inc.
Floating-Point Data Types in
Program 2-16
Copyright © 2012 Pearson Education, Inc.
2.10
The bool Data Type
Copyright © 2012 Pearson Education, Inc.
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;
bool finished = false;
allDone finished
1 0
Copyright © 2012 Pearson Education, Inc.
Boolean Variables in Program 2-17
Copyright © 2012 Pearson Education, Inc.
2.11
Determining the Size of a Data
Type
Copyright © 2012 Pearson Education, Inc.
Determining the Size of a Data
Type
The sizeof operator gives the size of any
data type or variable:
double amount;
cout << "A double is stored in "
<< sizeof(double) << "bytesn";
cout << "Variable amount is stored in "
<< sizeof(amount)
<< "bytesn";
Copyright © 2012 Pearson Education, Inc.
2.12
Variable Assignments and
Initialization
Copyright © 2012 Pearson Education, Inc.
Variable Assignments and
Initialization
• An assignment statement uses the =
operator to store a value in a variable.
item = 12;
• This statement assigns the value 12 to the
item variable.
Copyright © 2012 Pearson Education, Inc.
Assignment
• The variable receiving the value must
appear on the left side of the = operator.
• This will NOT work:
// ERROR!
12 = item;
Copyright © 2012 Pearson Education, Inc.
Variable Initialization
• To initialize a variable means to assign it a
value when it is defined:
int length = 12;
• Can initialize some or all variables:
int length = 12, width = 5, area;
Copyright © 2012 Pearson Education, Inc.
Variable Initialization in Program 2-
19
Copyright © 2012 Pearson Education, Inc.
2.13
Scope
Copyright © 2012 Pearson Education, Inc.
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 © 2012 Pearson Education, Inc.
Variable Out of Scope in Program
2-20
Copyright © 2012 Pearson Education, Inc.
2.14
Arithmetic Operators
Copyright © 2012 Pearson Education, Inc.
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 © 2012 Pearson Education, Inc.
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 © 2012 Pearson Education, Inc.
Arithmetic Operators in Program 2-21
Copyright © 2012 Pearson Education, Inc.
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 © 2012 Pearson Education, Inc.
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 © 2012 Pearson Education, Inc.
2.15
Comments
Copyright © 2012 Pearson Education, Inc.
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 © 2012 Pearson Education, Inc.
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
// calculate rectangle area
area = length * width;
Copyright © 2012 Pearson Education, Inc.
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 © 2012 Pearson Education, Inc.
2.16
Named Constants
Copyright © 2012 Pearson Education, Inc.
Named Constants
• Named constant (constant variable):
variable whose content cannot be
changed during program execution
• Used for representing constant values with
descriptive names:
const double TAX_RATE = 0.0675;
const int NUM_STATES = 50;
• Often named in uppercase letters
Copyright © 2012 Pearson Education, Inc.
Named Constants in Program 2-28
Copyright © 2012 Pearson Education, Inc.
2.17
Programming Style
Copyright © 2012 Pearson Education, Inc.
Programming Style
• The visual organization of the source code
• Includes the use of spaces, tabs, and
blank lines
• Does not affect the syntax of the program
• Affects the readability of the source code
Copyright © 2012 Pearson Education, Inc.
Programming Style
Common elements to improve readability:
• Braces { } aligned vertically
• Indentation of statements within a set of
braces
• Blank lines between declaration and other
statements
• Long statements wrapped over multiple
lines with aligned operators
Copyright © 2012 Pearson Education, Inc.
2.18
Standard and Prestandard C++
Copyright © 2012 Pearson Education, Inc.
Standard and Prestandard C++
Older-style C++ programs:
– Use .h at end of header files:
– #include <iostream.h>
– Use #define preprocessor directive instead
of const definitions
– Do not use using namespace convention
– May not compile with a standard C++
compiler
Copyright © 2012 Pearson Education, Inc.
#define directive in Program 2-31

More Related Content

What's hot

PSEUDOCODE TO SOURCE PROGRAMMING LANGUAGE TRANSLATOR
PSEUDOCODE TO SOURCE PROGRAMMING LANGUAGE TRANSLATORPSEUDOCODE TO SOURCE PROGRAMMING LANGUAGE TRANSLATOR
PSEUDOCODE TO SOURCE PROGRAMMING LANGUAGE TRANSLATORijistjournal
 
C programming Training in Ambala ! Batra Computer Centre
C programming Training in Ambala ! Batra Computer CentreC programming Training in Ambala ! Batra Computer Centre
C programming Training in Ambala ! Batra Computer Centrejatin batra
 
Siteimprove TechTalk: Demystifying Accessible Names
Siteimprove TechTalk: Demystifying Accessible NamesSiteimprove TechTalk: Demystifying Accessible Names
Siteimprove TechTalk: Demystifying Accessible NamesTobias Christian Jensen
 
Introduction of c_language
Introduction of c_languageIntroduction of c_language
Introduction of c_languageSINGH PROJECTS
 
Chapter1 c programming data types, variables and constants
Chapter1 c programming   data types, variables and constantsChapter1 c programming   data types, variables and constants
Chapter1 c programming data types, variables and constantsvinay arora
 
Object Oriented Programming using C++ Part I
Object Oriented Programming using C++ Part IObject Oriented Programming using C++ Part I
Object Oriented Programming using C++ Part IAjit Nayak
 
over all view programming to computer
over all view programming to computer over all view programming to computer
over all view programming to computer muniryaseen
 
1. introduction to computer
1. introduction to computer1. introduction to computer
1. introduction to computerShankar Gangaju
 
Perl Development (Sample Courseware)
Perl Development (Sample Courseware)Perl Development (Sample Courseware)
Perl Development (Sample Courseware)Garth Gilmour
 
1. overview of c
1. overview of c1. overview of c
1. overview of camar kakde
 
Overlapping optimization with parsing through metagrammars
Overlapping optimization with parsing through metagrammarsOverlapping optimization with parsing through metagrammars
Overlapping optimization with parsing through metagrammarsIAEME Publication
 

What's hot (20)

PSEUDOCODE TO SOURCE PROGRAMMING LANGUAGE TRANSLATOR
PSEUDOCODE TO SOURCE PROGRAMMING LANGUAGE TRANSLATORPSEUDOCODE TO SOURCE PROGRAMMING LANGUAGE TRANSLATOR
PSEUDOCODE TO SOURCE PROGRAMMING LANGUAGE TRANSLATOR
 
C programming Training in Ambala ! Batra Computer Centre
C programming Training in Ambala ! Batra Computer CentreC programming Training in Ambala ! Batra Computer Centre
C programming Training in Ambala ! Batra Computer Centre
 
1 puc programming using c++
1 puc programming using c++1 puc programming using c++
1 puc programming using c++
 
Siteimprove TechTalk: Demystifying Accessible Names
Siteimprove TechTalk: Demystifying Accessible NamesSiteimprove TechTalk: Demystifying Accessible Names
Siteimprove TechTalk: Demystifying Accessible Names
 
Word processing
Word processingWord processing
Word processing
 
Introduction of c_language
Introduction of c_languageIntroduction of c_language
Introduction of c_language
 
C++ Chapter 1
C++ Chapter 1C++ Chapter 1
C++ Chapter 1
 
C Language
C LanguageC Language
C Language
 
SPC Unit 2
SPC Unit 2SPC Unit 2
SPC Unit 2
 
OOP Poster Presentation
OOP Poster PresentationOOP Poster Presentation
OOP Poster Presentation
 
Chapter1 c programming data types, variables and constants
Chapter1 c programming   data types, variables and constantsChapter1 c programming   data types, variables and constants
Chapter1 c programming data types, variables and constants
 
Object Oriented Programming using C++ Part I
Object Oriented Programming using C++ Part IObject Oriented Programming using C++ Part I
Object Oriented Programming using C++ Part I
 
over all view programming to computer
over all view programming to computer over all view programming to computer
over all view programming to computer
 
Lecture 01 2017
Lecture 01 2017Lecture 01 2017
Lecture 01 2017
 
CProgrammingTutorial
CProgrammingTutorialCProgrammingTutorial
CProgrammingTutorial
 
1. introduction to computer
1. introduction to computer1. introduction to computer
1. introduction to computer
 
C++ chapter 1
C++ chapter 1C++ chapter 1
C++ chapter 1
 
Perl Development (Sample Courseware)
Perl Development (Sample Courseware)Perl Development (Sample Courseware)
Perl Development (Sample Courseware)
 
1. overview of c
1. overview of c1. overview of c
1. overview of c
 
Overlapping optimization with parsing through metagrammars
Overlapping optimization with parsing through metagrammarsOverlapping optimization with parsing through metagrammars
Overlapping optimization with parsing through metagrammars
 

Similar to Introduction to C++

Lecture 1.pptx on plant morphology, intro
Lecture 1.pptx on plant morphology, introLecture 1.pptx on plant morphology, intro
Lecture 1.pptx on plant morphology, introstephenopokuasante
 
Lecture 1.ppt morphology of higher plant
Lecture 1.ppt morphology of higher plantLecture 1.ppt morphology of higher plant
Lecture 1.ppt morphology of higher plantstephenopokuasante
 
unit 1 programming in c ztgdawte efhgfhj ewnfbshyufh fsfyshu
unit 1 programming in c ztgdawte efhgfhj ewnfbshyufh fsfyshuunit 1 programming in c ztgdawte efhgfhj ewnfbshyufh fsfyshu
unit 1 programming in c ztgdawte efhgfhj ewnfbshyufh fsfyshuGauravRawat830030
 
490450755-Chapter-2.ppt
490450755-Chapter-2.ppt490450755-Chapter-2.ppt
490450755-Chapter-2.pptManiMala75
 
490450755-Chapter-2.ppt
490450755-Chapter-2.ppt490450755-Chapter-2.ppt
490450755-Chapter-2.pptManiMala75
 
Introduction to Computers and Programming
Introduction to Computers and ProgrammingIntroduction to Computers and Programming
Introduction to Computers and ProgrammingEdwin Flórez Gómez
 
Introduction to Programming Fundamentals 3.pdf
Introduction to Programming Fundamentals 3.pdfIntroduction to Programming Fundamentals 3.pdf
Introduction to Programming Fundamentals 3.pdfAbrehamKassa
 
Chapter 01 - introduction for C++
Chapter 01 - introduction for C++Chapter 01 - introduction for C++
Chapter 01 - introduction for C++wahida_f6
 
358 33 powerpoint-slides_1-introduction-c_chapter-1
358 33 powerpoint-slides_1-introduction-c_chapter-1358 33 powerpoint-slides_1-introduction-c_chapter-1
358 33 powerpoint-slides_1-introduction-c_chapter-1sumitbardhan
 
C++ Basics introduction to typecasting Webinar Slides 1
C++ Basics introduction to typecasting Webinar Slides 1C++ Basics introduction to typecasting Webinar Slides 1
C++ Basics introduction to typecasting Webinar Slides 1Ali Raza Jilani
 
Python for Physical Science.pdf
Python for Physical Science.pdfPython for Physical Science.pdf
Python for Physical Science.pdfMarilouANDERSON
 

Similar to Introduction to C++ (20)

Lecture 1.pptx on plant morphology, intro
Lecture 1.pptx on plant morphology, introLecture 1.pptx on plant morphology, intro
Lecture 1.pptx on plant morphology, intro
 
Lecture 1.ppt morphology of higher plant
Lecture 1.ppt morphology of higher plantLecture 1.ppt morphology of higher plant
Lecture 1.ppt morphology of higher plant
 
Presentation c++
Presentation c++Presentation c++
Presentation c++
 
8844632.ppt
8844632.ppt8844632.ppt
8844632.ppt
 
Cp week _2.
Cp week _2.Cp week _2.
Cp week _2.
 
unit 1 programming in c ztgdawte efhgfhj ewnfbshyufh fsfyshu
unit 1 programming in c ztgdawte efhgfhj ewnfbshyufh fsfyshuunit 1 programming in c ztgdawte efhgfhj ewnfbshyufh fsfyshu
unit 1 programming in c ztgdawte efhgfhj ewnfbshyufh fsfyshu
 
490450755-Chapter-2.ppt
490450755-Chapter-2.ppt490450755-Chapter-2.ppt
490450755-Chapter-2.ppt
 
490450755-Chapter-2.ppt
490450755-Chapter-2.ppt490450755-Chapter-2.ppt
490450755-Chapter-2.ppt
 
Prog1-L1.pdf
Prog1-L1.pdfProg1-L1.pdf
Prog1-L1.pdf
 
history of c.ppt
history of c.ppthistory of c.ppt
history of c.ppt
 
Introduction to Computers and Programming
Introduction to Computers and ProgrammingIntroduction to Computers and Programming
Introduction to Computers and Programming
 
Introduction to Programming Fundamentals 3.pdf
Introduction to Programming Fundamentals 3.pdfIntroduction to Programming Fundamentals 3.pdf
Introduction to Programming Fundamentals 3.pdf
 
C language ppt
C language pptC language ppt
C language ppt
 
#Code2 create c++ for beginners
#Code2 create  c++ for beginners #Code2 create  c++ for beginners
#Code2 create c++ for beginners
 
Chapter 01 - introduction for C++
Chapter 01 - introduction for C++Chapter 01 - introduction for C++
Chapter 01 - introduction for C++
 
358 33 powerpoint-slides_1-introduction-c_chapter-1
358 33 powerpoint-slides_1-introduction-c_chapter-1358 33 powerpoint-slides_1-introduction-c_chapter-1
358 33 powerpoint-slides_1-introduction-c_chapter-1
 
Loops and Files
Loops and FilesLoops and Files
Loops and Files
 
C++ Basics introduction to typecasting Webinar Slides 1
C++ Basics introduction to typecasting Webinar Slides 1C++ Basics introduction to typecasting Webinar Slides 1
C++ Basics introduction to typecasting Webinar Slides 1
 
Pengaturcaraan asas
Pengaturcaraan asasPengaturcaraan asas
Pengaturcaraan asas
 
Python for Physical Science.pdf
Python for Physical Science.pdfPython for Physical Science.pdf
Python for Physical Science.pdf
 

Recently uploaded

“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementmkooblal
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxEyham Joco
 
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,Virag Sontakke
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
CELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxCELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxJiesonDelaCerna
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfadityarao40181
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentInMediaRes1
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupJonathanParaisoCruz
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxRaymartEstabillo3
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 

Recently uploaded (20)

“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of management
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptx
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
CELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxCELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptx
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdf
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media Component
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized Group
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 

Introduction to C++

  • 1. Warning Class Book: 8th Edition This Slides • Taken from same book but 7th Edition • I added some and did some modifications to others
  • 2. Copyright © 2012 Pearson Education, Inc. Chapter 2: Introduction to C++
  • 3. Copyright © 2012 Pearson Education, Inc. 2.1 The Part of a C++ Program
  • 4. Copyright © 2012 Pearson Education, Inc. The Parts of a C++ Program // sample C++ program #include <iostream> using namespace std; int main() { cout << "Hello, there!"; return 0; } preprocessor directive comment which namespace to use beginning of function named main beginning of block for main output statement end of block for main string literal send 0 to operating system
  • 5. Copyright © 2012 Pearson Education, Inc. 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 parentheses Used when naming a function { } Open/close brace Encloses a group of statements " " Open/close quotation marks Encloses string of characters ; Semicolon End of a programming statement
  • 6. Copyright © 2012 Pearson Education, Inc. 2.2 The cout Object
  • 7. Copyright © 2012 Pearson Education, Inc. The cout Object • Displays output on the computer screen • You use the stream insertion operator << to send output to cout: cout << "Programming is fun!";
  • 8. Copyright © 2012 Pearson Education, Inc. The cout Object • Can be used to send more than one item to cout: cout << "Hello " << "there!"; Or: cout << "Hello "; cout << "there!";
  • 9. Copyright © 2012 Pearson Education, Inc. The cout Object • This produces one line of output: cout << "Programming is "; cout << "fun!";
  • 10. Copyright © 2012 Pearson Education, Inc. The endl Manipulator • You can use the endl manipulator to start a new line of output. This will produce two lines of output: cout << "Programming is" << endl; cout << "fun!";
  • 11. Copyright © 2012 Pearson Education, Inc. The endl Manipulator cout << "Programming is" << endl; cout << "fun!"; Programming is fun!
  • 12. Copyright © 2012 Pearson Education, Inc. The endl Manipulator • You do NOT put quotation marks around endl • The last character in endl is a lowercase L, not the number 1. endl This is a lowercase L
  • 13. Copyright © 2012 Pearson Education, Inc. 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: cout << "Programming isn"; cout << "fun!"; Notice that the n is INSIDE the string.
  • 14. Copyright © 2012 Pearson Education, Inc. The n Escape Sequence cout << "Programming isn"; cout << "fun!"; Programming is fun!
  • 15. Copyright © 2012 Pearson Education, Inc. 2.3 The #include Directive
  • 16. Copyright © 2012 Pearson Education, Inc. From a High-Level Program to an Executable File In charge of all # directives
  • 17. Copyright © 2012 Pearson Education, Inc. 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
  • 18. Copyright © 2012 Pearson Education, Inc. 2.4 Variables and Literals
  • 19. Copyright © 2012 Pearson Education, Inc. Variables and Literals • Variable: a name to represent a storage location in memory – Has a name and a type of data it can hold – Must be defined before it can be used: int item;
  • 20. Copyright © 2012 Pearson Education, Inc. Variable Definition in Program 2-7 Variable Definition
  • 21. Copyright © 2012 Pearson Education, Inc. Literals • Literal: a value that is written into a program’s code. "hello, there" (string literal) 12 (integer literal)
  • 22. Copyright © 2012 Pearson Education, Inc. Integer Literal in Program 2-9 20 is an integer literal
  • 23. Copyright © 2012 Pearson Education, Inc. String Literals in Program 2-9 These are string literals
  • 24. Copyright © 2012 Pearson Education, Inc. 2.5 Identifiers
  • 25. Copyright © 2012 Pearson Education, Inc. Identifiers • An identifier is a programmer-defined name for some part of a program: – Variables – Functions – Files names, ex. myFirstProgram.cpp
  • 26. Copyright © 2012 Pearson Education, Inc. C++ Key Words You cannot use any of the C++ key words as an identifier. These words have reserved meaning.
  • 27. Copyright © 2012 Pearson Education, Inc. Variable Names • A variable name should represent the purpose of the variable. For example: itemsOrdered The purpose of this variable is to hold the number of items ordered.
  • 28. Copyright © 2012 Pearson Education, Inc. 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
  • 29. Copyright © 2012 Pearson Education, Inc. Valid and Invalid Identifiers IDENTIFIER VALID? REASON IF INVALID totalSales Yes total_Sales Yes total.Sales No Cannot contain . 4thQtrSales No Cannot begin with digit totalSale$ No Cannot contain $
  • 30. Copyright © 2012 Pearson Education, Inc. 2.6 Integer Data Types
  • 31. Copyright © 2012 Pearson Education, Inc. Integer Data Types • Integer variables can hold whole numbers such as 12, 7, and -99.
  • 32. Copyright © 2012 Pearson Education, Inc. 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 – int length, width; – float area_triangle;
  • 33. Copyright © 2012 Pearson Education, Inc. Integer Types in Program 2-10 This program has three variables: checking, miles, and days
  • 34. Copyright © 2012 Pearson Education, Inc. Integer Literals • An integer literal is an integer value that is typed into a program’s code. For example: itemsOrdered = 15; In this code, 15 is an integer literal.
  • 35. Copyright © 2012 Pearson Education, Inc. Integer Literals in Program 2-10 Integer Literals
  • 36. Copyright © 2012 Pearson Education, Inc. Integer Literals • Integer literals are stored in memory as ints by default • To store an integer constant in a long memory location, put ‘L’ at the end of the number: 1234L • Constants that begin with ‘0’ (zero) are base 8: 075 • Constants that begin with ‘0x’ are base 16: 0x75A
  • 37. Copyright © 2012 Pearson Education, Inc. 2.7 The char Data Type
  • 38. Copyright © 2012 Pearson Education, Inc. 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: char letter; letter = 'C'; MEMORY: letter 67
  • 39. Copyright © 2012 Pearson Education, Inc. Character Literals • Character literals must be enclosed in single quote marks. Example: 'A'
  • 40. Copyright © 2012 Pearson Education, Inc. Character Literals in Program 2-13
  • 41. Copyright © 2012 Pearson Education, Inc. Character Strings • A series of characters in consecutive memory locations: "Hello" • Stored with the null terminator, 0, at the end: • Comprised of the characters between the " " H e l l o 0
  • 42. Copyright © 2012 Pearson Education, Inc. 2.8 The C++ string Class
  • 43. Copyright © 2012 Pearson Education, Inc. 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;
  • 44. Copyright © 2012 Pearson Education, Inc. The string class in Program 2-15
  • 45. Copyright © 2012 Pearson Education, Inc. 2.9 Floating-Point Data Types
  • 46. Copyright © 2012 Pearson Education, Inc. Floating-Point Data Types • The floating-point data types are: float double long double • They can hold real numbers such as: 12.45 -3.8 • Stored in a form similar to scientific notation • All floating-point numbers are signed
  • 47. Copyright © 2012 Pearson Education, Inc. Floating-Point Data Types
  • 48. Copyright © 2012 Pearson Education, Inc. Floating-Point Literals • Can be represented in – Fixed point (decimal) notation: 31.4159 0.0000625 – E notation: 3.14159E1 6.25e-5 • Are double by default • Can be forced to be float (3.14159f) or long double (0.0000625L)
  • 49. Copyright © 2012 Pearson Education, Inc. Floating-Point Data Types in Program 2-16
  • 50. Copyright © 2012 Pearson Education, Inc. 2.10 The bool Data Type
  • 51. Copyright © 2012 Pearson Education, Inc. 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; bool finished = false; allDone finished 1 0
  • 52. Copyright © 2012 Pearson Education, Inc. Boolean Variables in Program 2-17
  • 53. Copyright © 2012 Pearson Education, Inc. 2.11 Determining the Size of a Data Type
  • 54. Copyright © 2012 Pearson Education, Inc. Determining the Size of a Data Type The sizeof operator gives the size of any data type or variable: double amount; cout << "A double is stored in " << sizeof(double) << "bytesn"; cout << "Variable amount is stored in " << sizeof(amount) << "bytesn";
  • 55. Copyright © 2012 Pearson Education, Inc. 2.12 Variable Assignments and Initialization
  • 56. Copyright © 2012 Pearson Education, Inc. Variable Assignments and Initialization • An assignment statement uses the = operator to store a value in a variable. item = 12; • This statement assigns the value 12 to the item variable.
  • 57. Copyright © 2012 Pearson Education, Inc. Assignment • The variable receiving the value must appear on the left side of the = operator. • This will NOT work: // ERROR! 12 = item;
  • 58. Copyright © 2012 Pearson Education, Inc. Variable Initialization • To initialize a variable means to assign it a value when it is defined: int length = 12; • Can initialize some or all variables: int length = 12, width = 5, area;
  • 59. Copyright © 2012 Pearson Education, Inc. Variable Initialization in Program 2- 19
  • 60. Copyright © 2012 Pearson Education, Inc. 2.13 Scope
  • 61. Copyright © 2012 Pearson Education, Inc. 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
  • 62. Copyright © 2012 Pearson Education, Inc. Variable Out of Scope in Program 2-20
  • 63. Copyright © 2012 Pearson Education, Inc. 2.14 Arithmetic Operators
  • 64. Copyright © 2012 Pearson Education, Inc. 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
  • 65. Copyright © 2012 Pearson Education, Inc. 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
  • 66. Copyright © 2012 Pearson Education, Inc. Arithmetic Operators in Program 2-21
  • 67. Copyright © 2012 Pearson Education, Inc. 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
  • 68. Copyright © 2012 Pearson Education, Inc. 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
  • 69. Copyright © 2012 Pearson Education, Inc. 2.15 Comments
  • 70. Copyright © 2012 Pearson Education, Inc. 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
  • 71. Copyright © 2012 Pearson Education, Inc. 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 // calculate rectangle area area = length * width;
  • 72. Copyright © 2012 Pearson Education, Inc. 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 */
  • 73. Copyright © 2012 Pearson Education, Inc. 2.16 Named Constants
  • 74. Copyright © 2012 Pearson Education, Inc. Named Constants • Named constant (constant variable): variable whose content cannot be changed during program execution • Used for representing constant values with descriptive names: const double TAX_RATE = 0.0675; const int NUM_STATES = 50; • Often named in uppercase letters
  • 75. Copyright © 2012 Pearson Education, Inc. Named Constants in Program 2-28
  • 76. Copyright © 2012 Pearson Education, Inc. 2.17 Programming Style
  • 77. Copyright © 2012 Pearson Education, Inc. Programming Style • The visual organization of the source code • Includes the use of spaces, tabs, and blank lines • Does not affect the syntax of the program • Affects the readability of the source code
  • 78. Copyright © 2012 Pearson Education, Inc. Programming Style Common elements to improve readability: • Braces { } aligned vertically • Indentation of statements within a set of braces • Blank lines between declaration and other statements • Long statements wrapped over multiple lines with aligned operators
  • 79. Copyright © 2012 Pearson Education, Inc. 2.18 Standard and Prestandard C++
  • 80. Copyright © 2012 Pearson Education, Inc. Standard and Prestandard C++ Older-style C++ programs: – Use .h at end of header files: – #include <iostream.h> – Use #define preprocessor directive instead of const definitions – Do not use using namespace convention – May not compile with a standard C++ compiler
  • 81. Copyright © 2012 Pearson Education, Inc. #define directive in Program 2-31