0% found this document useful (0 votes)
53 views

C++ Programming: From Problem Analysis To Program Design: Fifth Edition

This chapter introduces the basic components of a C++ program, including functions, data types, operators, and input/output statements. It discusses simple and floating-point data types. It also covers identifiers, keywords, comments, and the structure of a basic C++ program. The objectives are to familiarize readers with these fundamental programming elements and how they are used.

Uploaded by

awankilat
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
53 views

C++ Programming: From Problem Analysis To Program Design: Fifth Edition

This chapter introduces the basic components of a C++ program, including functions, data types, operators, and input/output statements. It discusses simple and floating-point data types. It also covers identifiers, keywords, comments, and the structure of a basic C++ program. The objectives are to familiarize readers with these fundamental programming elements and how they are used.

Uploaded by

awankilat
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 81

C++ PROGRAMMING: FROM PROBLEM ANALYSIS TO

PROGRAM DESIGN, FIFTH EDITION

CHAPTER 2: BASIC ELEMENTS OF C++


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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
2
OBJECTIVES (CONT'D.)

• 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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
3
OBJECTIVES (CONT'D.)

• Learn how to use preprocessor directives and why they are necessary
• Learn how to debug syntax errors
• Explore how to properly structure a program, including using
comments to document a program
• Learn how to write a C++ program

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
4
INTRODUCTION

• Computer program
– Sequence of statements whose objective is to accomplish a task
• Programming
– Process of planning and creating a program

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
5
A C++ PROGRAM
#include <iostream>
using namespace std;
int main()
{
int num;
num = 6;
cout << "My first C++ program." << endl;
cout << "The sum of 2 and 3 = " << 5 << endl;
cout << "7 + 8 = " << 7 + 8 << endl;
cout << "Num = " << num << endl;
return 0;
}

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
6
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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
7
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.
*/

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
8
SPECIAL SYMBOLS
• Special symbols

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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
9
RESERVED WORDS
(KEYWORDS)
• Reserved words, keywords, or word symbols
– Include:
• int
• float
• double
• char
• const
• void
• return

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
10
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

• Two predefined identifiers are cout and cin


• Unlike reserved words, predefined identifiers may
be redefined, but it is not a good idea

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
11
IDENTIFIERS (CONT'D.)

• Legal identifiers in C++:


– first
– conversion
– payRate

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
12
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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
13
DATA TYPES

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


• C++ data types fall into three categories:

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
14
SIMPLE DATA TYPES

• Three categories of simple data


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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
15
SIMPLE DATA TYPES (CONT'D.)

• Integral data types are further classified into nine categories:


– char, short, int, long, bool
– unsigned char, unsigned short,
unsigned int, unsigned long

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
16
SIMPLE DATA TYPES (CONT'D.)

• Different compilers may allow different ranges of values

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
17
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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
18
BOOL DATA TYPE

• bool type
– Two values: true and false
– Manipulate logical (Boolean) expressions
• true and false
– Logical values
• bool, true, and false
– Reserved words

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
19
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', '*', '+', '$', '&'
• A blank space is a character
– Written ' ', with a space left between the single quotes

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
20
FLOATING-POINT DATA TYPES

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


notation)

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
21
FLOATING-POINT DATA TYPES
(CONT'D.)
• 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)

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
22
FLOATING-POINT DATA TYPES
(CONT'D.)
• 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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
23
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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
24
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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
25
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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
26
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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
27
MIXED EXPRESSIONS
(CONT'D.)
• 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
• Operator is evaluated
• Result is floating-point
– Entire expression is evaluated according to precedence rules

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
28
TYPE CONVERSION (CASTING)

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


changed to another type
• Cast operator: provides explicit type conversion
static_cast<dataTypeName>(expression)

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
29
TYPE CONVERSION (CONT'D.)

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
30
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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
31
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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
32
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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
33
ALLOCATING MEMORY WITH
CONSTANTS AND VARIABLES
(CONT'D.)
• Variable: memory location whose content may change during
execution
• The syntax to declare a named constant is:

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
34
PUTTING DATA INTO
VARIABLES
• Ways to place data into a variable:
– Use C++’s assignment statement
– Use input (read) statements

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
35
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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
36
ASSIGNMENT STATEMENT
(CONT'D.)

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
37
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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
38
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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
39
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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
40
INPUT (READ) STATEMENT
(CONT'D.)
• 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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
41
INPUT (READ) STATEMENT
(CONT'D.)

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
42
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;

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
43
INCREMENT AND 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++;
C++ Programming: From Problem Analysis to Program
Design, Fifth Edition
44
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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
45
OUTPUT (CONT'D.)

• A manipulator is used to format the output


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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
46
OUTPUT (CONT'D.)
• The new line character is '\n'
– 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.

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
47
OUTPUT (CONT'D.)

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
48
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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
49
PREPROCESSOR DIRECTIVES
(CONT'D.)
• Syntax to include a header file:

• For example:

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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
50
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;

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
51
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>

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
52
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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
53
CREATING A C++ PROGRAM
(CONT'D.)
• 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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
54
Creating a C++ Program (cont'd.)

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
55
CREATING A C++ PROGRAM
(CONT'D.)
Sample Run:
Line 9: firstNum = 18
Line 10: Enter an integer: 15

Line 13: secondNum = 15


Line 15: The new value of firstNum = 60

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
56
DEBUGGING: UNDERSTANDING
AND FIXING SYNTAX ERRORS
• Compile a program
– Compiler will identify the syntax error
– Specifies the line numbers where the errors occur
Example2_Syntax_Errors.cpp
c:\chapter 2 source code\example2_syntax_errors.cpp(9) :
error C2146: syntax error :
missing ';' before identifier 'num'
c:\chapter 2 source code\example2_syntax_errors.cpp(11) :
error C2065: 'tempNum' :
undeclared identifier
• Learn how to spot and fix syntax errors

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
57
PROGRAM STYLE AND FORM

• Every C++ program has a function main


• Programs must also follow syntax rules
• Other rules serve the purpose of giving precise meaning to the
language

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
58
SYNTAX

• Errors in syntax are found in compilation


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

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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
59
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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
60
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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
61
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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
62
NAMING IDENTIFIERS

• Identifiers can be self-documenting:


– CENTIMETERS_PER_INCH
• Avoid run-together words :
– annualsale
– Solution:
• Capitalize the beginning of each new word: annualSale
• Inserting an underscore just before a new word: annual_sale

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
63
PROMPT LINES

• Prompt lines: executable statements that inform the user what to do

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


<< "press the return key" << endl;
cin >> num;

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
64
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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
65
FORM AND STYLE

• Consider two ways of declaring variables:


– Method 1

int feet, inch;


double x, y;
– Method 2

int feet,inch;double x,y;


• Both are correct; however, the second is hard to read

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
66
MORE ON ASSIGNMENT
STATEMENTS
• C++ has special assignment statements called compound assignments
+=, -=, *=, /=, and %=
• Example:

x *= y;

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
67
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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
68
PROGRAMMING EXAMPLE:
CONVERT LENGTH (CONT'D.)
• 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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
69
PROGRAMMING EXAMPLE:
CONVERT LENGTH (CONT'D.)
• 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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
70
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;

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
71
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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
72
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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
73
PROGRAMMING EXAMPLE:
PUTTING IT TOGETHER (CONT'D.)
• 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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
74
PROGRAMMING EXAMPLE:
BODY OF THE FUNCTION
• The body of the function main has the following form:
int main ()
{
declare variables
statements
return 0;
}

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
75
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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
76
Programming Example: Writing a
Complete Program (cont’d.)

C++ Programming: From Problem Analysis to Program Design, Fifth Edition 77


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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
78
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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
79
SUMMARY (CONT'D.)

• 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

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
80
SUMMARY (CONT'D.)

• Use cin and stream extraction operator >> to input from the standard
input device
• Use cout and stream insertion operator << to output to the standard
output device
• Preprocessor commands are processed before the program goes
through the compiler
• A file containing a C++ program usually ends with the extension
.cpp

C++ Programming: From Problem Analysis to Program


Design, Fifth Edition
81

You might also like