SlideShare a Scribd company logo
Introduction to C
Programming
Introduction
Books
 “The Waite Group’s Turbo C Programming
for PC”, Robert Lafore, SAMS
 Teach Yourself C : Herbert Schildt
 Programming in ANSI C- E. Balagurusamy
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?
 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
 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?
 C provides:
 Efficiency, high performance and high quality
 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
 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
 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
 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 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 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
 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 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
 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
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 Environment
Editor DiskPhase 1
Program edited in
Editor and stored
on disk
Preprocessor DiskPhase 2
Preprocessor
program processes
the code
Compiler DiskPhase 3
Creates object code
and stores on disk
Linker DiskPhase 4
Links object code
with libraries and
stores on disk
Basics of C Environment
LoaderPhase 5
Puts program in
memory
Primary memory
CPUPhase 6
Takes each instruction
and executes it storing
new data values
Primary memory
Simple C Program
/* A first C Program*/
#include <stdio.h>
void main()
{
printf("Hello World n");
}
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 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 Program
 Line 3: {
 This opening bracket denotes the start of the program.
Simple C Program
 Line 4: printf("Hello World From Aboutn");
 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 Program
 Line 5: }
 This closing bracket denotes the end of the program.
Escape Sequence
 n new line
 t tab
 r carriage return
 a alert
  backslash
 ” double quote
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
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
 Highest to lowest
• ()
• *, /, %
• +, -
Example
Algebra:
z = pr%q+w/x-y
C:
z = p * r % q + w / x – y ;
Precedence:
1 2 4 3 5
Example
Algebra:
a(b+c)+ c(d+e)
C:
a * ( b + c ) + c * ( d + e ) ;
Precedence:
3 1 5 4 2
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 Making
 Equality operators
• ==
• !=
 Relational operators
• <
• >
• <=
• >=
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
 =
 +=
 -=
 *=
 /=
 %=
Increment/ decrement operators
 ++ ++a
 ++ a++
 -- --a
 -- a--
Increment/ decrement operators
main()
{
int c;
c = 5;
printf(“%dn”, c);
printf(“%dn”, c++);
printf(“%dnn”, c);
c = 5;
printf(“%dn”, c);
printf(“%dn”, ++c);
printf(“%dn”, c);
return 0;
}
5
5
6
5
6
6
Thank You
 Thank You

More Related Content

PPT
C program
PPT
C the basic concepts
PPT
1. over view and history of c
PPTX
Data Types and Variables In C Programming
PDF
Learning c - An extensive guide to learn the C Language
PPTX
Introduction of c programming
PPT
Introduction to c programming
PPTX
Loops in c programming
C program
C the basic concepts
1. over view and history of c
Data Types and Variables In C Programming
Learning c - An extensive guide to learn the C Language
Introduction of c programming
Introduction to c programming
Loops in c programming

What's hot (20)

PPT
Programming in c
PPTX
Introduction to programming
PPT
History of c
PPTX
C language ppt
PDF
Introduction to c++ ppt
PPTX
Introduction to c programming
PPTX
Constants, Variables, and Data Types
PPT
Structure of a C program
PPTX
C keywords and identifiers
PPTX
Procedural programming
PPT
File handling in c
PPTX
Decision making statements in C programming
PDF
Programming in c
PPTX
History of C Programming Language
PPTX
Unit 1. Problem Solving with Computer
PPTX
Functions in C
PPTX
introduction to programming languages
PPTX
Algorithms and problem solving.pptx
PPT
Operators in C++
DOCX
Basic structure of c programming
Programming in c
Introduction to programming
History of c
C language ppt
Introduction to c++ ppt
Introduction to c programming
Constants, Variables, and Data Types
Structure of a C program
C keywords and identifiers
Procedural programming
File handling in c
Decision making statements in C programming
Programming in c
History of C Programming Language
Unit 1. Problem Solving with Computer
Functions in C
introduction to programming languages
Algorithms and problem solving.pptx
Operators in C++
Basic structure of c programming
Ad

Viewers also liked (12)

PDF
structured programming Introduction to c fundamentals
PPTX
PPTX
Introduction to C Programming
PPTX
Green chemistry
PPT
Why C is Called Structured Programming Language
PPTX
Programmer ppt
PPTX
PPT
Biotechnology
PPTX
Biotech & medicine.ppt
PPSX
INTRODUCTION TO C PROGRAMMING
PPTX
Solar panel Technology ppt
PPT
Solar energy ppt
structured programming Introduction to c fundamentals
Introduction to C Programming
Green chemistry
Why C is Called Structured Programming Language
Programmer ppt
Biotechnology
Biotech & medicine.ppt
INTRODUCTION TO C PROGRAMMING
Solar panel Technology ppt
Solar energy ppt
Ad

Similar to Introduction to C programming (20)

PPT
C_Intro.ppt
PPT
C intro
PPT
C PROGRAMMING
PPT
01 c
PPTX
CSE_1201_Lecture_1_Introduction_to_Programming_0fd134f8149173dfa0821f1575f733...
PDF
Basics of C Prog Lang.pdf
PPTX
C LANGUAGE UNIT-1 PREPARED BY M V BRAHMANANDA REDDY
PPTX
PPTX
PPTX
Unit ii
PPSX
Lecture 2
PDF
Introduction to C programming
DOCX
C Unit 1 notes PREPARED BY MVB REDDY
PPTX
Introduction to C Programming fjhjhjh.pptx
DOCX
Programming In C- (1)jhgjhgjhgjhghj.docx
PPTX
Introduction to C Programming
DOCX
Let's us c language (sabeel Bugti)
PPT
The smartpath information systems c pro
PDF
67404923-C-Programming-Tutorials-Doc.pdf
PPT
What is turbo c and how it works
C_Intro.ppt
C intro
C PROGRAMMING
01 c
CSE_1201_Lecture_1_Introduction_to_Programming_0fd134f8149173dfa0821f1575f733...
Basics of C Prog Lang.pdf
C LANGUAGE UNIT-1 PREPARED BY M V BRAHMANANDA REDDY
Unit ii
Lecture 2
Introduction to C programming
C Unit 1 notes PREPARED BY MVB REDDY
Introduction to C Programming fjhjhjh.pptx
Programming In C- (1)jhgjhgjhgjhghj.docx
Introduction to C Programming
Let's us c language (sabeel Bugti)
The smartpath information systems c pro
67404923-C-Programming-Tutorials-Doc.pdf
What is turbo c and how it works

More from Rokonuzzaman Rony (20)

PPTX
Course outline for c programming
PPTX
PPTX
Operator Overloading & Type Conversions
PPTX
Constructors & Destructors
PPTX
Classes and objects in c++
PPTX
Functions in c++
PPTX
Object Oriented Programming with C++
PPTX
Humanitarian task and its importance
PPTX
PPTX
PPTX
C Programming language
PPTX
User defined functions
PPTX
Numerical Method 2
PPT
Numerical Method
PPTX
Data structures
PPT
Data structures
PPTX
Data structures
PPTX
Counting DM
Course outline for c programming
Operator Overloading & Type Conversions
Constructors & Destructors
Classes and objects in c++
Functions in c++
Object Oriented Programming with C++
Humanitarian task and its importance
C Programming language
User defined functions
Numerical Method 2
Numerical Method
Data structures
Data structures
Data structures
Counting DM

Recently uploaded (20)

PDF
RMMM.pdf make it easy to upload and study
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PDF
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
VCE English Exam - Section C Student Revision Booklet
PDF
TR - Agricultural Crops Production NC III.pdf
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PPTX
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
PDF
Classroom Observation Tools for Teachers
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PPTX
Pharma ospi slides which help in ospi learning
PPTX
master seminar digital applications in india
RMMM.pdf make it easy to upload and study
O7-L3 Supply Chain Operations - ICLT Program
Module 4: Burden of Disease Tutorial Slides S2 2025
Microbial disease of the cardiovascular and lymphatic systems
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
human mycosis Human fungal infections are called human mycosis..pptx
STATICS OF THE RIGID BODIES Hibbelers.pdf
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
VCE English Exam - Section C Student Revision Booklet
TR - Agricultural Crops Production NC III.pdf
Abdominal Access Techniques with Prof. Dr. R K Mishra
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
Classroom Observation Tools for Teachers
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
Pharma ospi slides which help in ospi learning
master seminar digital applications in india

Introduction to C programming

  • 2. Books  “The Waite Group’s Turbo C Programming for PC”, Robert Lafore, SAMS  Teach Yourself C : Herbert Schildt  Programming in ANSI C- E. Balagurusamy
  • 3. 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.
  • 4. 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
  • 5. 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.
  • 6. Why C Still Useful?  C provides:  Efficiency, high performance and high quality  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
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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.
  • 13. 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
  • 14. 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
  • 15. 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
  • 16. Basics of C Environment Editor DiskPhase 1 Program edited in Editor and stored on disk Preprocessor DiskPhase 2 Preprocessor program processes the code Compiler DiskPhase 3 Creates object code and stores on disk Linker DiskPhase 4 Links object code with libraries and stores on disk
  • 17. Basics of C Environment LoaderPhase 5 Puts program in memory Primary memory CPUPhase 6 Takes each instruction and executes it storing new data values Primary memory
  • 18. Simple C Program /* A first C Program*/ #include <stdio.h> void main() { printf("Hello World n"); }
  • 19. 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.
  • 20. 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.
  • 21. Simple C Program  Line 3: {  This opening bracket denotes the start of the program.
  • 22. Simple C Program  Line 4: printf("Hello World From Aboutn");  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.
  • 23. Simple C Program  Line 5: }  This closing bracket denotes the end of the program.
  • 24. Escape Sequence  n new line  t tab  r carriage return  a alert  backslash  ” double quote
  • 25. 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”
  • 26. 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
  • 27. Precedence order  Highest to lowest • () • *, /, % • +, -
  • 28. Example Algebra: z = pr%q+w/x-y C: z = p * r % q + w / x – y ; Precedence: 1 2 4 3 5
  • 29. Example Algebra: a(b+c)+ c(d+e) C: a * ( b + c ) + c * ( d + e ) ; Precedence: 3 1 5 4 2
  • 30. 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
  • 31. Decision Making  Equality operators • == • !=  Relational operators • < • > • <= • >=
  • 32. Summary of precedence order Operator Associativity () left to right * / % left to right + - left to right < <= > >= left to right == != left to right = left to right
  • 33. Assignment operators  =  +=  -=  *=  /=  %=
  • 34. Increment/ decrement operators  ++ ++a  ++ a++  -- --a  -- a--
  • 35. Increment/ decrement operators main() { int c; c = 5; printf(“%dn”, c); printf(“%dn”, c++); printf(“%dnn”, c); c = 5; printf(“%dn”, c); printf(“%dn”, ++c); printf(“%dn”, c); return 0; } 5 5 6 5 6 6