giao trinh tin hoc chuong 1

download giao trinh tin hoc chuong 1

of 26

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