SlideShare une entreprise Scribd logo
1  sur  103
EC8393 - Fundamentals of Data Structures
in C
• To learn the features of C
• To learn the linear and non-linear data structures
• To explore the applications of linear and non-linear data
structures
• To learn to represent data using graph data structure
• To learn the basic sorting and searching algorithms
2
Course Objective
Upon completion of the course, students will be able to
• Implement linear and non-linear data structure operations using C
• Suggest appropriate linear / non-linear data structure for any given
data set.
• Apply hashing concepts for a given problem
• Modify or suggest new data structure for an application
• Appropriately choose the sorting algorithm for an application
3
Course Outcome
Pradip Dey and Manas Ghosh,
―Programming in C, Second
Edition, Oxford University
Press, 2011.
4
Text Book
Ellis Horowitz, Sartaj Sahni,
Susan Anderson-Freed, -
Fundamentals of Data
Structures in C, Second Edition,
University Press, 2008.
5
Text Book
1. Mark Allen Weiss, ―Data Structures and Algorithm Analysis
in C, Second Edition, Pearson Education, 1996.
2. Alfred V. Aho, John E. Hopcroft and Jeffrey D. Ullman,
―Data Structures and Algorithms, Pearson Education, 1983.
Reference Books
3. Robert Kruse, C.L.Tondo, Bruce Leung, Shashi Mogalla , ―
Data Structures and Program Design in C, Second Edition,
Pearson Education, 2007.
4. Jean-Paul Tremblay and Paul G. Sorenson, ―An Introduction
to Data Structures with Applications, Second Edition, Tata
McGraw-Hill, 1991.
Reference Books
Course Assessment
S. No Name of the
Assessment
Nos. Max. Marks Weightage %
1 CIA I 1 100 20 Marks
Note:
(Sum of CIA I + CIA II + CIA
III)
The total 300 Marks will be
converted into 20 Marks
2 CIA II 1 100
3 CIA III 1 100
4 University Exam 1 100 This will be converted into 80
Marks
Internal: 20 Marks Total: 100 Marks
External: 80 Marks
Note: You need to maintain minimum 80% attendance. If
your attendance is less than 80% then you won't be allowed to write your
final exams .
Course Management
Contact
Mode
Contact Details
Faculty
Mail vigneshkumar.cse@karpagamtech.ac.in
Mobile /
Whatsapp
+91 - 9578469113
UNIT - 1
C PROGRAMMING BASICS
• What is a Program?
– The collection of detailed expressions/instructions
that supplied to a computer to perform a specific
task is known as a program.
– Example: Word Processors, Apps, Games, etc.,
• A computer program tells your computer how to do
what you want.
• C is a Programming language designed to create
System Application to interact with the hardware. 11
WHAT IS C PROGRAM?
• Objective of developing C Programming
Language:
– Developing an operating system used on multiple
computers.
• C is a lower level than most other languages
– i.e. it creates code that’s a lot closer to what
machines really understand.
• Procedural and Structured programming
Language
12
Why C?
13
Features of C?
• Simple & Structured Programming Language
– provides structured approach (to break the problem
into parts), rich set of library functions, data types
etc.
• Portable
– C programs can be executed on many machines
with a little bit or no change.
• Mid - Level Programming Language
– C is also used to do low-level programming. It is
used to develop system applications such as kernel,
driver etc. It also supports the feature of high level
language. 14
Features of C?
• Rich Library
– C provides a lot of inbuilt functions that make the
development fast
• Memory Management
– It supports the feature of dynamic memory
allocation.
• Speed
– The compilation and execution time of C language
is fast.
15
Features of C?
• Pointers
– It allows to interact with the memory directly by
using the pointers.
• Recursion
– Can call the function within the function.
– It provides code reusability for every function.
• Extensible
– It can easily adopt new features.
16
Features of C?
17
Basic Structure of a C Program
Documentation Section
Link Section
Definition Section
Global Declaration Section
Main Function Section
Declaration Part
Executable Part
Sub- Program Section
User Defined Function
• Documentation Section
– It is a comment block with information which
helps in tracking and identifying the program.
• Link Section
– It provides instructions to the compiler to link
functions from the system library such as #include
directive.
• Definition Section
– It defines all symbolic constants such as using the
#define directive.
18
Basic Structure of C Program
• Global Declaration Section
– There are some variables that can be used in more
than one function.
– Such variables are called Global Variables and are
declared in the global declaration section.
• Main Function Section
– Every C Program must have one main function
section.
– Two Parts: Declaration Part & Executable Part
• Declaration Part
– Declares all the variables used in executable part
19
Basic Structure of C Program
• Executable Part
– At least one executable part.
– Appear between the opening and closing braces.
– The closing brace is the logical end of the
program.
– All statements ends with a semicolon.
• Sub - Program Section
– The sub program contains all the user defined
functions that are called in the main function.
20
Basic Structure of C Program
• The execution of C Programming language
involves a number of tasks/phases.
• To successfully develop an
application/program we need to have a pre-
processor, a compiler, a assembler and a
linker.
• C is a compiled programming language that
means, the code need to convert the source
files (human readable text files) into object
files (which can be understood by the machine:
microcontroller, computer/laptop).
21
How C Programming Language works?
22
C Compilation Process
Pre-processor
Compiler
Assembler
Linker
Components
of a
Compiler
.c File
Source
Code
Assembly Code
Object Code
Libraries
Executable File
23
Preprocessor
/*demo*/
#include<stdio.h>
void main()
{
printf(“Hello”);
}
code of stdio.h
void main()
{
printf(“Hello”);
}
Pre-processor
Pre-processor remove comments and include header
files in source code, replace the macro name with code
24
Compiler
code of stdio.h
void main()
{
printf(“Hello”);
}
push ebp
mov ebp, esp
and esp,-16
sub esp, 16
…
call printf
leave
ret
Compiler
Compiler generates assembly code
25
Compiler
push ebp
mov ebp, esp
and esp,-16
sub esp, 16
…
call printf
leave
ret
00010001111001011
01101101101011011
11000001010101001
11010101010001111
00011111
Assembler
Assembler converts the symbolic machine code in to
object code
26
Compiler
00010001111
00101101101
10110101101
11100000101
0101001
0001000111
1001011011
0110110101
1011110000
0101010100
1
Linker
00010001111
00101101101
10110101101
11100000101
0101001
Libraries
/*Hello.c*/
#include<stdio.h>
#include<conio.h>
main()
{
clrscr();
printf(“Hello ECE”);
return 0;
}
27
Simple C Program
Hello ECE
• While solving a problem using a computer
program, all the data we want to work should
be stored in computer’s memory and if some
operation is performed, the date need to be
updated in memory.
• In order to store the data in memory, there are
certain ways to store, access and modify data
in computer’s memory.
28
CONSTANTS AND VARIABLES
• interest =
𝑝∗𝑛∗𝑟
100
– Here p, n and r  Variable  Values can Change
– 100  Constant  Values will not change
– Interest  Variable Name
• Constants are the values of different types that
can write directly in a program.
• Ex: An integer, real number or a sequence of
charactes
• 1000, 3.14, ‘a’, “Hello”
29
CONSTANTS AND VARIABLES
• Variables are unique name or identifier for a
section of computer’s memory where we can
fill the data.
• Ex: P,Q
30
CONSTANTS AND VARIABLES
P
Q
Constants and variables
means to store and represent
data.
Data can be of various types.
• Data type defines a set of values that a
variable can store along with a set of
operations that can be performed on it.
31
DATA TYPES
Data Types
Derived
Basic Enumeration Void
• Data type defines a set of values that a
variable can store along with a set of
operations that can be performed on it.
32
DATA TYPES
Data Types
Derived
Basic Enumeration Void
33
DATA TYPES
Types Data Types
Basic Data Type int, char, float, double
Derived Data Type array, pointer, structure, union
Enumeration Data Type enum
Void Data Type void
• To use variables along with data type, a
variable need to be declared first.
• Syntax  datatype variable_name;
• Example:
#include<stdio.h>
int main()
{
int a; //Declaration
a=10; //Initialization
printf(“a=%d”,a);
} 34
DATA TYPES
Type Size (Bytes) Format Specifier Range
int 2 %d -32768 to 32767
char 1 %c -128 to 127
float 4 %f 3.4E-38 to 3.4E+38
double 8 %lf 1.7E-308 to 1.7E+308
short int 2 %hd -128 to 127
unsigned int 2 %u 0 to 65535
long int 4 %ld
-2147483648 to
2147483647
signed char 1 %c -128 to 127
unsigned char 1 %c 0 to 255
long double 10 %LF
3.4E-4932 to
35
DATA TYPES
36
OPERATORS IN C
• An operator is a symbol that operates on a value or a
variable.
• These values are known as operands.
• For example: + is an operator to perform addition.
• C has a wide range of operators to perform various
operations.
• Arithmetic Operators
• Relational Operators
• Logical Operators
• Assignment Operators
• Bitwise Operators
• Misc Operators
37
OPERATORS
• Arithmetic Operators:
• An arithmetic operator performs mathematical
operations such as addition, subtraction, multiplication,
division etc on numerical values.
–+, -, *, /, %, ++, --
• Assignment Operators:
• An assignment operator is used for assigning a
value to a variable.
– =, +=, -=, *=, /=, %=
38
OPERATORS
• Relational Operators:
• A relational operator checks the relationship between
two operands. If the relation is true, it returns 1; if the
relation is false, it returns value 0.
==, >, <, !=, >=, <=
Relational operators are used in decision making and
loops.
• Assignment Operators:
• An assignment operator is used for assigning a
value to a variable.
– =, +=, -=, *=, /=, %=
39
DECISION MAKING AND BRANCHING
40
DECISION MAKING AND BRANCHING
• Instructions of a programs are executed either
– Sequential Manner
– Branching
• “Decision making and branching” is one of the most
important concepts of computer programming.
• Programs should be able to make logical (true/false)
decisions based on the condition provided.
• Controlling the execution of statements based on certain
condition or decision is called decision making and
branching.
41
Condition Satisfied {True}
Condition not Satisfied {False}
Branching
Branch 1
Branch 2
START
Read User Input
Condition ?
Perform Some Tasks
Perform Some Other
Tasks
Show Result
END
42
HOLIDAY TRIP PROBLEM
• Consider the fact that you and some of your friends have
planed to go out for a holiday trip after the Spring
Semester, 2014.
• You have also decided that if you have got received
money 10000 dollars or more from your parent then
your will go out for a foreign trip. Otherwise, if the
allotted money is less than 10000 then you will go out
for a country side trip.
• Now you are supposed to design a program to solve this
problem.
43
START
Money
Received 15000
Money
Received >=
10000?
Condition Not Satisfied {False}
Condition Satisfied {True}
Holiday Enjoyed
END
44
DECISION MAKING AND BRANCHING IN C
• C language supports the following decision making
statements.
– if statement
– switch statement
– conditional operator
– goto statement
• These statements are knows as decision making
statements.
• They are also called control statements as the control
the flow of execution.
45
IF STATEMENT
• The if statement is a powerful statement for decision
making and is used to control the flow of execution of
statements.
• It takes the following structure:
– if (test-condition)
• It allows the computer to evaluate the expression first
and then depending on whether the value of the
expression or condition is true or false, it transfer the
control to a particular statement.
46
IF STATEMENT
Entry
False
True
• Example
if(pocket balance is zero)
Borrow Money;
Test Condition
47
IF STATEMENT
• The if statement can be implemented if four different
forms depending on the complexity of the conditions to
be tested.
• The four forms are:
– Simple if statement
– If else statement
– Nested if else statement
– Else if ladder
48
SIMPLE IF STATEMENT- STRUCTURE
• The general form of a simple if statement is:
if (test_condition)
{
statement-block;
}
statement x;
• When the condition is true then both the statement block
and the statement-x are executed but in sequence.
49
SIMPLE IF STATEMENT- FLOWCHART
Entry
Test Condition?
Statement
Block;
Statement x;
Next Statement;
True
False
▪ Important things to notice that if you want to control a
single statement using the if condition then no need to
create a block using the curly bracy.
▪ The curly bracy is used to create statement block when it is
necessary to include multiple statements under the same if
condition.
SIMPLE IF STATEMENT
Simple if Statement-Example
▪ Example with block of statement:
if (marks>=90)
{
marks=marks+ bonus_marks;
grade=“A+”;
}
printf(“The mark achieved:marks” , %d);
Condition controlled
Statement
Simple if Statement
▪Example of single statement:
if (marks>=90)
marks=marks+ bonus_marks;
printf(“The mark achieved:marks” , %d);
Condition controlled
statement
Simple if Statement
▪ What happens if multiple statements follows
after the if condition without using the curly
brace?
▪ Answer: Then the statement immediately following the if
condition is considered as the controlling statement of the
if condition. if the condition is true the controlled
statement is executed otherwise not. Rest of the
statements are executed sequentially.
if else Statement
▪ If the test condition is true then the true block statements,
immediately following the if statements are executed;
▪ Otherwise the false block statements are executed.
▪ In short either true-block or false-block of statements will be
executed, not both.
▪ But in both cases the control is transferred subsequently to the
statement-x as it is an independent (not controlled by the if
else statement) statement.
▪ It is also called two way conditional branching
if else Statement- Structure
▪ The if else statement is an extension of the simple if
statement. The general form is :
if (test_condition)
{
True block statements;
}
else
{
False block statements;
}
statement-x;
if else Statement- Flowchart
Entry
Test_Condition
?
Statement-X;
True Statement-block;
Next Statement;
[ True ]
[ False ]
False Statement-block;
if else Statement- Example
▪Example with block of statement:
if (marks>=40)
{
marks=marks+ bonus_marks;
grade=“passed”;
}
else
{
marks=marks;
grade=“failed”;
}
printf(“The mark achieved:marks” , %d);
True block statement
False block statement
Nested if else Statement
▪ Using “if…else statement” within another “if…else
statement” is called ‘nested if statement’.
▪ “Nested if statements” is mainly used to test multiple
conditions.
▪ It is called nested conditional branching.
59
NESTED IF ELSE STATEMENT- STRUCTURE
• The general form of a nested if
else statement is:
if (test_condition)
{
if(test_condition)
{
statement-
block;
}
else
{
statement block;
}
}
else
{
statement
block;
}
Nested if else -Example
if (gender==female)
{
if (age<10)
{
provide free entry;
provide free food;
}
else
{
provide only free entry;
}
}
else
{
statement-block;
}
Nested if else
Else if ladder Statement
▪ The word ladder means the staircase. As the name implies
this statement is used to choose right way/paths among
multiple paths.
▪ There is another way of putting if conditions together when
multiway decisions are involved.
▪ A multiway decision is a chain of if conditions in which the
statement associated with an else condition behaves like
another if condition.
▪ Else if ladder is also called 3 way or multiway decision
making statement.
Else if ladder- Structure
if (test_condition 1)
statement-1;
else if (test_condition 2)
statement-2;
else if (test_condition 3)
statement-3;
else if (test_condition 4)
statement-4;
…………………………
……….. else if
(test_condition n)
statement-n;
statement-x;
Else if ladder- Example
if(Mark>=50 && Mark<60)
{ printf("Your grade is D");
}
else if(Mark>=60 && Mark<70)
{ printf("Your grade is C n");
}
else if(Mark>=70 && Mark<80)
{ printf("Your grade is B n");
}
else if(Mark>=80 && Mark<90)
{ printf("Your grade is A n");
}
else
printf("you have failed");
Switch Statement
▪ When one of the many statements is to be selected, then if
conditional statement can be used to control the selection.
▪ However the complexity of such a program increases
dramatically when the number of statements increases.
▪ Fortunately, C has a built in multiway decision making
statement known as switch.
▪ The switch statement tests the value of a given variable or
expression against a list of case values and when a match is
found only then a block of statements associated with that case
is executed.
▪ The general form is given below:
Switch Statement-Structure
switch(expression/ value)
{
case value-1:
statement-block-1;
break;
case value-2:
statement-block-2;
break;
…………………
……. case
value-n:
statement-block-n;
break;
default:
default-statement-block;
break;
}
statement-x;
Rules for Switch Statement
▪ The switch statement must be an integral type.
▪ Case labels must be constant or constant expression.
▪ Case labels must be unique. No two labels can have the same value.
▪ Case labels must end with colon.
▪ The break statement transfer the control out of the switch
statement.
▪ The break statement is optional. So two or more case labels may
belong to the same statements.
▪ The default label is optional. If present, it will be executed when
the expression does not find a matching case label.
▪ There can be at most one default label.
▪ The default may be placed any where but usually placed at the
end.
▪ It is permitted to nest switch statements.
Conditional Operator
▪ The C language has an unusual operator which is useful for
making two way decisions.
▪ This operator is a combination of ? and :
▪ It takes three operands. This operator is popularly known as
the conditional operator.
▪ The conditional operator can be used as the replacement of if
else conditional statement for two way decision making.
Conditional Operator
▪ The general structure of conditional operator:
Conditional expression? true-statement 1: false-statement;
▪ The condition is evaluated first. If the result is true then the
statement 1 is executed and its value is returned.
▪ Otherwise statement 2 is executed and its value is
returned.
▪ Example:
flag = (x<0) ? 0 :1;
Conditional Operator
flag = (x<0) ? 0 :1;
It is equivalent to:
if(x<0)
flag=0;
else
flag=1;
70
GOTO STATEMENTS
• The goto statement allows us to transfer control of the
program to the specified label.
• Syntax of goto Statement:
goto label;
... .. ... ... .. ...
label:
statement;
71
LOOPING STATEMENTS
In a program, want to print HAI more than Once!!!!!
HAI
HAI
HAI
HAI
HAI
HAI
HAI
HAI
HAI
HAI
Printf(“HAI”);
Printf(“HAI”);
Printf(“HAI”);
Printf(“HAI”);
Printf(“HAI”);
Printf(“HAI”);
Printf(“HAI”);
Printf(“HAI”);
Printf(“HAI”);
Printf(“HAI”);
No good
programmer
does this!!!!
72
LOOPS
• Do not need to write the code for 10 times.
• A loop is a piece of code which allows one to execute a
statement or block of statements repeatedly.
• A loop can either be a pre-test loop or be a post-test
loop.
– Pre Test Loop: Entry Controlled Loop
– Post Test Loop: Exit Controlled Loop
Entry Controlled Loop Exit Controlled Loop
Checks the condition first and
then runs the loop body
Executes loop body first and
then checks for a condition
73
LOOPING STATEMENTS
while Loop
- Entry Control
do while loop
- Exit Control
for loop
- Entry Control
74
WHILE LOOP
• In while loop it checks the condition first, if condition is
true then control goes inside the loop body other wise
goes outside the body.
• Syntax:
while (condition)
{
loop body;
increment or decrement;
}
Start
Condition
Loop Body
Loop Update
Process Results
Stop
If condition is
false
If condition is true
75
WHILE STATEMENTS
• Example
int a=1;
while (a<4)
{
printf(“Hai”);
a++;
}
True
True
2 Hai
3
4
1
a
Hai
Hai
Output
Prints Hai
Increment by 1
True
Prints Hai
Increment by 1
True
Prints Hai
Increment by 1
False
Loop Exists
76
ARRAYS
• An Array is a collection of similar data type value in a
single variable.
• It is a derived data type in C, which is constructed from
fundamental data type of C language.
0 1 2 3 4 5 6 7 8 9
Length of Array 10
First Index Element
(at 5th Index)
Indexes
77
FEATURES OF AN ARRAY
• Arrays have 0 (Zero) as the first index, not 1 (One). In
this example, marks[0] is the first element.
• If the size of an array is N, to access the last element,
the N-1 index is used. In this example, mark[4].
• Suppose the starting address of mark[0] is 2120d. Then,
the address of the mark[1] will be 2124d. Similarly, the
address of marks[2] will be 2128d and so on.
marks[0] marks[1] marks[2] marks[3] marks[4]
78
ARRAY - DECLARATION
• To declare an array in C, need to declare data type and
size of an Array or by initializing it or by both.
Declaration of an Array in C
123 765 1621
1 1 1
1 2 3
1 0 0
0 0 0
0 0 0
3 3
3 3 0
int *a;
int *a;
int *a;
int *a;
int a[3]; int a[3] = {1,2,3} int a[3] = {} int a[3] = {0…1} = 3;
int a[3] = {[0…1]=3}
int a[3] = {0}
int a[3] = {1,1,1}
int a[3] = {1}
79
ARRAY DECLARATION
• Array declaration by specifying the array size:
datatype arrayName[SIZE];
• Examples:
// Array declaration by specifying size
int arr1[10];
// Declare an array of user specified size
int n = 10;
int arr2[n];
• Array declaration by initializing elements:
// Array declaration by initializing elements
int arr[] = { 10, 20, 30, 40 }
// Here Compiler creates an array of size 4.
80
ARRAY DECLARATION
• Array declaration by specifying size and initializing
elements:
• Examples:
// Array declaration by specifying size and initializing
int arr[6] = { 10, 20, 30, 40 }
• In above syntax Compiler creates an array of size 6,
initializes first 4 elements as specified by user and rest
two elements as 0. above is same as "int arr[] = {10, 20,
30, 40, 0, 0}"
81
ARRAY INITIALIZATION
• Initializing is a process to initialize the value in array
variable.
• Initialization of array one by one:
int arr[5];
arr[0]=10;
arr[1]=20;
arr[2]=30;
arr[3]=40;
arr[4]=50;
• Initialization of array at once:
int arr[]={10,20,30,40,50};
82
ACCESSING ARRAY ELEMENTS IN C
• Array elements can be accessed with the help of index
value of an element.
• Array index starts with 0 and goes till size of array -1.
• int arr[]={10,20,30,40,50};
arr[3] // here 3 is index value and it return 40
0 1 3 4 5 6
arr
arr[0];
Array Variable
Index of elements
to be accessed
83
ACCESSING ARRAY ELEMENTS
Example:
#include<stdio.h>
#include<conio.h>
int main()
{
int i, marks[]={80, 62, 70, 90, 98}; //declaration and initialization of array
clrscr();
//traversal of array
for(i=0;i<5;i++)
{
printf("n%d",marks[i]);
}
getch();
return 0;
}
80
62
70
90
98
84
2 DIMENSIONAL ARRAY
• An array of arrays is known as 2D array.
• In 2-dimentional elements are arranged in row and
column format.
• When we are working with 2-dimentional array we
require to refer 2-subscript operator which indicates row
and column sizes.
data-type arrayName [SIZE] [SIZE];
85
2 DIMENSIONAL ARRAY - INITIALIZATION
• There are two ways to initialize a two Dimensional
arrays during declaration.
• int a[2][4] = { {10, 11, 12, 13}, {14, 15, 16, 17} };
or
• int a[2][4] = { 10, 11, 12, 13, 14, 15, 16, 17};
int abc[2][2] = {1, 2, 3 ,4 }
/* Valid declaration*/
int abc[][2] = {1, 2, 3 ,4 }
/* Valid declaration*/
int abc[][] = {1, 2, 3 ,4 }
/* Invalid declaration – you must specify second dimension*/
int abc[2][] = {1, 2, 3 ,4 }
/* Invalid declaration – you must specify second dimension*/
86
2 DIMENSIONAL ARRAY
• int a[2][4];
2 Dimensional Array Conceptual Memory Representation
• Here the array is a[2][4], which can be conceptually viewed as a matrix of 2 rows and 4
columns.
• Actual representation in memory as follows:
• Array is on Integer type, so each element would use 4 bytes.
a[0][0] a[0][1] a[0][2] a[0][3]
a[1][0] a[1][1] a[1][2] a[1][3]
a[0][0] a[0][1] a[0][2] a[0][3] a[1][0] a[1][1] a[1][2] a[1][3]
82206 82210 82214 82218 82222 82226 82230 82234
87
2 DIMENSIONAL ARRAY - INITIALIZATION
#include<stdio.h>
int main(){
int disp[2][3];
int i, j;
for(i=0; i<2; i++) {
for(j=0;j<3;j++) {
printf("Enter value for disp[%d][%d]:", i, j);
scanf("%d", &disp[i][j]);
} }
printf("Two Dimensional array elements:n");
for(i=0; i<2; i++) {
for(j=0;j<3;j++) {
printf("%d ", disp[i][j]);
if(j==2){
printf("n");
} } }
return 0;
}
Enter value for disp[0][0]:1
Enter value for disp[0][1]:2
Enter value for disp[0][2]:3
Enter value for disp[1][0]:4
Enter value for disp[1][1]:5
Enter value for disp[1][2]:6
Two Dimensional array elements:
1 2 3
4 5 6
88
STRINGS
• String is a collection of character or group of
character, in a linear sequence which are represented
using double quotes.
• The string in C language is one-dimensional array of
character which is terminated by a null character '0'.
• Examples:
– “Welcome to the world of programming in C”
– “ Hello ECE”
• ‘C’ provides standard library <string.h> that contains
many functions which can be used to perform
complicated operations easily on Strings in C.
89
DECLARATION
• Strings are declared in C in similar manner as arrays.
• Syntax:
– datatype stringname[SIZE];
• Example:
– char s[5];
90
INITIALIZATION
• Strings can be initialized in different ways as follows:
char str[]="abcd"; ///* string size = ‘a'+‘b'+‘c'+‘d'+"NULL" = 5
*/
or
char str[5]="abcd";
or
char str[5]={'a','b','c','d','0'};
or
char str[]={'a','b','c','d','0'};
or
char str[5]={'a','b','c','d','0'};
or
char *c="abcd";
91
STRINGS - EXAMPLE
#include<stdio.h>
#include<conio.h>
int main()
{
char str[10];
printf("Enter name: ");
scanf("%s",name);
printf("Your name is: %s.",name);
getch();
return 0;
}
92
STRINGS -gets() & puts()
#include<stdio.h>
#include<conio.h>
int main()
{
char str[10];
printf("Enter any string: ");
gets(str);
printf("String are: ");
puts(str);
getch();
return 0;
93
IMPORTANT POINTS TO NOTE
• In declaration of string size must be required to mention
otherwise it gives an error.
char str[]; // Invalid
char str[10]; // Valid
• In declaration of the string size must be unsigned integer
value (not -ve or zero value) which is greater than zero
only.
char str[]; // Invalid
char str[0]; // Invalid
char str[-1]; // Invalid
char str[10]; // Valid
94
IMPORTANT POINTS TO NOTE
• In Initialization of the string if the specific number of
character are not initialized it then rest of all character
will be initialized with NULL.
char str[5]={'5','+','A'};
str[0]; ---> 5
str[1]; ---> +
str[2]; ---> A
str[3]; ---> NULL
str[4]; ---> NULL
• In initialization of the string we can not initialized more
than size of string elements.
char str[2]={'5','+','A','B'}; // Invalid
95
IMPORTANT POINTS TO NOTE
• In initialization of the string the size is optional in this
case how many variable elements are initialized it, that
array element will created.
char str[]={'5','+','A','B'}; // Valid
sizeof(str) --> 4byte
• When we are working with character array explicitly
NULL character does not occupies any physical memory
at the end of the character array.
char str[]={'h','e','l','l','o'}; //sizeof(str) --> 5byte
• String data at the end of the string NULL character
occupies physical memory.
char str[]="hello"; //sizeof(str) --> 6 byte
96
STRING FUNCTIONS
• strlen:
– finds the length of a string
– strlen(string);
• strcpy:
– copies one string to another
– strcpy(destination,source)
• strcat:
– concatenates one string at the end of another
– strcat(string_one,string_two);
• strcmp:
– compares two strings lexicographically
– strcmp(string_one,string_two);
97
STRING LENGTH(WITHOUT USING FUNCTION)
#include <stdio.h>
#include <conio.h>
void main()
{
char input_string[50];
int i=0, length=0;
clrscr();
printf("nEnter your text:t");
gets(input_string);
while(input_string[i]!='0')
{
length++;
i++;
}
printf("nThe length of your text is: %d character(s)", length);
getch();
}
Enter your text:
Enter your text: ECE
The length of your text is: 3
character(s)
98
STRING LENGTH (USING STRLEN FUNCTION)
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
char input_string[50];
int length;
clrscr();
printf("nEnter your text:t");
gets(input_string);
length=strlen(input_string);
printf("nThe length of your text is: %d character(s)", length);
getch();
}
Enter your text: ECE
The length of your text is: 3
character(s)
99
STRING COPY (WITHOUT USING FUNCTIONS)
#include <stdio.h>
#include <conio.h>
void main()
{
char copy[50], paste[50];
int i;
clrscr();
printf("nEnter your name (to copy):t");
gets(copy);
for(i=0;copy[i]!='0';i++)
{
paste[i]=copy[i];
}
paste[i]='0';
printf("nThe name is (pasted as):t");
puts(paste);
getch();
}
Enter your name: DEV
The name is (pasted as): DEV
100
STRING COPY (USING STRCPY FUNCTION)
#include<stdio.h>
#include<conio.h>
void main()
{
char copy[50], paste[50];
int i;
clrscr();
printf("nEnter your name (to copy):t");
gets(copy);
strcpy(paste, copy);
printf("nThe name is (pasted as):t");
puts(paste);
getch();
Enter your name: DEV
The name is (pasted as): DEV
101
STRING CONCATENATION (STRCAT)
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
char s1[30]="Hai";
char s2[30]="ECE";
char s3[30]="Department";
clrscr();
strcat(s1,s2);
puts(s1);
strcat(s1,s3);
puts(s1);
getch();
}
HaiECE
HaiECEDepartment
102
STRING CONCATENATION (STRCAT)
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
char s1[30]="Hai";
char s2[30]="ECE";
char s3[30]="Department";
clrscr();
strcat(s1,s2);
puts(s1);
strcat(s1,s3);
puts(s1);
getch();
}
HaiECE
HaiECEDepartment
103
STRING COMPARISION (STRCMP)
#include <string.h>
int main(){
char str1[20],str2[20];
printf("Enter 1st string: ");
gets(str1);//reads string from console
printf("Enter 2nd string: ");
gets(str2);
if(strcmp(str1,str2)==0)
printf("Strings are equal");
else
printf("Strings are not equal");
return 0;
}
Enter 1st string:
Enter 1st string: Hai
Enter 2nd string:
Enter 2nd string: Hai
Strings are Equal

Contenu connexe

Similaire à Fundamentals of Data Structures Unit 1.pptx

Chapter-2 edited on Programming in Can refer this ppt
Chapter-2 edited on Programming in Can refer this pptChapter-2 edited on Programming in Can refer this ppt
Chapter-2 edited on Programming in Can refer this pptANISHYAPIT
 
c-introduction.pptx
c-introduction.pptxc-introduction.pptx
c-introduction.pptxMangala R
 
INTRODUCCIÓN A LA PROGRAMACIÓN
INTRODUCCIÓN A LA PROGRAMACIÓNINTRODUCCIÓN A LA PROGRAMACIÓN
INTRODUCCIÓN A LA PROGRAMACIÓNBenjaminAnilema
 
Basic Information About C language PDF
Basic Information About C language PDFBasic Information About C language PDF
Basic Information About C language PDFSuraj Das
 
U19CS101 - PPS Unit 4 PPT (1).ppt
U19CS101 - PPS Unit 4 PPT (1).pptU19CS101 - PPS Unit 4 PPT (1).ppt
U19CS101 - PPS Unit 4 PPT (1).pptManivannan837728
 
424769021-1-First-C-Program-1-ppt (1).ppt
424769021-1-First-C-Program-1-ppt (1).ppt424769021-1-First-C-Program-1-ppt (1).ppt
424769021-1-First-C-Program-1-ppt (1).pptadvRajatSharma
 
PCCF UNIT 1.pptx
PCCF UNIT 1.pptxPCCF UNIT 1.pptx
PCCF UNIT 1.pptxDivyaKS12
 
Introduction to the c programming language (amazing and easy book for beginners)
Introduction to the c programming language (amazing and easy book for beginners)Introduction to the c programming language (amazing and easy book for beginners)
Introduction to the c programming language (amazing and easy book for beginners)mujeeb memon
 

Similaire à Fundamentals of Data Structures Unit 1.pptx (20)

C LANGUAGE UNIT-1 PREPARED BY M V BRAHMANANDA REDDY
C LANGUAGE UNIT-1 PREPARED BY M V BRAHMANANDA REDDYC LANGUAGE UNIT-1 PREPARED BY M V BRAHMANANDA REDDY
C LANGUAGE UNIT-1 PREPARED BY M V BRAHMANANDA REDDY
 
C languaGE UNIT-1
C languaGE UNIT-1C languaGE UNIT-1
C languaGE UNIT-1
 
Learning the C Language
Learning the C LanguageLearning the C Language
Learning the C Language
 
Lecture 2
Lecture 2Lecture 2
Lecture 2
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 
Chapter-2 edited on Programming in Can refer this ppt
Chapter-2 edited on Programming in Can refer this pptChapter-2 edited on Programming in Can refer this ppt
Chapter-2 edited on Programming in Can refer this ppt
 
c-introduction.pptx
c-introduction.pptxc-introduction.pptx
c-introduction.pptx
 
C Programming Unit-1
C Programming Unit-1C Programming Unit-1
C Programming Unit-1
 
c#.pptx
c#.pptxc#.pptx
c#.pptx
 
INTRODUCCIÓN A LA PROGRAMACIÓN
INTRODUCCIÓN A LA PROGRAMACIÓNINTRODUCCIÓN A LA PROGRAMACIÓN
INTRODUCCIÓN A LA PROGRAMACIÓN
 
C programming
C programmingC programming
C programming
 
Basic Information About C language PDF
Basic Information About C language PDFBasic Information About C language PDF
Basic Information About C language PDF
 
U19CS101 - PPS Unit 4 PPT (1).ppt
U19CS101 - PPS Unit 4 PPT (1).pptU19CS101 - PPS Unit 4 PPT (1).ppt
U19CS101 - PPS Unit 4 PPT (1).ppt
 
Presentation 2.ppt
Presentation 2.pptPresentation 2.ppt
Presentation 2.ppt
 
424769021-1-First-C-Program-1-ppt (1).ppt
424769021-1-First-C-Program-1-ppt (1).ppt424769021-1-First-C-Program-1-ppt (1).ppt
424769021-1-First-C-Program-1-ppt (1).ppt
 
c programming session 1.pptx
c programming session 1.pptxc programming session 1.pptx
c programming session 1.pptx
 
PCCF UNIT 1.pptx
PCCF UNIT 1.pptxPCCF UNIT 1.pptx
PCCF UNIT 1.pptx
 
Rr
RrRr
Rr
 
Introduction to the c programming language (amazing and easy book for beginners)
Introduction to the c programming language (amazing and easy book for beginners)Introduction to the c programming language (amazing and easy book for beginners)
Introduction to the c programming language (amazing and easy book for beginners)
 
C pdf
C pdfC pdf
C pdf
 

Dernier

ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfVanessa Camilleri
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)cama23
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptxmary850239
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 

Dernier (20)

ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdf
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 

Fundamentals of Data Structures Unit 1.pptx

  • 1. EC8393 - Fundamentals of Data Structures in C
  • 2. • To learn the features of C • To learn the linear and non-linear data structures • To explore the applications of linear and non-linear data structures • To learn to represent data using graph data structure • To learn the basic sorting and searching algorithms 2 Course Objective
  • 3. Upon completion of the course, students will be able to • Implement linear and non-linear data structure operations using C • Suggest appropriate linear / non-linear data structure for any given data set. • Apply hashing concepts for a given problem • Modify or suggest new data structure for an application • Appropriately choose the sorting algorithm for an application 3 Course Outcome
  • 4. Pradip Dey and Manas Ghosh, ―Programming in C, Second Edition, Oxford University Press, 2011. 4 Text Book
  • 5. Ellis Horowitz, Sartaj Sahni, Susan Anderson-Freed, - Fundamentals of Data Structures in C, Second Edition, University Press, 2008. 5 Text Book
  • 6. 1. Mark Allen Weiss, ―Data Structures and Algorithm Analysis in C, Second Edition, Pearson Education, 1996. 2. Alfred V. Aho, John E. Hopcroft and Jeffrey D. Ullman, ―Data Structures and Algorithms, Pearson Education, 1983. Reference Books
  • 7. 3. Robert Kruse, C.L.Tondo, Bruce Leung, Shashi Mogalla , ― Data Structures and Program Design in C, Second Edition, Pearson Education, 2007. 4. Jean-Paul Tremblay and Paul G. Sorenson, ―An Introduction to Data Structures with Applications, Second Edition, Tata McGraw-Hill, 1991. Reference Books
  • 8. Course Assessment S. No Name of the Assessment Nos. Max. Marks Weightage % 1 CIA I 1 100 20 Marks Note: (Sum of CIA I + CIA II + CIA III) The total 300 Marks will be converted into 20 Marks 2 CIA II 1 100 3 CIA III 1 100 4 University Exam 1 100 This will be converted into 80 Marks Internal: 20 Marks Total: 100 Marks External: 80 Marks Note: You need to maintain minimum 80% attendance. If your attendance is less than 80% then you won't be allowed to write your final exams .
  • 9. Course Management Contact Mode Contact Details Faculty Mail vigneshkumar.cse@karpagamtech.ac.in Mobile / Whatsapp +91 - 9578469113
  • 10. UNIT - 1 C PROGRAMMING BASICS
  • 11. • What is a Program? – The collection of detailed expressions/instructions that supplied to a computer to perform a specific task is known as a program. – Example: Word Processors, Apps, Games, etc., • A computer program tells your computer how to do what you want. • C is a Programming language designed to create System Application to interact with the hardware. 11 WHAT IS C PROGRAM?
  • 12. • Objective of developing C Programming Language: – Developing an operating system used on multiple computers. • C is a lower level than most other languages – i.e. it creates code that’s a lot closer to what machines really understand. • Procedural and Structured programming Language 12 Why C?
  • 14. • Simple & Structured Programming Language – provides structured approach (to break the problem into parts), rich set of library functions, data types etc. • Portable – C programs can be executed on many machines with a little bit or no change. • Mid - Level Programming Language – C is also used to do low-level programming. It is used to develop system applications such as kernel, driver etc. It also supports the feature of high level language. 14 Features of C?
  • 15. • Rich Library – C provides a lot of inbuilt functions that make the development fast • Memory Management – It supports the feature of dynamic memory allocation. • Speed – The compilation and execution time of C language is fast. 15 Features of C?
  • 16. • Pointers – It allows to interact with the memory directly by using the pointers. • Recursion – Can call the function within the function. – It provides code reusability for every function. • Extensible – It can easily adopt new features. 16 Features of C?
  • 17. 17 Basic Structure of a C Program Documentation Section Link Section Definition Section Global Declaration Section Main Function Section Declaration Part Executable Part Sub- Program Section User Defined Function
  • 18. • Documentation Section – It is a comment block with information which helps in tracking and identifying the program. • Link Section – It provides instructions to the compiler to link functions from the system library such as #include directive. • Definition Section – It defines all symbolic constants such as using the #define directive. 18 Basic Structure of C Program
  • 19. • Global Declaration Section – There are some variables that can be used in more than one function. – Such variables are called Global Variables and are declared in the global declaration section. • Main Function Section – Every C Program must have one main function section. – Two Parts: Declaration Part & Executable Part • Declaration Part – Declares all the variables used in executable part 19 Basic Structure of C Program
  • 20. • Executable Part – At least one executable part. – Appear between the opening and closing braces. – The closing brace is the logical end of the program. – All statements ends with a semicolon. • Sub - Program Section – The sub program contains all the user defined functions that are called in the main function. 20 Basic Structure of C Program
  • 21. • The execution of C Programming language involves a number of tasks/phases. • To successfully develop an application/program we need to have a pre- processor, a compiler, a assembler and a linker. • C is a compiled programming language that means, the code need to convert the source files (human readable text files) into object files (which can be understood by the machine: microcontroller, computer/laptop). 21 How C Programming Language works?
  • 22. 22 C Compilation Process Pre-processor Compiler Assembler Linker Components of a Compiler .c File Source Code Assembly Code Object Code Libraries Executable File
  • 23. 23 Preprocessor /*demo*/ #include<stdio.h> void main() { printf(“Hello”); } code of stdio.h void main() { printf(“Hello”); } Pre-processor Pre-processor remove comments and include header files in source code, replace the macro name with code
  • 24. 24 Compiler code of stdio.h void main() { printf(“Hello”); } push ebp mov ebp, esp and esp,-16 sub esp, 16 … call printf leave ret Compiler Compiler generates assembly code
  • 25. 25 Compiler push ebp mov ebp, esp and esp,-16 sub esp, 16 … call printf leave ret 00010001111001011 01101101101011011 11000001010101001 11010101010001111 00011111 Assembler Assembler converts the symbolic machine code in to object code
  • 28. • While solving a problem using a computer program, all the data we want to work should be stored in computer’s memory and if some operation is performed, the date need to be updated in memory. • In order to store the data in memory, there are certain ways to store, access and modify data in computer’s memory. 28 CONSTANTS AND VARIABLES
  • 29. • interest = 𝑝∗𝑛∗𝑟 100 – Here p, n and r  Variable  Values can Change – 100  Constant  Values will not change – Interest  Variable Name • Constants are the values of different types that can write directly in a program. • Ex: An integer, real number or a sequence of charactes • 1000, 3.14, ‘a’, “Hello” 29 CONSTANTS AND VARIABLES
  • 30. • Variables are unique name or identifier for a section of computer’s memory where we can fill the data. • Ex: P,Q 30 CONSTANTS AND VARIABLES P Q Constants and variables means to store and represent data. Data can be of various types.
  • 31. • Data type defines a set of values that a variable can store along with a set of operations that can be performed on it. 31 DATA TYPES Data Types Derived Basic Enumeration Void
  • 32. • Data type defines a set of values that a variable can store along with a set of operations that can be performed on it. 32 DATA TYPES Data Types Derived Basic Enumeration Void
  • 33. 33 DATA TYPES Types Data Types Basic Data Type int, char, float, double Derived Data Type array, pointer, structure, union Enumeration Data Type enum Void Data Type void
  • 34. • To use variables along with data type, a variable need to be declared first. • Syntax  datatype variable_name; • Example: #include<stdio.h> int main() { int a; //Declaration a=10; //Initialization printf(“a=%d”,a); } 34 DATA TYPES
  • 35. Type Size (Bytes) Format Specifier Range int 2 %d -32768 to 32767 char 1 %c -128 to 127 float 4 %f 3.4E-38 to 3.4E+38 double 8 %lf 1.7E-308 to 1.7E+308 short int 2 %hd -128 to 127 unsigned int 2 %u 0 to 65535 long int 4 %ld -2147483648 to 2147483647 signed char 1 %c -128 to 127 unsigned char 1 %c 0 to 255 long double 10 %LF 3.4E-4932 to 35 DATA TYPES
  • 36. 36 OPERATORS IN C • An operator is a symbol that operates on a value or a variable. • These values are known as operands. • For example: + is an operator to perform addition. • C has a wide range of operators to perform various operations. • Arithmetic Operators • Relational Operators • Logical Operators • Assignment Operators • Bitwise Operators • Misc Operators
  • 37. 37 OPERATORS • Arithmetic Operators: • An arithmetic operator performs mathematical operations such as addition, subtraction, multiplication, division etc on numerical values. –+, -, *, /, %, ++, -- • Assignment Operators: • An assignment operator is used for assigning a value to a variable. – =, +=, -=, *=, /=, %=
  • 38. 38 OPERATORS • Relational Operators: • A relational operator checks the relationship between two operands. If the relation is true, it returns 1; if the relation is false, it returns value 0. ==, >, <, !=, >=, <= Relational operators are used in decision making and loops. • Assignment Operators: • An assignment operator is used for assigning a value to a variable. – =, +=, -=, *=, /=, %=
  • 40. 40 DECISION MAKING AND BRANCHING • Instructions of a programs are executed either – Sequential Manner – Branching • “Decision making and branching” is one of the most important concepts of computer programming. • Programs should be able to make logical (true/false) decisions based on the condition provided. • Controlling the execution of statements based on certain condition or decision is called decision making and branching.
  • 41. 41 Condition Satisfied {True} Condition not Satisfied {False} Branching Branch 1 Branch 2 START Read User Input Condition ? Perform Some Tasks Perform Some Other Tasks Show Result END
  • 42. 42 HOLIDAY TRIP PROBLEM • Consider the fact that you and some of your friends have planed to go out for a holiday trip after the Spring Semester, 2014. • You have also decided that if you have got received money 10000 dollars or more from your parent then your will go out for a foreign trip. Otherwise, if the allotted money is less than 10000 then you will go out for a country side trip. • Now you are supposed to design a program to solve this problem.
  • 43. 43 START Money Received 15000 Money Received >= 10000? Condition Not Satisfied {False} Condition Satisfied {True} Holiday Enjoyed END
  • 44. 44 DECISION MAKING AND BRANCHING IN C • C language supports the following decision making statements. – if statement – switch statement – conditional operator – goto statement • These statements are knows as decision making statements. • They are also called control statements as the control the flow of execution.
  • 45. 45 IF STATEMENT • The if statement is a powerful statement for decision making and is used to control the flow of execution of statements. • It takes the following structure: – if (test-condition) • It allows the computer to evaluate the expression first and then depending on whether the value of the expression or condition is true or false, it transfer the control to a particular statement.
  • 46. 46 IF STATEMENT Entry False True • Example if(pocket balance is zero) Borrow Money; Test Condition
  • 47. 47 IF STATEMENT • The if statement can be implemented if four different forms depending on the complexity of the conditions to be tested. • The four forms are: – Simple if statement – If else statement – Nested if else statement – Else if ladder
  • 48. 48 SIMPLE IF STATEMENT- STRUCTURE • The general form of a simple if statement is: if (test_condition) { statement-block; } statement x; • When the condition is true then both the statement block and the statement-x are executed but in sequence.
  • 49. 49 SIMPLE IF STATEMENT- FLOWCHART Entry Test Condition? Statement Block; Statement x; Next Statement; True False
  • 50. ▪ Important things to notice that if you want to control a single statement using the if condition then no need to create a block using the curly bracy. ▪ The curly bracy is used to create statement block when it is necessary to include multiple statements under the same if condition. SIMPLE IF STATEMENT
  • 51. Simple if Statement-Example ▪ Example with block of statement: if (marks>=90) { marks=marks+ bonus_marks; grade=“A+”; } printf(“The mark achieved:marks” , %d); Condition controlled Statement
  • 52. Simple if Statement ▪Example of single statement: if (marks>=90) marks=marks+ bonus_marks; printf(“The mark achieved:marks” , %d); Condition controlled statement
  • 53. Simple if Statement ▪ What happens if multiple statements follows after the if condition without using the curly brace? ▪ Answer: Then the statement immediately following the if condition is considered as the controlling statement of the if condition. if the condition is true the controlled statement is executed otherwise not. Rest of the statements are executed sequentially.
  • 54. if else Statement ▪ If the test condition is true then the true block statements, immediately following the if statements are executed; ▪ Otherwise the false block statements are executed. ▪ In short either true-block or false-block of statements will be executed, not both. ▪ But in both cases the control is transferred subsequently to the statement-x as it is an independent (not controlled by the if else statement) statement. ▪ It is also called two way conditional branching
  • 55. if else Statement- Structure ▪ The if else statement is an extension of the simple if statement. The general form is : if (test_condition) { True block statements; } else { False block statements; } statement-x;
  • 56. if else Statement- Flowchart Entry Test_Condition ? Statement-X; True Statement-block; Next Statement; [ True ] [ False ] False Statement-block;
  • 57. if else Statement- Example ▪Example with block of statement: if (marks>=40) { marks=marks+ bonus_marks; grade=“passed”; } else { marks=marks; grade=“failed”; } printf(“The mark achieved:marks” , %d); True block statement False block statement
  • 58. Nested if else Statement ▪ Using “if…else statement” within another “if…else statement” is called ‘nested if statement’. ▪ “Nested if statements” is mainly used to test multiple conditions. ▪ It is called nested conditional branching.
  • 59. 59 NESTED IF ELSE STATEMENT- STRUCTURE • The general form of a nested if else statement is: if (test_condition) { if(test_condition) { statement- block; } else { statement block; } } else { statement block; }
  • 60. Nested if else -Example if (gender==female) { if (age<10) { provide free entry; provide free food; } else { provide only free entry; } } else { statement-block; } Nested if else
  • 61. Else if ladder Statement ▪ The word ladder means the staircase. As the name implies this statement is used to choose right way/paths among multiple paths. ▪ There is another way of putting if conditions together when multiway decisions are involved. ▪ A multiway decision is a chain of if conditions in which the statement associated with an else condition behaves like another if condition. ▪ Else if ladder is also called 3 way or multiway decision making statement.
  • 62. Else if ladder- Structure if (test_condition 1) statement-1; else if (test_condition 2) statement-2; else if (test_condition 3) statement-3; else if (test_condition 4) statement-4; ………………………… ……….. else if (test_condition n) statement-n; statement-x;
  • 63. Else if ladder- Example if(Mark>=50 && Mark<60) { printf("Your grade is D"); } else if(Mark>=60 && Mark<70) { printf("Your grade is C n"); } else if(Mark>=70 && Mark<80) { printf("Your grade is B n"); } else if(Mark>=80 && Mark<90) { printf("Your grade is A n"); } else printf("you have failed");
  • 64. Switch Statement ▪ When one of the many statements is to be selected, then if conditional statement can be used to control the selection. ▪ However the complexity of such a program increases dramatically when the number of statements increases. ▪ Fortunately, C has a built in multiway decision making statement known as switch. ▪ The switch statement tests the value of a given variable or expression against a list of case values and when a match is found only then a block of statements associated with that case is executed. ▪ The general form is given below:
  • 65. Switch Statement-Structure switch(expression/ value) { case value-1: statement-block-1; break; case value-2: statement-block-2; break; ………………… ……. case value-n: statement-block-n; break; default: default-statement-block; break; } statement-x;
  • 66. Rules for Switch Statement ▪ The switch statement must be an integral type. ▪ Case labels must be constant or constant expression. ▪ Case labels must be unique. No two labels can have the same value. ▪ Case labels must end with colon. ▪ The break statement transfer the control out of the switch statement. ▪ The break statement is optional. So two or more case labels may belong to the same statements. ▪ The default label is optional. If present, it will be executed when the expression does not find a matching case label. ▪ There can be at most one default label. ▪ The default may be placed any where but usually placed at the end. ▪ It is permitted to nest switch statements.
  • 67. Conditional Operator ▪ The C language has an unusual operator which is useful for making two way decisions. ▪ This operator is a combination of ? and : ▪ It takes three operands. This operator is popularly known as the conditional operator. ▪ The conditional operator can be used as the replacement of if else conditional statement for two way decision making.
  • 68. Conditional Operator ▪ The general structure of conditional operator: Conditional expression? true-statement 1: false-statement; ▪ The condition is evaluated first. If the result is true then the statement 1 is executed and its value is returned. ▪ Otherwise statement 2 is executed and its value is returned. ▪ Example: flag = (x<0) ? 0 :1;
  • 69. Conditional Operator flag = (x<0) ? 0 :1; It is equivalent to: if(x<0) flag=0; else flag=1;
  • 70. 70 GOTO STATEMENTS • The goto statement allows us to transfer control of the program to the specified label. • Syntax of goto Statement: goto label; ... .. ... ... .. ... label: statement;
  • 71. 71 LOOPING STATEMENTS In a program, want to print HAI more than Once!!!!! HAI HAI HAI HAI HAI HAI HAI HAI HAI HAI Printf(“HAI”); Printf(“HAI”); Printf(“HAI”); Printf(“HAI”); Printf(“HAI”); Printf(“HAI”); Printf(“HAI”); Printf(“HAI”); Printf(“HAI”); Printf(“HAI”); No good programmer does this!!!!
  • 72. 72 LOOPS • Do not need to write the code for 10 times. • A loop is a piece of code which allows one to execute a statement or block of statements repeatedly. • A loop can either be a pre-test loop or be a post-test loop. – Pre Test Loop: Entry Controlled Loop – Post Test Loop: Exit Controlled Loop Entry Controlled Loop Exit Controlled Loop Checks the condition first and then runs the loop body Executes loop body first and then checks for a condition
  • 73. 73 LOOPING STATEMENTS while Loop - Entry Control do while loop - Exit Control for loop - Entry Control
  • 74. 74 WHILE LOOP • In while loop it checks the condition first, if condition is true then control goes inside the loop body other wise goes outside the body. • Syntax: while (condition) { loop body; increment or decrement; } Start Condition Loop Body Loop Update Process Results Stop If condition is false If condition is true
  • 75. 75 WHILE STATEMENTS • Example int a=1; while (a<4) { printf(“Hai”); a++; } True True 2 Hai 3 4 1 a Hai Hai Output Prints Hai Increment by 1 True Prints Hai Increment by 1 True Prints Hai Increment by 1 False Loop Exists
  • 76. 76 ARRAYS • An Array is a collection of similar data type value in a single variable. • It is a derived data type in C, which is constructed from fundamental data type of C language. 0 1 2 3 4 5 6 7 8 9 Length of Array 10 First Index Element (at 5th Index) Indexes
  • 77. 77 FEATURES OF AN ARRAY • Arrays have 0 (Zero) as the first index, not 1 (One). In this example, marks[0] is the first element. • If the size of an array is N, to access the last element, the N-1 index is used. In this example, mark[4]. • Suppose the starting address of mark[0] is 2120d. Then, the address of the mark[1] will be 2124d. Similarly, the address of marks[2] will be 2128d and so on. marks[0] marks[1] marks[2] marks[3] marks[4]
  • 78. 78 ARRAY - DECLARATION • To declare an array in C, need to declare data type and size of an Array or by initializing it or by both. Declaration of an Array in C 123 765 1621 1 1 1 1 2 3 1 0 0 0 0 0 0 0 0 3 3 3 3 0 int *a; int *a; int *a; int *a; int a[3]; int a[3] = {1,2,3} int a[3] = {} int a[3] = {0…1} = 3; int a[3] = {[0…1]=3} int a[3] = {0} int a[3] = {1,1,1} int a[3] = {1}
  • 79. 79 ARRAY DECLARATION • Array declaration by specifying the array size: datatype arrayName[SIZE]; • Examples: // Array declaration by specifying size int arr1[10]; // Declare an array of user specified size int n = 10; int arr2[n]; • Array declaration by initializing elements: // Array declaration by initializing elements int arr[] = { 10, 20, 30, 40 } // Here Compiler creates an array of size 4.
  • 80. 80 ARRAY DECLARATION • Array declaration by specifying size and initializing elements: • Examples: // Array declaration by specifying size and initializing int arr[6] = { 10, 20, 30, 40 } • In above syntax Compiler creates an array of size 6, initializes first 4 elements as specified by user and rest two elements as 0. above is same as "int arr[] = {10, 20, 30, 40, 0, 0}"
  • 81. 81 ARRAY INITIALIZATION • Initializing is a process to initialize the value in array variable. • Initialization of array one by one: int arr[5]; arr[0]=10; arr[1]=20; arr[2]=30; arr[3]=40; arr[4]=50; • Initialization of array at once: int arr[]={10,20,30,40,50};
  • 82. 82 ACCESSING ARRAY ELEMENTS IN C • Array elements can be accessed with the help of index value of an element. • Array index starts with 0 and goes till size of array -1. • int arr[]={10,20,30,40,50}; arr[3] // here 3 is index value and it return 40 0 1 3 4 5 6 arr arr[0]; Array Variable Index of elements to be accessed
  • 83. 83 ACCESSING ARRAY ELEMENTS Example: #include<stdio.h> #include<conio.h> int main() { int i, marks[]={80, 62, 70, 90, 98}; //declaration and initialization of array clrscr(); //traversal of array for(i=0;i<5;i++) { printf("n%d",marks[i]); } getch(); return 0; } 80 62 70 90 98
  • 84. 84 2 DIMENSIONAL ARRAY • An array of arrays is known as 2D array. • In 2-dimentional elements are arranged in row and column format. • When we are working with 2-dimentional array we require to refer 2-subscript operator which indicates row and column sizes. data-type arrayName [SIZE] [SIZE];
  • 85. 85 2 DIMENSIONAL ARRAY - INITIALIZATION • There are two ways to initialize a two Dimensional arrays during declaration. • int a[2][4] = { {10, 11, 12, 13}, {14, 15, 16, 17} }; or • int a[2][4] = { 10, 11, 12, 13, 14, 15, 16, 17}; int abc[2][2] = {1, 2, 3 ,4 } /* Valid declaration*/ int abc[][2] = {1, 2, 3 ,4 } /* Valid declaration*/ int abc[][] = {1, 2, 3 ,4 } /* Invalid declaration – you must specify second dimension*/ int abc[2][] = {1, 2, 3 ,4 } /* Invalid declaration – you must specify second dimension*/
  • 86. 86 2 DIMENSIONAL ARRAY • int a[2][4]; 2 Dimensional Array Conceptual Memory Representation • Here the array is a[2][4], which can be conceptually viewed as a matrix of 2 rows and 4 columns. • Actual representation in memory as follows: • Array is on Integer type, so each element would use 4 bytes. a[0][0] a[0][1] a[0][2] a[0][3] a[1][0] a[1][1] a[1][2] a[1][3] a[0][0] a[0][1] a[0][2] a[0][3] a[1][0] a[1][1] a[1][2] a[1][3] 82206 82210 82214 82218 82222 82226 82230 82234
  • 87. 87 2 DIMENSIONAL ARRAY - INITIALIZATION #include<stdio.h> int main(){ int disp[2][3]; int i, j; for(i=0; i<2; i++) { for(j=0;j<3;j++) { printf("Enter value for disp[%d][%d]:", i, j); scanf("%d", &disp[i][j]); } } printf("Two Dimensional array elements:n"); for(i=0; i<2; i++) { for(j=0;j<3;j++) { printf("%d ", disp[i][j]); if(j==2){ printf("n"); } } } return 0; } Enter value for disp[0][0]:1 Enter value for disp[0][1]:2 Enter value for disp[0][2]:3 Enter value for disp[1][0]:4 Enter value for disp[1][1]:5 Enter value for disp[1][2]:6 Two Dimensional array elements: 1 2 3 4 5 6
  • 88. 88 STRINGS • String is a collection of character or group of character, in a linear sequence which are represented using double quotes. • The string in C language is one-dimensional array of character which is terminated by a null character '0'. • Examples: – “Welcome to the world of programming in C” – “ Hello ECE” • ‘C’ provides standard library <string.h> that contains many functions which can be used to perform complicated operations easily on Strings in C.
  • 89. 89 DECLARATION • Strings are declared in C in similar manner as arrays. • Syntax: – datatype stringname[SIZE]; • Example: – char s[5];
  • 90. 90 INITIALIZATION • Strings can be initialized in different ways as follows: char str[]="abcd"; ///* string size = ‘a'+‘b'+‘c'+‘d'+"NULL" = 5 */ or char str[5]="abcd"; or char str[5]={'a','b','c','d','0'}; or char str[]={'a','b','c','d','0'}; or char str[5]={'a','b','c','d','0'}; or char *c="abcd";
  • 91. 91 STRINGS - EXAMPLE #include<stdio.h> #include<conio.h> int main() { char str[10]; printf("Enter name: "); scanf("%s",name); printf("Your name is: %s.",name); getch(); return 0; }
  • 92. 92 STRINGS -gets() & puts() #include<stdio.h> #include<conio.h> int main() { char str[10]; printf("Enter any string: "); gets(str); printf("String are: "); puts(str); getch(); return 0;
  • 93. 93 IMPORTANT POINTS TO NOTE • In declaration of string size must be required to mention otherwise it gives an error. char str[]; // Invalid char str[10]; // Valid • In declaration of the string size must be unsigned integer value (not -ve or zero value) which is greater than zero only. char str[]; // Invalid char str[0]; // Invalid char str[-1]; // Invalid char str[10]; // Valid
  • 94. 94 IMPORTANT POINTS TO NOTE • In Initialization of the string if the specific number of character are not initialized it then rest of all character will be initialized with NULL. char str[5]={'5','+','A'}; str[0]; ---> 5 str[1]; ---> + str[2]; ---> A str[3]; ---> NULL str[4]; ---> NULL • In initialization of the string we can not initialized more than size of string elements. char str[2]={'5','+','A','B'}; // Invalid
  • 95. 95 IMPORTANT POINTS TO NOTE • In initialization of the string the size is optional in this case how many variable elements are initialized it, that array element will created. char str[]={'5','+','A','B'}; // Valid sizeof(str) --> 4byte • When we are working with character array explicitly NULL character does not occupies any physical memory at the end of the character array. char str[]={'h','e','l','l','o'}; //sizeof(str) --> 5byte • String data at the end of the string NULL character occupies physical memory. char str[]="hello"; //sizeof(str) --> 6 byte
  • 96. 96 STRING FUNCTIONS • strlen: – finds the length of a string – strlen(string); • strcpy: – copies one string to another – strcpy(destination,source) • strcat: – concatenates one string at the end of another – strcat(string_one,string_two); • strcmp: – compares two strings lexicographically – strcmp(string_one,string_two);
  • 97. 97 STRING LENGTH(WITHOUT USING FUNCTION) #include <stdio.h> #include <conio.h> void main() { char input_string[50]; int i=0, length=0; clrscr(); printf("nEnter your text:t"); gets(input_string); while(input_string[i]!='0') { length++; i++; } printf("nThe length of your text is: %d character(s)", length); getch(); } Enter your text: Enter your text: ECE The length of your text is: 3 character(s)
  • 98. 98 STRING LENGTH (USING STRLEN FUNCTION) #include<stdio.h> #include<conio.h> #include<string.h> void main() { char input_string[50]; int length; clrscr(); printf("nEnter your text:t"); gets(input_string); length=strlen(input_string); printf("nThe length of your text is: %d character(s)", length); getch(); } Enter your text: ECE The length of your text is: 3 character(s)
  • 99. 99 STRING COPY (WITHOUT USING FUNCTIONS) #include <stdio.h> #include <conio.h> void main() { char copy[50], paste[50]; int i; clrscr(); printf("nEnter your name (to copy):t"); gets(copy); for(i=0;copy[i]!='0';i++) { paste[i]=copy[i]; } paste[i]='0'; printf("nThe name is (pasted as):t"); puts(paste); getch(); } Enter your name: DEV The name is (pasted as): DEV
  • 100. 100 STRING COPY (USING STRCPY FUNCTION) #include<stdio.h> #include<conio.h> void main() { char copy[50], paste[50]; int i; clrscr(); printf("nEnter your name (to copy):t"); gets(copy); strcpy(paste, copy); printf("nThe name is (pasted as):t"); puts(paste); getch(); Enter your name: DEV The name is (pasted as): DEV
  • 101. 101 STRING CONCATENATION (STRCAT) #include<stdio.h> #include<conio.h> #include<string.h> void main() { char s1[30]="Hai"; char s2[30]="ECE"; char s3[30]="Department"; clrscr(); strcat(s1,s2); puts(s1); strcat(s1,s3); puts(s1); getch(); } HaiECE HaiECEDepartment
  • 102. 102 STRING CONCATENATION (STRCAT) #include<stdio.h> #include<conio.h> #include<string.h> void main() { char s1[30]="Hai"; char s2[30]="ECE"; char s3[30]="Department"; clrscr(); strcat(s1,s2); puts(s1); strcat(s1,s3); puts(s1); getch(); } HaiECE HaiECEDepartment
  • 103. 103 STRING COMPARISION (STRCMP) #include <string.h> int main(){ char str1[20],str2[20]; printf("Enter 1st string: "); gets(str1);//reads string from console printf("Enter 2nd string: "); gets(str2); if(strcmp(str1,str2)==0) printf("Strings are equal"); else printf("Strings are not equal"); return 0; } Enter 1st string: Enter 1st string: Hai Enter 2nd string: Enter 2nd string: Hai Strings are Equal