0% found this document useful (0 votes)
11 views76 pages

PF Lec 2

Chapter 2 provides an introduction to C++ programming, detailing the structure of a C++ program, including components like comments, preprocessor directives, and the main function. It explains the use of the cout object for output, the definition and use of variables and literals, and the rules for identifiers. Additionally, it covers data types, variable assignments, arithmetic operators, comments, named constants, and programming style for improved readability.

Uploaded by

slowmanremember
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views76 pages

PF Lec 2

Chapter 2 provides an introduction to C++ programming, detailing the structure of a C++ program, including components like comments, preprocessor directives, and the main function. It explains the use of the cout object for output, the definition and use of variables and literals, and the rules for identifiers. Additionally, it covers data types, variable assignments, arithmetic operators, comments, named constants, and programming style for improved readability.

Uploaded by

slowmanremember
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 76

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 comment
#include <iostream> preprocessor directive
using namespace std; which namespace to use
int main() beginning of function named main
{ beginning of block for main
cout << "Hello, there!"; output statement
return 0; string literal
send 0 to operating system
} end of block for main

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 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 © 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.

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 is\n";


cout << "fun!";

Notice that the \n is INSIDE


the string.

Copyright © 2012 Pearson Education, Inc.


The \n Escape Sequence
cout << "Programming is\n";
cout << "fun!";

Programming is
fun!

Copyright © 2012 Pearson Education, Inc.


2.3
The #include Directive

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 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, etc.

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

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: MEMORY:
char letter; letter
letter = 'C';
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; allDone finished

bool finished = false; 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) << "bytes\n";
cout << "Variable amount is
stored in "
<< sizeof(amount)
<< "bytes\n";

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.

You might also like