Welcome in the world of `C`

advertisement
Welcome
In
The
World
Of
‘C’
 TEXT BOOK:
Programming in ANCI ‘C
By: E Balagurusamy. TMH
 Reference Books:
1) The ‘C Programming Language
By: Kernighan and Ritchie. PHI
Second Edition.
2) Let Us ‘C
By: Yashwant Kanitkar
TeachingScheme
 During a week
3 Lectures + 1 Tutorial
1 Practical/Laboratory of two hour.
 Marks system:
Theory External Exam
60
Practical Exam / Viva
50
Internal (Avg. of 3 exams) 36
Attendance
4
Total 150
Importance of Subject
 ‘C is the base language of any
other programming language.
 To be a Good Programmer one
must know fundamentals of C
programming language.
History of ‘C’
 Root of the morden language is
ALGOL 1960. It’s first
computer language to use a block
structure.
• It gave concept of structured
programming.
 In 1967, Martin Richards developed
a language, BCPL (Basic Combined
Programming Language)
 In 1970,by Ken Thompson created a language
called as ‘B’.
It used to create early version of Unix.
 In 1972,by Dennis Ritchie introduced new
language called as ‘C’ .
1972
1978
1989
1990
Traditional C Dennis Ritchie
K&R C
Kernighan &Ritchie
ANSI C ANSI Committee
ANSI/ISO C ISO Committee
Features Of ‘C’
 It is a robust language.
Programs written in ‘C’ are efficient and fast.
(Because of variety of data types and powerful
operators)
 Highly Portable. (related to OS)
Well suited for structured programming.
Ability to extend itself.
Program & Programming
Language
Program:- A Set of instructions which
When carried out by processor for some
Specific input, generates specific output.
Programming language:- A specific
manner of writing a program with some
Predefined rules, symbols & their use as
a part of language.
i.e. Pascal, C, C++, VC++, JAVA, VB.
Basic structure of ‘C’
1) Documentation Section :-



It has set of comment lines(name of program,
author details).
What is Comment line??
To guide a programmer. To write a note for
function,operation,logic in between a program.
Non-executable statement.
Can’t be nested.
e.g:- /* Hello /* abc */ Hi */
ERROR.
2)Link Section :

It provides instructions to the compiler to link
function from the system library.
# include Directive:To access the functions which are stored in the
library, it is necessary to tell the compiler ,
about the file to be accessed.
Syntax:#include<stdio.h>
stdio.h is header file.
It defines all symbolic constants.
#define instuction defines value to a symbolic
constant.
#define:It
is a preprocessor compiler directive, not a
statement.
Therefore it should not end with a semicolon.
Generally written in uppercase.
Some variables that are used in more
than on function, such variables (global
variables) declared in the global
declaration section.
It also declares all the user-defined
function.
Every ‘C’ program must have one main()
function section.
It contains two parts
1) Declaration part:
It declares all variables used in the
executable part.
2) Executable part:
It has atleast one statement.
main(
No arguments
)
= main (void)
Explicitly indicate no
arguments
Link Section
Definition Section
Global Declaration Section
main() function section
{
Declaration part
Executable part
}
Subprogram section
Function1
Function2 …
user defined function
There
are two ways to run programs written in a highlevel language.
The
The
most common is to compile the program
other method is to pass the program through an
interpreter.
Compiler
Why compiler is require ?
As machine (a processor) can operate
On binary code instruction only…..
If we use higher level language then …
For execution of the program we must
Convert it to lower level / machine level
Code.
Means,
A program that translates source code into
object code.
The compiler derives its name from the way it
works, looking at the entire piece of source
code and collecting and reorganizing the
instructions.
Interpreter:
which analyzes and executes each line of
source code without looking at the entire
program.
Advantage of interpreter:
It can execute a program immediately.
Compilers require some time before an
executable program emerges.
But,
However, programs produced by compilers run
much faster than the same programs executed
by an interpreter.
C Compiler
- checks for syntax errors if any
- on success coverts ‘C source code
into object code form –
which is nearer to machine…
Linker:
A linker is a program that combines object
modules to form an executable program.
Types of languages
(I) Lower level languages:Languages which are very near to
machine…. I.e. machine language,
Assembly language.
(II) Higher level languages:Languages which are very near to
programmer rather than to machine….
I.e. C++,Visual C++,Visual basic,Java.
BlockDiagram:
Represents only
-> what should be the input?
-> what will be the output?
- One need not to worry about how
the result generated….
- or what will be the logic for the
program?
Block Diagram for making addition
of two numbers :
Output
Input
No1. &
No2.
PROGRAM
No1 + No2
Algorithm
Specifies steps of doing the things
Irrespective of any programming language
Example: Addition of two numbers
Step 1: [Read two numbers]
Read(no1)
Read(no2)
Step 2:[add two numbers into sum]
summation = no1 + no2
Step 3:[Display the result]
write (summation)
Flowchart
Represents the flow of program
Symbols:Start-Begin/End
Input/Output Rectangle
Process box/operation box
Decision Box
Connector
Flowchart-example
Example: To add two numbers and display the
result.
Start
Read No1 and No2 from user
SUMMATION = NO1 + NO2
Write Summation on monitor
End
Files:- storage of logically related data
Directory:- Placeholder which can store files
and subdirectories within them.
File Extension:- special postfix attached to
each file which indicates
type
of the file.
/* print hello*/
#include<stdio.h> /* link section*/
void main()
/* execution of program*/
{
print(“hello world”); /*executable
statement*/
}
filename and
“c” is file
extension which
indicates that hello is a ‘c
program.
Download