lecture3-4 chapt2

download lecture3-4 chapt2

of 76

Transcript of lecture3-4 chapt2

  • 7/31/2019 lecture3-4 chapt2

    1/76

    2-1

    Parts of a C++ Program

    // sample C++ program#include using namespace std;

    int main(){

    cout

  • 7/31/2019 lecture3-4 chapt2

    2/76

    2-2

    Special Characters

    Character Name Meaning// Double slash Beginning of a comment

    # Pound sign Beginning of preprocessordirective

    < > Open/close brackets Enclose filename in #include

    ( ) Open/closeparentheses

    Used when naming afunction

    { } Open/close brace Encloses a group of

    statements" " Open/close

    quotation marksEncloses string ofcharacters

    ; Semicolon End of a programmingstatement

  • 7/31/2019 lecture3-4 chapt2

    3/76

    Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

    The cout Object2.2

  • 7/31/2019 lecture3-4 chapt2

    4/76

    2-4

    The cout Object

    Displays output on the computer screen

    You use the stream insertion operator

  • 7/31/2019 lecture3-4 chapt2

    5/76

    2-5

    The cout Object

    Can be used to send more than one itemto cout:

    cout

  • 7/31/2019 lecture3-4 chapt2

    6/76

    2-6

    The cout Object

    This produces one line of output:

    cout

  • 7/31/2019 lecture3-4 chapt2

    7/76

    2-7

    The endl Manipulator

    You can use the endl manipulator to starta new line of output. This will produce two

    lines of output:

    cout

  • 7/31/2019 lecture3-4 chapt2

    8/76

    2-8

    The endl Manipulator

    Programming isfun!

    cout

  • 7/31/2019 lecture3-4 chapt2

    9/76

    2-9

    The endl Manipulator

    You do NOT put quotation marks aroundendl

    The last character in endl is a lowercaseL, not the number 1.

    endl

    This is a lowercase L

  • 7/31/2019 lecture3-4 chapt2

    10/76

    2-10

    The \n Escape Sequence

    You can also use the \n escapesequence to start a new line of output.

    This will produce two lines of output:

    cout

  • 7/31/2019 lecture3-4 chapt2

    11/76

    2-11

    The \n Escape Sequence

    Programming isfun!

    cout

  • 7/31/2019 lecture3-4 chapt2

    12/76

    Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

    The #include Directive2.3

  • 7/31/2019 lecture3-4 chapt2

    13/76

    2-13

    The #include Directive

    Inserts the contents of another file into theprogram

    This is a preprocessor directive, not part ofC++ language

    #include lines not seen by compiler

    Do not place a semicolon at end of#include line

  • 7/31/2019 lecture3-4 chapt2

    14/76

    Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

    Variables and Literals2.4

  • 7/31/2019 lecture3-4 chapt2

    15/76

    2-15

    Variables

    Variable: a storage location in memory

    Has a name (identifier) and a type of data itcan hold

    Must be defined (declared) before it can beused:

    int item;

  • 7/31/2019 lecture3-4 chapt2

    16/76

    2-16

    Variable Definition

  • 7/31/2019 lecture3-4 chapt2

    17/76

    2-17

    #include using namespace std;

    int main(){

    int x;int y;y = 13;x = 25-y;cout

  • 7/31/2019 lecture3-4 chapt2

    18/76

    2-18

    Literals

    Literal: a value that is written into aprograms code.

    "hello, there" (string literal)12 (integer literal)

  • 7/31/2019 lecture3-4 chapt2

    19/76

    2-19

    20 is an integer literal

  • 7/31/2019 lecture3-4 chapt2

    20/76

    2-20

    This is a string literal

  • 7/31/2019 lecture3-4 chapt2

    21/76

    2-21

    This is also a string literal

  • 7/31/2019 lecture3-4 chapt2

    22/76

    Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

    Identifiers2.5

  • 7/31/2019 lecture3-4 chapt2

    23/76

    2-23

    Identifiers

    An identifier is a programmer-definedname for some part of a program:variables, functions, etc.

    int main(){

    int x;

    int y;y = 13;x = 25-y;cout

  • 7/31/2019 lecture3-4 chapt2

    24/76

    2-24

    C++ Key Words

    You cannot use any of the C++ key words as anidentifier. These words have reserved meaning.

  • 7/31/2019 lecture3-4 chapt2

    25/76

    2-25

    Variable Names

    A variable name should represent thepurpose of the variable. For example:

    itemsOrdered

    The purpose of this variable is to hold thenumber of items ordered.

  • 7/31/2019 lecture3-4 chapt2

    26/76

    2-26

    Identifier Rules

    The first character of an identifier must be analphabetic character or and underscore ( _ ),

    After the first character you may use alphabeticcharacters, numbers, or underscore characters. Upper- and lowercase characters are distinct

  • 7/31/2019 lecture3-4 chapt2

    27/76

    2-27

    Valid and Invalid Identifiers

    IDENTIFIER VALID? REASON IF INVALID

    totalSales Yes

    total_Sales Yes

    total.Sales No Cannot contain .

    4thQtrSales No Cannot begin with digit

    totalSale$ No Cannot contain $

  • 7/31/2019 lecture3-4 chapt2

    28/76

    Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

    Integer Data Types2.6

  • 7/31/2019 lecture3-4 chapt2

    29/76

    2-29

    Integer Data Types

    Integer variables can hold whole numbers suchas 12, 7, and -99.

  • 7/31/2019 lecture3-4 chapt2

    30/76

    2-30

    Defining Variables

    Variables of the same type can be defined- On separate lines:

    int length;int width;

    unsigned int area;- On the same line:

    int length, width;unsigned int area;

    Variables of different types must be in differentdefinitions

  • 7/31/2019 lecture3-4 chapt2

    31/76

    2-31

    This program has three variables:checking, miles, and days

  • 7/31/2019 lecture3-4 chapt2

    32/76

    2-32

    Integer Literals

    An integer literal is an integer value thatis typed into a programs code. For

    example:

    itemsOrdered = 15;

    In this code, 15 is an integer literal.

  • 7/31/2019 lecture3-4 chapt2

    33/76

    2-33

    Integer Literals

  • 7/31/2019 lecture3-4 chapt2

    34/76

    Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

    The char Data Type2.7

    Th h D T

  • 7/31/2019 lecture3-4 chapt2

    35/76

    2-35

    The char Data Type

    Used to hold characters or very smallinteger values

    Usually 1 byte of memory Numeric value of character from the

    character set is stored in memory:

    CODE:char letter;letter = 'C';

    MEMORY:letter

    67

  • 7/31/2019 lecture3-4 chapt2

    36/76

    2-36

    Character Literals

    Character literals must be enclosed insingle quote marks. Example:

    'A'

  • 7/31/2019 lecture3-4 chapt2

    37/76

    2-37

  • 7/31/2019 lecture3-4 chapt2

    38/76

    2-38

    A series of characters in consecutive memorylocations:

    "Hello" Stored with the null terminator,

    \0, at the end:

    Comprised of the characters between the " "

    H e l l o \0

  • 7/31/2019 lecture3-4 chapt2

    39/76

    2-39

    String datatype #include

    concatenationInt main(){

    string word = oh the stress ; string word2 = of it all; string word3 = word + word2; //concatenatecout

  • 7/31/2019 lecture3-4 chapt2

    40/76

    1-

    Algorithm for Baking a cake:

    1. preheat oven to 450

    2. mash 2 sticks butter and 1 cup sugar together in abowl.

    3. beat 3 eggs in another bowl4. add 1 tsp baking soda, cup cocoa to bowl 25. add bowl 2 to bowl 16. mix well7. pour contents into greased cake pan8. put cake pan in oven for 1 hour9. remove cake voila

    There are other ways to write algorithms diagrams,

    flowcharts

  • 7/31/2019 lecture3-4 chapt2

    41/76

    2-41

    LabWrite a program that does the following:

    1. Declare 3 ints, 2 chars and 3 strings. Givethem meaningful names.2. Assign a value to each.3. Multiply first 2 ints and assign the result to the

    third int.4. Print the 3 rd int to the screen with a statement

    saying what it is: int 1 x int 2 = followed byendl

    5. Print out the two chars in the same cout

    statement: here are my chars: 6. Concatenate first 2 strings and assign resultto string 3.

    7. Print out string 3 with statement here are myconcatenated strings:

  • 7/31/2019 lecture3-4 chapt2

    42/76

    Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

    Floating-Point Data Types2.8

    Algorithm for Baking a cake:

  • 7/31/2019 lecture3-4 chapt2

    43/76

    2-431-

    Algorithm for Baking a cake:

    1. preheat oven to 450

    2. mash 2 sticks butter and 1 cup sugar together in alarge bowl.

    3. beat 3 eggs in another large bowl4. add 1 tsp baking soda, cup cocoa to bowl 25. add bowl 2 to bowl 16. mix well7. pour contents into greased cake pan8. put cake pan in oven for 1 hour9. remove cake voila

    There are other ways to write algorithms diagrams,

    flowcharts

    //C++ program to bake a cake NOT

  • 7/31/2019 lecture3-4 chapt2

    44/76

    2-441-

    p g#include using namespace std;int main()

    {Big_bowl bowl1, bowl2;BakingPan my_pan;Oven my_oven;bowl1 = 1_pound_butter + 1_cup_sugar;beat bowl1;bowl2 = eggs;beat bowl2;bowl2 = bowl2 + cocoa + baking_soda;bowl1 = bowl1 + bowl2;my_pan = bowl1;my_oven = my_panreturn 0;

    }

    l

  • 7/31/2019 lecture3-4 chapt2

    45/76

    2-45

    Floating-Point Data Types

    The floating-point data types are:floatdoublelong double

    They can hold real numbers such as:12.45 -3.8

    Stored in a form similar to scientific notation

    All floating-point numbers are signed

    Fl ti g P i t D t T

  • 7/31/2019 lecture3-4 chapt2

    46/76

    2-46

    Floating-Point Data Types

    Fl ti g i t Lit l

  • 7/31/2019 lecture3-4 chapt2

    47/76

    2-47

    Floating-point Literals

    Can be represented in Fixed point (decimal) notation:

    31.4159 0.0000625

    E notation:3.14159E1 6.25e-5

    Are double by default

    Can be forced to be float ( 3.14159f ) orlong double ( 0.0000625L )

  • 7/31/2019 lecture3-4 chapt2

    48/76

    2-48

  • 7/31/2019 lecture3-4 chapt2

    49/76

    Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

    The bool Data Type2.9

    The bool Data Type

  • 7/31/2019 lecture3-4 chapt2

    50/76

    2-50

    Represents values that are true or false bool variables are stored as small integers false is represented by 0, true by 1:

    bool allDone = true;

    bool finished = false;

    The bool Data Type

    allDone

    1 0

    finished

  • 7/31/2019 lecture3-4 chapt2

    51/76

    2-51

  • 7/31/2019 lecture3-4 chapt2

    52/76

    Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

    Determining the Size of a Data Type2.10

    Determining the Size of a Data

  • 7/31/2019 lecture3-4 chapt2

    53/76

    2-53

    Determining the Size of a DataType

    The sizeof operator gives the size of any data type orvariable:double amount;

    cout

  • 7/31/2019 lecture3-4 chapt2

    54/76

    Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

    Variable Assignments and Initialization2.11

    Variable Assignments and

  • 7/31/2019 lecture3-4 chapt2

    55/76

    2-55

    Variable Assignments andInitialization

    An assignment statement uses the = operator to store a value in a variable.

    item = 12;

    This statement assigns the value 12 to theitem variable.

    Assignment

  • 7/31/2019 lecture3-4 chapt2

    56/76

    2-56

    Assignment

    The variable receiving the value mustappear on the left side of the = operator.

    This will NOT work:

    // ERROR!12 = item;

    Variable Initialization

  • 7/31/2019 lecture3-4 chapt2

    57/76

    2-57

    Variable Initialization

    To initialize a variable means to assign ita value when it is defined:

    int length = 12;

    Can initialize some or all variables:int length = 12, width = 5, area;

  • 7/31/2019 lecture3-4 chapt2

    58/76

    2-58

  • 7/31/2019 lecture3-4 chapt2

    59/76

    Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

    Scope2.12

    Scope

  • 7/31/2019 lecture3-4 chapt2

    60/76

    2-60

    Scope

    The scope of a variable: the part of theprogram in which the variable can beaccessed

    A variable cannot be used before it isdefined

  • 7/31/2019 lecture3-4 chapt2

    61/76

    2-61

  • 7/31/2019 lecture3-4 chapt2

    62/76

    Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

    Arithmetic Operators2.13

    Arithmetic Operators

  • 7/31/2019 lecture3-4 chapt2

    63/76

    2-63

    Arithmetic Operators

    Used for performing numeric calculations C++ has unary, binary, and ternary

    operators: unary (1 operand) -5 binary (2 operands) 13 - 7 ternary (3 operands) exp1 ? exp2 : exp3

    Binary Arithmetic Operators

  • 7/31/2019 lecture3-4 chapt2

    64/76

    2-64

    Binary Arithmetic Operators

    SYMBOL OPERATION EXAMPLE VALUE OF ans

    + addition ans = 7 + 3; 10

    - subtraction ans = 7 - 3; 4

    * multiplication ans = 7 * 3; 21

    / division ans = 7 / 3; 2

    % modulus ans = 7 % 3; 1

  • 7/31/2019 lecture3-4 chapt2

    65/76

    2-65

    A Closer Look at the / Operator

  • 7/31/2019 lecture3-4 chapt2

    66/76

    2-66

    p

    / (division) operator performs integerdivision if both operands are integers

    cout

  • 7/31/2019 lecture3-4 chapt2

    67/76

    2-67

    p

    %(modulus) operator computes theremainder resulting from integer division

    cout

  • 7/31/2019 lecture3-4 chapt2

    68/76

    Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

    Comments2.14

    Comments

  • 7/31/2019 lecture3-4 chapt2

    69/76

    2-69

    Comments

    Used to document parts of the program Intended for persons reading the source

    code of the program: Indicate the purpose of the program Describe the use of variables Explain complex sections of code

    Are ignored by the compiler

    Single-Line Comments

  • 7/31/2019 lecture3-4 chapt2

    70/76

    2-70

    Single Line Comments

    Begin with // through to the end of line:int length = 12; // length in inches

    int width = 15; // width in inchesint area; // calculated area

    // calculate rectangle areaarea = length * width;

    Multi-Line Comments

  • 7/31/2019 lecture3-4 chapt2

    71/76

    2-71

    Multi Line Comments

    Begin with /* , end with */ Can span multiple lines:

    /* this is a multi-linecomment

    */ Can begin and end on the same line:

    int area; /* calculated area */

  • 7/31/2019 lecture3-4 chapt2

    72/76

    Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

    Programming Style2.15

    Programming Style

  • 7/31/2019 lecture3-4 chapt2

    73/76

    2-73

    g g y

    The visual organization of the sourcecode

    Includes the use of spaces, tabs, andblank lines

    Does not affect the syntax of the program Affects the readability of the source code

    Programming Style

  • 7/31/2019 lecture3-4 chapt2

    74/76

    2-74

    g g y

    Common elements to improve readability: Braces { } aligned vertically Indentation of statements within a set of braces Blank lines between declaration and other

    statements Long statements wrapped over multiple lines

    with aligned operators

    #include #i l d < t i >

  • 7/31/2019 lecture3-4 chapt2

    75/76

    2-75

    #include using namespace std;

    int main(){

    int x = 10;int y = 15;cout

  • 7/31/2019 lecture3-4 chapt2

    76/76

    Program 1 Calculate area of a room. Declare 3 float variables, assign valuesto width and length of room. Assign area of room to third float.

    Print that number to the screen with a statement the area of theroom is put an endl at the end.

    Program 2 Concatenate 2 strings and determine the size of all three. Declare3 strings. Give values to the first two and assign theirconcatenated value to the third string. Print the concatenatedstring to the screen followed by endl, then print the size of that 3rdstring in memory. Try getting the size by using the word stringrather than the variable name.

    Program 3 Declare 3 chars and 3 bool type variables. Give them values.Print the values to the screen. Try assigning values to bool of 1 or0, true or false, t and f. See what happens.

    Program 4