0% found this document useful (0 votes)
11 views55 pages

Chapter 2

Uploaded by

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

Chapter 2

Uploaded by

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

Introduction to Computer Programming (CSCI 112)

Chapter 2
Introduction to C++ Programming, Input,
Output, and Operators

Dr. Ali Alnoman


Spring 2023

Reference: C++ How to Program, 10th edition, P. Deitel and H. Deitel


2

Objectives
• To write simple computer programs using C++
• To write simple input and output statements
• To use fundamental variable types
• Basic computer memory concepts
• To use arithmetic operators
• The precedence of arithmetic operators
• To write simple decision-making statements
3

First Program in C++: Printing a Line of Text


• Simple program that prints a line of text
4

First Program in C++: Printing a Line of Text


• The symbol // indicates that the remainder of each line is a comment
▫ You insert comments to document your programs and to help other people read
and understand them
▫ Comments are ignored by the C++ compiler and do not cause any machine-language
object code to be generated
• A comment beginning with // is called a single-line comment because it
terminates at the end of the current line
• You also may use comments containing one or more lines enclosed in /*
and */
5

First Program in C++: Printing a Line of Text


• A preprocessing directive is a message to the C++ preprocessor
• Lines that begin with # are processed by the preprocessor before the
program is compiled
• #include <iostream> notifies the preprocessor to include in the
program the contents of the input/output stream header file <iostream>
▫ This header is a file containing information used by the compiler when compiling
any program that outputs data to the screen or inputs data from the keyboard
using C++ stream input/output
6
7

First Program in C++: Printing a Line of Text


• You use blank lines, indentation (space characters) and tab characters
(i.e., “tabs”) to make programs easier to read
▫ Together, these characters are known as white space
▫ White-space characters are normally ignored by the compiler
8

First Program in C++: Printing a Line of Text


• main is a part of every C++ program
• The parentheses after main indicate that main is a function
• C++ programs typically consist of one or more functions
• Exactly one function in every program must be named main
• C++ programs begin executing at function main, even if main is not the first function
defined in the program
• The keyword int to the left of main indicates that main “returns” an integer (whole
number) value
▫ A keyword is a word in code that is reserved by C++ for a specific use
▫ For now, simply include the keyword int to the left of main in each of your programs
9

First Program in C++: Printing a Line of Text


• A left brace, {, must begin the body of every function
• A corresponding right brace, }, must end each function’s body
• A statement instructs the computer to perform an action
• Together, the quotation marks and the characters between them are called a
string
• We refer to characters between double quotation marks simply as strings
▫ White-space characters in strings are not ignored by the compiler
• Most C++ statements end with a semicolon (;), also known as the statement
terminator
▫ Preprocessing directives (i.e., #include) do not end with a semicolon
10
11
12

First Program in C++: Printing a Line of Text


• Typically, output and input in C++ are accomplished with streams of characters
• When a cout statement executes, it sends a stream of characters to the standard
output stream object—std::cout—which is normally “connected” to the screen
• The std:: before cout is required when we use names that we’ve brought into
the program by the preprocessing directive #include<iostream>
▫ The notation std::cout specifies that we are using a name, in this case cout,
that belongs to “namespace” std
▫ The names cin (the standard input stream) and cerr (the standard error stream)
also belong to namespace std
13

First Program in C++: Printing a Line of Text


• In the context of an output statement, the << operator is referred to as the
stream insertion operator
• The characters \n are not printed on the screen
• The backslash (\) is called an escape character
▫ It indicates that a “special” character is to be output

• When a backslash is encountered in a string of characters, the next character


is combined with the backslash to form an escape sequence
• The escape sequence \n means newline which causes the cursor to move to
the beginning of the next line on the screen
14
15

First Program in C++: Printing a Line of Text


• When the return statement is used at the end of main the value 0
indicates that the program has terminated successfully
• According to the C++ standard, if program execution reaches the end of
main without encountering a return statement, it’s assumed that the
program terminated successfully—exactly as when the last statement in
main is a return statement with the value 0. In other words, the program
will run successfully even if we chose not to write “Return 0”
16

Modifying Our First C++ Program


• Welcome to C++! can be printed several ways:
17

Modifying Our First C++ Program


• A single statement can print multiple lines by using newline characters
• Each time the \n (newline) escape sequence is encountered in the
output stream, the screen cursor is positioned to the beginning of the
next line
• To get a blank line in your output, place two newline characters back to
back
18
19

Another C++ Program: Adding Integers


• The next program obtains two integers typed by a user at the keyboard,
computes the sum of these values and outputs the result using
std::cout.
20
21

Another C++ Program: Adding Integers


• Declarations introduce identifiers into programs
• The identifiers number1, number2 and sum are the names of variables
• A variable is a location in the computer’s memory where a value can be stored for
use by a program
• Variables number1, number2 and sum are data of type int, meaning that these
variables will hold integer values, i.e., whole numbers such as 7, –11, 0 and 31914
• All variables must be declared with a name and a data type before they can be
used in a program
• If more than one name is declared in a declaration (as shown here), the names
are separated by commas (,); this is referred to as a comma-separated list
22

Another C++ Program: Adding Integers


• Data type double is for specifying real numbers, and data type char for
specifying character data
• Real numbers are numbers with decimal points, such as 3.4, 0.0 and –11.19
• A char variable may hold only a single lowercase letter, a single uppercase letter,
a single digit or a single special character (e.g., $ or *)
• Types such as int, double and char are called fundamental types
• Fundamental-type names are keywords and therefore must appear in all
lowercase letters
23
24

Another C++ Program: Adding Integers


• A variable name is any valid identifier that is not a keyword
• An identifier is a series of characters consisting of letters, digits and
underscores ( _ ) that does not begin with a numeric digit
• C++ is case sensitive—uppercase and lowercase letters are different, so
a1 and A1 are different identifiers
25
26
27

Another C++ Program: Adding Integers


• Declarations of variables can be placed almost anywhere in a program,
but they must appear before their corresponding variables are used in
the program
28

Another C++ Program: Adding Integers


• A prompt message directs the user to take a specific action
• A cin statement uses the input stream object cin (of namespace std)
and the stream extraction operator, >>, to obtain a value from the
keyboard
• Using the stream extraction operator with std::cin takes character
input from the standard input stream, which is usually the keyboard
29

Another C++ Program: Adding Integers


• When the computer executes an input statement that places a value in
an int variable, it waits for the user to enter a value for variable
number1
• The user responds by typing the number (as characters) then pressing
the Enter key (sometimes called the Return key) to send the characters
to the computer
• The computer converts the character representation of the number to
an integer and assigns (i.e., copies) this number (or value) to the variable
number1
• Any subsequent references to number1 in this program will use this
same value
30

Another C++ Program: Adding Integers


• In this program, an assignment statement adds the values of variables
number1 and number2 and assigns the result to variable sum using the
assignment operator =
▫ Most calculations are performed in assignment statements
31

Another C++ Program: Adding Integers


• The name endl is an abbreviation for “end line” and belongs to
namespace std
• The std::endl stream manipulator outputs a newline, then “flushes
the output buffer.”
• std::endl forces any accumulated outputs to be displayed at that
moment
32

Another C++ Program: Adding Integers


• Using multiple stream insertion operators (<<) in a single statement is
referred to as concatenating, chaining or cascading stream insertion
operations
• Calculations can also be performed in output statements
33

Memory Concepts
• Variable names such as number1, number2 and sum actually
correspond to locations in the computer’s memory
• Every variable has a name, a type, a size and a value
• When a value is placed in a memory location, the value overwrites the
previous value in that location; thus, placing a new value into a memory
location is said to be destructive
34
35

Arithmetic
• Most programs perform arithmetic calculations
• The asterisk (*) indicates multiplication
• The percent sign (%) is the modulus operator:
▫ C++ provides the modulus operator, %, that yields the remainder after integer division
▫ The modulus operator can be used only with integer operands
• Integer division (i.e., where both the numerator and the denominator are
integers) yields an integer quotient
▫ Any fractional part in integer division is discarded (i.e., truncated)—no rounding occurs
36
37

Arithmetic
• Arithmetic expressions in C++ must be entered into the computer in
straight-line form
• Expressions such as “a divided by b” must be written as a/b, so that all
constants, variables and operators appear in a straight line
• Parentheses are used in C++ expressions in the same manner as in
algebraic expressions
• For example, to multiply a times the quantity b + c we write a*(b+c)
38

Arithmetic
• C++ applies the operators in arithmetic expressions in a precise
sequence determined by the following rules of operator precedence,
which are generally the same as those followed in algebra:
39
40

Arithmetic
• There is no arithmetic operator for exponentiation in C++, so x2 is
represented as x*x
• The following example illustrates the order in which the operators in a
second-degree polynomial are applied
• As in algebra, it’s acceptable to place unnecessary parentheses in an
expression to make the expression clearer
41
42

Decision Making: Equality and Relational Operators


• The IF statement allows a program to take alternative action based on whether a
condition is true or false
• If the condition is true, the statement in the body of the if statement is executed
• If the condition is false, the body statement is not executed
• Conditions in IF statements can be formed by using the equality operators and
relational operators summarized in the table below
• The relational operators all have the same level of precedence and associate left
to right
• The equality operators both have the same level of precedence, which is lower
than that of the relational operators, and associate left to right
43
44
45
46

Decision Making: Equality and Relational Operators


• The following example uses six IF statements to compare two numbers
input by the user
• If the condition in any of these if statements is satisfied, the output
statement associated with that if statement is executed
• The example below shows the program and the input/output dialogs of
three sample executions
47
48
49
50

Decision Making: Equality and Relational Operators


• using declarations that eliminate the need to repeat the std:: prefix as we did
in earlier programs
• Once we insert these using declarations, we can write cout instead of
std::cout, cin instead of std::cin and endl instead of std::endl,
respectively, in the remainder of the program
• Many programmers prefer to use the declaration
using namespace std;
which enables a program to use all the names in any standard C++ header file
(such as <iostream>) that a program might include
• From this point forward, we’ll use the preceding declaration in our programs
51

Decision Making: Equality and Relational Operators


• Each if statement in the previous example has a single statement in
its body and each body statement is indented
• In Chapter 4, it will be shown how to specify if statements with
multiple-statement bodies (by enclosing the body statements in a pair
of braces, { }, creating what’s called a compound statement or a block)
52
53

Decision Making: Equality and Relational Operators


• The table below shows the precedence and associativity of the operators
introduced
• The operators are shown top to bottom in decreasing order of precedence
• All these operators, with the exception of the assignment operator =,
associate from left to right
54
55

Exercise: Multiplying numbers

You might also like