You are on page 1of 20

Characteristics of C

Smallsize
Extensiveuseoffunctioncalls
Loosetyping--unlikePASCAL
Structuredlanguage
Pointerimplementation-extensiveuseofpointersfor
memory,array,structuresandfunctions.

C Program Structure
Preprocessor Commands
Type definitions
Function prototypes -- declare function types

and variables passed to function


Variables
Functions

Creating, Compiling and


Running
Your
Program

Use any ordinary editor with which you are


familiar to create the file

The filename must by convention end ``.c''

(full stop, lower case c), e.g. myprog.c

The C Compilation Model

Source code
Preprocessor

Compiler

Assemblycode
Assembler

librarie
s

Objectcode
LinkEditor

Executablecode

The Preprocessor
The Preprocessor accepts source code
as input and is responsible for
removing comments
interpreting
special
preprocessor
directives denoted by #.
C Compiler
The C compiler translates source to
assembly code
Assembler
The assembler creates object code

Variables
C type
char
Unsigned char

Short int
Unsigned short int
(long) int
float
double

Size (byte)
1
1
2
2
4
4
8

Arithmetic Operations
Increment & Decrement operations
Postfix and Prefix expressions
example:- x++ is faster than x=x+1.

Order of Precedence
()

[ ] -> .
* / %
+ < <= >= >
== !=
&
^
&&
||
,

CONDITIONALS
IF STATEMENT
? OPERATOR
SWITCH STATEMENT

break and continue


C provides two commands to control how we loop:

break -- exit form loop or switch.


continue -- skip 1 iteration of loop

FUNCTIONS
returntypefn_name(1,parameterdef2,)

{
localvariables

functioncode
}

VOIDFUNCTIONS

Structures
Collection of different datatypes.
A structure is a user-defined data type.
A structure is a collection of one or more variables, possibly
of different types, grouped together under a single name
Eg: struct student
{
int rollno;
char name[10];
float marks;
}s;

UNIONS
A union is a variable which may hold (at different times)

objects of different sizes and types .


union number
{
short shortnumber;
long longnumber;
double float number;
}

* POINTERS
C uses pointers a lot. Why?:
It is the only way to express some computations.
It produces compact and efficient code.
It provides a very powerful tool.

What is a Pointer?
A pointer is a variable which contains the address in

memory of another variable .

Dynamic Memory Allocation


Dynamic allocation is a pretty unique feature to C .
It enables us to create data types and structures of
any size and length to suit our programs need within
the program.
Malloc
Calloc
Realloc

FILES
Files are the most common form of a stream
Open a file:
FILE *fopen(char *name, char *mode)
fopen returns a pointer to a FILE.
*name ?? *mode ??
Reading and writing files
The functions fprintf and fscanf a commonly used to access
files.
int fprintf(FILE *stream, char *format, args..)
int fscanf(FILE *stream, char *format, args..)

Basic String Handling


Functions

strcmp
strcat
strcpy
strlen
strerror
strcasecmp

DATA STRUCTURES
Definition of data structures

Many algorithms require that we use a proper


representation of data to achieve efficiency.

This representation and the operations that are allowed for


it are called data structures.
Each data structure allows insertion, access, deletion etc.

Why do we need data


Data structures allow us to achieve an
structures?
important goal: component reuse
Once each data structure has been
implemented once, it can be used over and
over again in various applications.

Common data structures


are
Stacks
Queues
Lists
Trees
Graphs
Tables

SORTING TECHNIQUES
Bubble sort
Quick sort

Insertion sort
Selection sort
Heap sort

You might also like