36
Mahira Banu C PROGRAMMING TUTORIAL

C programing

Embed Size (px)

DESCRIPTION

The E-book is used to students who wants to learn a very basic things in C

Citation preview

Page 1: C programing

Mahira Banu

C PROGRAMMING TUTORIAL

Page 2: C programing

C Programming Tutorial

Contents:

Introduction a) History and Usages

b) Keywords

c) Identifiers

d) Variables and Constants

e) Programming Data Types

f) Input and Output

g) Programming Operators

Decision and Loops a) If…If else and Nested If else

b) C Programming Loops

c) Break and Continue

d) Switch…..case Statement

e) go to function

C Functions a) User Defined

b) Function Recursion

c) Storage class

Arrays a) One Dimensional Array

b) Multi dimensional Array

Pointers a) Pointers and Function

String

Structure and Union a) Union

Advance Functions in C a.) Enumeration

b.) Pre-processor

c.) Library Function

Page 3: C programing

Chapter 1

Introduction

a.) History

C is a general purpose, structured programming language. It was

developed by Dennis Ritchie in 1970 in BELL Lab.

C Programming is widely used in the Programming world for to

develop all the advanced applications. This tutorial will use you to learn all the

basic things in the C Programming.

Advantages of C:

Flexible

Highly portable

Easily extended by the user

Faster and Efficient

Include number of Built-In-function

Disadvantages of C:

No runtime checking

It is very executable to fixed bugs

Application of C:

Unix completely developed by C

Many desktop application developed by C

Used to solve mathematical functions

It is used to implement different OS.

Getting Started with C:

For clear understanding we have to run all the basic concepts, In order

to run programs we need compiler, compiler will change the source code to

object code and create executable files. For practical uses we install the basic

compiler Turbo C/ Advanced compiler Codelite.

Character Set:

Character set are the set of alphabets, numbers and some special

characters which is valid in C.

Page 4: C programing

Alphabets:

Upper Case: A to Z

Lower Case: a to z

Digits:

0 to 9

Special characters:

Here some of the special characters used in C

> < $ ,

# ^ ” “

} { ( )

b.) Keyword:

Keyword is the reserved words used in programming. Each

keyword has fixed meaning and it cannot be changed by any users.

Ex: int money;

Here int is a keyword.

Keyword is a case-sensitive and all keyword must be in lower case.

Keywords in C Language

auto double int struct

break else long switch

case enum register typedef

char extern return union

continue for signed void

do if static while

default goto sizeof volatile

const float short unsigned

Page 5: C programing

c.) Identifiers:

Identifiers are name given to C entities such as structures, keywords

or functions etc… Identifiers are unique name given to the C entities which is

used to identify during the execution.

Ex: int money;

Here money is an identifier. Identifier can be in Upper or Lower

case. It can be start with digits or “_”.

d.) Variables and constants:

Variables:

Variables are used to store memory location in system memory,

each variable have unique identifiers.

Ex: int num;

“num” is a variable for integer type.

Variable didn’t contain case sensitive, it may be start with underscore or digits.

Constants:

Constants are the term which cannot be changed during the execution of the

program. It may be classified into following types:

Character Constant:

Character constant are the constant which used in single quotation

around characters. For example: ‘a’, ‘I’, ‘m’, ‘F’.

Floating Point constant:

It may be numerical form that maybe fractional or exponential

form.

Ex: -0.012

1.23 etc…

Integer Constant:

Integers constant are the numeric constants without any floating

point/exponential constant or character constant. It classified into 3 types:

o Octal digits: 0,1,2,3,4,5,6,7

o Decimal Digits: 0,1,2,3,4,5,6,7,8,9

o Hexadecimal digits: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H

Page 6: C programing

Escape Sequence

Sometimes it is necessary to use newline, tab etc… so we have to use

“/” which is known as Escape sequence.

Escape Sequences

Escape Sequences Character

\b Backspace

\f Form feed

\n Newline

\r Return

\t Horizontal tab

\v Vertical tab

\\ Backslash

\' Single quotation mark

\" Double quotation mark

\? Question mark

\0 Null character

String Constant:

Which are enclosed in double quote mark. For example

“good”.

Enumeration Constant:

Keyword enum is used to declare enumeration. For example

enum color{yellow,white,green}

here the variable name is yellow,white,green are the enumeration constant

which having values 0,1,2 respectively.

e.) Programming Data types

Data types in C are classified into 2 types:

1. Fundamental data types

2. Derived Data Types

Syntax for Data types: Data type variable name;

Page 7: C programing

Classifications of Fundamental Data types

Integer Type: Keyword int is used for declaring with integer types

Floating Types: Keyword float and double are used for declaring the floating

types

Character Types: keyword char is used for declaring the variables of character

type.

Classifications of Derived Data types

Arrays

Structure

Enumeration

Pointers

Qualifiers: It is used to alter the meaning of base data types to yield a new data

type.

f.) Input/output:

The C Program input and output functions are printf() and scanf()

Printf() it’s used to provide output to the users

Scanf() it’s used to taken input from the users.

Examples for I/O function

#include<stdio.h>

Void main();

{

int c;

printf(“enter the number c”);

scanf(“%d”,&c);

printf(“number=%d,c”);

return 0;

}

Here printf() is used to display the output .

Page 8: C programing

Scanf() is ask the value from the user ‘&’ denotes that the address of the C and

value stored in the number.

Stdio represent standard input output function which is the library function

#include is used to paste the code from the header when it is required.

g.) Programming Operators:

Operators are a symbol which operates on a value or variable. For Example:

+ is an operator which is used for a addition.

Operators in C programming

Arithmetic operators(+,-,%,*)

Increment and Decrement operators(a++,++a,a--,--a)

Assignment operators(+=,a+=b is equal to a=a+b)

Relational operators(==,<=,>=)

Logical operators(&&,||)

Conditional operators (?,: it’s used to making decision)

Bitwise operators(&,| etc)

Page 9: C programing

Chapter-2

Decision and loops

a.) If, If…else, Nested If…else….

This Statement is used to execute the programming by one

time decision i.e. execute one code and ignore one code.

If Statement

It executes the statement if the test expression is true.

Syntax:

if (test expression)

{

// statement to be executed when the test expression is true

}

If..else Statement

This statement is used when the programmer is want to execute one

statement if the test expression is true or executes other expression if the test

expression is false.

Syntax:

Page 10: C programing

if (test expression)

{

Statement to be execute when expression is true;

}

else

{

Statement to be executed when it is false;

}

Nested if else statement

This statement is used when the programmers need more than one

expression.

The nested statement is work by step by step if first statement is true it never

enter t the 2nd

statement when it is wrong it will go to the next expression. This

will used by programmers when they need to check more than one expression.

Syntax:

if(test expression)

{

execute if expression is true; }

Page 11: C programing

else if( test expression 1)

{

execute when expression 0 is false and 1 is true;

}

else if (test expression 2)

{

execute when expression 0 and 1 are false and 2 is true);

}

.

.

.

else

{execute the statement when all the above are false;

}

b.) C Programming Loops

Loops are used when the programmer wants to execute the same block

repeatedly for number of times. Loop function executes the certain block of

code until the code becomes false.

Types of Loops:

1. for Loop

2. while Loop

3. do…while Loop

for Loop

for loop execute the program block until the given statement is false.

Syntax:

for(initialization; expression; update statement)

{

Body of the code ;}

Page 12: C programing

The Initialization process run only at initial stage of the

programming then it checks the expression if the expression is false loop is

terminated. It is true it executes the code of the body and then executes the

update statement. This process repeats until expression becomes false.

Page 13: C programing

Example Program: Find out the sum of n Natural Numbers, when n is

entered by the users.

#include<stdio.h>

#include<conio.h>

int main()

{

int n,c,s=0;

printf("enter the value of n");

scanf("%d",&n);

for(c=1;c<=n;c++)

{

s=s+c;

}

printf("s=%d",s);

getch();

return 0;

}

Output

Enter the value of n=9

S=45

Page 14: C programing

While Loop

It checks while expression is true of false. If the expression is true it

executes the body of the loop after the execution it checks the body again this

process continues until it becomes false.

Syntax:

while (test expression)

{

Body of the loop; }

Example: Find the factorial of the number

#include<stdio.h>

int main()

{

int factorial,number;

printf(“enter a number \n”)

scanf(“%d”,&number);

factorial=1;

while(number>0)

{ factorial=factorial*number;

--factorial;

}

Page 15: C programing

printf( factorial=%d”, factorial);

return 0; }

do…while loop

The only difference between the while and do while is it executes the

statement and then check the test expression.

Syntax:

do

{code to be execute; }

while(test expression);

Write a C program to add the numbers until the user enter the zero

#include<stdio.h>

int main()

{

int num,sum=0;

do

{ printf(“enter a number \n”);

scanf(“%d”,&num);

sum=sum+num;

}

while(num!=0);

Page 16: C programing

printf (“%d”,sum);

return 0;}

Summary

for loop while loop do..while loop

Initialization,

It is usually counter

variable, statement that

will be executed every

iteration of the loop,

until the counter variable

increment or decrement

It checks the condition

first, if condition is false

it never enter into the

loop.

It executes the

statement before checks

the condition at least one

iteration takes place

when the condition is

false

c.) Break and Continue

The two statements break and continue is used to skip or terminate the

some programming blocks without checking it.

Break statement

It is used to terminate the loop if the statement is true.

Syntax:

break;

Example: write a C program to find the average value of numbers, terminate

the program if the input is negative display the average value and end the

program

#include<stdio.h>

int main()

Page 17: C programing

{

int n,i;

float average,num,sum;

printf(“maximum numbers of inputs”);

scanf(“%d”,&n);

for(i=1;i<=n;++i)

{ printf(“enter the n %d”,i);

scanf(“%d”,&n);

if(num<0)

break;

sum=num+sum;}

average=sum/(i-1);

printf(“Average=%.2f”,average);

return 0;

}

Continue Statement

To skip some statement in the function continue statement is used

Syntax;

continue;

Page 18: C programing

Example: Write a C program to find the product of 4 numbers

#include<stdio.h>

int main()

{ int i,num,product;

for(i=1,product=1;i<=4;++i)

{ printf(“enter the num %d”,i);

scanf(“%d”,&num);

if(num==0)

continue;

product*=num;}

printf(“product=%d”,product);

return 0; }

Break Continue

It can appear in loop and switch

statements.

It can appear only in loop statement.

It terminates the switch or loop

statement when break is encountered.

It does not cause the termination,

when continue encountered it executes

all iteration in the loops

d.) switch…..case Statement

Decision making are used to select the particular block or code with many

other alternative codes. Instead of switch case we can use nested if else but it is

more complicated while compare with switch case.

Syntax:

switch (n) {

case constant 1:

A code to be executed if n is equal to constant 1;

break;

case constant 2:

Page 19: C programing

A code to be executed if n is equal to constant 2;

break;

.

.

.

default:

codes to be executed if n is not equal to any constants;

}

Example Program: Write a program to select the arithmetic operator and two

operands and perform the corresponding operations

#include<stdio.h>

int main()

{

char o;

float n1,n2;

Page 20: C programing

printf(“select an operator + or – or * or \ \n);

scanf(“%c”,&o);

printf(“enter the two operands:”);

scanf(“%f%f”,&n1,&n2);

switch(o)

{

case +:

printf(“%.1f+%.1f=%.1f”,num1,num2,num1+num2);

break;

case -:

printf(“%.1f-%.1f=%.1f”,num1,num2,num1-num2);

case *:

printf(“%.1f*%.1f=%.1f”,num1,num2,num1*num2);

case \:

printf(“%.1f \ %.1f=%.1f”,num1,num2,num1\num2);

default:

printf(‘operator Error”);

break;

}

return 0; }

e.) go to function

This statement is used to altering the normal sequence of program by

transferring control to some other parts.

Syntax:

goto label;

…………….

…………….

Page 21: C programing

label;

statement;

we are not using goto statement because it’s make more complex and

considered as a harmful construct. goto statement is replaced by the use of break

and continue statement.

Page 22: C programing

Chapter 3

C Functions A function is a segment which is used to perform the specified task. A

C program has at least one main() function, without main there is no C

programs.

Types of C Functions

Library Functions

User defined functions

Library Functions

It is a built in function in C programming

Example:

main() --- Every programs start with main function

print() --- used to display the output

scanf() --- used to enter the input

a.) User Defined Function

C allows the programmer to define the function according to their

requirements. For example, a programmer wants to find the factorial and check

whether it is prime number or not in the same program, we can use the 2

functions in the same program.

Working of User defined:

#include<stdio.h>

void function_name()

{……………………

………………………}

int main()

{ ………………………..

………………………….

Page 23: C programing

Function name();

……………………

……………………. }

As we mentioned earlier C program is starts with main function when

the program reaches to the function name it jumps to the void function name

after execution of the void function it return to the function name and executes

it.

Advantages:

Easily maintain and debug, large no of codes easily divided in to small

segments and decompose the work load.

Example:

#include<stdio.h>

int add(int a,int b); //Function declaration(prototype)

int main()

{int num1,num2,sum;

printf(“enter the numbers to add”);

scanf(“%d %d”,&num1,num2);

sum=add(num1,num2); //function call

printf(“sum=%d”,sum);

return 0;

}

int add(int a,int b);

{

int add;

add=a+b;

return add;}

Page 24: C programing

Function Declaration (prototype)

Every function has to declare before they used, these type of declaration

are also called function prototype. It gives compiler information about name,

function, type of argument that has to pass.

Syntax of Prototype

return-type fun-name ( type(1) argument(1)…………….type(n) argument(n));

From the above example

int add(int a,int b); this is function prototype

fun-name add

return type int

Function call:

Control of the program transferred to the user defined when the function

is called.

Syntax:

function_name(arg 1,arg2);

Function Definition:

It contains specific codes to perform specific task. It is the first line of function

declaration.

Syntax:

function name(arg(1),arg(2))

b.) Function Recursion:

The function that calls itself without any other external functions is known

as recursion.

Example:

#include<stdio.h>

int sum(int n);

int main()

{ int num,add;

Page 25: C programing

printf(“enter a positive integer”);

scanf(“%d”,&n);

add=sum(n);

printf(“sum=%d”,add);

}

int sum(int n)

{

if(n==0)

return n;

else

return n+sum(n-1);}

Advantage:

It is more elegant and requires few variables which make program clean

It replaced the complex nesting code function.

Disadvantage:

It is hard to write the recursion.

Hard to debug.

c.) C Programming Storage:

Every variable has two properties:

Type

Storage

Type refers to the function whether it is integer or floating or character

Storage refers how long it stays. It is classifies into 4 types:

Auto

External

Static

Register

Page 26: C programing

auto: Variable declared by the inside of the function by default. It access by the

local variables only.

external: It can be accessed by the any function. It is called as global variables

and it declared outside in the function.

static: The value of static variable persists until the end of the program.

register: Register variable are similar like auto and used in global variable.

Page 27: C programing

Chapter-4

Arrays

Main use of array is to handle similar type of data’s. For example, if the

company wants to save 100 employees details. By using simple code form, the

programmer has to be creating the data for 100 employees individually, but by

using arrays we can easily replace it.

An Array is a sequence of data types for homogeneous type.

Arrays are two types

1. One Dimensional Array

2. Multi dimensional array

a.) One Dimensional Array:

Declaration of One Dimensional Array:

declaration_type array_name[array_size];

Example: int age[5];

Array Element:

Size of array defines the number of elements used in the array. Each

element can be accessed by the user by their usage.

int age[5];

Age[0] Age[1] Age[2] Age[3] Age[4]

Every array element can be start by 0;

Example:

#include<stdio.h>

void main()

{

int marks[10],i,n,sum=0;

printf(“enter the number of students:”);

scanf(“%d”,&n);

for(i=0;i<n;i++)

Page 28: C programing

{ printf(“enter the number of students%d:”,i+1);

scanf(“%d”,&marks[i]);

sum=sum+marks[i];}

printf(“sum=%d”,sum);

return 0; }

b.) Multi Dimensional Array:

C Program allows programmers to create array of arrays in the

program.

Ex:

float a[2][6];

Here, an array of two dimensions, this is example of multi-dimensional array.

Initialization of Array:

a[2][4]={{1,2,0,0} ,{3,4,5,6}};

Page 29: C programing

Chapter-5

Pointer Pointers are the important feature it’s different the C and

C++ from java and other languages. Pointers are used to access the memory and

manipulate the address.

Reference Operator (&):

& denotes address in the memory

Lets explain in the program

#include<stdio.h>

int main()

{ int var=5;

printf(“value=%d”,var);

printf(“address=%d”,&var);

return 0;}

Output:

Value=5

Address=2567891

From the above code we can know clearly var is a name given to that location

and 5 is stored in the 2567891 location.

Reference Variable (*):

It is used to hold the memory address i.e is variable that holds address is

Reference variable

Arrays Pointers

Array is a single, pre-allocated and

continues element

Pointer is a place in a memory which is

used to store the another place or

function

It can’t be resized It can be resized

Page 30: C programing

It can be initialized It can’t be initialized

a.) Pointers and Functions

When the Argument is passed using pointer address of the memory

location is passed instead of value.

Example:

#include<stdio.h>

void swap(int *a,int *b);

int main()

{ int n1=5,n2-10;

swap(&n1,&n2);

printf(“n1=%d \n”,n1);

printf(“n2=%d’,n2);

return 0; }

void swap(int *a, int *b)

{ int temp;

temp=*n1;

*n1=*n2; *n2=temp; }

The address of n1 and n2 are passed to the memory location of pointer a and b,

So the value of the memory location changed the value in memory location also

changed, clearly if the *a and *b are changed it will reflected in n1 & n2

This is known as call by reference.

Page 31: C programing

Chapter-6

String Array of character is string.

Declaration of String:

String is declared like array the difference is string is denoted as char only

char S[5];

S[0] S[1] S[2] S[3] S[4]

Declaration by using pointer

char *p;

Initialization of string:

char c[]="abcd";

char[5]= "abcd";

char[]={‘a’, ‘b’,‘c’,‘d’,‘\0’};

Example: How to read string from terminal

#include<stdio.h>

#include<string.h>

int main()

{char name[20];

printf(“enter name:”);

scanf(“%s”,name);

printf(“your name is %s:”,name);

return 0;}

output:

Enter name: Swan Tech

Your name is: Swan

Page 32: C programing

Here the compiler will give the first name only because there is white

space

String Handling Functions

We can use strings for various application like finding length etc.. but

programmer can use the library function string.h in the program

We can manipulate the string function manually so we use the handling

functions.

Function Explanation

strlen() Length of the string

strcpy() Copy the string

strcat() Joins two string

strcmp() Compare two strings

gets() and puts()

we can use this gets and puts condition to take input string and display

the output string

Example:

#include<stdio.h>

#include<string.h>

int main()

{ char name[30];

printf(“enter the name”);

gets(name);

printf(“The name enter is:”);

puts(name);

return 0;}

Here gets and puts are likely scanf() and printf()

Page 33: C programing

Chapter-7

Structure and Union

Structure:

Structure is the collection variable that is used to store the different variables

under a single name. If you want to store the different details of the students like

register number, marks, details etc

We are using structure for the better approach.

Definition:

Keyword struct is used for denote the function.

Syntax:

struct_structure name

{ datatype 1;

datatype 2;

.

.

datatype n;}

Union

Union is similar to the structure, it derived from the structure and we sued union

keyword to denote it in the code

The main difference is All members can be accessed the structure but only the

members in the union can access the code

Page 34: C programing

Structure Union

Using keyword struct for denote Using keyword union for denote

One or more members can initialize

the function Only one member can initialize

It allocates memory equal to the sum

of the memory allocated to its each

individual members

It allocates one block memory which is

enough to stored all the data

Each member have their own space Only one memory for all users

Page 35: C programing

Chapter-8

Advance Function in c

a.) Enumeration

Enumeration is user defined data type consist of integral constant

and each integral constant have a keyword enum to defined the enumeration

type.

enum type_name{ value 1,value 2…….value n};

By default value 1=1 and value 2=1 but the user can changed the default values.

Example of Enumerated:

#include<stdio.h>

enum week{Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday};

int main()

{ enum week today;

Today=Wednesday;

printf=(“%d day”,total+1);

return 0;}

Output:

Today=4

b.) Pre-processor

In C language the line which is beginning with # symbol is

known as Pre-processor. It is substitution tool and it instruct compiler to do the

specific function before the compilation of the program.

Example:

#include To insert particular header

#define Substitute a particular macro

Page 36: C programing

c.) Library Function

It is inbuilt function of C programming which is written with their

respective header files.

For Example: if you want to run printf() you need to include stdio.h in the

header file.