STUDYHAUNTERS.BLOGSPOT.IN
FUNCTION
Functions is a sub-program that contains one or more statements and it performs some task when called.
STUDYHAUNTERS.BLOGSPOT.IN
Types
Functions
Pre-Defined Functions
STUDYHAUNTERS.BLOGSPOT.IN
User-Defined Functions
Pre-Defined Functions
The pre-defined functions or library functions are built-in functions. The user can use the functions, but cannot modify the function. Example: sqrt()
STUDYHAUNTERS.BLOGSPOT.IN
User-Defined Functions
The functions defined by the user for their requirement are called user-defined functions. Whenever it is needed, The user can modify the function. Example: sum(a,b)
STUDYHAUNTERS.BLOGSPOT.IN
Function
Syntax
datatype function_name (parameters list) { local variable declaration; body of the function; return(expression); }
STUDYHAUNTERS.BLOGSPOT.IN
STUDYHAUNTERS.BLOGSPOT.IN
Parameters
Actual Parameter These are the parameters transferred from the calling function to the called function. Formal Parameter These are the parameters which is used in the called function.
STUDYHAUNTERS.BLOGSPOT.IN
STUDYHAUNTERS.BLOGSPOT.IN
return Statement
The return statement may or may not send some values to the calling function.
Syntax: return; (or) return(expression);
STUDYHAUNTERS.BLOGSPOT.IN
Function Prototypes
Function with no arguments and no return values. Function with arguments and no return values. Function with arguments and return values. Function with no arguments and with return values.
STUDYHAUNTERS.BLOGSPOT.IN
STUDYHAUNTERS.BLOGSPOT.IN
Example
#include <stdio.h> #include<conio.h> void main() //calling function { void add(void); add(); STUDYHAUNTERS.BLOGSPOT.IN } void add() //called function { int a,b,c; printf("\nEnter two number:"); scanf("%d%d",&a,&b); c=a+b; printf("\nSum is:%d",c); }
Output
Enter two number:3 4
STUDYHAUNTERS.BLOGSPOT.IN
Sum is:7
STUDYHAUNTERS.BLOGSPOT.IN
#include <stdio.h> #include<conio.h> void main() { int a,b; void add(int,int); printf("\nEnter two number:"); STUDYHAUNTERS.BLOGSPOT.IN scanf("%d%d",&a,&b); add(a,b); } void add(int x,int y) //function with arguments { int z; z=x+y; printf("\nSum is:%d",z); }
Example
Output
Enter two number:2 4
STUDYHAUNTERS.BLOGSPOT.IN
Sum is:6
#include <stdio.h> #include<conio.h> void main() { int a,b; void add(int a,int b); printf("\nEnter two number:"); STUDYHAUNTERS.BLOGSPOT.IN scanf("%d%d",&a,&b); add(a,b); } void add(int x,int y) //function with arguments { int z; z=x+y; printf("\nSum is:%d",z); }
Example
Output
Enter two number:2 4
STUDYHAUNTERS.BLOGSPOT.IN
Sum is:6
STUDYHAUNTERS.BLOGSPOT.IN
#include <stdio.h> #include<conio.h> void main() { int a,b,c; int add(int,int); printf("\nEnter two number:"); scanf("%d%d",&a,&b); STUDYHAUNTERS.BLOGSPOT.IN c=add(a,b); printf("\nSum is:%d",c); } int add(int x,int y) { int z; z=x+y; return(z); }
Example
Output
Enter two number:6 7
STUDYHAUNTERS.BLOGSPOT.IN
Sum is:13
STUDYHAUNTERS.BLOGSPOT.IN
#include <stdio.h> #include<conio.h> void main() { int add(),d; d=add(); printf("\nSum is:%d",d); STUDYHAUNTERS.BLOGSPOT.IN } int add() //function wit no argument { int a,b,c; printf("\nEnter two number:"); scanf("%d%d",&a,&b); c=a+b; return(c); }
Output
Enter two number:5 8
STUDYHAUNTERS.BLOGSPOT.IN
Sum is:13
Call by value
Actual argument passed to the formal argument. Any changes to the formal argument does not affect the actual argument.
STUDYHAUNTERS.BLOGSPOT.IN
Example
#include <stdio.h> #include<conio.h> void main() { int x,y,change(int,int); printf("\nEnter value of x:"); scanf("%d",&x); printf("\nEnter value of y:"); scanf("%d",&y);
STUDYHAUNTERS.BLOGSPOT.IN
change(x,y); printf("\n\nValues in the Main()-->x=%d,y=%d",x,y); } int change(int a,int b) STUDYHAUNTERS.BLOGSPOT.IN { int c; c=a; a=b; b=c; printf("\nValues in the Fuction -->x=%d,y=%d",a,b); }
Output
Enter value of x:5 Enter value of y:6
STUDYHAUNTERS.BLOGSPOT.IN
Call by reference
Instead of passing value, the address of the argument will be passed. Any changes to the formal argument will affect the actual argument.
STUDYHAUNTERS.BLOGSPOT.IN
Example
#include <stdio.h> #include<conio.h> void main() { int x,y,change(int*,int*); printf("\nEnter value of x:"); scanf("%d",&x); printf("\nEnter value of y:"); scanf("%d",&y);
STUDYHAUNTERS.BLOGSPOT.IN
} int change(int *a,int *b) { int c; c=*a; *a=*b; *b=c; printf("\nValues in the Function -->x=%d,y=%d",*a,*b); }
STUDYHAUNTERS.BLOGSPOT.IN
Output
Enter value of x:5 Enter value of y:6
STUDYHAUNTERS.BLOGSPOT.IN
Recursion
It is a process of calling the same function itself again and again until some condition is satisfied. Syntax: func1() { .. func1(); }
STUDYHAUNTERS.BLOGSPOT.IN
Example
#include<stdio.h> #include<conio.h> void main() { int a; int rec(int); printf("\nEnter the number:"); scanf("%d",&a); printf("The factorial of %d! is %d",a,rec(a)); }
STUDYHAUNTERS.BLOGSPOT.IN
STUDYHAUNTERS.BLOGSPOT.IN
Example: Working of 3!
STUDYHAUNTERS.BLOGSPOT.IN
Tower of Honoi
STUDYHAUNTERS.BLOGSPOT.IN
3 2 3 1
3 2
3 2 3 1
Tower of Honoi
STUDYHAUNTERS.BLOGSPOT.IN
3 2 3 1
3 2
3 2 3 1
Library Function
It is pre-defined function. The library function provides functions like mathematical, string manipulation etc,.
STUDYHAUNTERS.BLOGSPOT.IN
Example
sqrt(x): It is used to find the square root of x Example: sqrt(36) is 6 abs(x): It is used to find the absolute value of x Example: abs(-36) is 36 pow(x,y): It is used to find the value of xy Example: pow(5,2) is 25 ceil(x): It is used to find the smallest integer greater than or equal to x Example: ceil(7.7) is 8
STUDYHAUNTERS.BLOGSPOT.IN
rand(): It is used to generate a random number. sin(x): It is used to find the sine value of x Example: sin(30) is 0.5 cos(x): It is used to find the cosine value of x Example: cos(30) is 0.86 tan(x): It is used to find the tan value of x Example: tan(30) is 0.577
STUDYHAUNTERS.BLOGSPOT.IN
toascii(x): It is used to find the ASCII value of x Example: toascii(a) is 97 toupper(x): It is used to convert lowercase character to uppercase. Example: toupper(a) is A toupper(97) is A tolower(x): It is used to convert uppercase character to lowercase. Example: tolower(A) is a
STUDYHAUNTERS.BLOGSPOT.IN
Example:
#include<stdio.h> #include<conio.h> #include<math.h> #include<ctype.h> void main() { int x,y=2; printf("\nEnter the number:"); scanf("%d",&x); printf("\nThe squareroot of %d is %f",x,sqrt(x)); printf("\nThe value of %d power%dis%f ",x,y,pow(6,2));
STUDYHAUNTERS.BLOGSPOT.IN
printf("\nThe ceiling of 6.7 is %f",ceil(6.7)); printf("\nThe floor of 6.7 is %f",floor(6.7)); printf("\nThe absolute value of -6 is %d",abs(-6)); printf("\nThe value of sin 45 is %f",sin(45)); printf("\nThe uppercase of 'a' is %c",toupper('a')); printf("\nThe uppercase of 97 is %c",toupper(97)); getch(); }
STUDYHAUNTERS.BLOGSPOT.IN
Output:
Enter the number:6
The squareroot of 6 is 2.449490 The value of 6 power 2 is 36.000000 The ceiling of 6.7 is 7.000000 The floor of 6.7 is 6.000000 The absolute value of -6 is 6 The value of sin 45 is 0.850904 The uppercase of 'a' is A The uppercase of 97 is A
STUDYHAUNTERS.BLOGSPOT.IN
Array
An Array is a collection of similar data items, that are stored under a common name. Types
STUDYHAUNTERS.BLOGSPOT.IN
x
X[0] X[1] X[2]
Array initialization
At compile time At run time
STUDYHAUNTERS.BLOGSPOT.IN
At compile time
Syntax: data_type array_name[size]={variables}; Example: int x[3]={5,3,7};
STUDYHAUNTERS.BLOGSPOT.IN
x
5
3
7
At Run time
Array can also initialize at the run time. Example: while(i<10) { if(i<5) sum[i]=0; else sum[i]=sum[i]+i; }
STUDYHAUNTERS.BLOGSPOT.IN
Example: scanf(%d%d,&a*0+,&a*1+);
STUDYHAUNTERS.BLOGSPOT.IN
Example
#include<stdio.h> #include<conio.h> void main() { int x[2],i; printf("\nEnter the inputs:"); for(i=0;i<2;i++) scanf("%d",&x[i]); for(i=0;i<2;i++) printf("\nThe value in x[%d] is %d",i,x[i]); getch(); }
STUDYHAUNTERS.BLOGSPOT.IN
Output
Enter the inputs:3 6
STUDYHAUNTERS.BLOGSPOT.IN
Example
#include<stdio.h> #include<conio.h> void main() { int i; char x[5]={'a','b','c','d','e'}; clrscr(); for(i=0;i<5;i++) printf("\nThe value in x[%d] is %c",i,x[i]); getch(); }
STUDYHAUNTERS.BLOGSPOT.IN
Output
The value in x[0] is a The value in x[1] is b The value in x[2] is c The value in x[3] is d The value in x[4] is e
STUDYHAUNTERS.BLOGSPOT.IN
X[2][0]
X[2][1]
Array Initialization
Syntax:
data_type array_name[row_size] [col_size];={variables};
STUDYHAUNTERS.BLOGSPOT.IN
{1,50}, {2,75}
STUDYHAUNTERS.BLOGSPOT.IN
int x[ ][2]={ };
{1,50}, {2,75}
Col 0
Col 1 50
row 0
row 1
STUDYHAUNTERS.BLOGSPOT.IN
75
#include<stdio.h> #include<conio.h> void main() { int i,j; int x[2][2]={ {1,50}, {2,75} }; clrscr(); for(i=0;i<2;i++) for(j=0;j<2;j++) printf("\nThe value in x[%d][%d] is %d",i,j,x[i][j]); getch(); }
STUDYHAUNTERS.BLOGSPOT.IN
Example
Output
The value in x[0][0] is 1 The value in x[0][1] is 50 The value in x[1][0] is 2 The value in x[1][1] is 75
STUDYHAUNTERS.BLOGSPOT.IN
Example
#include<stdio.h> #include<conio.h> void main() { int i,j; STUDYHAUNTERS.BLOGSPOT.IN int x[][2]={ {1,50},{2,75},{3,65}}; clrscr(); for(i=0;i<=2;i++) for(j=0;j<2;j++) printf("\nThe value in x[%d][%d] is %d",i,j,x[i][j]); getch(); }
Output
The value in x[0][0] is 1 The value in x[0][1] is 50 The value in x[1][0] is 2 The value in x[1][1] is 75 The value in x[2][0] is 3 The value in x[2][1] is 65
STUDYHAUNTERS.BLOGSPOT.IN
Matrix Addition
#include<stdio.h> #include<conio.h> void main() { int i,j,k,r1,r2,c1,c2; int a[5][5],b[5][5],c[5][5]; clrscr(); STUDYHAUNTERS.BLOGSPOT.IN step1: printf("\n Enter the size of matrix A:"); scanf("%d%d",&r1,&c1); printf("\n Enter the size of matrix B: "); scanf("%d%d",&r2,&c2); if((c1==c2)&&(r1==r2)) goto step2; else goto step1;
step2: printf("\n Enter the elements of matrix A \n"); for(i=0;i<r1;i++) { for(j=0;j<c1;j++) { scanf("%d",&a[i][j]); } STUDYHAUNTERS.BLOGSPOT.IN } printf("\n Enter the elements of matrix B \n"); for(i=0;i<r2;i++) { for(j=0;j<c2;j++) { scanf("\t%d",&b[i][j]); } }
for(i=0;i<r1;i++) { for(j=0;j<c1;j++) { c[i][j]=0; c[i][j]=c[i][j]+a[i][j]+b[i][j]; } } STUDYHAUNTERS.BLOGSPOT.IN printf("\n The resultant matrix after addition of A & B is\n"); for(i=0;i<r1;i++) { for(j=0;j<c1;j++) printf("%d\t",c[i][j]); printf("\n"); } getch(); }
Output
Enter the size of matrix A: 2 2 Enter the size of matrix B: 2 2 Enter the elements of matrix A 2 2 2 STUDYHAUNTERS.BLOGSPOT.IN 2 Enter the elements of matrix B 3 3 3 3 The resultant matrix after addition of A&B is 5 5 5 5
Matrix Multiplication
#include<stdio.h> #include<conio.h> void main() { int i,j,k,r1,r2,c1,c2; int a[5][5],b[5][5],c[5][5]; clrscr(); STUDYHAUNTERS.BLOGSPOT.IN step1: printf("\n Enter the size of matrix A \n"); scanf("%d%d",&r1,&c1); printf("\n Enter the size of matrix B \n"); scanf("%d%d",&r2,&c2); if(c1==r2) goto step2; else goto step1;
step2: printf("\n Enter the elements of matrix A \n"); for(i=0;i<r1;i++) { for(j=0;j<c1;j++) { scanf("%d",&a[i][j]); } } STUDYHAUNTERS.BLOGSPOT.IN printf("\n Enter the elements of matrix B \n"); for(i=0;i<r2;i++) { for(j=0;j<c2;j++) { scanf("\t%d",&b[i][j]); } }
for(i=0;i<r1;i++) { for(j=0;j<c2;j++) { c[i][j]=0; for(k=0;k<c1;k++) { c[i][j]=c[i][j]+a[i][k]*b[k][j]; } STUDYHAUNTERS.BLOGSPOT.IN } } for(i=0;i<r1;i++) { for(j=0;j<c2;j++) printf("%d\t",c[i][j]); printf("\n"); } getch(); }
Enter the size of matrix A:2 2 Enter the size of matrix B:2 2 Enter the elements of matrix A 4 4 4 STUDYHAUNTERS.BLOGSPOT.IN 4 Enter the elements of matrix B 4 4 4 4 The resultant matrix is 32 32 32 32
Output
Enter the size of matrix A:2 3 Enter the size of matrix B:3 2 Enter the elements of matrix A 1 2 3 4 STUDYHAUNTERS.BLOGSPOT.IN 5 6 Enter the elements of matrix B 2 4 6 8 2 4
20 50
32 80
STUDYHAUNTERS.BLOGSPOT.IN
Example
#include<stdio.h> #include<conio.h> void add(int,int b[]); void main() { int a[5],i,n; STUDYHAUNTERS.BLOGSPOT.IN clrscr(); printf("\n Enter the Number: "); scanf("%d",&n); printf("\n Enter the Values: "); for(i=0;i<n;i++) scanf("%d",&a[i]); add(n,a); }
void add(int x,int b[]) { int sum=0,i; for(i=0;i<x;i++) sum=sum+b[i]; STUDYHAUNTERS.BLOGSPOT.IN printf("\nThe sum is: %d",sum); }
Output
Enter the Number: 5
STUDYHAUNTERS.BLOGSPOT.IN
Array of Characters
In array the characters are terminated by the null (\0) character. Example: char a[]={a,b,c};
STUDYHAUNTERS.BLOGSPOT.IN
\0
Example
#include<stdio.h> #include<conio.h> void main() { int i=0; char a[]="abcd"; clrscr(); while(a[i]!='\0') { printf("\t%c",a[i]); i++; } }
STUDYHAUNTERS.BLOGSPOT.IN
Output
a b c d
STUDYHAUNTERS.BLOGSPOT.IN
datatype - type of the data. array_name -name of the array. size -size of the array.
Example:
int a[3][3][3];
Col 0 row 0 X[0][0]
STUDYHAUNTERS.BLOGSPOT.IN
Col 1
Col 2
X[0][1] X[0][2]
row 1
row 2
X[1][0]
X[2][0]
X[1][1] X[1][2]
X[2][1] X[2][2]
String Functions
strlen() It is used to find the length of the string. syntax: strlen(string) strcpy() It is used to copy one string to another. syntax: strcpy(string1,string2) strcat() It is used to combine two strings. syntax: strcat(string1,string2)
STUDYHAUNTERS.BLOGSPOT.IN
strcmp() It is used to compare two strings. syntax: strcmp(string1,string2) Returns 0 if two strings are equal. Return value <0 if s1 is less than s2. Return value >0 if s1 is greater than s2. strrev() It used to reverse a string. STUDYHAUNTERS.BLOGSPOT.IN syntax: strrev(string) strlwr(), strupr() It used to change the case of a string. syntax: strlwr(string) strupr(string)
strncpy() It used to copy n characters of one string to another. strstr() It is used to determine the first occurrence of a given string in another string. strncat() It Appends source string to destination string upto specified length. strspn() It is used t find upto what length two strings are identical.
STUDYHAUNTERS.BLOGSPOT.IN
strncmp()
It is used to compare n character of two strings.
strcmpi()
It is used to compare two strings without regarding the case.
strnicmp()
It is used to compare first n characters of two strings without regarding the case.
strchr()
STUDYHAUNTERS.BLOGSPOT.IN
strrchr()
It is used to determine the last occurrence of a given character in a string.
#include<stdio.h> #include<conio.h> #include<string.h> void main() { char a[]="college"; int b; STUDYHAUNTERS.BLOGSPOT.IN clrscr(); b=strlen(a); printf("\nThe length of the string is %d",b); getch(); }
Example
Example
#include<stdio.h> #include<conio.h> #include<string.h> void main() { char a[]="IT"; char b[]="Dept"; STUDYHAUNTERS.BLOGSPOT.IN clrscr(); strcpy(a,b); printf("\nThe string is %s",a); getch(); } Output: The string is Dept
Example
#include<stdio.h> #include<conio.h> #include<string.h> void main() { char a[]="IT"; char b[]="Dept"; STUDYHAUNTERS.BLOGSPOT.IN clrscr(); strcat(a,b); printf("\nThe string is %s",a); getch(); } Output: The string is ITDept
Example
#include<stdio.h> #include<conio.h> #include<string.h> void main() { char a[]="itdept"; STUDYHAUNTERS.BLOGSPOT.IN char b[]="it"; int i; clrscr(); i=strcmp(a,b); if(i==0) printf("\nstrings are equal:%d",i); else if(i<0) printf("\nstring1 is less than string2:%d",i);
STUDYHAUNTERS.BLOGSPOT.IN
Example
#include<stdio.h> #include<conio.h> #include<string.h> void main() { char a[]="itdept"; STUDYHAUNTERS.BLOGSPOT.IN clrscr(); printf("\nThe string is :%s",a); strupr(a); printf("\nThe string after conversion to uppercase :%s",a); strlwr(a); printf("\nThe string after conversion to lowercase :%s",a); getch(); }
Output
The string is :itdept The string after conversion to uppercase :ITDEPT The string after conversion to lowercase :itdept
STUDYHAUNTERS.BLOGSPOT.IN
Example
#include<stdio.h> #include<conio.h> #include<string.h> void main() { char a[]="Dept"; STUDYHAUNTERS.BLOGSPOT.IN clrscr(); printf("\nThe string is %s",strrev(a)); getch(); } Output: The string is tpeD
Example
#include<stdio.h> #include<conio.h> #include<string.h> void main() { char a[]="itdept"; STUDYHAUNTERS.BLOGSPOT.IN char b[15]; int i=0; clrscr(); strncpy(b,a,2); b[2]='\0'; printf("\nThe string is :%s",b); getch(); }
STUDYHAUNTERS.BLOGSPOT.IN
String Palindrome
#include<stdio.h> #include<conio.h> #include<string.h> void main() { STUDYHAUNTERS.BLOGSPOT.IN int len,i,j; char str[15]; clrscr(); printf("\n Enter the string:"); scanf("%s",str); len=strlen(str);
for(i=0,j=len-1;i<len/2;i++,j--) { if(str[i]!=str[j]) { printf("\nThe String is not a palindrome"); getch(); exit(0); } STUDYHAUNTERS.BLOGSPOT.IN } printf("\nThe String is a palindrome"); getch(); }
Output: Enter the string:abcba The String is a palindrome
Example
#include <conio.h> #include <stdio.h> void main() { enum week {sun,mon,tue,wed,thr,fri,sat}; clrscr(); STUDYHAUNTERS.BLOGSPOT.IN printf("\nMonday=%d",mon); printf("\nSaturday=%d",sat); getch(); } Output: Monday=1 Saturday=6
Example
#include <conio.h> #include <stdio.h> void main() { enum week {sun=10,mon,tue,wed,thr,fri,sat}; clrscr(); STUDYHAUNTERS.BLOGSPOT.IN printf("\nMonday=%d",mon); printf("\nsaturday=%d",sat); getch(); } Output: Monday=11 saturday=16
Structure
A Structure is a collection of different data items, that are stored under a common name. Syntax: struct structure_name { structure element1; structure element2; . };
STUDYHAUNTERS.BLOGSPOT.IN
Example: struct stud { int sno; char name[10]; int mark; }; struct stud s;
STUDYHAUNTERS.BLOGSPOT.IN
Example
#include<stdio.h> #include<conio.h> struct stud { int regno; char name[10]; int m1; int m2; int m3; }; struct stud s; void main() { float tot,avg;
STUDYHAUNTERS.BLOGSPOT.IN
printf("\nEnter the student regno,name,m1,m2,m3:"); scanf("%d%s%d%d%d",&s.regno,&s.name,&s.m1,&s.m2, &s.m3); tot=s.m1+s.m2+s.m3; avg=tot/3; printf("\nThe student Details are:"); printf("\n%d\t%s\t%f\t%f",s.regno,s.name,tot,avg);
STUDYHAUNTERS.BLOGSPOT.IN
Output
Enter the student regno,name,m1,m2,m3:100 aaa 87 STUDYHAUNTERS.BLOGSPOT.IN 98 78 The student Details are: 100 aaa 263.000000
87.666664
Structure assignment
It is possible to assign one structure information to another structure of same type using simple assignment statement.
STUDYHAUNTERS.BLOGSPOT.IN
Example
#include<stdio.h> #include<conio.h> void main() { struct { STUDYHAUNTERS.BLOGSPOT.IN int a; }x,y; clrscr(); x.a=10; y=x; printf("The value of y.a is%d",y.a); getch(); }
Output
The value of y.a is10
STUDYHAUNTERS.BLOGSPOT.IN
Example
#include<stdio.h> #include<conio.h> struct stud { int regno; char name[10],grade; int m1,m2,m3; STUDYHAUNTERS.BLOGSPOT.IN float avg,tot; } s[10]; void main() { int i,n; printf("\nEnter the no.of students:"); scanf("%d",&n);
for(i=0;i<n;i++) { printf("\nEnter the student regno,name,m1,m2,m3:"); scanf("%d%s%d%d%d",&s[i].regno,&s[i].name,&s[i].m1, &s[i].m2,&s[i].m3); s[i].tot=s[i].m1+s[i].m2+s[i].m3; s[i].avg=s[i].tot/3; STUDYHAUNTERS.BLOGSPOT.IN if(s[i].m1<35||s[i].m2<35||s[i].m3<35) s[i].grade='f'; else { if(s[i].avg>=75) s[i].grade='d'; else if(s[i].avg>=60)
Enter the no.of students:2 Enter the student regno,name,m1,m2,m3:101 aaa 89 98 78 Enter the student regno,name,m1,m2,m3:102 bbb 59 STUDYHAUNTERS.BLOGSPOT.IN 68 76 STUDENT MARK LIST REGNO NAME TOTAL Avg GRADE 101 aaa 265.000000 88.333336 d 102 bbb 203.000000 67.666664 A
Union
An Union is a collection of different data items, that are stored under a common name. Here same memory is shared by its members. Syntax: union union _name { union element1; union element2; };
STUDYHAUNTERS.BLOGSPOT.IN
STUDYHAUNTERS.BLOGSPOT.IN
union result s;
Example
#include<stdio.h> #include<conio.h> union stud { int a; char b[2]; }; void main() { union stud c;
STUDYHAUNTERS.BLOGSPOT.IN
c.a=256; printf("\nc.a value is%d",c.a); printf("\nc.b[0] value is%d",c.b[0]); printf("\nc.b[1] value is%d",c.b[1]); STUDYHAUNTERS.BLOGSPOT.IN }
Output: c.a value is256 c.b[0] value is0 c.b[1] value is1
c.a - 2 Byte
c.b[0] 1 Byte
c.b[0]
1 Byte
STUDYHAUNTERS.BLOGSPOT.IN
Lower bit
00000010 c.b[1]
#include<stdio.h> #include<conio.h> struct student { int a; int b; char c; }s; union student1 { int a; int b; char c; }s1;
Example
STUDYHAUNTERS.BLOGSPOT.IN
void main() { printf("\nThe size of struct is %d",sizeof(s)); printf("\nThe size of union is %d",sizeof(s1)); getch(); }
STUDYHAUNTERS.BLOGSPOT.IN
int
int
structure
STUDYHAUNTERS.BLOGSPOT.IN
char
2 Byte
Preprocessor
It is a program that processes the source program before compilation. It operates under the following directives
File Inclusion Macro substitution Conditional inclusion
STUDYHAUNTERS.BLOGSPOT.IN
File Inclusion
It is used to include some file that contains functions or some definitions. Syntax: #include<filename> (or) #includefilename Eg: #include<stdio.h> #include ex.c
STUDYHAUNTERS.BLOGSPOT.IN
Example
#include<stdio.h> #include<conio.h> #include "addition.txt" void main() { STUDYHAUNTERS.BLOGSPOT.IN int a,b; printf("\nEnter the numbers:"); scanf("%d%d",&a,&b); printf("The Value is %d",add(a,b)); getch(); }
addition.txt
int add(int a,int b) { return(a+b); }
STUDYHAUNTERS.BLOGSPOT.IN
Output
Enter the numbers:7 4 The Value is 11
STUDYHAUNTERS.BLOGSPOT.IN
Example
#include<stdio.h> #include<conio.h> #include "fact.c" void main() { STUDYHAUNTERS.BLOGSPOT.IN int a; printf("\nEnter the number:"); scanf("%d",&a); printf("The factorial of %d! is %d",a,rec(a)); getch(); }
fact.c
int rec(int x) { int f; if(x==1) return(1); else f=x*rec(x-1); return(f); }
STUDYHAUNTERS.BLOGSPOT.IN
Output
Enter the number:5 The factorial of 5! is 120
STUDYHAUNTERS.BLOGSPOT.IN
Macro Substitution
It is used to define and use integer, string, or identifier in the source program The three forms of macros are
Simple Macro Argumented Macro Nested Macro
STUDYHAUNTERS.BLOGSPOT.IN
Simple Macro
It is used to define some constants Syntax # define identifier string/integer Eg:
STUDYHAUNTERS.BLOGSPOT.IN
Example
#include<stdio.h> #include<conio.h> #define pi 3.14 #define CITY "chennai" void main() { STUDYHAUNTERS.BLOGSPOT.IN printf("The Value is %f",2*pi); printf("\nThe Value CITY is %s",CITY); getch(); } Output: The Value is 6.280000 The Value CITY is chennai
Argumented Macro
It is used to define some complex forms in the source program. Syntax: #define identifier (v1,v2,.) string/integer
STUDYHAUNTERS.BLOGSPOT.IN
Example
#include<stdio.h> #include<conio.h> #define cube(n) (n*n*n) void main() STUDYHAUNTERS.BLOGSPOT.IN { printf("The Value of 3 cube is %d",cube(3)); getch(); }
Output: The Value of 3 cube is 27
Nested Macro
Here one macro is used by another macro. Eg:
STUDYHAUNTERS.BLOGSPOT.IN
Example
#include<stdio.h> #include<conio.h> #define a 3 #define sq a*a void main() { printf("The Value is %d",sq); getch(); } Output: The Value is 9
STUDYHAUNTERS.BLOGSPOT.IN
Conditional Inclusion
It is used to include some conditional statements.
STUDYHAUNTERS.BLOGSPOT.IN
Example
#include<stdio.h> #include<conio.h> #define a 3 #ifdef a #define c a+5 #endif STUDYHAUNTERS.BLOGSPOT.IN void main() { printf("\nThe value C is %d",c); getch(); }
Pointers
Pointer is a variable that contains the memory address of another variable.
STUDYHAUNTERS.BLOGSPOT.IN
Example: x=5
x
5
Variable
STUDYHAUNTERS.BLOGSPOT.IN
Value Address
1002
Example
#include<stdio.h> #include<conio.h> void main() { int x=5; printf("\n The Address of x = %u",&x); printf("\n The Value of x = %d",x); }
STUDYHAUNTERS.BLOGSPOT.IN
Pointer Declaration
Syntax data-type *pointer-name;
data-type
- Type of the data to which the pointer points. pointer-name - Name of the pointer
STUDYHAUNTERS.BLOGSPOT.IN
Example:
int *a;
If a pointer is declared and assigned to a variable, then the variable can be accessed through the pointer.
STUDYHAUNTERS.BLOGSPOT.IN
Example
#include<stdio.h> #include<conio.h> void main() { int x=5; int *a; a=&x; printf("\n The Value of x = %d",x); printf("\n The Address of x = %u",&x); printf("\n The Value of a = %d",a); printf("\n The Value of x = %d",*a); }
STUDYHAUNTERS.BLOGSPOT.IN
Output
The Value of x = 5 The Address of x = 8758 The Value of a = 8758 The Value of x = 5
STUDYHAUNTERS.BLOGSPOT.IN
Example:
#include<stdio.h> #include<conio.h> void main() { int y=10; int *a; a=&y; printf("\n The Value of y = %d",y); printf("\n The Address of y = %u",&y); printf("\n The Value of a = %d",a); printf("\n The Address of a = %u",&a); }
STUDYHAUNTERS.BLOGSPOT.IN
a 5001
y
STUDYHAUNTERS.BLOGSPOT.IN
Variable
10
Value
Address
8000
5001
Output
The Value of y = 10 The Address of y = 5001 The Value of a = 5001 The Address of a = 8000
STUDYHAUNTERS.BLOGSPOT.IN
Null Pointer
A pointer is said to be null pointer if zero is assigned to the pointer.
Example int *a,*b; a=b=0;
STUDYHAUNTERS.BLOGSPOT.IN
Pointer to Pointer
Here one pointer stores the address of another pointer variable.
Example: int x=10,*a,**b; a=&x; b=&a;
STUDYHAUNTERS.BLOGSPOT.IN
b 8000
a 5001
STUDYHAUNTERS.BLOGSPOT.IN
x 10
Variable
Value
Address
9000
8000
5001
Example #include<stdio.h> #include<conio.h> void main() { int a=10; int *b,**c; b=&a; c=&b; printf("\n The Value of a = %d",a); printf("\n The Address of a = %u",&a); printf("\n The Value of b = %d",b); printf("\n The Address of b = %u",&b); printf("\n The Value of c = %d",c); printf("\n The Address of c = %u",&c); }
STUDYHAUNTERS.BLOGSPOT.IN
Output
The Value of a = 10 The Address of a = 5001 The Value of b = 5001 The Address of b = 8000 The Value of c = 8000 The Address of c = 9000
STUDYHAUNTERS.BLOGSPOT.IN
Call by value
Actual argument passed to the formal argument. Any changes to the formal argument does not affect the actual argument.
STUDYHAUNTERS.BLOGSPOT.IN
Example
#include <stdio.h> #include<conio.h> void main() { int x,y,swap(int,int); printf("\nEnter value of x:"); scanf("%d",&x); printf("\nEnter value of y:"); scanf("%d",&y);
STUDYHAUNTERS.BLOGSPOT.IN
change(x,y); printf("\n\nValues in the Main()-->x=%d,y=%d",x,y); } int swap(int a,int b) STUDYHAUNTERS.BLOGSPOT.IN { int c; c=a; a=b; b=c; printf("\nValues in the Function -->x=%d,y=%d",a,b); }
Output
Enter value of x:5 Enter value of y:6
STUDYHAUNTERS.BLOGSPOT.IN
STUDYHAUNTERS.BLOGSPOT.IN
Call by reference
Instead of passing value, the address of the argument will be passed. Any changes to the formal argument will affect the actual argument.
STUDYHAUNTERS.BLOGSPOT.IN
Example
#include <stdio.h> #include<conio.h> void main() { int x,y,change(int*,int*); printf("\nEnter value of x:"); scanf("%d",&x); printf("\nEnter value of y:"); scanf("%d",&y);
STUDYHAUNTERS.BLOGSPOT.IN
} int change(int *a,int *b) { int c; c=*a; *a=*b; *b=c; printf("\nValues in the Function -->x=%d,y=%d",*a,*b); }
STUDYHAUNTERS.BLOGSPOT.IN
Output
Enter value of x:5 Enter value of y:6
STUDYHAUNTERS.BLOGSPOT.IN
Pointer to Array
The elements of the array can also be accessed through a pointer.
Example int a[3]={2,3,7}; int *b; b=a;
STUDYHAUNTERS.BLOGSPOT.IN
Example: #include<stdio.h> #include<conio.h> void main() { int a[3]={2,3,7}; int *b; b=a; printf("\n The Value of a[0] = %d",a[0]); printf("\n The Address of a[0] = %u",&a[0]); printf("\n The Value of b = %d",b); }
STUDYHAUNTERS.BLOGSPOT.IN
b 8744
a[0]
STUDYHAUNTERS.BLOGSPOT.IN
Variable
Value
Address
9000
8744
Output
The Value of a[0] = 2 The Address of a[0] = 8744 The Value of b = 8744
STUDYHAUNTERS.BLOGSPOT.IN
Example
#include<stdio.h> #include<conio.h> void main() { int a[5]={2,3,7,9,10}; STUDYHAUNTERS.BLOGSPOT.IN int i; for(i=0;i<5;i++) { printf("\n The Value of a[%d] = %d",i,a[i]); printf("\n The Address of a[%d] = %u",i,&a[i]); } }
a[0]
a[1]
a[2]
a[3]
a[4]
Array Value
Address
2
8724
3
8726
7
8728
9
8730
10
8732
STUDYHAUNTERS.BLOGSPOT.IN
Output
The Value of a[0] = 2 The Address of a[0] = 8724 The Value of a[1] = 3 The Address of a[1] = 8726 The Value of a[2] = 7 The Address of a[2] = 8728 The Value of a[3] = 9 The Address of a[3] = 8730 The Value of a[4] = 10 The Address of a[4] = 8732
STUDYHAUNTERS.BLOGSPOT.IN
Example
#include<stdio.h> #include<conio.h> void main() { int a[5]={1,2,3,4,5}; int i,sum=0; int *b; STUDYHAUNTERS.BLOGSPOT.IN b=a; for(i=0;i<5;i++) { sum=sum + *b; b++; //b=b+1 } printf("\n The Sum is %d",sum); }
Output
The Sum is 15
STUDYHAUNTERS.BLOGSPOT.IN
Example: struct stud { int sno; char name[10]; int mark; }; struct stud *s;
STUDYHAUNTERS.BLOGSPOT.IN
Example
#include<stdio.h> #include<conio.h> struct stud { int regno; char name[10]; int m1; int m2; int m3; }; struct stud s; struct stud *t;
STUDYHAUNTERS.BLOGSPOT.IN
void main() { float tot,avg; t=&s; printf("\nEnter the student regno,name,m1,m2,m3:"); scanf("%d%s%d%d%d",&s.regno,&s.name,&s.m1,&s.m2,& s.m3); tot=s.m1+s.m2+s.m3;STUDYHAUNTERS.BLOGSPOT.IN avg=tot/3; printf("\nThe student Details are:"); printf("\n%d\t%s\t%f\t%f",s.regno,s.name,tot,avg); printf("\n%d\t%s\t%f\t%f",t->regno,t->name,tot,avg); }
Output
Enter the student regno,name,m1,m2,m3:1 aaa 76 89 76
STUDYHAUNTERS.BLOGSPOT.IN
80.333336 80.333336
Example
#include<stdio.h> #include<conio.h> void main(int argc,char argv[]) { printf("\n The Argument is %s",argv[0]); getch(); }
STUDYHAUNTERS.BLOGSPOT.IN
Output
C:\tc>a The Argument is C:\TC\A.EXE
STUDYHAUNTERS.BLOGSPOT.IN
String Palindrome
#include<stdio.h> #include<conio.h> #include<string.h> void main() { char s1[15],s2[15]; printf("\nenter the string:"); scanf("%s",s1); strcpy(s2,s1); strrev(s1);
STUDYHAUNTERS.BLOGSPOT.IN
if(strcmp(s1,s2)==0) printf("\n The string is palindrome"); else printf("\n The string is not a palindrome"); getch(); }
STUDYHAUNTERS.BLOGSPOT.IN
Output:
Developing a C Program
The Program development life cycle is considered as a sequence of events by the programmer to develop the program. The Program development life cycle contains the following phase
STUDYHAUNTERS.BLOGSPOT.IN
Program Design
Analysing the problem Algorithm development Selection of conditional and control structure etc,.
STUDYHAUNTERS.BLOGSPOT.IN
Program Coding
Documentation Statement construction Input and output format etc,.
STUDYHAUNTERS.BLOGSPOT.IN
Program Testing
It is the process of executing the program with sample data
STUDYHAUNTERS.BLOGSPOT.IN
STUDYHAUNTERS.BLOGSPOT.IN
#include<stdio.h> #include<conio.h> #define p 3.14 void main() { #ifdef p printf("\nPentium"); #else STUDYHAUNTERS.BLOGSPOT.IN printf("\n Celeron"); #endif printf("\nthe value is %f",2*p); getch(); }
Output: Pentium the value is 6.280000
Example
STUDYHAUNTERS.BLOGSPOT.IN
Example
#include<stdio.h> #include<conio.h> struct stud { int regno; char name[10]; STUDYHAUNTERS.BLOGSPOT.IN int m1; int m2; int m3; }; struct stud s; void main() { float tot,avg; int i;
Enter the student regno,name,m1,m2,m3:100 aaa 78 67 98 101 STUDYHAUNTERS.BLOGSPOT.IN bbb 80 90 75 101bbb 245.000000 81.666664 101bbb 245.000000 81.666664
#include <string.h> #include <stdio.h> int main(void) { char string[15]; char *ptr, c = 'r'; strcpy(string, "This isSTUDYHAUNTERS.BLOGSPOT.IN a string"); ptr = strchr(string, c); if (ptr) printf("The character %c is at position: %d\n", c, ptrstring); else printf("The character was not found\n"); return 0; }
#include<stdio.h> #include<conio.h> #include<string.h> void main() { char a[]="Dept"; STUDYHAUNTERS.BLOGSPOT.IN int i=0; clrscr(); while(a[i]!='\0') { printf("\nThe character is %c",a[i]); i++; } getch(); }
Example
D e p t
STUDYHAUNTERS.BLOGSPOT.IN
STUDYHAUNTERS.BLOGSPOT.IN
Structure
STUDYHAUNTERS.BLOGSPOT.IN
STUDYHAUNTERS.BLOGSPOT.IN
STUDYHAUNTERS.BLOGSPOT.IN
STUDYHAUNTERS.BLOGSPOT.IN
Lab Exercise
STUDYHAUNTERS.BLOGSPOT.IN
C Programs
#include <stdio.h> #include<conio.h> void main() { int a,b,c; int add(int,int); printf("\nEnter two number:"); scanf("%d%d",&a,&b); STUDYHAUNTERS.BLOGSPOT.IN c=add(a,b); printf("\nSum is:%d",c); } int add(int x,int y) { int z; z=x+y; return(z); }
Output
Enter two number:6 7
STUDYHAUNTERS.BLOGSPOT.IN
Sum is:13
Example
#include <stdio.h> #include<conio.h> void main() { int x,y,change(int*,int*); printf("\nEnter value of x:"); scanf("%d",&x); printf("\nEnter value of y:"); scanf("%d",&y);
STUDYHAUNTERS.BLOGSPOT.IN
} int change(int *a,int *b) { int c; c=*a; *a=*b; *b=c; printf("\nValues in the Function -->x=%d,y=%d",*a,*b); }
STUDYHAUNTERS.BLOGSPOT.IN
Output
Enter value of x:5 Enter value of y:6
STUDYHAUNTERS.BLOGSPOT.IN
Factorial-Recursive Fn
#include<stdio.h> #include<conio.h> void main() { int a; int rec(int); printf("\nEnter the number:"); scanf("%d",&a); printf("The factorial of %d! is %d",a,rec(a)); }
STUDYHAUNTERS.BLOGSPOT.IN
STUDYHAUNTERS.BLOGSPOT.IN
Example: Working of 3!
STUDYHAUNTERS.BLOGSPOT.IN
Matrix Multiplication
#include<stdio.h> #include<conio.h> void main() { int i,j,k,r1,r2,c1,c2; int a[5][5],b[5][5],c[5][5]; clrscr(); STUDYHAUNTERS.BLOGSPOT.IN step1: printf("\n Enter the size of matrix A \n"); scanf("%d%d",&r1,&c1); printf("\n Enter the size of matrix B \n"); scanf("%d%d",&r2,&c2); if(c1==r2) goto step2; else goto step1;
step2: printf("\n Enter the elements of matrix A \n"); for(i=0;i<r1;i++) { for(j=0;j<c1;j++) { scanf("%d",&a[i][j]); } } STUDYHAUNTERS.BLOGSPOT.IN printf("\n Enter the elements of matrix B \n"); for(i=0;i<r2;i++) { for(j=0;j<c2;j++) { scanf("\t%d",&b[i][j]); } }
for(i=0;i<r1;i++) { for(j=0;j<c2;j++) { c[i][j]=0; for(k=0;k<c1;k++) { c[i][j]=c[i][j]+a[i][k]*b[k][j]; } STUDYHAUNTERS.BLOGSPOT.IN } } for(i=0;i<r1;i++) { for(j=0;j<c2;j++) printf("%d\t",c[i][j]); printf("\n"); } getch(); }
Enter the size of matrix A:2 2 Enter the size of matrix B:2 2 Enter the elements of matrix A 4 4 4 STUDYHAUNTERS.BLOGSPOT.IN 4 Enter the elements of matrix B 4 4 4 4 The resultant matrix is 32 32 32 32
Output
STUDYHAUNTERS.BLOGSPOT.IN
STUDYHAUNTERS.BLOGSPOT.IN
area=3.14*r*r; c=2*3.14*r; printf(" \nThe area is :%f",area); printf(" \nThe circumference is :%f",c); getch( ); }
STUDYHAUNTERS.BLOGSPOT.IN
printf("\nThe values of A + B:%d",c); printf("\nThe values of A - B:%d",d); printf("\nThe values of A * B:%d",e); printf("\nThe values of A / B:%d",f); getch();
STUDYHAUNTERS.BLOGSPOT.IN
Output
Enter the values of A and B:6 3
STUDYHAUNTERS.BLOGSPOT.IN
The values of A + B:9 The values of A - B:3 The values of A * B:18 The values of A / B:2
if((a>b)&&(a>c)) { printf(" \nA is Big"); } else STUDYHAUNTERS.BLOGSPOT.IN { if(b>c) printf(" \nB is Big"); else printf(" \nC is Big"); } getch( ); }
Output
Enter the value of a:5 Enter the value of b:7
STUDYHAUNTERS.BLOGSPOT.IN
String Palindrome
#include<stdio.h> #include<conio.h> #include<string.h> void main() { STUDYHAUNTERS.BLOGSPOT.IN int len,i,j; char str[15]; clrscr(); printf("\n Enter the string:"); scanf("%s",str); len=strlen(str);
for(i=0,j=len-1;i<len/2;i++,j--) { if(str[i]!=str[j]) { printf("\nThe String is not a palindrome"); getch(); exit(0); } STUDYHAUNTERS.BLOGSPOT.IN } printf("\nThe String is a palindrome"); getch(); }
Output: Enter the string:abcba The String is a palindrome
Lab.Ex:14,Quadratic Equation
#include<stdio.h> #include <conio.h> #include<math.h> void main ( ) { int a,b,c,d,r1,r2; STUDYHAUNTERS.BLOGSPOT.IN clrscr( ); printf(" \nEnter the value of a:"); scanf("%d",&a); printf(" \nEnter the value of b:"); scanf("%d",&b); printf(" \nEnter the value of c:"); scanf("%d",&c); d=b*b-4*a*c;
Output
Enter the value of a:1 Enter the value of b:4
STUDYHAUNTERS.BLOGSPOT.IN