0% found this document useful (0 votes)
13 views35 pages

Chapter 2

Uploaded by

Ali Altay
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)
13 views35 pages

Chapter 2

Uploaded by

Ali Altay
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/ 35

 We now introduce C++ programming, which facilitates

a disciplined approach to program development.


 Most of the C++ programs you’ll study in this book
process data and display results.
 Simple program that prints a line of text (Fig. 2.1).
 // indicates that the remainder of each line is a
comment.
 A comment beginning with // is called a single-line
comment
 You also may use comments containing one or more
lines enclosed in /* and */.
 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>.
 You use blank lines, 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.
 The parentheses after main indicate that main is a program
building block called a function.
 C++ programs typically consist of one or more functions and
classes.
 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 value.
 A left brace, {, must begin the body of every function.
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, a character string or a string literal.

 We refer to characters between double quotation marks


simply as strings.

 Most C++ statements end with a semicolon (;), also known


as the statement terminator.
 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.
 In the context of an output statement, the << operator
is referred to as the stream insertion operator.
◦ The value to the operator’s right, the right operand,
is inserted in the output stream.
 The characters \n are not printed.
 The backslash (\) is called an escape character.
 The escape sequence \n means newline.
 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.
 A single statement can print multiple lines by using
newline characters.
 Each time the \n (newline) the screen cursor is
positioned to the beginning of the next line.
 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.
 Figure 2.5 shows the program and sample inputs and
outputs.
 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,
 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.
 Data type double is for specifying real numbers, and data
type char for specifying character data.
 Real numbers are 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.
 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 digit.
 C++ is case sensitive—uppercase and lowercase letters
are different, so a1 and A1 are different identifiers.
 A prompt it 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.
 assignment statement adds the values of variables
number1 and number2 and assigns the result to
variable sum using the assignment operator =
 The = operator and the + operator are called binary
operators because each has two operands.
 std::endl is a so-called stream manipulator.
 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.”
 Using multiple stream insertion operators (<<) in a
single statement is referred to as concatenating,
chaining or cascading stream insertion operations.

 Variable such as number1, number2 and sum
correspond to locations in the computer’s memory.
 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.
 When a value is read out of a memory loca-tion, the
process is nondestructive.
 Figure 2.9 summarizes the C++ arithmetic operators.
 The asterisk (*) indicates multiplication.
 The percent sign (%) is the modulus operator that will be
discussed shortly.
◦ C++ provides the modulus operator, %, that yields the remainder
after integer division.
 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.
 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 ).
 There is no arithmetic operator for exponentiation in
C++, so x2 is represented as x * x.
 Figure 2.11 illustrates the order in which the operators
in a second-degree polynomial are applied.
 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 Fig. 2.12.
The following example uses six if statements to compare two numbers input by the
user.
 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 in the book, we’ll use the preceding
declaration in our programs.
 Each if statement in Fig. 2.13 has a single statement
in its body and each body statement is indented.
 In Chapter 4 we show 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).
 Statements may be split over several lines and may be
spaced according to your prefer-ences.
 It’s a syntax error to split identifiers, strings (such as
"hello") and constants (such as the number 1000)
over several lines.
 Figure 2.14 shows the precedence and associativity of
the operators introduced in this chapter.
 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.

You might also like