Introduction:
1. Overview, History,
Features, Advantages and Disadvantages of C Language.
2. Structure of C program.
3. Compiling Process.
4. C Preprocessor and Header
Files
|
C Programming
Overview
of C language
C is a
general-purpose, structured, procedural, compiled, high-level programming
language that was originally developed by Dennis M. Ritchie at AT&T’s Bell
Lab for use with the UNIX operating system by inheriting the features of B and
BPCL with his own features. C was originally first implemented on the DEC
PDP-11 computer in 1972. It is suitable for preparing system software as well
as application software. The file extension of c program is .c.
C is also called middle (intermediate
language) level language because it combines the best features of high level
language and low level language.
A Brief History of C Language
The C
programming language was developed by Dennis Ritchie at Bell Labs during the
early 1970's. Quite unpredictably it derived from a computer language named B
and from an earlier language BCPL. Initially designed as a system programming
language under UNIX it, expanded to have wide usage on many different systems.
The earlier versions of C became known as K&R C after the authors of an
earlier book, "The C Programming Language" by Kernighan and Ritchie. C
was standardized by ANSI (American National Standard Institute) in 1980. It is
still used for some system and network programming as well as for embedded
systems.
Features and Importance of C:
a)
It is highly
portable language: - it means C programs written for one computer can be run on
another computer without little or no modifications.
b)
It is
structured language: - because it has a fixed structure.
c)
It is
efficient and fast: - it is efficient and fast due to its verities of data types and
powerful operators.
d)
It can handle low-level activities
e)
It can be compiled on a variety of computer platforms
f)
It contains a powerful instructions set of data operators that
tell computer how to manipulate the data within a program.
g)
It has both the features of high level language as well as low
level language.
h)
It has rich
system library: - because it has large numbers of predefined keyword and library
functions.
Advantages of C
a)
It is one of the efficient and fast executing programming
languages.
b)
It is easy for debugging, testing and maintaining.
c)
There is no limitation while programming using C. We can develop
any kinds of program.
d)
C is powerful language and the use of pointer has made it unique.
e)
Its compiler is easily available.
f)
Length of programs can be reduced by using function.
g)
Reusability of function increases.
Disadvantages of C
a)
There is no runtime checking.
b)
There is no strict type checking.
c)
It is very difficult to fix the bugs.
d)
It is not powerful like as object oriented programming.
e)
Pointer is one of the unique features which have made C powerful but
if it is mishandled the system may crash so it is risky too.
Basic structure of C program
Here, we can easily illustrated each
component of a basic structure of C program as below
·
Documentation
section: -
it contains a set of comments lines about the name of program, the author,
algorithm, methods used and other detail. E.g. // WAP to find sum of two
number.
·
Link Section:
-it
provides instruction to the compiler to link functions with program from the
system library. E.g. #include<stdio.h>, #include<conio.h> etc.
·
Definition
section: - in this section, all symbolic constants are defined. E.g. #define
pi 3.147
·
Global
declaration section: - In this section, declared variable as global which are used in
more than one functions.
·
Main ()
function section: - Every C program starts and ends with a main () function. It
contains declaration and executables parts where declaration part declares all
the variables used in the execution part. E.g. int a=2, b=5;
a=a+2;
b=b+8;
·
Subprogram
section: -This section contains all the user-defined functions that are
called in the main function.
Documentation
Section
|
|||||
Link
Section
|
|||||
Definition
Section
|
|||||
Global
Declaration Section
|
|||||
Main()
function section
{
}
|
|||||
Subprogram
Section
User-defined
functions
|
Fig. Basic
structure of a C program
Example
//
WAP to calculate the area of circle using function. :
Documentation section
#include<stdio.h> :
link section
#include<conio.h>
#define pi 3.147 :
definition section
float r; :global declaration section
float area(float x);
void main() : starting from here to main function
{ float value; :declaration part
clrscr();
printf("Enter a radius of circle\t");
scanf("%f",&r);
value=area(r); :executable part and also calling user
defined function
printf("\nArea of cirlce is: %f",value);
getch();
}
float area(float x) :user defined function
{
return(pi*x*x);
}
Compiling process
Compilation refers to the processing of source
code files (.c, .cc, or .cpp) and the creation of an 'object' file. This step
doesn't create anything the user can actually run. Instead, the compiler merely
produces the machine language instructions that correspond to the source code
file that was compiled. In c
programming compiling process consists of following steps:
v
Preprocessing:
- They instruct compiler to do required pre-processing before
actual compilation. You can call this phase text substitution or interpreting
special preprocessor directives denoted by #.
v
Compiler – the compiler translates the
high-level instructions in the .i file into low-level Assembly language
instructions. The generated file containing the translation is in text format
and typically has a .s file extension.
v
Assembling – the
assembler converts the Assembly language text instructions in the .s file into
machine code. The generated object file containing the conversion is in binary
format and typically has a .o file extension.
v
Linking –Linking refers to the creation of a single executable file from
multiple object files. If these piece of code need some other source file
to be linked then linker link them to make it a executable file.
v
Loader: - It loads the executable code into memory. Program
and data stack are created, register get initialized.
Header files and C preprocessor
Header Files:
Header
files are a collection of macros, types, functions and constants. Any program
that needs those functions can include the corresponding header files.
List of some commonly used Header file and their purposes:
Header Files
|
Purpose
|
Functions Declared
|
stdio.h
|
Used for standard input and
output (I/O) operations.
|
printf(), scanf(),
getchar(), putchar(), gets(), puts(), getc(), putc(), fopen, fclose(), feof()
|
conio.h
|
Contains declaration for
console I/O functions.
|
clrscr(), exit(), getch()
|
ctype.h
|
Used for character-handling
or testing characters.
|
isupper(), is lower,
isalpha()
|
math.h
|
Declares mathematical
functions and macros.
|
pow(), squr(), cos(),
tan(), sin(), log()
|
stdlib.h
|
Used for number conversions,
storage allocations.
|
rand(), srand()
|
string.h
|
Used for manipulating
strings.
|
strlen(), strcpy(),
strcmp(), strcat(), strlwr(), strupr(), strrev()
|
C Preprocessor:
The C Preprocessor is not a part of the compiler, but is
a separate step in the compilation process. C Preprocessor is just a text
substitution tool and it instructs the compiler to do require pre-processing
before the actual compilation. All preprocessor commands begin with a hash
symbol (#).
Preprocessor directive is a collection of special statement that is
executed at the beginning of a compilation process. It is placed in the source
program before the main function. They all begin with the symbol # (hash) and
do not require a semicolon at the end.
#define directive: it defines a text substitution, macro substitution and symbolic
constant.
Syntax:
#define identifier substitution_token
#define TRUE 1
#define FALSE
#define MAX 100
#define PI 3.14
#include
directive: -This
directive searches for a header or source file, which can be processed by the
implementation, to be include in the program.
Syntax:
#include
<filename>
For
example:
#include<stdio.h>
Labels: Introduction of C
1 Comments:
thank you sir for this information
Post a Comment
thank you
Subscribe to Post Comments [Atom]
<< Home