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

BITP 1113 Programming Technique: Lecture 3 - Basic Elements of C++

The document discusses the basic elements of C++ programming including data types, variables, literals, and input/output. It covers integer, floating point, character, string, and boolean data types. Key points include: - Variables are used to store and manipulate data in a program. - Literals are fixed values written directly in code like numbers and strings. - The cout object displays output and cin reads input from the keyboard or console. - Different data types store different kinds of data like integers, characters, and floating point numbers.

Uploaded by

Xian Lee
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)
35 views

BITP 1113 Programming Technique: Lecture 3 - Basic Elements of C++

The document discusses the basic elements of C++ programming including data types, variables, literals, and input/output. It covers integer, floating point, character, string, and boolean data types. Key points include: - Variables are used to store and manipulate data in a program. - Literals are fixed values written directly in code like numbers and strings. - The cout object displays output and cin reads input from the keyboard or console. - Different data types store different kinds of data like integers, characters, and floating point numbers.

Uploaded by

Xian Lee
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

BITP 1113 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

2 FTMK - UTeM - Semester 1 2011/2012


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 statement
cout << "Hello, there!";
string literal
return 0; send 0 to operating system
} end of block for main

3 FTMK - UTeM - Semester 1 2011/2012


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 function
parentheses
{} Open/close brace Encloses a group of statements

"" Open/close quotation Encloses string of characters


marks
; Semicolon End of a programming
statement
4 FTMK - UTeM - Semester 1 2011/2012
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!";

5 FTMK - UTeM - Semester 1 2011/2012


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!";

6 FTMK - UTeM - Semester 1 2011/2012


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.

7 FTMK - UTeM - Semester 1 2011/2012


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

8 FTMK - UTeM - Semester 1 2011/2012


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;

9 FTMK - UTeM - Semester 1 2011/2012


Variable Definition in Program 2-7

Variable Definition

10 FTMK - UTeM - Semester 1 2011/2012


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

"hello, there" (string literal)


12 (integer literal)

11 FTMK - UTeM - Semester 1 2011/2012


Integer Literal in Program 2-9

20 is an integer literal

12 FTMK - UTeM - Semester 1 2011/2012


String Literals in Program 2-9

These are string literals

13 FTMK - UTeM - Semester 1 2011/2012


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

14 FTMK - UTeM - Semester 1 2011/2012


C++ Key Words

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


identifier. These words have reserved meaning.

15 FTMK - UTeM - Semester 1 2011/2012


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.

16 FTMK - UTeM - Semester 1 2011/2012


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

17 FTMK - UTeM - Semester 1 2011/2012


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 $

18 FTMK - UTeM - Semester 1 2011/2012


Integer Data Types

• Integer variables can hold whole numbers such as 12,


7, and -99.

19 FTMK - UTeM - Semester 1 2011/2012


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

20 FTMK - UTeM - Semester 1 2011/2012


Integer Types in Program 2-10

This program has three variables: checking,


miles, and days

21 FTMK - UTeM - Semester 1 2011/2012


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.

22 FTMK - UTeM - Semester 1 2011/2012


Integer Literals in Program 2-10

Integer Literals

23 FTMK - UTeM - Semester 1 2011/2012


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

24 FTMK - UTeM - Semester 1 2011/2012


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

25 FTMK - UTeM - Semester 1 2011/2012


Character Literals
 Character literals must be enclosed in single quote marks.
Example:

'A'

26 FTMK - UTeM - Semester 1 2011/2012


Character Literals in Program 2-13

27 FTMK - UTeM - Semester 1 2011/2012


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

28 FTMK - UTeM - Semester 1 2011/2012


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;

29 FTMK - UTeM - Semester 1 2011/2012


The string class in Program 2-15

30 FTMK - UTeM - Semester 1 2011/2012


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

31 FTMK - UTeM - Semester 1 2011/2012


Floating-Point Data Types

32 FTMK - UTeM - Semester 1 2011/2012


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)

33 FTMK - UTeM - Semester 1 2011/2012


Floating-Point Data Types in Program 2-16

34 FTMK - UTeM - Semester 1 2011/2012


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

35 FTMK - UTeM - Semester 1 2011/2012


Boolean Variables in Program 2-17

36 FTMK - UTeM - Semester 1 2011/2012


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";

37 FTMK - UTeM - Semester 1 2011/2012


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.

38 FTMK - UTeM - Semester 1 2011/2012


Assignment
 The variable receiving the value must appear on the left
side of the = operator.
 This will NOT work:

// ERROR!
12 = item;

39 FTMK - UTeM - Semester 1 2011/2012


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;

40 FTMK - UTeM - Semester 1 2011/2012


Variable Initialization in Program 2-19

41 FTMK - UTeM - Semester 1 2011/2012


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

42 FTMK - UTeM - Semester 1 2011/2012


Variable Out of Scope in Program 2-20

43 FTMK - UTeM - Semester 1 2011/2012


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

44 FTMK - UTeM - Semester 1 2011/2012


The cin Object in Program 3-1

45 FTMK - UTeM - Semester 1 2011/2012


The cin Object
 cin converts data to the type that matches the variable:

int height;
cout << "How tall is the room? ";
cin >> height;

46 FTMK - UTeM - Semester 1 2011/2012


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;

47 FTMK - UTeM - Semester 1 2011/2012


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.

48 FTMK - UTeM - Semester 1 2011/2012


The cin Object Gathers Multiple Values in
Program 3-2

49 FTMK - UTeM - Semester 1 2011/2012


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

50 FTMK - UTeM - Semester 1 2011/2012


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

51 FTMK - UTeM - Semester 1 2011/2012


Arithmetic Operators in Program 2-21

52 FTMK - UTeM - Semester 1 2011/2012


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

53 FTMK - UTeM - Semester 1 2011/2012


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

54 FTMK - UTeM - Semester 1 2011/2012


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);

55 FTMK - UTeM - Semester 1 2011/2012


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 evaluate third
second first

56 FTMK - UTeM - Semester 1 2011/2012


Order of Operations

57 FTMK - UTeM - Semester 1 2011/2012


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

58 FTMK - UTeM - Semester 1 2011/2012


Grouping with Parentheses

59 FTMK - UTeM - Semester 1 2011/2012


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

60 FTMK - UTeM - Semester 1 2011/2012


Algebraic Expressions

61 FTMK - UTeM - Semester 1 2011/2012


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));

value value value


is 5 is 5 is 5

62 FTMK - UTeM - Semester 1 2011/2012


Combined Assignment
 Look at the following statement:

sum = sum + 1;

This adds 1 to the variable sum.

63 FTMK - UTeM - Semester 1 2011/2012


Other Similar Statements

64 FTMK - UTeM - Semester 1 2011/2012


Combined Assignment
 The combined assignment operators provide a
shorthand for these types of statements.
 The statement
sum = sum + 1;
is equivalent to
sum += 1;

65 FTMK - UTeM - Semester 1 2011/2012


Combined Assignment Operators

66 FTMK - UTeM - Semester 1 2011/2012


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++;

67 FTMK - UTeM - Semester 1 2011/2012


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--;

68 FTMK - UTeM - Semester 1 2011/2012


Increment and Decrement
Operators in Program 5-1

Continued…
69 FTMK - UTeM - Semester 1 2011/2012
Increment and Decrement
Operators in Program 5-1

70 FTMK - UTeM - Semester 1 2011/2012


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

71 FTMK - UTeM - Semester 1 2011/2012


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

72 FTMK - UTeM - Semester 1 2011/2012


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

73 FTMK - UTeM - Semester 1 2011/2012


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

74 FTMK - UTeM - Semester 1 2011/2012


Named Constants in Program 2-28

75 FTMK - UTeM - Semester 1 2011/2012


Formatting Output
 Can control how output displays for numeric, string data:
 size
 position
 number of digits
 Requires iomanip header file

76 FTMK - UTeM - Semester 1 2011/2012


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

77 FTMK - UTeM - Semester 1 2011/2012


The setw Stream Manipulator in Program 3-13

Continued…
78 FTMK - UTeM - Semester 1 2011/2012
The setw Stream Manipulator in Program 3-13

79 FTMK - UTeM - Semester 1 2011/2012


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

80 FTMK - UTeM - Semester 1 2011/2012


More Stream Manipulators in Program 3-17

Continued…
81 FTMK - UTeM - Semester 1 2011/2012
More Stream Manipulators in Program 3-17

82 FTMK - UTeM - Semester 1 2011/2012


Stream Manipulators

83 FTMK - UTeM - Semester 1 2011/2012


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

84 FTMK - UTeM - Semester 1 2011/2012


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

85 FTMK - UTeM - Semester 1 2011/2012


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

86 FTMK - UTeM - Semester 1 2011/2012


#define directive in Program 2-31

87 FTMK - UTeM - Semester 1 2011/2012


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?

88 FTMK - UTeM - Semester 1 2011/2012

You might also like