/* program to find area of a ring */ #include<stdio.h> int  main() { float a1,a2,a,r1,r2; printf(&quot;Enter the radius : &quot;); scanf(&quot;%f&quot;,&r1); a1 = 3.14*r1*r1; printf(&quot;Enter the radius : &quot;); scanf(&quot;%f&quot;,&r2); a2 = 3.14*r2*r2;  a = a1- a2; printf(&quot;Area of Ring : %.3f\n&quot;, a);  }  /* program to find area of a ring */ #include<stdio.h> float area(); int  main() { float a1,a2,a; a1 = area(); a2 = area(); a = a1- a2; printf(&quot;Area of Ring : %.3f\n&quot;, a);  }  float area() { float r; printf(&quot;Enter the radius : &quot;); scanf(&quot;%f&quot;, &r); return (3.14*r*r); } Modularizing and Reusing of code through Functions Calculation of area of Circle is separated into a separate module from Calculation of area of Ring and the same module can be reused for multiple times.  Function Declaration Function Definition Function Calls Repeated & Reusable blocks of code
A  Function  is an  independent, reusable module  of statements, that specified by a name. This module (sub program) can be called by it’s name to do a specific task. We can call the function, for any number of times and from anywhere in the program. The purpose of a function is to receive zero or more pieces of data, operate on them, and return at most one piece of data. A  Called Function  receives control from a  Calling Function . When the called function completes its task, it returns control to the calling function. It may or may not return a value to the caller. The function main() is called by the operating system; main() calls other functions. When main() is complete, control returns to the operating system.   int main() { int n; float p, r, si; printf(“Enter Details of Loan1:“); scanf( “%f %d %f”, &p, &n, &r); si = calcInterest (  p,  n ,  r  ); printf(“Interest : Rs. %f”, si); printf(“Enter Details of Loan2:“);  } float  calcInterest (float loan  ,  int  terms  , float iRate  ) { float interest; interest = ( loan * terms * iRate )/100; return  ( interest  ); } value of ‘r’ is copied to ‘iRate’   value of  ‘n’ is copied to terms’   value of  ‘p’ is copied to loan’  value of  ‘interest’ is  assigned to ‘si ’   Called Function Calling Function The  block is executed Process of Execution for a Function Call
int  main() { int n1, n2; printf(&quot;Enter a number : &quot;); scanf(&quot;%d&quot;,&n1); printOctal(n1); readPrintHexa();  printf(&quot;Enter a  number : &quot;); scanf(&quot;%d&quot;,&n2); printOctal(n2);  printf(“\n”); }  void printOctal(int n) { printf(&quot;Number in octal form : %o \n&quot;, n);  }  void  readPrintHexa() { int num; printf(&quot;Enter a number : &quot;);  scanf(&quot;%d&quot;,&num); printHexa(num);  printf(“\n”);  }  void printHexa(int n) { printf(&quot;Number in Hexa-Decimal form : %x \n&quot;,n);  }  1 2 3 4 5 6 7 8 Flow of Control in  Multi-Function Program
/* Program demonstrates function calls */ #include<stdio.h> int  add  (  int n1, int n2  ) ; int main(void) { int a, b, sum; printf(“Enter two integers : ”); scanf(“%d %d”, &a, &b); sum = add (  a , b  ) ; printf(“%d +  %d = %d\n”, a, b, sum); return 0; } /* adds two numbers and return the sum */ int  add  (  int  x ,  int  y  ) { int s; s = x + y; return (  s  ); } Declaration (proto type) of Function Formal Parameters Function Call Actual Arguments Definition of Function Parameter List used in the Function Return statement of the Function Return Value Return Type Function-It’s Terminology Function Name
/* using different functions */ int main() { float radius, area; printMyLine(); printf(“\n\tUsage of functions\n”); printYourLine(‘-’,35); radius = readRadius(); area = calcArea ( radius ); printf(“Area of Circle = %f”, area); } void  printMyLine() { int i; for(i=1; i<=35;i++) printf(“%c”,  ‘-’); printf(“\n”); } Function with No parameters and No return value void printYourLine(char ch, int n) { int i; for(i=1;  i<=n ;i++) printf(“%c”,  ch); printf(“\n”); } Function with parameters and No return value float  readRadius() { float r; printf(“Enter the radius :  “); scanf(“%f”, &r); return  ( r ); } Function with return value & No parameters float  calcArea(float r) { float  a; a = 3.14 * r * r ; return  ( a ) ; } Function with return value and parameters Categories of Functions Note: ‘void’ means “Containing nothing”
#include<stdio.h>  float length, breadth;  int main() { printf(&quot;Enter length, breadth : &quot;); scanf(&quot;%f %f&quot;,&length,&breadth); area(); perimeter(); printf(“\nEnter length, breadth: &quot;); scanf(&quot;%f %f&quot;,&length,&breadth); area(); perimeter(); } void perimeter() { int no = 0;  float p; no++; p = 2 *(length + breadth); printf(“Perimeter of Rectangle %d: %.2f&quot;,no,p); } void area() { static int num = 0;  float a; num++; a = (length * breadth); printf(“\nArea of Rectangle %d : %.2f&quot;, num, a); } Enter length, breadth : 6  4 Area of Rectangle 1 : 24.00 Perimeter of Rectangle 1 : 20.00 Enter length, breadth : 8  5 Area of Rectangle 2 : 40.00 Perimeter of Rectangle 1 : 26.00 Automatic Local Variables  Scope  : visible with in the function.  Lifetime:  re-created for every function call and destroyed automatically when function is exited.  Static Local Variables  Visible with in the function,   created only once when function is called at first time and exists between function calls. External Global Variables  Scope : Visible across multiple functions  Lifetime : exists  till the end of the program. Storage Classes – Scope & Lifetime
#include<stdio.h>  float length, breadth; static float base, height; int main() { float peri; printf(&quot;Enter length, breadth : &quot;); scanf(&quot;%f %f&quot;,&length,&breadth); rectangleArea(); peri = rectanglePerimeter(); printf(“Perimeter of Rectangle : %f“, peri); printf(“\nEnter base , height: &quot;); scanf(&quot;%f %f&quot;,&base,&height); triangleArea();  } void rectangleArea() { float a; a = length * breadth; printf(“\nArea of Rectangle : %.2f&quot;,  a); } void triangleArea() { float a; a = 0.5 * base * height ; printf(“\nArea of Triangle : %.2f&quot;,  a); } extern float length, breadth ; /*  extern base , height ;  --- error  */ float rectanglePerimeter() { float p; p = 2 *(length + breadth);  return ( p ); } File1.c File2.c External Global Variables  Scope : Visible to all functions across all files in the project. Lifetime : exists  till the end of the program. Static Global Variables  Scope : Visible to all functions with in the file only. Lifetime : exists  till the end of the program. Storage Classes – Scope & Lifetime
#include<stdio.h>  void showSquares(int n) { if(n == 0) return; else showSquares(n-1); printf(“%d  “, (n*n)); } int main() { showSquares(5); } A  function calling itself is  Recursion Output :  1  4  9  16  25   showSquares(5 ) showSquares(4) showSquares(3) showSquares(2) showSquares(1) addition of  function calls to  call-stack   call-stack execution of  function calls in  reverse  Preprocessor Directives #define   - Define a macro substitution #undef   - Undefines a macro #ifdef  - Test for a macro definition #ifndef  - Tests whether a macro is not    defined #include   - Specifies the files to be included #if  - Test a compile-time condition #else  - Specifies alternatives when  #if    test fails #elif   - Provides alternative test facility #endif  - Specifies the end of  #if #pragma   - Specifies certain instructions #error   - Stops compilation when an error    occurs #   - Stringizing  operator ##   - Token-pasting operator Preprocessor is a program that processes the source code before it passes through the compiler. main()

More Related Content

PPTX
Simple c program
PPTX
C Programming Language Part 6
PDF
88 c-programs
PDF
6 c control statements branching &amp; jumping
PPT
Unit 5 Foc
DOC
C lab-programs
PPT
Unit2 jwfiles
DOCX
Practical write a c program to reverse a given number
Simple c program
C Programming Language Part 6
88 c-programs
6 c control statements branching &amp; jumping
Unit 5 Foc
C lab-programs
Unit2 jwfiles
Practical write a c program to reverse a given number

What's hot (20)

DOCX
C Programming
PPT
Input And Output
DOCX
C programs
PPTX
Decision making and branching
PDF
1 introducing c language
DOCX
C Programming
DOCX
Program flowchart
PPTX
Expressions using operator in c
PPTX
C Programming Language Part 7
PPT
C-Language Unit-2
PDF
The solution manual of c by robin
DOCX
Practical File of C Language
PPSX
Concepts of C [Module 2]
DOCX
Practical write a c program to reverse a given number
PPSX
Programming in C [Module One]
PDF
Functions
PPT
Mesics lecture 5 input – output in ‘c’
PDF
C programms
PPT
C Language Unit-1
C Programming
Input And Output
C programs
Decision making and branching
1 introducing c language
C Programming
Program flowchart
Expressions using operator in c
C Programming Language Part 7
C-Language Unit-2
The solution manual of c by robin
Practical File of C Language
Concepts of C [Module 2]
Practical write a c program to reverse a given number
Programming in C [Module One]
Functions
Mesics lecture 5 input – output in ‘c’
C programms
C Language Unit-1
Ad

Viewers also liked (9)

PPT
PPT
PPT
PPT
PPT
PPT
PPT
PPT
2012 Pedofilie Of Geaardheid
PPT
2012 Pedofilie Of Geaardheid
Ad

Similar to Unit2 C (20)

PDF
7 functions
PDF
C- Programming Assignment 4 solution
PPTX
Introduction to Basic C programming 02
PPTX
luckfuckfunctioneekefkfejewnfiwnfnenf.pptx
PPT
Fucntions & Pointers in C
PPT
An imperative study of c
PPTX
Input output functions
DOC
Functions struct&union
PPTX
3. Taking Input from Users with simple interest.pptx
PPTX
Input and Output In C Language
PPTX
Function in c program
DOC
C basics
PPTX
Fundamentals of computer programming by Dr. A. Charan Kumari
DOCX
DOC
'C' language notes (a.p)
PPTX
PPTX
golang_getting_started.pptx
PPTX
Dti2143 chapter 5
PPTX
Fundamentals of functions in C program.pptx
7 functions
C- Programming Assignment 4 solution
Introduction to Basic C programming 02
luckfuckfunctioneekefkfejewnfiwnfnenf.pptx
Fucntions & Pointers in C
An imperative study of c
Input output functions
Functions struct&union
3. Taking Input from Users with simple interest.pptx
Input and Output In C Language
Function in c program
C basics
Fundamentals of computer programming by Dr. A. Charan Kumari
'C' language notes (a.p)
golang_getting_started.pptx
Dti2143 chapter 5
Fundamentals of functions in C program.pptx

More from arnold 7490 (20)

PPT
PPT
PPT
PPT
PPT
PPT
Unit 8 Java
PPT
Unit 6 Java
PPT
Unit 5 Java
PPT
Unit 4 Java
PPT
Unit 3 Java
PPT
Unit 2 Java
PPT
Unit 1 Java
PPT
Unit 7 Java
PPT
Unit6 C
PPT
Unit5 C
PPT
Unit4 C
PPT
Unit3 C
PPT
Unit2 C
PPT
Unit1 C
PPT
Unit7 C
Unit 8 Java
Unit 6 Java
Unit 5 Java
Unit 4 Java
Unit 3 Java
Unit 2 Java
Unit 1 Java
Unit 7 Java
Unit6 C
Unit5 C
Unit4 C
Unit3 C
Unit2 C
Unit1 C
Unit7 C

Recently uploaded (20)

PPT
What is a Computer? Input Devices /output devices
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PPT
Geologic Time for studying geology for geologist
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PDF
August Patch Tuesday
PDF
Developing a website for English-speaking practice to English as a foreign la...
PPTX
Web Crawler for Trend Tracking Gen Z Insights.pptx
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PDF
Architecture types and enterprise applications.pdf
PDF
Hybrid model detection and classification of lung cancer
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
Enhancing emotion recognition model for a student engagement use case through...
PPTX
O2C Customer Invoices to Receipt V15A.pptx
PPTX
Tartificialntelligence_presentation.pptx
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PPTX
Chapter 5: Probability Theory and Statistics
What is a Computer? Input Devices /output devices
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Geologic Time for studying geology for geologist
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
August Patch Tuesday
Developing a website for English-speaking practice to English as a foreign la...
Web Crawler for Trend Tracking Gen Z Insights.pptx
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
Architecture types and enterprise applications.pdf
Hybrid model detection and classification of lung cancer
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
1 - Historical Antecedents, Social Consideration.pdf
Enhancing emotion recognition model for a student engagement use case through...
O2C Customer Invoices to Receipt V15A.pptx
Tartificialntelligence_presentation.pptx
sustainability-14-14877-v2.pddhzftheheeeee
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
Group 1 Presentation -Planning and Decision Making .pptx
Chapter 5: Probability Theory and Statistics

Unit2 C

  • 1. /* program to find area of a ring */ #include<stdio.h> int main() { float a1,a2,a,r1,r2; printf(&quot;Enter the radius : &quot;); scanf(&quot;%f&quot;,&r1); a1 = 3.14*r1*r1; printf(&quot;Enter the radius : &quot;); scanf(&quot;%f&quot;,&r2); a2 = 3.14*r2*r2; a = a1- a2; printf(&quot;Area of Ring : %.3f\n&quot;, a); } /* program to find area of a ring */ #include<stdio.h> float area(); int main() { float a1,a2,a; a1 = area(); a2 = area(); a = a1- a2; printf(&quot;Area of Ring : %.3f\n&quot;, a); } float area() { float r; printf(&quot;Enter the radius : &quot;); scanf(&quot;%f&quot;, &r); return (3.14*r*r); } Modularizing and Reusing of code through Functions Calculation of area of Circle is separated into a separate module from Calculation of area of Ring and the same module can be reused for multiple times. Function Declaration Function Definition Function Calls Repeated & Reusable blocks of code
  • 2. A Function is an independent, reusable module of statements, that specified by a name. This module (sub program) can be called by it’s name to do a specific task. We can call the function, for any number of times and from anywhere in the program. The purpose of a function is to receive zero or more pieces of data, operate on them, and return at most one piece of data. A Called Function receives control from a Calling Function . When the called function completes its task, it returns control to the calling function. It may or may not return a value to the caller. The function main() is called by the operating system; main() calls other functions. When main() is complete, control returns to the operating system. int main() { int n; float p, r, si; printf(“Enter Details of Loan1:“); scanf( “%f %d %f”, &p, &n, &r); si = calcInterest ( p, n , r ); printf(“Interest : Rs. %f”, si); printf(“Enter Details of Loan2:“); } float calcInterest (float loan , int terms , float iRate ) { float interest; interest = ( loan * terms * iRate )/100; return ( interest ); } value of ‘r’ is copied to ‘iRate’ value of ‘n’ is copied to terms’ value of ‘p’ is copied to loan’ value of ‘interest’ is assigned to ‘si ’ Called Function Calling Function The block is executed Process of Execution for a Function Call
  • 3. int main() { int n1, n2; printf(&quot;Enter a number : &quot;); scanf(&quot;%d&quot;,&n1); printOctal(n1); readPrintHexa(); printf(&quot;Enter a number : &quot;); scanf(&quot;%d&quot;,&n2); printOctal(n2); printf(“\n”); } void printOctal(int n) { printf(&quot;Number in octal form : %o \n&quot;, n); } void readPrintHexa() { int num; printf(&quot;Enter a number : &quot;); scanf(&quot;%d&quot;,&num); printHexa(num); printf(“\n”); } void printHexa(int n) { printf(&quot;Number in Hexa-Decimal form : %x \n&quot;,n); } 1 2 3 4 5 6 7 8 Flow of Control in Multi-Function Program
  • 4. /* Program demonstrates function calls */ #include<stdio.h> int add ( int n1, int n2 ) ; int main(void) { int a, b, sum; printf(“Enter two integers : ”); scanf(“%d %d”, &a, &b); sum = add ( a , b ) ; printf(“%d + %d = %d\n”, a, b, sum); return 0; } /* adds two numbers and return the sum */ int add ( int x , int y ) { int s; s = x + y; return ( s ); } Declaration (proto type) of Function Formal Parameters Function Call Actual Arguments Definition of Function Parameter List used in the Function Return statement of the Function Return Value Return Type Function-It’s Terminology Function Name
  • 5. /* using different functions */ int main() { float radius, area; printMyLine(); printf(“\n\tUsage of functions\n”); printYourLine(‘-’,35); radius = readRadius(); area = calcArea ( radius ); printf(“Area of Circle = %f”, area); } void printMyLine() { int i; for(i=1; i<=35;i++) printf(“%c”, ‘-’); printf(“\n”); } Function with No parameters and No return value void printYourLine(char ch, int n) { int i; for(i=1; i<=n ;i++) printf(“%c”, ch); printf(“\n”); } Function with parameters and No return value float readRadius() { float r; printf(“Enter the radius : “); scanf(“%f”, &r); return ( r ); } Function with return value & No parameters float calcArea(float r) { float a; a = 3.14 * r * r ; return ( a ) ; } Function with return value and parameters Categories of Functions Note: ‘void’ means “Containing nothing”
  • 6. #include<stdio.h> float length, breadth; int main() { printf(&quot;Enter length, breadth : &quot;); scanf(&quot;%f %f&quot;,&length,&breadth); area(); perimeter(); printf(“\nEnter length, breadth: &quot;); scanf(&quot;%f %f&quot;,&length,&breadth); area(); perimeter(); } void perimeter() { int no = 0; float p; no++; p = 2 *(length + breadth); printf(“Perimeter of Rectangle %d: %.2f&quot;,no,p); } void area() { static int num = 0; float a; num++; a = (length * breadth); printf(“\nArea of Rectangle %d : %.2f&quot;, num, a); } Enter length, breadth : 6 4 Area of Rectangle 1 : 24.00 Perimeter of Rectangle 1 : 20.00 Enter length, breadth : 8 5 Area of Rectangle 2 : 40.00 Perimeter of Rectangle 1 : 26.00 Automatic Local Variables Scope : visible with in the function. Lifetime: re-created for every function call and destroyed automatically when function is exited. Static Local Variables Visible with in the function, created only once when function is called at first time and exists between function calls. External Global Variables Scope : Visible across multiple functions Lifetime : exists till the end of the program. Storage Classes – Scope & Lifetime
  • 7. #include<stdio.h> float length, breadth; static float base, height; int main() { float peri; printf(&quot;Enter length, breadth : &quot;); scanf(&quot;%f %f&quot;,&length,&breadth); rectangleArea(); peri = rectanglePerimeter(); printf(“Perimeter of Rectangle : %f“, peri); printf(“\nEnter base , height: &quot;); scanf(&quot;%f %f&quot;,&base,&height); triangleArea(); } void rectangleArea() { float a; a = length * breadth; printf(“\nArea of Rectangle : %.2f&quot;, a); } void triangleArea() { float a; a = 0.5 * base * height ; printf(“\nArea of Triangle : %.2f&quot;, a); } extern float length, breadth ; /* extern base , height ; --- error */ float rectanglePerimeter() { float p; p = 2 *(length + breadth); return ( p ); } File1.c File2.c External Global Variables Scope : Visible to all functions across all files in the project. Lifetime : exists till the end of the program. Static Global Variables Scope : Visible to all functions with in the file only. Lifetime : exists till the end of the program. Storage Classes – Scope & Lifetime
  • 8. #include<stdio.h> void showSquares(int n) { if(n == 0) return; else showSquares(n-1); printf(“%d “, (n*n)); } int main() { showSquares(5); } A function calling itself is Recursion Output : 1 4 9 16 25 showSquares(5 ) showSquares(4) showSquares(3) showSquares(2) showSquares(1) addition of function calls to call-stack call-stack execution of function calls in reverse Preprocessor Directives #define - Define a macro substitution #undef - Undefines a macro #ifdef - Test for a macro definition #ifndef - Tests whether a macro is not defined #include - Specifies the files to be included #if - Test a compile-time condition #else - Specifies alternatives when #if test fails #elif - Provides alternative test facility #endif - Specifies the end of #if #pragma - Specifies certain instructions #error - Stops compilation when an error occurs # - Stringizing operator ## - Token-pasting operator Preprocessor is a program that processes the source code before it passes through the compiler. main()