0% found this document useful (0 votes)
38 views74 pages

2 - Chapter02 - Basic Elements of C++

This document discusses the basic elements of C++ programming including data types, operators, expressions, and strings. It covers simple and floating-point data types as well as arithmetic, logical, and relational operators. The document also discusses type conversion, variables, and functions.

Uploaded by

Farah Aljayyousi
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)
38 views74 pages

2 - Chapter02 - Basic Elements of C++

This document discusses the basic elements of C++ programming including data types, operators, expressions, and strings. It covers simple and floating-point data types as well as arithmetic, logical, and relational operators. The document also discusses type conversion, variables, and functions.

Uploaded by

Farah Aljayyousi
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/ 74

C++ PROGRAMMING:

FROM PROBLEM
ANALYSIS
TO PROGRAM DESIGN,
FOURTH EDITION

Chapter 2: Basic Elements of C++

Updated By: Rana AlQurem 1


Objectives
In this chapter, you will:
■ Become familiar with the basic components of a C++ program, including functions,
special symbols, and identifiers
■ Explore simple data types
■ Discover how to use arithmetic operators
■ Examine how a program evaluates arithmetic expressions
■ Learn what an assignment statement is and what it does
■ Become familiar with the string data type
■ Discover how to input data into memory using input statements
■ Become familiar with the use of increment and decrement operators
■ Examine ways to output results using output statements
■ Learn how to use preprocessor directives and why they are necessary
■ Explore how to properly structure a program, including using comments to document
a program
■ Learn how to write a C++ program

Updated By: Rana AlQurem 2


The Basics of a C++ Program

■ Function: collection of statements; when executed, accomplishes


something
– May be predefined or standard
■ Syntax: rules that specify which statements (instructions) are
legal
■ Programming language: a set of rules, symbols, and special
words
■ Semantic rule: meaning of the instruction

Updated By: Rana AlQurem 3


Comments
■ Comments are for the reader, not the compiler
■ Two types:
– Single line
// This is a C++ program. It prints the sentence:
// Welcome to C++ Programming.
– Multiple line
/*
You can include comments that can
occupy several lines.
*/

Updated By: Rana AlQurem 4


Special Symbols
■ Special symbols

+
?
-
,
*
/ <=
. !=
; ==
>=

Updated By: Rana AlQurem 5


Reserved Words (Keywords)

■ Reserved words, keywords, or word symbols


– Include:
■ int
■ float
■ double
■ char
■ const
■ void
■ return

Updated By: Rana AlQurem 6


Identifiers

■ Consist of letters, digits, and the underscore character (_)


■ Must begin with a letter or underscore
■ C++ is case sensitive
– NUMBER is not the same as number
■ Unlike reserved words, predefined identifiers may be redefined,
but it is not a good idea
■ Two predefined identifiers are cout and cin

Updated By: Rana AlQurem 7


Identifiers (cont.)
■ The following are legal identifiers in C++:
– first
– conversion
– payRate

Updated By: Rana AlQurem 8


Naming Identifiers

■ Identifiers can be self-documenting:


– CENTIMETERS_PER_INCH
■ Avoid run-together words :
– firstnumber
– Solution:
■ Capitalize the beginning of each new word
– firstNumber
■ Inserting an underscore just before a new word
– First_number

Updated By: Rana AlQurem 9


Whitespaces

■ Every C++ program contains whitespaces


– Include blanks, tabs, and newline characters
■ Used to separate special symbols, reserved words, and
identifiers
■ Proper utilization of whitespaces is important
– Can be used to make the program readable

Updated By: Rana AlQurem 10


Use of Blanks
■ In C++, you use one or more blanks to separate numbers when data is
input
■ Used to separate reserved words and identifiers from each other and
from other symbols
■ Must never appear within a reserved word or identifier

Updated By: Rana AlQurem 11


Data Types

■ Data type: set of values together with a set of operations


■ C++ data types fall into three categories:
■ Simple data types will be covered only

Updated By: Rana AlQurem 12


Simple Data Types

■ Three categories of simple data


– Integral: integers (numbers without a decimal)
– Floating-point: decimal numbers
– Enumeration type: user-defined data type(not given)

Updated By: Rana AlQurem 13


Simple Data Types (cont.)

■ Integral data types are further classified into nine categories:

Updated By: Rana AlQurem 14


Simple Data Types (cont.)

■ Different compilers may allow different ranges of values

Updated By: Rana AlQurem 15


int Data Type

■ Examples:
-6728
0
78
+763
■ Positive integers do not need a + sign
■ No commas are used within an integer
– Commas are used for separating items in a list

Updated By: Rana AlQurem 16


bool Data Type

■ bool type
– Two values: true and false
– Manipulate logical (Boolean) expressions
■ true and false are called logical values
■ bool, true, and false are reserved words

Updated By: Rana AlQurem 17


char Data Type
■ The smallest integral data type
■ Used for characters: letters, digits, and special symbols
■ Each character is enclosed in single quotes
– 'A', 'a', '0', '*', '+', '$', '&' , ‘6'
■ A blank space is a character and is written ' ', with a space left between
the single quotes

■ ASCII code for character A is 65 and for character a is 97, spase=32 and 0
is 48

Updated By: Rana AlQurem 18


Floating-Point Data Types

■ C++ uses scientific notation to represent real numbers (floating-


point notation)

Updated By: Rana AlQurem 19


Floating-Point Data Types (cont.)

– float: represents any real number


■ Range: -3.4E+38 to 3.4E+38 (four bytes)
– double: represents any real number
■ Range: -1.7E+308 to 1.7E+308 (eight bytes)
– On most newer compilers, data types double and long
double are same

Updated By: Rana AlQurem 20


Floating-Point Data Types (cont.)

■ Maximum number of significant digits (decimal places) for float


values is 6 or 7
■ Maximum number of significant digits for double is 15
■ Precision: maximum number of significant digits
– Float values are called single precision
– Double values are called double precision

Updated By: Rana AlQurem 21


Arithmetic Operators and
Operator Precedence
■ C++ arithmetic operators:
– + addition
– - subtraction
– * multiplication
– / division
– % modulus operator
■ +, -, *, and / can be used with integral and floating-point data
types
■ Operators can be unary or binary

Updated By: Rana AlQurem 22


Order of Precedence

■ All operations inside of () are evaluated first


■ *, /, and % are at the same level of precedence and are evaluated
next
■ + and – have the same level of precedence and are evaluated last
■ When operators are on the same level
– Performed from left to right (associativity)
■ 3 * 7 - 6 + 2 * 5 / 4 + 6 means
(((3 * 7) – 6) + ((2 * 5) / 4 )) +
6

Updated By: Rana AlQurem 23


Expressions

■ If all operands are integers


– Expression is called an integral expression
■ Yields an integral result
■ Example: 2 + 3 * 5
■ If all operands are floating-point
– Expression is called a floating-point expression
■ Yields a floating-point result
■ Example: 12.8 * 17.5 - 34.50

Updated By: Rana AlQurem 24


Mixed Expressions

■ Mixed expression:
– Has operands of different data types
– Contains integers and floating-point
■ Examples of mixed expressions:
2 + 3.5
6 / 4 + 3.9
5.4 * 2 – 13.6 + 18 / 2
6.4 / 2
7 / 2.0

Updated By: Rana AlQurem 25


Mixed Expressions (cont.)

■ Evaluation rules:
– If operator has same types of operands
■ Evaluated according to the type of the operands
– If operator has both types of operands
■ Integer is changed to floating-point.
e.g: 3 + 2.6  3.0+2.6  5.6
■ Operator is evaluated
■ Result is floating-point
– Entire expression is evaluated according to precedence rules

Updated By: Rana AlQurem 26


Type Conversion or Casting

■ Implicit type coercion: when value of one type is automatically


changed to another type
e.g : ‘a’ + 2  97+2  99
what about ‘a’ + ‘b’ ? Try it
■ Cast operator: provides explicit type conversion
static_cast<dataTypeName>(expression)

Updated By: Rana AlQurem 27


Type Conversion (cont.)

Updated By: Rana AlQurem 28


string Type
■ Programmer-defined type supplied in ANSI/ISO Standard C++ library
■ Sequence of zero or more characters
■ Enclosed in double quotation marks
■ Null: a string with no characters
■ Each character has relative position in string
– Position of first character is 0
■ Length of a string is number of characters in it
– Example: length of "William Jacob" is 13

Updated By: Rana AlQurem 29


Using the string Data Type
in a Program
■ To use the string type, you need to access its definition from
the header file string
■ Include the following preprocessor directive:
#include <string>

Updated By: Rana AlQurem 30


Input

■ Data must be loaded into main memory before it can be


manipulated
■ Storing data in memory is a two-step process:
– Instruct computer to allocate memory
– Include statements to put data into memory

Updated By: Rana AlQurem 31


Allocating Memory with
Constants and Variables (cont.)
■ Variable: memory location whose content may change during
execution
■ The syntax to declare a variable is:

Updated By: Rana AlQurem 32


Putting Data into Variables

■ Ways to place data into a variable:


– Use C++’s assignment statement
– Use input (read) statements

Updated By: Rana AlQurem 33


Assignment Statement

■ The assignment statement takes the form:

■ Expression is evaluated and its value is assigned to the variable


on the left side
■ In C++, = is called the assignment operator

Updated By: Rana AlQurem 34


Assignment Statement (cont.)

Updated By: Rana AlQurem 35


Saving and Using the Value of
an Expression
■ To save the value of an expression:
– Declare a variable of the appropriate data type
– Assign the value of the expression to the variable that was
declared
■ Use the assignment statement
■ Wherever the value of the expression is needed, use the variable
holding the value

Updated By: Rana AlQurem 36


Declaring & Initializing
Variables
■ Variables can be initialized when declared:
int first=13, second=10;
char ch=' ';
double x=12.6;
■ All variables must be initialized before they are used
– But not necessarily during declaration

Updated By: Rana AlQurem 37


Allocating Memory with
Constants and Variables
■ Named constant: memory location whose content can’t change
during execution
■ The syntax to declare a named constant is:

■ In C++, const is a reserved word

Updated By: Rana AlQurem 38


Input (Read) Statement

■ cin is used with >> to gather input

■ The stream extraction operator is >>


■ For example, if miles is a double variable
cin >> miles;
– Causes computer to get a value of type double
– Places it in the variable miles

Updated By: Rana AlQurem 39


Input (Read) Statement (cont.)

■ Using more than one variable in cin allows more than one
value to be read at a time
■ For example, if feet and inches are variables of type int, a
statement such as:
cin >> feet >> inches;
– Inputs two integers from the keyboard
– Places them in variables feet and inches respectively

Updated By: Rana AlQurem 40


Input (Read) Statement (cont.)

Updated By: Rana AlQurem 41


Variable Initialization

■ There are two ways to initialize a variable:


int feet;
– By using the assignment statement
feet = 35;
– By using a read statement
cin >> feet;

Updated By: Rana AlQurem 42


Output
■ The syntax of cout and << is:

– Called an output statement


■ The stream insertion operator is <<
■ Expression evaluated and its value is printed at the current cursor
position on the screen

Updated By: Rana AlQurem 43


Output (cont.)

■ A manipulator is used to format the output


– Example: endl causes insertion point to move to
beginning of next line

Updated By: Rana AlQurem 44


Output (cont.)
■ The new line character '\n' is equivalent to endl .
– May appear anywhere in the string

cout << "Hello there.";


cout << "My name is James.";
■ Output:
Hello there.My name is James.

cout << "Hello there.\n";


cout << "My name is James.";
■ Output :
Hello there.
My name is James.

Updated By: Rana AlQurem 45


Program Style and Form

■ Every C++ program has a function main


■ It must also follow the syntax rules
■ Other rules serve the purpose of giving precise meaning to the
language

Updated By: Rana AlQurem 46


Programming Example: Body
of the Function
■ The body of the function main has the following form:
int main ()
{
declare variables
statements
return 0;
}

Updated By: Rana AlQurem 47


Use of Semicolons, Brackets,
and Commas
■ All C++ statements end with a semicolon
– Also called a statement terminator
■ { and } are not C++ statements
■ Commas separate items in a list

Updated By: Rana AlQurem 48


Semantics

■ Possible to remove all syntax errors in a program and still not


have it run
■ Even if it runs, it may still not do what you meant it to do
■ For example,
2 + 3 * 5 and (2 + 3) * 5
are both syntactically correct expressions, but have different
meanings

Updated By: Rana AlQurem 49


Form and Style

■ Consider two ways of declaring variables:


– Method 1
int feet, inch;
double x, y;
– Method 2
int a,b;double x,y;
■ Both are correct; however, the second is hard to read

Updated By: Rana AlQurem 50


Syntax

■ Errors in syntax are found in compilation

int x; //Line 1
int y //Line 2: syntax error or compile
error
double z; //Line 3

y = w + x; //Line 4: error

Updated By: Rana AlQurem 51


Prompt Lines

■ Prompt lines: executable statements precedes every cin statements


that inform the user what to do ( what to input ).
■ Echo statements: rewrite what the user input .

cout <<"Please enter a number between 1 and 10 ";


cin >> num;

cout<< num ; // Echo st.

Updated By: Rana AlQurem 52


Output (continued)

Updated By: Rana AlQurem 53


Increment & Decrement
Operators
■ Increment operator: increment variable by 1
– Pre-increment: ++variable
– Post-increment: variable++
■ Decrement operator: decrement variable by 1
– Pre-decrement: --variable
– Post-decrement: variable—
■ What is the difference between the following?

x = 5; x = 5;
y = ++x; y = x++;
Updated By: Rana AlQurem 54
More on Assignment
Statements
■ C++ has special assignment statements called compound
assignments
+=, -=, *=, /=, and %=
■ Example:

x *= y;

Updated By: Rana AlQurem 55


Preprocessor Directives
■ C++ has a small number of operations
■ Many functions and symbols needed to run a C++ program are provided
as collection of libraries
■ Every library has a name and is referred to by a header file
■ Preprocessor directives are commands supplied to the preprocessor
■ All preprocessor commands begin with #
■ No semicolon at the end of these commands

Updated By: Rana AlQurem 56


Preprocessor Directives
(continued)
■ Syntax to include a header file:

■ For example:

#include <iostream>
– Causes the preprocessor to include the header file
iostream in the program

Updated By: Rana AlQurem 57


namespace and Using cin
and cout in a Program
■ cin and cout are declared in the header file iostream, but
within std namespace
■ To use cin and cout in a program, use the following two
statements:
#include <iostream>
using namespace std;

Updated By: Rana AlQurem 58


Creating a C++ Program

■ C++ program has two parts:


– Preprocessor directives
– The program
■ Preprocessor directives and program statements constitute C++
source code (.cpp)
■ Compiler generates object code (.obj)
■ Executable code is produced and saved in a file with the file
extension .exe

Updated By: Rana AlQurem 59


Creating a C++ Program
(continued)
■ A C++ program is a collection of functions, one of which is the
function main
■ The first line of the function main is called the heading of the
function:
int main()
■ The statements enclosed between the curly braces ({ and }) form
the body of the function
– Contains two types of statements:
■ Declaration statements
■ Executable statements

Updated By: Rana AlQurem 60


Updated By: Rana AlQurem 61
Creating a C++ Program
(continued)
Sample Run:
Line 9: firstNum = 18
Line 10: Enter an integer: 15

Line 13: secondNum = 15


Line 15: The new value of firstNum =
60

Updated By: Rana AlQurem 62


Documentation

■ A well-documented program is easier to understand and modify


■ You use comments to document programs
■ Comments should appear in a program to:
– Explain the purpose of the program
– Identify who wrote it
– Explain the purpose of particular statements

Updated By: Rana AlQurem 63


Programming Example:
Convert Length
■ Write a program that takes as input a given length expressed in
feet and inches
– Convert and output the length in centimeters
■ Input: length in feet and inches
■ Output: equivalent length in centimeters
■ Lengths are given in feet and inches
■ Program computes the equivalent length in centimeters
■ One inch is equal to 2.54 centimeters

Updated By: Rana AlQurem 64


Programming Example:
Convert Length (cont.)
■ Convert the length in feet and inches to all inches:
– Multiply the number of feet by 12
– Add given inches
■ Use the conversion formula (1 inch = 2.54 centimeters) to find
the equivalent length in centimeters

Updated By: Rana AlQurem 65


Programming Example:
Convert Length (cont.)
■ The algorithm is as follows:
– Get the length in feet and inches
– Convert the length into total inches
– Convert total inches into centimeters
– Output centimeters

Updated By: Rana AlQurem 66


Programming Example:
Variables and Constants
■ Variables
int feet; //variable to hold given feet
int inches; //variable to hold given inches
int totalInches; //variable to hold total inches
double centimeters; //variable to hold length in
//centimeters
■ Named Constant
const double CENTIMETERS_PER_INCH = 2.54;
const int INCHES_PER_FOOT = 12;

Updated By: Rana AlQurem 67


Programming Example: Main
Algorithm
■ Prompt user for input
■ Get data
■ Echo the input (output the input)
■ Find length in inches
■ Output length in inches
■ Convert length to centimeters
■ Output length in centimeters

Updated By: Rana AlQurem 68


Programming Example:
Putting It Together
■ Program begins with comments
■ System resources will be used for I/O
■ Use input statements to get data and output statements to print
results
■ Data comes from keyboard and the output will display on the
screen
■ The first statement of the program, after comments, is
preprocessor directive to include header file iostream

Updated By: Rana AlQurem 69


Programming Example: Putting It
Together (cont.)
■ Two types of memory locations for data manipulation:
– Named constants
■ Usually put before main
– Variables
■ This program has only one function (main), which will contain all
the code
■ The program needs variables to manipulate data, which are declared
in main

Updated By: Rana AlQurem 70


Programming Example:
Writing a Complete Program
■ Begin the program with comments for documentation
■ Include header files
■ Declare named constants, if any
■ Write the definition of the function main

Updated By: Rana AlQurem 71


Updated By: Rana AlQurem 72
Programming Example:
Sample Run
Enter two integers, one for feet, one for inches: 15 7

The numbers you entered are 15 for feet and 7 for inches.
The total number of inches = 187
The number of centimeters = 474.98

Updated By: Rana AlQurem 73


Summary
■ C++ program: collection of functions where each program has a function
called main
■ Identifier consists of letters, digits, and underscores, and begins with letter or
underscore
■ The arithmetic operators in C++ are addition (+), subtraction
(-),multiplication (*), division (/), and modulus (%)
■ Arithmetic expressions are evaluated using the precedence associativity
rules
■ All operands in an integral expression are integers and all operands in a
floating-point expression are decimal numbers
■ Mixed expression: contains both integers and decimal numbers
■ Use the cast operator to explicitly convert values from one data type to
another
■ A named constant is initialized when declared
■ All variables must be declared before used

Updated By: Rana AlQurem 74

You might also like