This document provides an overview of Chapter 2 from the textbook "C++ How to Program" which introduces C++ programming and input/output. It describes the first C++ program that prints a line of text and how to modify it to print multiple lines. It also covers another example program that gets two integers from the user, adds them together, and prints the result. Key concepts discussed include variables, data types, functions, and stream input/output.
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 ratings0% found this document useful (0 votes)
16 views74 pages
INTRODUCTİON TO C ++ Ch-2
This document provides an overview of Chapter 2 from the textbook "C++ How to Program" which introduces C++ programming and input/output. It describes the first C++ program that prints a line of text and how to modify it to print multiple lines. It also covers another example program that gets two integers from the user, adds them together, and prints the result. Key concepts discussed include variables, data types, functions, and stream input/output.
2.1 Introduction We now introduce C++ programming, which facilitates a disciplined approach to program development. Most of the C++ programs you’ll study in this book
Reserved. 2.2 First Program in C++: Printing a Line of Text (cont.) // 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 */.
Reserved. 2.2 First Program in C++: Printing a Line of Text (cont.) 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++- style stream input/output.
Reserved. 2.2 First Program in C++: Printing a Line of Text (cont.) 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.
Reserved. 2.3 Modifying Our First C++ Program (cont.) 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
Reserved. 2.4 Another C++ Program: Adding Integers The next program obtains two integers typed by a user at the keyboard, computes their sum and outputs the result using std::cout. Figure 2.5 shows the program and sample inputs
Reserved. 2.4 Another C++ Program: Adding Integers (cont.) 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 integers (whole numbers such as 7, –11, 0 and 31914).
Reserved. 2.4 Another C++ Program: Adding Integers (cont.) Lines 8–10 initialize each variable to 0 by placing a value in braces ({ and }) immediately following the variable’s name ◦ Known as list initialization ◦ Introduced in C++11 Previously, these declarations would have been written as: ◦ int number1 = 0; ◦ int number2 = 0; ◦ int sum = 0;
Reserved. 2.4 Another C++ Program: Adding Integers (cont.) 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.
Reserved. 2.4 Another C++ Program: Adding Integers (cont.) 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. Appendix C contains the complete list of fundamental types.
Reserved. 2.4 Another C++ Program: Adding Integers (cont.) 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
Reserved. 2.4 Another C++ Program: Adding Integers (cont.) Declarations of variables can be placed almost anywhere in a program, but they must appear before their corresponding variables are used in the program.
Reserved. 2.4 Another C++ Program: Adding Integers (cont.) 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
Reserved. 2.4 Another C++ Program: Adding Integers (cont.) 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. Pressing Enter also causes the cursor to move to the beginning of the next line on the screen.
Reserved. 2.4 Another C++ Program: Adding Integers (cont.) 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. The = operator and the + operator are called binary operators because each has two operands.
Reserved. 2.4 Another C++ Program: Adding Integers (cont.) 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.” ◦ This simply means that, on some systems where outputs accumulate in the machine until there are enough to “make it worthwhile” to display them on the screen, std::endl forces any accumulated outputs to be displayed at that moment. ◦ This can be important when the outputs are prompting the user for an action, such as entering data.
Reserved. 2.4 Another C++ Program: Adding Integers (cont.) 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
Reserved. 2.5 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. When a value is read out of a memory loca-tion, the
Reserved. 2.6 Arithmetic Most programs perform arithmetic calculations. Figure 2.9 summarizes the C++ arithmetic operators. The asterisk (*) indicates multiplication. The percent sign (%) is the remainder operator. ◦ Yields the remainder after integer division. ◦ Can be used only with integer operands. The arithmetic operators are all binary operators. 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.
Reserved. 2.6 Arithmetic (cont.) 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
Reserved. 2.6 Arithmetic (cont.) 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.
Reserved. 2.6 Arithmetic (cont.) 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. As in algebra, it’s acceptable to place redundant
Reserved. 2.7 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 (Fig. 2.12). 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.
Reserved. 2.7 Decision Making: Equality and Relational Operators (cont.) Fig. 2.12 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 executes. Figure 2.13 shows the program and the
Reserved. 2.7 Decision Making: Equality and Relational Operators (cont.) using declarations eliminate the need to repeat the std:: prefix. ◦ 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.
Reserved. 2.7 Decision Making: Equality and Relational Operators (cont.) Each if statement in Fig. 2.13 has a single statement in its body and each body statement is indented. Each if statement’s body is enclosed in a pair of
braces, { }, creating what’s called a compound
statement or a block that may contain multiple statements.
Reserved. 2.7 Decision Making: Equality and Relational Operators (cont.) Statements may be split over several lines and may be spaced according to your preferences. It’s a syntax error to split identifiers, strings (such
Reserved. 2.7 Decision Making: Equality and Relational Operators (cont.) 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.