Giao Trinh Cau Truc Du Lieu Va Giai Thuat Chuong 9 - Smith.N eBooks
giao trinh tin hoc chuong 1
-
Upload
hoangbaoyeuquai -
Category
Documents
-
view
218 -
download
0
Transcript of giao trinh tin hoc chuong 1
-
8/14/2019 giao trinh tin hoc chuong 1
1/26
2003 Prentice Hall, Inc. All rights reserved.
1Chapter 1 Introduction to C++
Programming
Outline
1. History of C and C++
2. C++ Standard Library
3. Basics of a Typical C++ Environment4. Introduction to C++ Programming
5. A Simple Program: Printing a Line of Text
6. Another Simple Program: Adding Two Integers
7. Arithmetic8. Decision Making: Equality and Relational Operators
9. Introduction to Object Technology
-
8/14/2019 giao trinh tin hoc chuong 1
2/26
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
-
8/14/2019 giao trinh tin hoc chuong 1
3/26
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
-
8/14/2019 giao trinh tin hoc chuong 1
4/26
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
-
8/14/2019 giao trinh tin hoc chuong 1
5/26
2003 Prentice Hall, Inc. All rights reserved.
5
Basics of a Typical C++ Environment
C++ systems
Program-development environment
Language C++ Standard Library
-
8/14/2019 giao trinh tin hoc chuong 1
6/26 2003 Prentice Hall, Inc. All rights reserved.
6
Basics of a Typical C++ Environment
Phases of C++ Programs:
1. Edit
2. Preprocess
3. Compile
4. Link
5. Load
6. Execute
Loader
PrimaryMemory
Program is created inthe editor and stored
on disk.
Preprocessor program
processes the code.
Loader puts program
in memory.
CPU takes each
instruction and
executes it, possibly
storing new data
values as the program
executes.
Compiler Compiler createsobject code and stores
it on disk.
Linker links the object
code with the libraries,
creates a.out and
stores it on disk
Editor
Preprocessor
Linker
CPU
Primary
Memory
.
.
.
.
.
.
.
.
.
.
.
.
Disk
Disk
Disk
Disk
Disk
-
8/14/2019 giao trinh tin hoc chuong 1
7/26 2003 Prentice Hall, Inc. All rights reserved.
7
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
-
8/14/2019 giao trinh tin hoc chuong 1
8/26 2003 Prentice Hall, Inc. All rights reserved.
8
Introduction to C++ Programming
C++ language
Facilitates structured and disciplined approach to computer
program design Following several examples
Illustrate many important features of C++
Each analyzed one statement at a time
Structured programming
Object-oriented programming
-
8/14/2019 giao trinh tin hoc chuong 1
9/26 2003 Prentice Hall, Inc. All rights reserved.
9A 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 #
-
8/14/2019 giao trinh tin hoc chuong 1
10/26
2003 Prentice Hall, Inc.
All rights reserved.
1 // Fig. 1.2: fig01_02.cpp
2 // A first program in C++.
3 #include
4
5 // function main begins program execution
6 int main()
7 {
8 std::cout
-
8/14/2019 giao trinh tin hoc chuong 1
11/26 2003 Prentice Hall, Inc. All rights reserved.
11A Simple Program:
Printing a Line of Text
Standard output stream object
std::cout
Connected to screen
-
8/14/2019 giao trinh tin hoc chuong 1
12/26 2003 Prentice Hall, Inc. All rights reserved.
121.21 A Simple Program:
Printing a Line of Text
Escape Sequence Description
\n Newline. Position the screen cursor to thebeginning of the next line.
\t Horizontal tab. Move the screen cursor to the nexttab stop.
\r Carriage return. Position the screen cursor to thebeginning of the current line; do not advance to the
next line.
\a Alert. Sound the system bell.
\\ Backslash. Used to print a backslash character.
\" Double quote. Used to print a double quotecharacter.
-
8/14/2019 giao trinh tin hoc chuong 1
13/26
2003 Prentice Hall, Inc.
All rights reserved.
1 // Fig. 1.5: fig01_05.cpp
2 // Printing multiple lines with a single//statement
3 #include
4
5 // function main begins program execution
6 intmain()7 {
8 std::cout
-
8/14/2019 giao trinh tin hoc chuong 1
14/26 2003 Prentice Hall, Inc. All rights reserved.
14Another 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 integer1, integer2, sum;
-
8/14/2019 giao trinh tin hoc chuong 1
15/26 2003 Prentice Hall, Inc. All rights reserved.
15Another Simple Program:
Adding Two Integers
Input stream object >>(stream extraction operator)
Used with std::cin Waits for user to input value, then pressEnter(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;
-
8/14/2019 giao trinh tin hoc chuong 1
16/26
2003 Prentice Hall, Inc.
All rights reserved.
1 // Fig. 1.6: fig01_06.cpp
2 // Addition program.
3 #include
5 // function main begins program execution
6 int main()
7 {
8int integer1; // first number to be input by user
9 int integer2; // second number to be input by user
10 int sum; // variable in which sum will be stored
11 std::cout > integer1; // read an integer13 std::cout > integer2; // read an integer
15 sum = integer1 + integer2; // assign result to sum
16 std::cout
-
8/14/2019 giao trinh tin hoc chuong 1
17/26 2003 Prentice Hall, Inc. All rights reserved.
17
Arithmetic
Arithmetic calculations *
Multiplication /
Division
Integer division truncates remainder
7 / 5 evaluates to 1
%
Modulus operator returns remainder
7 % 5 evaluates to 2
-
8/14/2019 giao trinh tin hoc chuong 1
18/26 2003 Prentice Hall, Inc. All rights reserved.
18
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 right
Operator(s) Operation(s) Order of evaluation (precedence)
() Parentheses Evaluated first. If the parentheses are nested, the
expression in the innermost pair is evaluated first. Ifthere are several pairs of parentheses on the same level
(i.e., not nested), they are evaluated left to right.
*, /, or% Multiplication Division
Modulus
Evaluated second. If there are several, they re
evaluated left to right.
+
or
-
AdditionSubtraction Evaluated last. If there are several, they areevaluated left to right.
-
8/14/2019 giao trinh tin hoc chuong 1
19/26 2003 Prentice Hall, Inc. All rights reserved.
19Decision Making: Equality and Relational
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
-
8/14/2019 giao trinh tin hoc chuong 1
20/26 2003 Prentice Hall, Inc. All rights reserved.
20Decision Making: Equality and Relational
Operators
Standard a lgeb ra ic
eq uality opera tor or
rela tiona l opera tor
C++ eq ua lity
or re la tiona l
operator
Example
of C++
condition
Mea ning o f
C++ cond ition
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
-
8/14/2019 giao trinh tin hoc chuong 1
21/26 2003 Prentice Hall, Inc. All rights reserved.
21Decision Making: Equality and Relational
Operators
using statements Eliminate use ofstd::prefix
Write cout instead ofstd::cout
-
8/14/2019 giao trinh tin hoc chuong 1
22/26
2003 Prentice Hall, Inc.
All rights reserved.
1 #include
2 using std::cout; // program uses cout
3 using std::cin; // program uses cin
4 using std::endl; // program uses endl
5 // function main begins program execution
6 int main()
7 {8 int num1; // first number to be read from user
9 int num2; // second number to be read from user
10 cout num1 >> num2; // read two integers
13 if ( num1 == num2 )
14 cout
-
8/14/2019 giao trinh tin hoc chuong 1
23/26
2003 Prentice Hall, Inc.
All rights reserved.
17 if ( num1 < num2 )
18 cout
-
8/14/2019 giao trinh tin hoc chuong 1
24/26
2003 Prentice Hall, Inc. All rights reserved.
24
Introduction to Object Technology
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
25
-
8/14/2019 giao trinh tin hoc chuong 1
25/26
2003 Prentice Hall, Inc. All rights reserved.
25
Introduction to Object Technology
User-defined types (classes, components)
Data members
Data components of class
Member functions
Function components of class
Association
Reuse classes
26
-
8/14/2019 giao trinh tin hoc chuong 1
26/26
26
Introduction to Object Technology
Object-oriented analysis and design (OOAD)
process Analysis of projects requirements
Design for satisfying requirements
Pseudocode Informal means of expressing program
Outline to guide code