Upload
gurunath-kallem
View
223
Download
0
Embed Size (px)
Citation preview
7/27/2019 c++ Programming in DS
1/30
2003 Prentice Hall, Inc. All rights reserved.
1
Introduction to C++ Programming
OutlineHistory of C and C++C++ Standard LibraryObject TechnologyBasics of a Typical C++ Environment
General Notes About C++ and This BookIntroduction to C++ ProgrammingA Simple Program: Printing a Line of TextAnother Simple Program: Adding Two IntegersArithmeticDecision Making: Equality and Relational Operators
Thinking About Objects: Introduction to Object Technology
7/27/2019 c++ Programming in DS
2/30
2003 Prentice Hall, Inc. All rights reserved.
2
History of C and C++
History of C Evolved from two other programming languages
BCPL and B Typeless languages
Dennis Ritchie (Bell Laboratories) Added data typing, other features Development language of UNIX Hardware independent
Portable programs
1989: ANSI standard 1990: ANSI and ISO standard published
ANSI/ISO 9899: 1990
7/27/2019 c++ Programming in DS
3/30
2003 Prentice Hall, Inc. All rights reserved.
3
History of C and C++
History of C++ Extension of C Early 1980s: Bjarne Stroustrup (Bell Laboratories) Spruces up C
Provides capabilities for object-oriented programming Objects: reusable software components
Model items in real world Object-oriented programs
Easy to understand, correct and modify
Hybrid language C-like style Object-oriented style Both
7/27/2019 c++ Programming in DS
4/30
2003 Prentice Hall, Inc. All rights reserved.
4
C++ Standard Library
C++ programs Built from pieces called classes and functions C++ standard library
Rich collections of existing classes and functions
Building block approach to creating programs Software reuse
7/27/2019 c++ Programming in DS
5/30
2003 Prentice Hall, Inc. All rights reserved.
5
Object Technology
Objects Reusable software components that model real world items Meaningful software units
Date objects, time objects, paycheck objects, invoice objects,audio objects, video objects, file objects, record objects, etc.
Any noun can be represented as an object
More understandable, better organized and easier to maintainthan procedural programming
Favor modularity Software reuse
Libraries MFC (Microsoft Foundation Classes) Rogue Wave
7/27/2019 c++ Programming in DS
6/30
2003 Prentice Hall, Inc. All rights reserved.
6
Basics of a Typical C++ Environment
C++ systems Program-development environment Language C++ Standard Library
7/27/2019 c++ Programming in DS
7/30 2003 Prentice Hall, Inc. All rights reserved.
7
Basics of a Typical C++ Environment
Phases of C++ Programs:1. Edit
2. Preprocess
3. Compile
4. Link
5. Load6. Execute
Loader
PrimaryMemory
Program is created inthe editor and stored
on disk.Preprocessor programprocesses the code.
Loader puts programin memory.
CPU takes eachinstruction andexecutes it, possiblystoring new datavalues as the programexecutes.
Compiler Compiler createsobject code and storesit on disk.
Linker links the object
code with the libraries,creates a.out andstores it on disk
Editor
Preprocessor
Linker
CPU
PrimaryMemory
.
.
.
.
.
.
.
.
.
.
.
.
Disk
Disk
Disk
Disk
Disk
7/27/2019 c++ Programming in DS
8/30 2003 Prentice Hall, Inc. All rights reserved.
8
Basics of a Typical C++ Environment
Input/output cin Standard input stream Normally keyboard
cout Standard output stream
Normally computer screen cerr
Standard error stream Display error messages
7/27/2019 c++ Programming in DS
9/30 2003 Prentice Hall, Inc. All rights reserved.
9
General Notes About C++and This Book
Book geared toward novice programmers Stress programming clarity C and C++ are portable languages
Portability C and C++ programs can run on many different computers
Compatibility Many features of current versions of C++ not compatible
with older implementations
7/27/2019 c++ Programming in DS
10/30 2003 Prentice Hall, Inc. All rights reserved.
10
Introduction to C++ Programming
C++ language Facilitates structured and disciplined approach to computer program design
Structured programming
Object-oriented programming
7/27/2019 c++ Programming in DS
11/30 2003 Prentice Hall, Inc. All rights reserved.
11
A Simple Program:Printing a Line of Text
Comments Document programs Improve program readability Ignored by compiler
Single-line comment Begin with //
Preprocessor directives Processed by preprocessor before compiling
Begin with #
7/27/2019 c++ Programming in DS
12/30
2003 Prentice Hall, Inc.All rights reserved.
Outline12
fig01_02.cpp(1 of 1)
fig01_02.cppoutput (1 of 1)
1 // Fig. 1.2: fig01_02.cpp2 // A first program in C++.3 #include 45 // function main begins program execution6 int main()
7 {8 std::cout
7/27/2019 c++ Programming in DS
13/30 2003 Prentice Hall, Inc. All rights reserved.
13
A Simple Program:Printing a Line of Text
Standard output stream object std::cout Connected to screen
7/27/2019 c++ Programming in DS
14/30 2003 Prentice Hall, Inc. All rights reserved.
14
A Simple Program:Printing a Line of Text
Escape Sequence Description
\n Newline. Position the screen cursor to the beginning of the next line.
\t Horizontal tab. Move the screen cursor to the nexttab stop.
\r Carriage return. Position the screen cursor to the beginning of the current line; do not advance to thenext line.
\a Alert. Sound the system bell.\\
Backslash. Used to print a backslash character.\" Double quote. Used to print a double quotecharacter.
7/27/2019 c++ Programming in DS
15/30
2003 Prentice Hall, Inc.All rights reserved.
Outline15
fig01_04.cpp(1 of 1)
fig01_04.cppoutput (1 of 1)
1 // Fig. 1.4: fig01_04.cpp2 // Printing a line with multiple statements.3 #include 45 // function main begins program execution6 int main()
7 {8 std::cout
7/27/2019 c++ Programming in DS
16/30
2003 Prentice Hall, Inc.All rights reserved.
Outline16
fig01_05.cpp(1 of 1)
fig01_05.cppoutput (1 of 1)
1 // Fig. 1.5: fig01_05.cpp2 // Printing multiple lines with a single statement3 #include 45 // function main begins program execution6 int main()
7 {8 std::cout
7/27/2019 c++ Programming in DS
17/30 2003 Prentice Hall, Inc. All rights reserved.
17
Another Simple Program:Adding Two Integers
Variables Location in memory where value can be stored Common data types
int - integer numbers
char - characters double - floating point numbers Declare variables with name and data type before use
int integer1;
int integer2;int sum;
Can declare several variables of same type in one declaration Comma-separated list
int intege r1 , integer2, sum;
18
7/27/2019 c++ Programming in DS
18/30 2003 Prentice Hall, Inc. All rights reserved.
18
Another Simple Program:Adding Two Integers
Variables Variable names Valid identifier
Series of characters (letters, digits, underscores) Cannot begin with digit Case sensitive
19
7/27/2019 c++ Programming in DS
19/30 2003 Prentice Hall, Inc. All rights reserved.
19
Another Simple Program:Adding Two Integers
Input stream object >> (stream extraction operator) Used with std::cin Waits for user to input value, then press Enter (Return) key Stores value in variable to right of operator
Converts value to variable data type
= (assignment operator) Assigns value to variable Binary operator (two operands) Example:
sum = variable1 + variable2;
20
7/27/2019 c++ Programming in DS
20/30
2003 Prentice Hall, Inc.All rights reserved.
Outline20
fig01_06.cpp(1 of 1)
1 // Fig. 1.6: fig01_06.cpp2 // Addition program.3 #include 45 // function main begins program execution6 int main()
7 {8 int integer1; // first number to be input by user9 int integer2; // second number to be input by user10 int sum; // variable in which sum will be stored 1112 std::cout > integer1; // read an integer1415 std::cout > integer2; // read an integer1718 sum = integer1 + integer2; // assign result to sum 1920 std::cout
7/27/2019 c++ Programming in DS
21/30
2003 Prentice Hall, Inc.All rights reserved.
Outline21
fig01_06.cppoutput (1 of 1)
Enter first integer45Enter second integer72Sum is 117
22
7/27/2019 c++ Programming in DS
22/30
2003 Prentice Hall, Inc. All rights reserved.
22
Arithmetic
Arithmetic calculations * Multiplication
/ Division Integer division truncates remainder
7 / 5 evaluates to 1 %
Modulus operator returns remainder 7 % 5 evaluates to 2
23
7/27/2019 c++ Programming in DS
23/30
2003 Prentice Hall, Inc. All rights reserved.
23
Arithmetic
Rules of operator precedence Operators in parentheses evaluated first Nested/embedded parentheses
Operators in innermost pair first
Multiplication, division, modulus applied next Operators applied from left to right
Addition, subtraction applied last Operators applied from left to rightOperator(s) Operation(s) Order of evaluation (precedence)
() Parentheses Evaluated first. If the parentheses are nested, the
expression in the innermost pair is evaluated first. If there are several pairs of parentheses on the same level(i.e., not nes ted), they are evaluated left to right.
* , / , or % Multiplication DivisionModulus
Evaluated second. If there are several, they reevaluated left to right.
+ or - AdditionSubtraction
Evaluated last. If there are several, they areevaluated left to ri ght.
24
7/27/2019 c++ Programming in DS
24/30
2003 Prentice Hall, Inc. All rights reserved.
24
Decision Making: Equality andRelational Operators
if structure Make decision based on truth or falsity of condition
If condition met, body executed Else, body not executed
Equality and relational operators Equality operators
Same level of precedence
Relational operators
Same level of precedence Associate left to right
25
7/27/2019 c++ Programming in DS
25/30
2003 Prentice Hall, Inc. All rights reserved.
25
Decision Making: Equality andRelational Operators
Standard algebraicequality operator orrelational operator
C++ equalityor relationaloperator
Exampleof C++condition
Meaning of C++ condition
Relational operators
> > x > y x is greater than y
< < x < y x is less than y
>= x >= y x is greater than or equal to y
7/27/2019 c++ Programming in DS
26/30
2003 Prentice Hall, Inc. All rights reserved.
26
Decision Making: Equality andRelational Operators
using statements Eliminate use of std:: prefix Write cout instead of std::cout
27
7/27/2019 c++ Programming in DS
27/30
2003 Prentice Hall, Inc.All rights reserved.
Outline27
fig01_14.cpp(1 of 2)
1 // Fig. : fig01_14.cpp2 // Using if statements, relational3 // operators, and equality operators.4 #include 56 using std::cout; // program uses cout
7 using std::cin; // program uses cin8 using std::endl; // program uses endl910 // function main begins program execution11 int main()12 {13 int num1; // first number to be read from user14 int num2; // second number to be read from user1516 cout num1 >> num2; // read two integers1920 if ( num1 == num2 )21 cout
7/27/2019 c++ Programming in DS
28/30
2003 Prentice Hall, Inc.All rights reserved.
Outline28
fig01_14.cpp(2 of 2)
fig01_14.cppoutput (1 of 2)
26 if ( num1 < num2 )27 cout
7/27/2019 c++ Programming in DS
29/30
2003 Prentice Hall, Inc.All rights reserved.
Outline29
fig01_14.cppoutput (2 of 2)
Enter two integers, and I will tell youthe relationships they satisfy: 7 77 is equal to 77 is less than or equal to 77 is greater than or equal to 7
301 26 Thi ki Ab t Obj t
7/27/2019 c++ Programming in DS
30/30
301.26 Thinking About Objects:Introduction to Object Technology
and the Unified Modeling Language
Object oriented programming (OOP) Model real-world objects with software counterparts Attributes (state) - properties of objects
Size, shape, color, weight, etc.
Behaviors (operations) - actions A ball rolls, bounces, inflates and deflates Objects can perform actions as well
Inheritance New classes of objects absorb characteristics from existing classes
Objects Encapsulate data and functions Information hiding
Communicate across well-defined interfaces