SlideShare une entreprise Scribd logo
1  sur  27
1
                   Chapter 2 - Introduction to C
                          Programming
Outline
2.1            Introduction
2.2            A Simple C Program: Printing a Line of Text
2.3            Another Simple C Program: Adding Two Integers
2.4            Memory Concepts
2.5            Arithmetic in C
2.6            Decision Making: Equality and Relational Operators




© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
2
                                                 Objectives
  • In this chapter, you will learn:
         –   To be able to write simple computer programs in C.
         –   To be able to use simple input and output statements.
         –   To become familiar with fundamental data types.
         –   To understand computer memory concepts.
         –   To be able to use arithmetic operators.
         –   To understand the precedence of arithmetic operators.
         –   To be able to write simple decision making statements.




© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
3
                                      2.1           Introduction
  • C programming language
         – Structured and disciplined approach to program design
  • Structured programming
         – Introduced in chapters 3 and 4
         – Used throughout the remainder of the book




© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
4
                               2.2 A Simple C Program:
                                 Printing a Line of Text
1       /* Fig. 2.1: fig02_01.c
2          A first program in C */
3       #include <stdio.h>
4
5       /* function main begins program execution */
6       int main()
7       {
8          printf( "Welcome to C!n" );
9
10          return 0; /* indicate that program ended successfully */
11
12      } /* end function main */
Welcome to C!

Comments
       – Text surrounded by /* and */ is ignored by computer
       – Used to describe program
• #include <stdio.h>
       – Preprocessor directive
              • Tells computer to load contents of a certain file
       – <stdio.h> allows standard input/output operations
     © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
5
                          2.2 A Simple C Program:
                            Printing a Line of Text
  • int main()
         – C++ programs contain one or more functions, exactly one of
           which must be main
         – Parenthesis used to indicate a function
         – int means that main "returns" an integer value
         – Braces ({ and }) indicate a block
                • The bodies of all functions must be contained in braces




© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
6
                          2.2 A Simple C Program:
                            Printing a Line of Text
  • printf( "Welcome to C!n" );
         – Instructs computer to perform an action
                • Specifically, prints the string of characters within quotes ( " ")
         – Entire line called a statement
                • All statements must end with a semicolon (;)
         – Escape character ()
                • Indicates that printf should do something out of the ordinary
                • n is the newline character




© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
7
                          2.2 A Simple C Program:
                            Printing a Line of Text
 Escape Sequence               Description
 n                            Newline. Position the cursor at the beginning of the next line.
 t                            Horizontal tab. Move the cursor to the next tab stop.
 a                            Alert. Sound the system bell.
                             Backslash. Insert a backslash character in a string.
 "                            Double quote. Insert a double quote character in a string.
Fig. 2.2      Some common escape sequences.




© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
8
                          2.2 A Simple C Program:
                            Printing a Line of Text
  • return 0;
         – A way to exit a function
         – return 0, in this case, means that the program terminated
           normally
  • Right brace }
         – Indicates end of main has been reached
  • Linker
         – When a function is called, linker locates it in the library
         – Inserts it into object program
         – If function name is misspelled, the linker will produce an
           error because it will not be able to find function in the
           library
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
1    /* Fig. 2.3: fig02_03.c
                                                                                                                          9
2        Printing on one line with two printf statements */
                                                                                                              Outline
3    #include <stdio.h>
4
5    /* function main begins program execution */                                                        fig02_03.c
6    int main()
7    {
8        printf( "Welcome " );
9        printf( "to C!n" );
10
11       return 0; /* indicate that program ended successfully */
12
13 } /* end function main */

Welcome to C!                                                                                            Program Output




    © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
1    /* Fig. 2.4: fig02_04.c
                                                                                                                          10
2        Printing multiple lines with a single printf */
                                                                                                              Outline
3    #include <stdio.h>
4
5    /* function main begins program execution */                                                        fig02_04.c
6    int main()
7    {
8        printf( "WelcomentonC!n" );
9
10       return 0; /* indicate that program ended successfully */
11
12 } /* end function main */
Welcome
to
C!                                                                                                       Program Output




    © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
1    /* Fig. 2.5: fig02_05.c
                                                                                                                        11
2        Addition program */
                                                                                                              Outline
3    #include <stdio.h>
4
5    /* function main begins program execution */                                                        fig02_05.c
6    int main()
7    {
8        int 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
12       printf( "Enter first integern" );             /* prompt */
13       scanf( "%d", &integer1 );                      /* read an integer */
14
15       printf( "Enter second integern" ); /* prompt */
16       scanf( "%d", &integer2 );                      /* read an integer */
17
18       sum = integer1 + integer2;                     /* assign total to sum */
19
20       printf( "Sum is %dn", sum );                  /* print sum */
21
22       return 0;      /* indicate that program ended successfully */
23
24 } /* end function main */




    © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
12
Enter first integer
45                                                                                                        Outline
Enter second integer
72
Sum is 117                                                                                            Program Output




 © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
13
              2.3         Another Simple C Program:
                          Adding Two Integers
 • As before
       – Comments, #include <stdio.h> and main
 • int integer1, integer2, sum;
       – Definition of variables
             • Variables: locations in memory where a value can be stored
       – int means the variables can hold integers (-1, 3, 0, 47)
       – Variable names (identifiers)
             • integer1, integer2, sum
             • Identifiers: consist of letters, digits (cannot begin with a digit)
               and underscores( _ )
                 – Case sensitive
       – Definitions appear before executable statements
               • If an executable statement references and undeclared variable
© Copyright 1992–2004will produce a syntax (compiler) error
                  it by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
14
                 2.3            Another Simple C Program:
                                Adding Two Integers
  • scanf( "%d", &integer1 );
         – Obtains a value from the user
                • scanf uses standard input (usually keyboard)
         – This scanf statement has two arguments
                • %d - indicates data should be a decimal integer
                • &integer1 - location in memory to store variable
                • & is confusing in beginning – for now, just remember to
                  include it with the variable name in scanf statements
         – When executing the program the user responds to the scanf
           statement by typing in a number, then pressing the enter
           (return) key



© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
15
                 2.3
             Another Simple C Program:
              Adding Two Integers
• = (assignment operator)
     – Assigns a value to a variable
     – Is a binary operator (has two operands)
            sum = variable1 + variable2;
            sum gets variable1 + variable2;
     – Variable receiving value on left
• printf( "Sum is %dn", sum );
     – Similar to scanf
            • %d means decimal integer will be printed
            • sum specifies what integer will be printed
     – Calculations can be performed inside printf statements
            printf( "Sum is %dn", integer1 + integer2 );


© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
16
                              2.4           Memory Concepts
  • Variables
         – Variable names correspond to locations in the computer's
           memory
         – Every variable has a name, a type, a size and a value
         – Whenever a new value is placed into a variable (through
           scanf, for example), it replaces (and destroys) the previous
           value
         – Reading variables from memory does not change them
  • A visual representation

                             integer1                         45


© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
17
                              2.4           Memory Concepts

       •A visual representation (continued)

                                                                 integer1                        45
      integer1                        45

                                                                 integer2                        72
      integer2                        72

                                                                             sum                 117




© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
18
                                       2.5              Arithmetic
  • Arithmetic calculations
         – Use * for multiplication and / for division
         – Integer division truncates remainder
                • 7 / 5 evaluates to 1
         – Modulus operator(%) returns the remainder
                • 7 % 5 evaluates to 2

  • Operator precedence
         – Some arithmetic operators act before others (i.e.,
           multiplication before addition)
                • Use parenthesis when needed
         – Example: Find the average of three variables a, b and c
                • Do not use: a + b + c / 3
                • Use: (a + b + c ) / 3
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
19
                2.5     Arithmetic
• Arithmetic operators:
C operation                          Arithmetic operator         Algebraic expression                C expression

Addition                             +                           f+7                                 f + 7

Subtraction                          -                           p–c                                 p - c

Multiplication                       *                           bm                                  b * m

Division                             /                           x/y                                 x / y

Modulus                              %                           r mod s                             r % s




• Rules of operator precedence:
 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. If there are several pairs of parentheses “on the same level” (i.e., not
                                                  nested), they are evaluated left to right.


 *, /, or %            Multiplication,Division,   Evaluated second. If there are several, they are
                       Modulus                    evaluated left to right.
 +   or -              Addition                   Evaluated last. If there are several, they are
                       Subtraction                evaluated left to right.


© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
20
              2.6           Decision Making: Equality and
                              Relational Operators
        Step 1.       y = 2 * 5 * 5 + 3 * 5 + 7;                         (Leftmost multiplication)
                             2 * 5 is 10


        Step 2.       y = 10 * 5 + 3 * 5 + 7;                            (Leftmost multiplication)
                             10 * 5 is 50


        Step 3.       y = 50 + 3 * 5 + 7;                                (Multiplication before addition)
                                     3 * 5 is 15


        Step 4.       y = 50 + 15 + 7;                                   (Leftmost addition)
                             50 + 15 is 65


        Step 5.       y = 65 + 7;                                        (Last addition)
                             65 + 7 is 72


        Step 6.       y = 72;                                            (Last operation—place 72 in y)
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
21
              2.6
            Decision Making: Equality and
               Relational Operators
  • Executable statements
         – Perform actions (calculations, input/output of data)
         – Perform decisions
                • May want to print "pass" or "fail" given the value of a test
                  grade
  • if control statement
         – Simple version in this section, more detail later
         – If a condition is true, then the body of the if statement
           executed
                • 0 is false, non-zero is true
         – Control always resumes after the if structure
  • Keywords
         – Special words reserved for C
         – Cannot be used as identifiers or variable names
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
22
              2.6            Decision Making: Equality and
                               Relational Operators
        Standard algebraic equality         C equality or         Example of C      Meaning of C condition
        operator or relational operator     relational operator   condition
        Equality Operators
                                            ==
        =                                                         x == y            x is equal to y

        ≠                                   !=                    x != y            x is not equal to y

        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

                                            <=
        <=                                                        x <= y            x is less than or equal to y




© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
1    /* Fig. 2.13: fig02_13.c
                                                                                                                              23
2        Using if statements, relational
                                                                                                              Outline
3        operators, and equality operators */
4    #include <stdio.h>
5                                                                                                        fig02_13.c (Part 1
6    /* function main begins program execution */                                                        of 2)
7    int main()
8    {
9        int num1, /* first number to be read from user                */
10       int num2; /* second number to be read from user */
11
12       printf( "Enter two integers, and I will tell youn" );
13       printf( "the relationships they satisfy: " );
14
15       scanf( "%d%d", &num1, &num2 ); /* read two integers */
16
17       if ( num1 == num2 ) {
18           printf( "%d is equal to %dn", num1, num2 );
19       } /* end if */
20
21       if ( num1 != num2 ) {
22           printf( "%d is not equal to %dn", num1, num2 );
23       } /* end if */
24




    © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
25    if ( num1 < num2 ) {
                                                                                                                           24
26        printf( "%d is less than %dn", num1, num2 );
                                                                                                           Outline
27    } /* end if */
28
29    if ( num1 > num2 ) {                                                                            fig02_13.c (Part 2
30        printf( "%d is greater than %dn", num1, num2 );                                            of 2)
31    } /* end if */
32
33    if ( num1 <= num2 ) {
34        printf( "%d is less than or equal to %dn", num1, num2 );
35    } /* end if */
36
37    if ( num1 >= num2 ) {
38        printf( "%d is greater than or equal to %dn", num1, num2 );
39    } /* end if */
40
41    return 0;      /* indicate that program ended successfully */
42
43 } /* end function main */

Enter two integers, and I will tell you
the relationships they satisfy: 3 7
3 is not equal to 7                                                                                   Program Output
3 is less than 7
3 is less than or equal to 7




 © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
25
Enter two integers, and I will tell you
the relationships they satisfy: 22 12                                                                     Outline
22 is not equal to 12
22 is greater than 12
22 is greater than or equal to 12                                                                     Program Output
                                                                                                      (continued)

Enter two integers, and I will tell you
the relationships they satisfy: 7 7
7 is equal to 7
7 is less than or equal to 7
7 is greater than or equal to 7




 © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
26
              2.6           Decision Making: Equality and
                              Relational Operators
 Operators                                                                                     Associativity
 *       /        %                                                                            left to right
 +       -                                                                                     left to right
 <       <=       >       >=                                                                   left to right
 ==      !=                                                                                    left to right
 =                                                                                             right to left
Fig. 2.14      Precedence and associativity of the operators discussed so far.




© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
27
              2.6           Decision Making: Equality and
                              Relational Operators
 Keywords

 auto                           double                     int                             struct

 break                          else                       long                            switch
 case                           enum                       register                        typedef
 char                           extern                     return                          union
 const                          float                      short                           unsigned
 continue                       for                        signed                          void
 default                        goto                       sizeof                          volatile
 do                             if                         static                          while
Fig. 2.15 C’s reserved keywords.




© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.

Contenu connexe

Tendances

Tendances (17)

JCL FOR FRESHERS
JCL FOR FRESHERSJCL FOR FRESHERS
JCL FOR FRESHERS
 
Abc c program
Abc c programAbc c program
Abc c program
 
C basics 4 std11(GujBoard)
C basics 4 std11(GujBoard)C basics 4 std11(GujBoard)
C basics 4 std11(GujBoard)
 
C programming notes BATRACOMPUTER CENTRE IN Ambala CANTT
C programming notes BATRACOMPUTER CENTRE IN Ambala CANTTC programming notes BATRACOMPUTER CENTRE IN Ambala CANTT
C programming notes BATRACOMPUTER CENTRE IN Ambala CANTT
 
Computer programming chapter ( 3 )
Computer programming chapter ( 3 ) Computer programming chapter ( 3 )
Computer programming chapter ( 3 )
 
C notes by m v b reddy(gitam)imp notes all units notes 5 unit order
C notes by m v b  reddy(gitam)imp  notes  all units notes  5 unit orderC notes by m v b  reddy(gitam)imp  notes  all units notes  5 unit order
C notes by m v b reddy(gitam)imp notes all units notes 5 unit order
 
Notes of c programming 1st unit BCA I SEM
Notes of c programming  1st unit BCA I SEMNotes of c programming  1st unit BCA I SEM
Notes of c programming 1st unit BCA I SEM
 
Cp week _2.
Cp week _2.Cp week _2.
Cp week _2.
 
Unit1 cd
Unit1 cdUnit1 cd
Unit1 cd
 
INTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMINGINTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMING
 
COM1407: Introduction to C Programming
COM1407: Introduction to C Programming COM1407: Introduction to C Programming
COM1407: Introduction to C Programming
 
Structures-2
Structures-2Structures-2
Structures-2
 
introduction to c language
 introduction to c language introduction to c language
introduction to c language
 
C lecture notes new
C lecture notes newC lecture notes new
C lecture notes new
 
delphi-interfaces.pdf
delphi-interfaces.pdfdelphi-interfaces.pdf
delphi-interfaces.pdf
 
Unit4
Unit4Unit4
Unit4
 
[ITP - Lecture 03] Introduction to C/C++
[ITP - Lecture 03] Introduction to C/C++[ITP - Lecture 03] Introduction to C/C++
[ITP - Lecture 03] Introduction to C/C++
 

En vedette (19)

Chapter 8 c solution
Chapter 8 c solutionChapter 8 c solution
Chapter 8 c solution
 
Chtp410
Chtp410Chtp410
Chtp410
 
Chtp404
Chtp404Chtp404
Chtp404
 
Chtp412
Chtp412Chtp412
Chtp412
 
Chtp408
Chtp408Chtp408
Chtp408
 
Chtp401
Chtp401Chtp401
Chtp401
 
The carbon cycle finalized
The carbon cycle finalizedThe carbon cycle finalized
The carbon cycle finalized
 
Chtp413
Chtp413Chtp413
Chtp413
 
Chtp403
Chtp403Chtp403
Chtp403
 
Chtp405
Chtp405Chtp405
Chtp405
 
Chtp415
Chtp415Chtp415
Chtp415
 
Chtp407
Chtp407Chtp407
Chtp407
 
Chtp409
Chtp409Chtp409
Chtp409
 
Programming in C Session 1
Programming in C Session 1Programming in C Session 1
Programming in C Session 1
 
Chtp414
Chtp414Chtp414
Chtp414
 
Chtp406
Chtp406Chtp406
Chtp406
 
C Programming
C ProgrammingC Programming
C Programming
 
3. permutation and combination
3. permutation and combination3. permutation and combination
3. permutation and combination
 
Deep C
Deep CDeep C
Deep C
 

Similaire à Introduction to C Programming

Ch2 C Fundamentals
Ch2 C FundamentalsCh2 C Fundamentals
Ch2 C FundamentalsSzeChingChen
 
Labsheet1 stud
Labsheet1 studLabsheet1 stud
Labsheet1 studrohassanie
 
Introduction to C++ lecture ************
Introduction to C++ lecture ************Introduction to C++ lecture ************
Introduction to C++ lecture ************Emad Helal
 
Std 10 computer chapter 10 introduction to c language (part1)
Std 10 computer chapter 10 introduction to c language (part1)Std 10 computer chapter 10 introduction to c language (part1)
Std 10 computer chapter 10 introduction to c language (part1)Nuzhat Memon
 
cmp104 lec 8
cmp104 lec 8cmp104 lec 8
cmp104 lec 8kapil078
 
Basics of C Lecture 2[16097].pptx
Basics of C Lecture 2[16097].pptxBasics of C Lecture 2[16097].pptx
Basics of C Lecture 2[16097].pptxCoolGamer16
 
Unit-2_Getting Started With ‘C’ Language (3).pptx
Unit-2_Getting Started With ‘C’ Language (3).pptxUnit-2_Getting Started With ‘C’ Language (3).pptx
Unit-2_Getting Started With ‘C’ Language (3).pptxSanketShah544615
 
Lec1_EENG112-Introduction.pdf
Lec1_EENG112-Introduction.pdfLec1_EENG112-Introduction.pdf
Lec1_EENG112-Introduction.pdfShwetaSaharan8
 
C programming presentation(final)
C programming presentation(final)C programming presentation(final)
C programming presentation(final)aaravSingh41
 

Similaire à Introduction to C Programming (20)

CHTP5e_02.ppt
CHTP5e_02.pptCHTP5e_02.ppt
CHTP5e_02.ppt
 
Ch2 C Fundamentals
Ch2 C FundamentalsCh2 C Fundamentals
Ch2 C Fundamentals
 
CC 3 - Module 2.pdf
CC 3 - Module 2.pdfCC 3 - Module 2.pdf
CC 3 - Module 2.pdf
 
Introduction to c programming
Introduction to c programmingIntroduction to c programming
Introduction to c programming
 
Labsheet1 stud
Labsheet1 studLabsheet1 stud
Labsheet1 stud
 
Introduction to C++ lecture ************
Introduction to C++ lecture ************Introduction to C++ lecture ************
Introduction to C++ lecture ************
 
Labsheet1stud
Labsheet1studLabsheet1stud
Labsheet1stud
 
C tutorial
C tutorialC tutorial
C tutorial
 
Std 10 computer chapter 10 introduction to c language (part1)
Std 10 computer chapter 10 introduction to c language (part1)Std 10 computer chapter 10 introduction to c language (part1)
Std 10 computer chapter 10 introduction to c language (part1)
 
C_Intro.ppt
C_Intro.pptC_Intro.ppt
C_Intro.ppt
 
C tutorial
C tutorialC tutorial
C tutorial
 
cmp104 lec 8
cmp104 lec 8cmp104 lec 8
cmp104 lec 8
 
01 c
01 c01 c
01 c
 
Basics of C Lecture 2[16097].pptx
Basics of C Lecture 2[16097].pptxBasics of C Lecture 2[16097].pptx
Basics of C Lecture 2[16097].pptx
 
Unit 2 ppt
Unit 2 pptUnit 2 ppt
Unit 2 ppt
 
Unit-2_Getting Started With ‘C’ Language (3).pptx
Unit-2_Getting Started With ‘C’ Language (3).pptxUnit-2_Getting Started With ‘C’ Language (3).pptx
Unit-2_Getting Started With ‘C’ Language (3).pptx
 
Lec1_EENG112-Introduction.pdf
Lec1_EENG112-Introduction.pdfLec1_EENG112-Introduction.pdf
Lec1_EENG112-Introduction.pdf
 
C programming presentation(final)
C programming presentation(final)C programming presentation(final)
C programming presentation(final)
 
C language
C languageC language
C language
 
intro to c
intro to cintro to c
intro to c
 

Plus de giovanniveitch

Plus de giovanniveitch (7)

Sodium group
Sodium groupSodium group
Sodium group
 
Soaps and detergents
Soaps and detergentsSoaps and detergents
Soaps and detergents
 
Nitrogen fertilizer1
Nitrogen fertilizer1Nitrogen fertilizer1
Nitrogen fertilizer1
 
Chem ppt
Chem pptChem ppt
Chem ppt
 
Aluminium ppt
Aluminium pptAluminium ppt
Aluminium ppt
 
Sulphuric acid
Sulphuric acidSulphuric acid
Sulphuric acid
 
Chtp430
Chtp430Chtp430
Chtp430
 

Introduction to C Programming

  • 1. 1 Chapter 2 - Introduction to C Programming Outline 2.1 Introduction 2.2 A Simple C Program: Printing a Line of Text 2.3 Another Simple C Program: Adding Two Integers 2.4 Memory Concepts 2.5 Arithmetic in C 2.6 Decision Making: Equality and Relational Operators © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
  • 2. 2 Objectives • In this chapter, you will learn: – To be able to write simple computer programs in C. – To be able to use simple input and output statements. – To become familiar with fundamental data types. – To understand computer memory concepts. – To be able to use arithmetic operators. – To understand the precedence of arithmetic operators. – To be able to write simple decision making statements. © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
  • 3. 3 2.1 Introduction • C programming language – Structured and disciplined approach to program design • Structured programming – Introduced in chapters 3 and 4 – Used throughout the remainder of the book © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
  • 4. 4 2.2 A Simple C Program: Printing a Line of Text 1 /* Fig. 2.1: fig02_01.c 2 A first program in C */ 3 #include <stdio.h> 4 5 /* function main begins program execution */ 6 int main() 7 { 8 printf( "Welcome to C!n" ); 9 10 return 0; /* indicate that program ended successfully */ 11 12 } /* end function main */ Welcome to C! Comments – Text surrounded by /* and */ is ignored by computer – Used to describe program • #include <stdio.h> – Preprocessor directive • Tells computer to load contents of a certain file – <stdio.h> allows standard input/output operations © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
  • 5. 5 2.2 A Simple C Program: Printing a Line of Text • int main() – C++ programs contain one or more functions, exactly one of which must be main – Parenthesis used to indicate a function – int means that main "returns" an integer value – Braces ({ and }) indicate a block • The bodies of all functions must be contained in braces © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
  • 6. 6 2.2 A Simple C Program: Printing a Line of Text • printf( "Welcome to C!n" ); – Instructs computer to perform an action • Specifically, prints the string of characters within quotes ( " ") – Entire line called a statement • All statements must end with a semicolon (;) – Escape character () • Indicates that printf should do something out of the ordinary • n is the newline character © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
  • 7. 7 2.2 A Simple C Program: Printing a Line of Text Escape Sequence Description n Newline. Position the cursor at the beginning of the next line. t Horizontal tab. Move the cursor to the next tab stop. a Alert. Sound the system bell. Backslash. Insert a backslash character in a string. " Double quote. Insert a double quote character in a string. Fig. 2.2 Some common escape sequences. © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
  • 8. 8 2.2 A Simple C Program: Printing a Line of Text • return 0; – A way to exit a function – return 0, in this case, means that the program terminated normally • Right brace } – Indicates end of main has been reached • Linker – When a function is called, linker locates it in the library – Inserts it into object program – If function name is misspelled, the linker will produce an error because it will not be able to find function in the library © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
  • 9. 1 /* Fig. 2.3: fig02_03.c 9 2 Printing on one line with two printf statements */ Outline 3 #include <stdio.h> 4 5 /* function main begins program execution */ fig02_03.c 6 int main() 7 { 8 printf( "Welcome " ); 9 printf( "to C!n" ); 10 11 return 0; /* indicate that program ended successfully */ 12 13 } /* end function main */ Welcome to C! Program Output © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
  • 10. 1 /* Fig. 2.4: fig02_04.c 10 2 Printing multiple lines with a single printf */ Outline 3 #include <stdio.h> 4 5 /* function main begins program execution */ fig02_04.c 6 int main() 7 { 8 printf( "WelcomentonC!n" ); 9 10 return 0; /* indicate that program ended successfully */ 11 12 } /* end function main */ Welcome to C! Program Output © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
  • 11. 1 /* Fig. 2.5: fig02_05.c 11 2 Addition program */ Outline 3 #include <stdio.h> 4 5 /* function main begins program execution */ fig02_05.c 6 int main() 7 { 8 int 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 12 printf( "Enter first integern" ); /* prompt */ 13 scanf( "%d", &integer1 ); /* read an integer */ 14 15 printf( "Enter second integern" ); /* prompt */ 16 scanf( "%d", &integer2 ); /* read an integer */ 17 18 sum = integer1 + integer2; /* assign total to sum */ 19 20 printf( "Sum is %dn", sum ); /* print sum */ 21 22 return 0; /* indicate that program ended successfully */ 23 24 } /* end function main */ © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
  • 12. 12 Enter first integer 45 Outline Enter second integer 72 Sum is 117 Program Output © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
  • 13. 13 2.3 Another Simple C Program: Adding Two Integers • As before – Comments, #include <stdio.h> and main • int integer1, integer2, sum; – Definition of variables • Variables: locations in memory where a value can be stored – int means the variables can hold integers (-1, 3, 0, 47) – Variable names (identifiers) • integer1, integer2, sum • Identifiers: consist of letters, digits (cannot begin with a digit) and underscores( _ ) – Case sensitive – Definitions appear before executable statements • If an executable statement references and undeclared variable © Copyright 1992–2004will produce a syntax (compiler) error it by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
  • 14. 14 2.3 Another Simple C Program: Adding Two Integers • scanf( "%d", &integer1 ); – Obtains a value from the user • scanf uses standard input (usually keyboard) – This scanf statement has two arguments • %d - indicates data should be a decimal integer • &integer1 - location in memory to store variable • & is confusing in beginning – for now, just remember to include it with the variable name in scanf statements – When executing the program the user responds to the scanf statement by typing in a number, then pressing the enter (return) key © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
  • 15. 15 2.3 Another Simple C Program: Adding Two Integers • = (assignment operator) – Assigns a value to a variable – Is a binary operator (has two operands) sum = variable1 + variable2; sum gets variable1 + variable2; – Variable receiving value on left • printf( "Sum is %dn", sum ); – Similar to scanf • %d means decimal integer will be printed • sum specifies what integer will be printed – Calculations can be performed inside printf statements printf( "Sum is %dn", integer1 + integer2 ); © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
  • 16. 16 2.4 Memory Concepts • Variables – Variable names correspond to locations in the computer's memory – Every variable has a name, a type, a size and a value – Whenever a new value is placed into a variable (through scanf, for example), it replaces (and destroys) the previous value – Reading variables from memory does not change them • A visual representation integer1 45 © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
  • 17. 17 2.4 Memory Concepts •A visual representation (continued) integer1 45 integer1 45 integer2 72 integer2 72 sum 117 © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
  • 18. 18 2.5 Arithmetic • Arithmetic calculations – Use * for multiplication and / for division – Integer division truncates remainder • 7 / 5 evaluates to 1 – Modulus operator(%) returns the remainder • 7 % 5 evaluates to 2 • Operator precedence – Some arithmetic operators act before others (i.e., multiplication before addition) • Use parenthesis when needed – Example: Find the average of three variables a, b and c • Do not use: a + b + c / 3 • Use: (a + b + c ) / 3 © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
  • 19. 19 2.5 Arithmetic • Arithmetic operators: C operation Arithmetic operator Algebraic expression C expression Addition + f+7 f + 7 Subtraction - p–c p - c Multiplication * bm b * m Division / x/y x / y Modulus % r mod s r % s • Rules of operator precedence: 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. If there are several pairs of parentheses “on the same level” (i.e., not nested), they are evaluated left to right. *, /, or % Multiplication,Division, Evaluated second. If there are several, they are Modulus evaluated left to right. + or - Addition Evaluated last. If there are several, they are Subtraction evaluated left to right. © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
  • 20. 20 2.6 Decision Making: Equality and Relational Operators Step 1. y = 2 * 5 * 5 + 3 * 5 + 7; (Leftmost multiplication) 2 * 5 is 10 Step 2. y = 10 * 5 + 3 * 5 + 7; (Leftmost multiplication) 10 * 5 is 50 Step 3. y = 50 + 3 * 5 + 7; (Multiplication before addition) 3 * 5 is 15 Step 4. y = 50 + 15 + 7; (Leftmost addition) 50 + 15 is 65 Step 5. y = 65 + 7; (Last addition) 65 + 7 is 72 Step 6. y = 72; (Last operation—place 72 in y) © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
  • 21. 21 2.6 Decision Making: Equality and Relational Operators • Executable statements – Perform actions (calculations, input/output of data) – Perform decisions • May want to print "pass" or "fail" given the value of a test grade • if control statement – Simple version in this section, more detail later – If a condition is true, then the body of the if statement executed • 0 is false, non-zero is true – Control always resumes after the if structure • Keywords – Special words reserved for C – Cannot be used as identifiers or variable names © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
  • 22. 22 2.6 Decision Making: Equality and Relational Operators Standard algebraic equality C equality or Example of C Meaning of C condition operator or relational operator relational operator condition Equality Operators == = x == y x is equal to y ≠ != x != y x is not equal to y 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 <= <= x <= y x is less than or equal to y © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
  • 23. 1 /* Fig. 2.13: fig02_13.c 23 2 Using if statements, relational Outline 3 operators, and equality operators */ 4 #include <stdio.h> 5 fig02_13.c (Part 1 6 /* function main begins program execution */ of 2) 7 int main() 8 { 9 int num1, /* first number to be read from user */ 10 int num2; /* second number to be read from user */ 11 12 printf( "Enter two integers, and I will tell youn" ); 13 printf( "the relationships they satisfy: " ); 14 15 scanf( "%d%d", &num1, &num2 ); /* read two integers */ 16 17 if ( num1 == num2 ) { 18 printf( "%d is equal to %dn", num1, num2 ); 19 } /* end if */ 20 21 if ( num1 != num2 ) { 22 printf( "%d is not equal to %dn", num1, num2 ); 23 } /* end if */ 24 © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
  • 24. 25 if ( num1 < num2 ) { 24 26 printf( "%d is less than %dn", num1, num2 ); Outline 27 } /* end if */ 28 29 if ( num1 > num2 ) { fig02_13.c (Part 2 30 printf( "%d is greater than %dn", num1, num2 ); of 2) 31 } /* end if */ 32 33 if ( num1 <= num2 ) { 34 printf( "%d is less than or equal to %dn", num1, num2 ); 35 } /* end if */ 36 37 if ( num1 >= num2 ) { 38 printf( "%d is greater than or equal to %dn", num1, num2 ); 39 } /* end if */ 40 41 return 0; /* indicate that program ended successfully */ 42 43 } /* end function main */ Enter two integers, and I will tell you the relationships they satisfy: 3 7 3 is not equal to 7 Program Output 3 is less than 7 3 is less than or equal to 7 © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
  • 25. 25 Enter two integers, and I will tell you the relationships they satisfy: 22 12 Outline 22 is not equal to 12 22 is greater than 12 22 is greater than or equal to 12 Program Output (continued) Enter two integers, and I will tell you the relationships they satisfy: 7 7 7 is equal to 7 7 is less than or equal to 7 7 is greater than or equal to 7 © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
  • 26. 26 2.6 Decision Making: Equality and Relational Operators Operators Associativity * / % left to right + - left to right < <= > >= left to right == != left to right = right to left Fig. 2.14 Precedence and associativity of the operators discussed so far. © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
  • 27. 27 2.6 Decision Making: Equality and Relational Operators Keywords auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if static while Fig. 2.15 C’s reserved keywords. © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.