0% found this document useful (0 votes)
17 views88 pages

3 Lecture3 BasicElements 2023

chgx

Uploaded by

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

3 Lecture3 BasicElements 2023

chgx

Uploaded by

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

BITG1233 Programming

Technique
Lecture 3 – Basic Elements of C++
Learning Outcomes
 At the end of this lecture, you should be able
to
 explain the parts of C++ program
 use cout object to display output to screen and
cin to read data from the keyboard
 describe the use of the basic elements in C++
language including variables, literals, identifiers
and data types
 do variable assignments and initialization in the
program
 use arithmetic operators and construct
mathematical expressions
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 output
cout << "Hello, there!"; statement
string
return 0;send 0 to operating system literal
} end of block for
main
Special Characters

Character Name Meaning


// Double slash Beginning of a comment
# Pound sign Beginning of
preprocessor directive
<> Open/close Enclose filename in
brackets #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
The cout Object
 Displays output on the computer screen

 You use the stream insertion operator << to


send output to cout:
cout << "Programming is fun!";
 Can be used to send more than one item to
cout:

cout << "Hello " << "there!";


Or:

cout << "Hello ";


cout << "there!";
The cout Object and the endl
Manipulator
 This produces one line of output:

cout << "Programming is ";


cout << "fun!";

 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!";
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.
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
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;
Variable Definition in Program 2-7

Variable
Definition
Literals
 Literal: a value that is written into a program’s
code.

"hello, there" (string literal)


12 (integer literal)
Integer Literal in Program 2-9

20 is an integer
literal
String Literals in Program 2-9

These are string


literals
Identifiers
 An identifier is a programmer-defined name
for some part of a program: variables,
functions, etc.
C++ Key Words

You cannot use any of the C++ key words as


an identifier. These words have reserved
meaning.
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.
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
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 $


Integer Data Types

• Integer variables can hold whole numbers


such as 12, 7, and -99.
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
Integer Types in Program 2-10

This program has three variables:


checking, miles, and days
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.


Integer Literals in Program 2-10

Integer Literals
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
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
Character Literals
 Character literals must be enclosed in single
quote marks. Example:

'A'
Character Literals in Program 2-13
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
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;
The string class in Program 2-15
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
Floating-Point Data Types
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)
Floating-Point Data Types in Program 2-16
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
Boolean Variables in Program 2-17
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";
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.
Assignment
 The variable receiving the value must appear
on the left side of the = operator.
 This will NOT work:

// ERROR!
12 = item;
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;
Variable Initialization in Program 2-19
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
Variable Out of Scope in Program 2-20
The cin Object
 Standard input object
 Like cout, requires iostream file
 Used to read input from keyboard
 Information retrieved from cin with >>
 Input is stored in one or more variables
The cin Object in Program 3-1
The cin Object
 cin converts data to the type that matches
the variable:

int height;
cout << "How tall is the room? ";
cin >> height;
Displaying a Prompt
 A prompt is a message that instructs the user
to enter data.
 You should always use cout to display a
prompt before each cin statement.

cout << "How tall is the room? ";


cin >> height;
The cin Object
 Can be used to input more than one value:
cin >> height >> width;

 Multiple values from keyboard must be


separated by spaces

 Order is important: first value entered goes


to first variable, etc.
The cin Object Gathers Multiple Values
in Program 3-2
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
Binary Arithmetic Operators

SYMBO OPERATION EXAMPLE VALUE OF


L 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
Arithmetic Operators in Program 2-21
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
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
Mathematical Expressions
 Can create complex expressions using
multiple mathematical operators
 An expression can be a literal, a variable,
or a mathematical combination of
constants and variables
 Can be used in assignment, cout, other
statements:
area = 2 * PI * radius;
cout << "border is: " << 2*(l+w);
Order of Operations
In an expression with more than one
operator, evaluate in this order:
- (unary negation), in order, left to right
* / %, in order, left to right
+ -, in order, left to right
In the expression 2 + 2 * 2 – 2

evaluate
evaluate evaluat third
second e
first
Order of Operations
Associativity of Operators
 - (unary negation) associates right to left
 *, /, %, +, - associate right to left
 parentheses ( ) can be used to override the
order of operations:
2 + 2 * 2 – 2 = 4
(2 + 2) * 2 – 2 = 6
2 + 2 * (2 – 2) = 2
(2 + 2) * (2 – 2) = 0
Grouping with Parentheses
Algebraic Expressions
 Multiplication requires an operator:
Area=lw is written as Area = l * w;
 There is no exponentiation operator:
Area=s2 is written as Area = pow(s, 2);
 Parentheses may be needed to maintain order
of operations:
is written as
m = (y2-y1) /(x2-x1);

y 2  y1
m
x 2  x1
Algebraic Expressions
Multiple Assignment and Combined
Assignment
 The = can be used to assign a value to
multiple variables:
x = y = z = 5;
 Value of = is the value that is assigned
 Associates right to left:
x = (y = (z = 5));

valu valu valu


e e e
is 5 is 5 is 5
Combined Assignment
 Look at the following statement:

sum = sum + 1;

This adds 1 to the variable sum.


Other Similar Statements
Combined Assignment
 The combined assignment operators
provide a shorthand for these types of
statements.
 The statement
sum = sum + 1;
is equivalent to
sum += 1;
Combined Assignment Operators
The Increment and Decrement
Operators
 ++ is the increment operator.

It adds one to a variable.

val++; is the same as val = val + 1;

 ++ can be used before (prefix) or after


(postfix) a variable:
++val; val++;
The Increment and Decrement
Operators
 -- is the decrement operator.

It subtracts one from a variable.

val--; is the same as val = val - 1;

 -- can be also used before (prefix) or after


(postfix) a variable:
--val; val--;
Increment and Decrement
Operators in Program 5-1

Continued…
Increment and Decrement
Operators in Program 5-1
Prefix vs. Postfix
 ++ and -- operators can be used in complex
statements and expressions
 In prefix mode (++val, --val) the operator
increments or decrements, then returns the
value of the variable
 In postfix mode (val++, val--) the operator
returns the value of the variable, then
increments or decrements
Prefix vs. Postfix - Examples
int num, val = 12;
cout << val++; // displays 12,
// val is now 13;
cout << ++val; // sets val to 14,
// then displays it
num = --val; // sets val to 13,
// stores 13 in num
num = val--; // stores 13 in num,
// sets val to 12
Notes on Increment and Decrement
 Can be used in expressions:
result = num1++ + --num2;
 Must be applied to something that has a
location in memory. Cannot have:
result = (num1 + num2)++;
 Can be used in relational expressions:
if (++num > limit)
pre- and post-operations will cause different
comparisons
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
Named Constants in Program 2-28
Formatting Output
 Can control how output displays for numeric,
string data:
 size
 position
 number of digits
 Requires iomanip header file
Stream Manipulators
 Used to control how an output field is
displayed

 Some affect just the next value displayed:


 setw(x): print in a field at least x spaces wide.
Use more spaces if field is not wide enough
The setw Stream Manipulator in Program 3-
13

Continued…
The setw Stream Manipulator in Program 3-
13
Stream Manipulators
 Some affect values until changed again:
 fixed: use decimal notation for floating-point
values
 setprecision(x): when used with fixed, print
floating-point value using x digits after the
decimal. Without fixed, print floating-point value
using x significant digits
 showpoint: always print decimal for floating-point
values
More Stream Manipulators in Program 3-17

Continued…
More Stream Manipulators in Program 3-17
Stream Manipulators
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
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
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
#define directive in Program 2-31
Ask yourself
 Can you describe the components in a C++
program?
 Do you know how to display output to screen
using cout?
 Do you know what are variables, literals and
identifiers?
 Can you describe the data types in C++ and what
are they used for?
 Do you know how to receive an input from the
keyboard using cin?
 Do you know how to do the variable assignment?
 Do you know how to use the arithmetic operators?

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy