0% found this document useful (0 votes)
10 views40 pages

Chapter 02

Uploaded by

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

Chapter 02

Uploaded by

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

Chapter 2: Introduction to C++

Starting Out with C++


Early Objects
Sixth Edition

by Tony Gaddis, Judy Walters,


and Godfrey Muganda
(some revisions by W. Barrett)

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley


Topics
2.1 Parts of a C++ Program
2.2 The cout Object
2.3 The #include Directive
2.4 Standard and Prestandard C++
2.5 Variables, Constants, and the Assignment
Statement
2.6 Identifiers
2.7 Integer Data Types
2.8 The char Data Type
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-2
Topics (continued)
2.9 The C++ string Class
2.10 Floating-Point Data Types
2.11 The bool Data Type
2.12 Determining the Size of a Data Type
2.13 More on Variable Assignments and
Initialization
2.14 Scope
2.15 Arithmetic Operators
2.16 Comments

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-3


2.1 Parts of a C++ Program

// sample C++ program comment


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

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-4


Special Characters
Character Name Description
// Double Slash Begins a comment
# Pound Sign Begins preprocessor directive

< > Open, Close Brackets Encloses filename used in


#include directive
( ) Open, Close Parentheses Used when naming function

{ } Open, Close Braces Encloses a group of statements


" " Open, Close Quote Marks Encloses string of characters

; Semicolon Ends a programming statement

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-5


2.2 The cout Object

• Displays information on computer screen


• Use << to send information to cout
cout << "Hello, there!";
• Can use << to send multiple items to cout
cout << "Hello, " << "there!";
Or
cout << "Hello, ";
cout << "there!";

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-6


Starting a New Line

• To get multiple lines of output on screen


- Use endl outside a string with cout
cout << "Hello, there!" << endl;
- Use \n inside a string
cout << "Hello, there!\n";

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-7


Quote chars and backslash in a string
• Double quote in a string: " \" "
• Single quote in a string: " \' "
– Or just " ' "
• Backslash in a string: " \\ "
• \ is considered an escape character
– Changes the meaning of the character
following it
– The pair \" is an escape sequence

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-8


2.3 The #include Directive

• Inserts the contents of another file into the


program
• Is a preprocessor directive
– Not part of the C++ language
– Not seen by compiler No ;
goes here
• Example:
#include <iostream>

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-9


2.4 Standard and Prestandard C++

Older-style C++ programs


• Use .h at end of header files
#include <iostream.h>
• Do not use using namespace convention
• May not compile with a standard C++ compiler

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-10


2.5 Variables, Constants, and the
Assignment Statement
• Variable
– Has a name and a type of data it can hold

variable
data type name
char letter;
– Is used to reference a location in memory where a
value can be stored
– Variable must be defined before it can be used
– This value can be changed (i.e., can “vary”)

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-11


Variables

– If a new value is stored in the variable, it


replaces the previous value
– The previous value is overwritten and can no
longer be retrieved
int age;
age = 17; // age is 17
cout << age; // Displays 17
age = 18; // Now age is 18
cout << age; // Displays 18

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-12


Assignment Statement

• Uses the = operator


• Has a single variable on the left side and a
value on the right side
• Copies the value on the right into the
variable on the left
item = 12;

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-13


Constants
• Constant
– Data item whose value does not change
during program execution
– Is also called a literal

'A' // character constant


"Hello" // string literal
12 // integer constant
3.14 // floating-point constant

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-14


2.6 Identifiers

• Programmer-chosen names to represent parts of the


program
– variables, functions, etc.
• Name should represent the use of the identifier
• Cannot use C++ key words as identifiers
• Must begin with alpha character or _, followed by
alpha, numeric, or _ . Alpha may be upper- or
lowercase

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-15


Valid and Invalid Identifiers

IDENTIFIER VALID? REASON IF INVALID


totalSales Yes

total_Sales Yes

total.Sales No Cannot contain period

4thQtrSales No Cannot begin with digit

totalSale$ No Cannot contain $

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-16


2.7 Integer Data Types

• Designed to hold whole numbers


• Can be signed or unsigned
12 -6 +3
• Available in different sizes (i.e., number of
bytes): char, short, int, and long
• Size of char < size of short  size of
int  size of long
– (8<16<32<32 bits)

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-17


Number data types
Type Bytes range
char 1 -128..127
short 2 -32768..32767
int 4 -2,147,384,648
..2,147,384,647
long 4-6 often same as int
float 4 +/- 3.4E-38 to
+/- 3.4E+38
double 8 +/-1.7E-308 to
+/-1.7E+308

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-18


Defining Variables

• Variables of the same type can be defined


- In separate statements
int length;
int width;
- In the same statement
int length,
width;
• Variables of different types must be defined
in different statements
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-19
Integer Constants
• 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 © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-20


2.8 The char Data Type

• Used to hold single characters or very small


integer values
• Usually occupies 1 byte of memory
• ASCII character: code drawn from table
SOURCE CODE char value

char letter = 'C'; letter 67

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-21


String Constant

• Can be stored a series of characters in consecutive


memory locations
"Hello"
• Stored with the null terminator, \0, at end

H e l l o \0

0 1 2 3 4 5

Is comprised of characters between the " "


Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-22
2.9 The C++ string Class

• Must #include <string> to create and


use string objects
• Can define string variables in programs
string name;
• Can assign values to string variables with the
assignment operator
name = "George";
• Can display them with cout
cout << name;
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-23
Single vs. Double quotes
• SINGLE quotes: for a SINGLE character
char ch= 'A';
char lf= '\n';
char bslash= '\\';
• DOUBLE quotes: for a string of chars
string s= "\"my name\"\n";

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-24


2.10 Floating-Point Data Types

• Designed to hold real numbers


12.45 -3.8
• Stored in a form similar to scientific notation
• Numbers are all signed
• Available in different sizes (number of
bytes): float, double, and long double
• Size of float  size of double
 size of long double
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-25
Floating-point Constants
• 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 © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-26


Assigning Floating-point Values to
Integer Variables

If a floating-point value is assigned to an


integer variable
– The fractional part will be truncated (i.e.,
“chopped off” and discarded)
– The value is not rounded
int rainfall = 3.88;
cout << rainfall; // Displays 3

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-27


2.11 The bool Data Type

• Represents values that are true or false


• bool variables are stored as short integers
• false is represented by 0, true by 1
bool allDone = true; allDone finished
bool finished = false; 1 0

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-28


2.12 Determining the Size of a Data Type

The sizeof operator gives the size of any


data type or variable
double amount;
cout << "A float is stored in "
<< sizeof(float) << "bytes\n";
cout << "Variable amount is stored in "
<< sizeof(amount) << "bytes\n";

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-29


2.13 More on Variable Assignments and
Initialization

• Assigning a value to a variable


– Assigns a value to a previously created variable
– A single variable name must appear on left side
of the = symbol
int size;
size = 5; // legal
5 = size; // not legal

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-30


Variable Assignment vs. Initialization

• Initializing a variable
– Gives an initial value to a variable at the time
it is created
– Can initialize some or all variables of
definition
int length = 12;
int width = 7, height = 5, area;

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-31


2.14 Definition and Scope of Variables
• A variable must be defined before any use
int a; // a is now defined
cin >> a; // legal use
cin >> b; // illegal use
int b; // defined after first
use

• The scope of a variable is


– That part of the program where the variable can be
used
– STARTS with its definition
– ENDS at the next } enclosing the definition
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-32
2.15 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 © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-33


Binary Arithmetic Operators

SYMBOL OPERATION EXAMPLE 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 © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-34


Division operator /

• C++ division operator (/)performs integer


division if both operands are integers
cout << 13 / 5; // displays 2
cout << 2 / 4; // displays 0
• If either operand is floating-point, performs
floating division (with fractions as needed)
cout << 13 / 5.0; // displays 2.6
cout << 2.0 / 4; // displays 0.5

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-35


% Operator

• C++ modulus operator (%) computes the


remainder resulting from integer division
cout << 9 % 2; // displays 1
• % requires integers for both operands
cout << 9 % 2.0; // error

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-36


2.16 Comments

• Are used to document parts of a program


• Are written 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 © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-37


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 © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-38


Multi-Line Comments

• Begin with /* and end with */


• Can span multiple lines
/*----------------------------
Here's a multi-line comment
----------------------------*/
• Can also be used as single-line
comments
int area; /* Calculated area */

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-39


Chapter 2: Introduction to C++

Starting Out with C++


Early Objects
Sixth Edition

by Tony Gaddis, Judy Walters,


and Godfrey Muganda

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

You might also like