Lect 5 P. 1 - PowerPoint PPT Presentation

1 / 34
About This Presentation
Title:

Lect 5 P. 1

Description:

C Programming Basics Lecture 5 ENG H192 Course Web Page A web page which contains the course syllabus, updated lecture notes and other useful information may be found ... – PowerPoint PPT presentation

Number of Views:17
Avg rating:3.0/5.0
Slides: 35
Provided by: www2EceO
Category:
Tags: c | lect

less

Transcript and Presenter's Notes

Title: Lect 5 P. 1


1
C Programming Basics
  • Lecture 5

2
ENG H192 Course Web Page
  • A web page which contains the course syllabus,
    updated lecture notes and other useful
    information may be found at
  • http//feh.eng.ohio-state.edu
  • A copy of Professor Dick Busicks flowchart
    spreadsheet is on the Web site

3
C Program Basics
  • C vs. C
  • C is a subset of C. All of features in C are
    contained in C
  • C adds more libraries with functions for object
    oriented programming
  • C also adds more keywords and some added
    features.

4
Keywords in C and C
  • Certain words have a special meaning to the C or
    C compiler. They are called reserved words or
    keywords. We should not try to use these words
    as names of variables or function names in a
    program.
  • The keyword list for C contains 32 words (see
    text, pg. 44). C adds 30 more keywords (see
    text, pg. 563).

5
Some Keywords in C and C
6
Program Structure in C
  • EACH complete C program is composed of
  • Comment statements
  • Pre-processor directives
  • Declaration statements
  • One or more functions
  • Executable statements

7
Program Structure in C
  • EACH complete C program is composed of
  • Comment statements
  • Pre-processor directives
  • Comment statements
  • Declaration statements
  • Comment statements
  • One or more functions
  • Comment statements
  • Executable statements
  • Comment statements

8
Comment Statements
  • Formal Comments
  • / Comment .. /
  • Used for detailed description of functions or
    operations (for our benefit, not compilers).
  • Can take multiple lines in source file.
  • Informal Comments (only in C, not C)
  • // Comment .. Ends at the end of line
  • Used for quick comments like
  • int temp // temporary variable for storing
    // the input value

9
Pre-Processor Directives
  • include -- header files for library functions
  • Example
  • include ltstdio.hgt
  • define -- define constants and
    macros Examples
  • define e 2.7182818
  • define pi 3.14159265359

Note Space
Note Spaces
10
Declarations
  • Declarations tell the compiler what variable
    names will be used and what type of data each can
    handle (store).
  • Example declarations
  • int a, b, c
  • float r, p, q
  • double x, y, z
  • char m, n

11
Data Types
  • Integer variables int a, b
  • Integer variables, like a or b, store only whole
    numbers like 3 or 7, not 3.33 or 7.65, and only
    up to certain maximum values.
  • Floating point variables float c, d
  • Floating point variables, like c or d, store
    rational numbers, like 3.14159, but only a
    limited number of digits of precision.

12
Internal Storage Representation
  • Definitions
  • Binary digit -- or a "bit", is either a 0 or a 1
  • Byte -- usually a collection of 8 bits together
  • Word -- often a collection of 4 bytes together
  • On the SGI Unix system
  • an "int" data type takes up 4 bytes
  • (on some systems, an "int" is only 2 bytes)
  • a "float" data type takes up 4 bytes
  • a "double" data type take up 8 bytes
  • a "char" data type takes up 1 byte

13
Programs Have One or More Functions
  • Even the main program is a function.
  • The body of each user-written function is
    enclosed in braces, (or curly brackets)
  • The syntax of a function is
  • ltfunction typegt function_name (arg. list)
  • / beginning of
    function /
  • / end of function
    /

14
Executable Statements
  • Simple
  • Declaring variables
  • int temp
  • char a
  • Assigning Values
  • temp 5 temp is assigned the value of 5
  • Complex, i.e., Calling Functions
  • plotxy (x, y)
  • Calculations
  • x (5. / 2 6) 7

15
Arithmetic Operators
  • multiply add
  • / divide - subtract
  • remainder, where
  • x 13 5 / x will be equal to 3 /
  • An expression can be used almost anywhere a
    variable of the same type can be used.
  • Ex. expressions num 3, a d - 5, ...

16
Arithmetic Operators Order of Evaluation
  • Parentheses () Evaluate from the inside out
  • Multiplication, Division, and Remainder
  • , /, and
  • Addition and Subtraction
  • and -
  • NOTE Multiple occurrences of operations with
    the same precedence evaluate from left to right.
    (DD text, pg. 38)

17
Arithmetic Operators Order of Evaluation
  • For example
  • x 2 3 - (4 5) 8 7
  • x 2 3 - 9 8 7
  • x 6 - 9 8 7
  • x 6 - 9 1
  • x -3 1
  • x -2

18
Arithmetic Operators Order of Evaluation
  • Another example
  • x 6 / 2 1 - 3 8 4

x 33
x 6 / (2 1) - (3 8) 4
x -42
19
Mixed Mode Arithmetic
  • When performing arithmetic operations, the "mode"
    will one of
  • Floating point, if both operands are floating
    point
  • Integer, if both operands are integer
  • Mixed, if one operand in integer and the other is
    floating point -- the result is floating point
  • Integer operations produce integer results
    (remember how you first learned to to division?)

20
Assignment Operators
  • Operator Example Meaning
  • x 5 x 5
  • x 5 x x 5
  • x 5 x x 5
  • / x / 5 x x / 5
  • x 5 x x 5
  • x 5 x x 5

21
Assignment Operators
  • Example of assignment operators
  • int a 4, b 2, c 36
  • a b / This adds b to a, a ? /
  • c / a b / What is value of c
    now? /

22
Assignment Operators
  • Example of assignment operators
  • int a 4, b 2, c 36
  • a b / This adds b to a, a ? /
  • Answer a a b, so a 4 2 or a 6
  • c / a b / What is value of c now? /

23
Assignment Operators
  • Example of assignment operators
  • int a 4, b 2, c 36
  • a b / This adds b to a, a ? /
  • Answer a a b, so a 4 2 or a 6
  • c / a b / What is value of c now? /
  • Answer c c / (a b), and a 6 now,
  • so c 36 / (6 2), so c 36 / 8 or c
    4

24
Increment/Decrement Operators
  • Operator Meaning When?
  • count count count 1 After use
  • count count count 1 Before use
  • count-- count count - 1 After use
  • --count count count - 1 Before use

25
Increment/Decrement Operators
  • Examples of increment and decrement operators
  • int a 4, b 2, c
  • c a b--
  • / What are the values of a, b, c now? /
  • c b-- - a
  • / What are the values of a, b, c now? /

26
Increment/Decrement Operators
  • Examples of increment and decrement operators
  • int a 4, b 2, c
  • c a b--
  • / What are the values of a, b, c now? /
  • (Answers a 5, b 1, c 7)
  • c b-- - a
  • / What are the values of a, b, c now? /

27
Increment/Decrement Operators
  • Examples of increment and decrement operators
  • int a 4, b 2, c
  • c a b--
  • / What are the values of a, b, c now? /
  • (Answers a 5, b 1, c 7)
  • c b-- - a
  • / What are the values of a, b, c now? /
  • (Answers a 6, b 0, c -5)

28
Relational Operators
  • Operator Meaning
  • lt Less Than
  • gt Greater Than
  • lt Less Than or Equal To
  • gt Greater Than or Equal To
  • Exactly Equal To
  • ! Not Equal To

29
Relational Operators
  • Used for asking questions like
  • Is x bigger than 10?
  • In C, the value of 1 stands for true and 0 stands
    for false. But C will recognize any non zero
    value as true.
  • NOTE "" is NOT same as ""

30
Logical Operators
  • ! (not)
  • Ex a ! b is true if a and b are not equal
  • (and)
  • Ex 5lt6 7gt4 is true, but
  • 5gt6 7gt4 is not true (i.e., false)
  • (or)
  • Ex 5gt6 7gt4 is true
  • 5lt6 7lt4 is also true

31
Exponentiation Operations
  • Exponentiation is not written as x2 or x2
  • C does not have an exponentiation operator. You
    can use the math function pow (a, b) which
    raises a to the b power. You must put a include
    ltmath.hgt in your source code and must also use
    the -lm switch in your compile command when on
    the SGI UNIX system.
  •  
  • Ex gtg -o myprog.out myprog.cpp

32
Skeleton Program
  • //
  • / Name Brutus Buckeye /
  • / Seat No. 0, Instr W. Hayes /
  • / Program progname/assignment /
  • //
  • include ltstdio.hgt
  • include ltstdlib.hgt
  • include ltmath.hgt
  • int main ( )
  • statements

33
Shell for programs
  • Create a skelton.cpp file as a basis for your
    assignments
  • Going to look much like Skeleton program on
    previous slide
  • USAGE for an program
  • Open skelton.cpp
  • Save to name for program
  • Edit program

34
Todays Assignment
  • Todays Assignment is G04
  • G03 has a C program that calculates values and
    assigns them to variables.
  • You are to do the calculations by hand (quiz and
    midterm material!!) and print the answers on the
    problem sheet.
  • Then, copy the program into your account and run
    it to get the correct answers. Compare your hand
    calculations to the computers calculations.
  • What needs to be added to the code so that you
    know what the computer calculated?
Write a Comment
User Comments (0)
About PowerShow.com