17
Introduction to ‘C’ Compiled By : Abhishek Sinha (MBA-IT, MCA) Director – Academics Concept Institute of Technology, Varanasi. Website: www.conceptvns.org

Programming in C [Module One]

Embed Size (px)

Citation preview

Page 1: Programming in C [Module One]

Introduction to ‘C’

Compiled By :

Abhishek Sinha (MBA-IT, MCA)Director – Academics

Concept Institute of Technology, Varanasi.Website: www.conceptvns.org

Page 2: Programming in C [Module One]

What is C ? - Programming Language

Language is a medium of communication. It

is a system for encoding & decoding

information.

Program is a set of instructions to be

followed in a particular fashion to

accomplish a particular task.

Programming is a process to develop a

program

Page 3: Programming in C [Module One]

A Programming Language is an

artificial language designed to express

computations that can be performed

by a machine, particularly a

computer.

Page 4: Programming in C [Module One]

Brief Introduction of C

C is a programming language that follows thephilosophy of POP (Procedural OrientedProgramming) categorized under High LevelLanguage (some times under Middle LevelLanguage).

Developed by “Dennis Ritchie” in the year1972 at AT & T Bell Laboratory, USA.

It uses Compiler as a language translator toconvert C instruction to executable code.

Page 5: Programming in C [Module One]

Historical Development of C

Year Language Developer Remarks

1960 ALGOL International

Committee

Too general,

too abstract

1963 CPL Cambridge

University

Hard to learn,

difficult to implement

1967 BCPL Martin Richards,

Cambridge

University

Could deal with only

specific problems

1970 B Ken Thompson,

AT & T

Could deal with only

specific problems

1972 C Dennis Ritchie,

AT & T

Lost generality of

BCPL & B restored

ALGOL : Algorithmic LanguageCPL : Combined Programming LanguageBCPL : Basic Combined Programming Language

Page 6: Programming in C [Module One]

Basic Building Blocks

Variables: ‘the values which can be changed

or changes itself’, e.g. salary, age, time etc..

Constants: ‘the values which neither can be

changed nor changes itself’, e.g. PIE,

G(gravitational constant), g (gravitational

acceleration) etc..

Identifiers: ‘it is the name given to a value

by which we can identify whether it is a

variable or a constant’

Page 7: Programming in C [Module One]

Keywords: ‘reserved words whose meaning

is predefined to the complier & whenever

compiler comes across those words, it does

the appropriate task’. 32 reserved words are

there in C such as goto, break, continue,

return, void etc..

Operators: are the special symbols which

when applied on operands, gives us some

manipulated result, and result depends on

type of operator applied.

Page 8: Programming in C [Module One]

Operator Types:

Can be categorized on the basis of two criteria's:

a) No of Operands

b) Operation Performed

• Unary Operator (1 operand)

• Binary Operator (2 operand)

• Ternary Operator (3 operand)

• Arithmetic Operator (+, -, *, /, %)

• Assignment Operator (=)

• Relational Operator (<, <=, ==, >, >=, !=)

• Logical Operator (&&, ||, !)

• Conditional Operator ( ? :)

• Increment/Decrement Operator (++, --)

• Bitwise Operator (&, |, ~, ^, <<, >>)

• Some Special Operators ( [], (), *, ., ->,

malloc, calloc, realloc, sizeof, free)

Page 9: Programming in C [Module One]

Data Type: Tells us about three facts that a

programmer must know and is very

important:

• Type of value we can work on C Language

• Memory space required to store that value

(size depends on Operating System)

• Range of value it can store in that space

Making the use of these facts programmer

reserves the space for its data accordingly.

Page 10: Programming in C [Module One]

We can categorize Data Type in two flavors

•Primary Data Type•Numeric

•Integer•Short

•Signed

•Unsigned

•Long

•Real•Float

•Double

•Long Double

•Non Numeric•Character

•Signed

•Unsigned

•String (implemented as array)

•Secondary Data Type•Derived Data Type

•Array

•Pointer

•Function

•User Defined Data Type•Structure

•Union

•Enum

*At this stage our concern topic is Primary Data Type

Page 11: Programming in C [Module One]

Integer – denoted as int – by default it is signed int

Type Size (in bytes) Range Format String

short int 2 -32768 to +32767 %d

signed int 2 -32768 to +32767 %d

unsigned int 2 0 to 65535 %u

long int 4 -2147483648 to +2147483647 %ld

Real

Type Size (in bytes) Range Format String

float 4 3.4e-38 to 3.4e+38 %f

double 4 1.7e-308 to 1.7e+308 %lf

long double 8 3.4e-4932 to 3.4e+4932 %le

Character – denoted as char – by default it is signed char

Type Size (in bytes) Range Format String

signed char 1 -128 to +127 %c

unsigned char 1 0 to 255 %c

Page 12: Programming in C [Module One]

Variable Declaration: A process to reserve

space in memory for data values, where

those space are identified by the name of

the variable for further reference.

Syntax: <data_type> <variable_name>;

Example: int age; // by default takes signed int

This very statement makes the compiler to reserve

two byte of space in memory and identifies it with the

name age.

age name of location

location in memory

102 base address of location

MEMORY REPRESENTATION

Page 13: Programming in C [Module One]

Variable Initialization: A process to assign

initial value to a variable at the time of

declaration. By default it takes garbage

value (depends on storage class specifier)

Syntax:

<data_type> <variable_name> = <initial_value>;

Example: int age = 10;

This very statement makes the compiler to reserve

two byte of space in memory and identifies it with the

name age and assigns 10 as its initial value.age name of location

location in memory

102 base address of location

MEMORY REPRESENTATION

10

Page 14: Programming in C [Module One]

C Program StructureStatements Example

1. Documentation / Commnet Section /*Sample Program*/

2. Header File Inclusion #include<stdio.h>

3. Macro Definition #define MAX 10

4. Global Variable Declaration int x;

5. Sub-function(s) <RT> <Function Name>(<AL>)

{

//body of function

}

6. Main function main()

{

//body of main

}

Page 15: Programming in C [Module One]

Compilation Process

Source code (.c) Object code (.obj)

Expanded code (.i )

Assembly code (.asm) Executable code (.exe)

Pre-Processing

Compiling

Assembling

Linking & Loading

Making

Page 16: Programming in C [Module One]

First of all we make our source file with an

extension .c, now the code is expanded based on

Preprocessor Directives used and is stored in a

file having .i extension. From this code compiler

checks for syntax errors. If it is error free,

compiler converts it to the assembly language of

the machine being used. This is stored in file

having .asm extension. Now the assembler

creates .obj file. Then linking and loading

software makes the link with other files if

included in source code and those files are

loaded in memory. Now the making process

creates .exe file which is executed/run and gives

our output. Meanwhile at back scene another

file is created having .bak extension which keeps

the back-up of source code.

Page 17: Programming in C [Module One]

END OF CHAPTER ONE

Send your feedback/queries at

[email protected]