0% found this document useful (0 votes)
27 views36 pages

Introduction To C Programming

c language introduction for 12th grade students

Uploaded by

jawad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views36 pages

Introduction To C Programming

c language introduction for 12th grade students

Uploaded by

jawad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 36

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
 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 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
 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
 SW reusability
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
Program edited in
Phase 1 Editor Disk Editor and stored
on disk
Preprocessor
Phase 2 Preprocessor Disk program processes
the code
Creates object code
Phase 3 Compiler Disk and stores on disk

Links object code


Phase 4 Linker Disk with libraries and
stores on disk
Basics of C Environment

Primary memory
Puts program in
Phase 5 Loader memory

Primary memory
Takes each instruction
Phase 6 CPU and executes it storing
new data values
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 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 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;
5
printf(“%d\n”, c);
5
printf(“%d\n”, c++); 6
printf(“%d\n\n”, c);

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

return 0;
}
Thank You
 Thank You

You might also like