Introduction to c programming
Download
1 / 36

Introduction to C Programming - PowerPoint PPT Presentation


  • 236 Views
  • Uploaded on

Introduction to C Programming . Introduction. Books. “The Waite Group’s Turbo C Programming for PC”, Robert Lafore, SAMS “C How to Program”, H.M. Deitel, P.J. Deitel, Prentice Hall. What is C?. C

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Introduction to C Programming' - Olivia


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Books
Books

  • “The Waite Group’s Turbo C Programming for PC”, Robert Lafore, SAMS

  • “C How to Program”, H.M. Deitel, P.J. Deitel, Prentice Hall


What is c
What is C?

  • C

    • A language written by Brian Kernighan and Dennis Ritchie. This was to be the language that UNIX was written in to become the first "portable" language

In recent years C has been used as a general-purpose language because of its popularity with

programmers.


Why use c
Why use C?

  • Mainly because it produces code that runs nearly as fast as code written in assembly language. Some examples of the use of C might be:

    • Operating Systems

    • Language Compilers

    • Assemblers

    • Text Editors

    • Print Spoolers

    • Network Drivers

    • Modern Programs

    • Data Bases

    • Language Interpreters

    • Utilities

Mainly because of the portability that writing standard C programs can offer


History
History

  • In 1972 Dennis Ritchie at Bell Labs writes C and in 1978 the publication of The C Programming Language by Kernighan & Ritchie caused a revolution in the computing world

  • In 1983, the American National Standards Institute (ANSI) established a committee to provide a modern, comprehensive definition of C. The resulting definition, the ANSI standard, or "ANSI C", was completed late 1988.


Why c still useful
Why C Still Useful?

  • C provides:

    • Efficiency, high performance and high quality s/ws

    • flexibility and power

    • many high-level and low-level operations  middle level

    • Stability and small size code

    • Provide functionality through rich set of function libraries

    • Gateway for other professional languages like C  C++  Java

  • C is used:

    • System software Compilers, Editors, embedded systems

    • data compression, graphics and computational geometry, utility programs

    • databases, operating systems, device drivers, system level routines

    • there are zillions of lines of C legacy code

    • Also used in application programs


Software development method
Software Development Method

  • Requirement Specification

    • Problem Definition

  • Analysis

    • Refine, Generalize, Decompose the problem definition

  • Design

    • Develop Algorithm

  • Implementation

    • Write Code

  • Verification and Testing

    • Test and Debug the code


Development with c
Development with C

  • Four stages

    • Editing: Writing the source code by using some IDE or editor

    • Preprocessing or libraries: Already available routines

    • compiling: translates or converts source to object code for a specific platform source code -> object code

    • linking:resolves external references and produces the executable module

  • Portable programs will run on any machine but…..

  • Note! Program correctness and robustness are most important than program efficiency


Programming languages
Programming languages

  • Various programming languages

  • Some understandable directly by computers

  • Others require “translation” steps

    • Machine language

      • Natural language of a particular computer

      • Consists of strings of numbers(1s, 0s)

      • Instruct computer to perform elementary operations one at a time

      • Machine dependant


Programming languages1
Programming languages

  • Assembly Language

    • English like abbreviations

    • Translators programs called “Assemblers” to convert assembly language programs to machine language.

    • E.g. add overtime to base pay and store result in gross pay

      LOAD BASEPAY

      ADD OVERPAY

      STORE GROSSPAY


Programming languages2
Programming languages

  • High-level languages

    • To speed up programming even further

    • Single statements for accomplishing substantial tasks

    • Translator programs called “Compilers” to convert high-level programs into machine language

    • E.g. add overtime to base pay and store result in gross pay

      grossPay = basePay + overtimePay


History of c
History of C

  • Evolved from two previous languages

    • BCPL , B

  • BCPL (Basic Combined Programming Language) used for writing OS & compilers

  • B used for creating early versions of UNIX OS

  • Both were “typeless” languages

  • C language evolved from B (Dennis Ritchie – Bell labs)

** Typeless – no datatypes. Every data item occupied 1 word in memory.


History of c1
History of C

  • Hardware independent

  • Programs portable to most computers

  • Dialects of C

    • Common C

    • ANSI C

      • ANSI/ ISO 9899: 1990

      • Called American National Standards Institute ANSI C

  • Case-sensitive


C standard library
C Standard Library

  • Two parts to learning the “C” world

    • Learn C itself

    • Take advantage of rich collection of existing functions called C Standard Library

  • Avoid reinventing the wheel

  • SW reusability


Basics of c environment
Basics of C Environment

  • C systems consist of 3 parts

    • Environment

    • Language

    • C Standard Library

  • Development environment has 6 phases

    • Edit

    • Pre-processor

    • Compile

    • Link

    • Load

    • Execute


Basics of c environment1
Basics of C Environment

Creates object code

and stores on disk

Program edited in

Editor and stored

on disk

Preprocessor

program processes

the code

Links object code

with libraries and

stores on disk

Disk

Disk

Disk

Disk

Preprocessor

Compiler

Editor

Linker

Phase 3

Phase 2

Phase 4

Phase 1


Basics of c environment2
Basics of C Environment

Primary memory

Puts program in

memory

Loader

Phase 5

Primary memory

Takes each instruction

and executes it storing

new data values

CPU

Phase 6


Simple c program
Simple C Program

/* A first C Program*/

#include <stdio.h>

void main()

{     printf("Hello World \n");

}


Simple c program1
Simple C Program

  • Line 1: #include <stdio.h>

  • As part of compilation, the C compiler runs a program called the C preprocessor. The preprocessor is able to add and remove code from your source file.

  • In this case, the directive #include tells the preprocessor to include code from the file stdio.h.

  • This file contains declarations for functions that the program needs to use. A declaration for the printf function is in this file.


Simple c program2
Simple C Program

  • Line 2: void main()

  • This statement declares the main function.

  • A C program can contain many functions but must always have one main function.

  • A function is a self-contained module of code that can accomplish some task.

  • Functions are examined later.

  • The "void" specifies the return type of main. In this case, nothing is returned to the operating system.


Simple c program3
Simple C Program

  • Line 3: {

  • This opening bracket denotes the start of the program.


Simple c program4
Simple C Program

  • Line 4: printf("Hello World From About\n");

  • Printf is a function from a standard C library that is used to print strings to the standard output, normally your screen.

  • The compiler links code from these standard libraries to the code you have written to produce the final executable.

  • The "\n" is a special format modifier that tells the printf to put a line feed at the end of the line.

  • If there were another printf in this program, its string would print on the next line.


Simple c program5
Simple C Program

  • Line 5: }

  • This closing bracket denotes the end of the program.


Escape sequence
Escape Sequence

  • \n new line

  • \t tab

  • \r carriage return

  • \a alert

  • \\ backslash

  • \” double quote


Memory concepts
Memory concepts

  • Every variable has a name, type and value

  • Variable names correspond to locations in computer memory

  • New value over-writes the previous value– “Destructive read-in”

  • Value reading called “Non-destructive read-out”


Arithmetic in c
Arithmetic in C

C operation Algebraic C

Addition(+) f+7 f+7

Subtraction (-) p-c p-c

Multiplication(*) bm b*m

Division(/) x/y, x , x y x/y

Modulus(%) r mod s r%s


Precedence order
Precedence order

  • Highest to lowest

    • ()

    • *, /, %

    • +, -


Example
Example

Algebra:

z = pr%q+w/x-y

C:

z = p * r % q + w / x – y ;

Precedence:

1 2 4 3 5


Example1
Example

Algebra:

a(b+c)+ c(d+e)

C:

a * ( b + c ) + c * ( d + e ) ;

Precedence:

3 1 5 4 2


Decision making
Decision Making

  • Checking falsity or truth of a statement

  • Equality operators have lower precedence than relational operators

  • Relational operators have same precedence

  • Both associate from left to right


Decision making1
Decision Making

  • Equality operators

    • ==

    • !=

  • Relational operators

    • <

    • >

    • <=

    • >=


  • Summary of precedence order
    Summary of precedence order

    Operator Associativity

    () left to right

    * / % left to right

    + - left to right

    < <= > >= left to right

    == != left to right

    = left to right


    Assignment operators
    Assignment operators

    • =

    • +=

    • -=

    • *=

    • /=

    • %=


    Increment decrement operators
    Increment/ decrement operators

    • ++ ++a

    • ++ a++

    • -- --a

    • -- a--


    Increment decrement operators1
    Increment/ decrement operators

    main()

    {

    int c;

    c = 5;

    printf(“%d\n”, c);

    printf(“%d\n”, c++);

    printf(“%d\n\n”, c);

    c = 5;

    printf(“%d\n”, c);

    printf(“%d\n”, ++c);

    printf(“%d\n”, c);

    return 0;

    }

    5

    5

    6

    5

    6

    6


    Thank you
    Thank You

    • Thank You


    ad