Introduction to c programming
1 / 36

Introduction to C Programming - PowerPoint PPT Presentation

  • 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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
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


  • “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


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


  • 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




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


program processes

the code

Links object code

with libraries and

stores on disk









Phase 3

Phase 2

Phase 4

Phase 1

Basics of c environment2
Basics of C Environment

Primary memory

Puts program in



Phase 5

Primary memory

Takes each instruction

and executes it storing

new data values


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

    • ()

    • *, /, %

    • +, -



z = pr%q+w/x-y


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


1 2 4 3 5



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


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


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



    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;








    Thank you
    Thank You

    • Thank You