GROUP # 04 GROUP MEMBERS; HAFIZ AHMAD ALI EN-15024 SAQIB KHOKHAR EN-15017 HASNAIN BILAL EN-15025
GLOBAL VARIABLE • GLOBAL VARIABLES HOLD THEIR VALUES THROUGHOUT THE LIFETIME OF YOUR PROGRAM AND THEY CAN BE ACCESSED INSIDE ANY OF THE FUNCTIONS DEFINED FOR THE PROGRAM. • GLOBAL AND LOCAL VARIABLES • A LOCAL VARIABLE IS A VARIABLE THAT IS DECLARED INSIDE A FUNCTION. • A GLOBAL VARIABLE IS A VARIABLE THAT IS DECLARED OUTSIDE ALL FUNCTIONS. • A LOCAL VARIABLE CAN ONLY BE USED IN THE FUNCTION WHERE IT IS DECLARED. • A GLOBAL VARIABLE CAN BE USED IN ALL FUNCTIONS.
#include<stdio.h> // Global variables int A; int B; int Add() { return A + B; } int main() { int answer; // Local variable A = 5; B = 7; answer = Add(); printf("%dn",answer); return 0; }
Sorting  To arrange a set of items in sequence.  Many applications require sorting;  Many applications perform sorting when they don't have to;  Many applications use inefficient sorting algorithms.
Sorting Applications  To prepare a list of student ID, names, and scores in a table (sorted by ID or name) for easy checking.  To prepare a list of scores before letter grade assignment.  To produce a list of horses after a race (sorted by the finishing times) for payoff calculation.  To prepare an originally unsorted array for ordered binary searching.
Static and Automatic Variables • Automatic variable - memory is allocated at block entry and deallocated at block exit • Static variable - memory remains allocated as long as the program executes • Variables declared outside of any block are static variables • By default, variables declared within a block are automatic variables • Declare a static variable within a block by using the reserved word static
Static and Automatic Variables (continued) • The syntax for declaring a static variable is: static dataType identifier; • The statement static int x; declares x to be a static variable of the type int • Static variables declared within a block are local to the block • Their scope is the same as any other
Summary (continued) • An automatic variable is a variable for which memory is allocated on function (or block) entry and deallocated on function (or block) exit • A static variable is a variable for which memory remains allocated throughout the execution of the program • C allows functions to have default parameters
FUNCTIONS Basically there are two categories of function: 1. Predefined functions: available in C / C++ standard library such as stdio.h, math.h, string.h etc. 2. User-defined functions: functions that programmers create for specialized tasks such as graphic and multimedia libraries, implementation extensions or dependent etc.
FUNCTION & ARRAY: FOR A FUNCTION TO RECEIVE AN ARRAY THROUGH A FUNCTION CALL, THE FUNCTION’S PARAMETER LIST MUST SPECIFY THAT AN ARRAY WILL BE RECEIVED. SYNTAX INDICATING THAT MODIFY ARRAY EXPECTS TO RECEIVE AN ARRAY OF INTEGERS IN PARAMETER B AND THE NUMBER OF ARRAY ELEMENTS IN PARAMETER SIZE. THE SIZE OF THE ARRAY IS NOT REQUIRED BETWEEN THE ARRAY BRACKETS.
#include <stdio.h> float average(float a[]); int main(){ float avg, c[]={23.4, 55, 22.6, 3, 40.5, 18}; avg=average(c); /* Only name of array is passed as argument. */ printf("Average age=%.2f",avg); return 0; } float average(float a[ ]) { int i; float avg, sum=0.0; for(i=0;i<6;++i){ sum+=a[i]; } avg =(sum/6); return avg; } Output Average age=27.08 C program to pass an array containing age of person to a function. This function should find average age and display the average age in main function.
#include void Function(int c[2][2]); int main(){ int c[2][2],i,j; printf("Enter 4 numbers:n"); for(i=0;i<2;++i) for(j=0;j<2;++j){ scanf("%d",&c[i][j]); } Function(c); /* passing multi-dimensional array to function */ return 0; }
void Function(int c[2][2]){ /* Instead to above line, void Function(int c[][2]){ is also valid */ int i,j; printf("Displaying:n"); for(i=0;i<2;++i) for(j=0;j<2;++j) printf("%dn",c[i][j]); } Output Enter 4 numbers: 2 3 4 5 Displaying: 2 3 4 5
Global variables, sorting static variables,function and arrays,

Global variables, sorting static variables,function and arrays,

  • 2.
    GROUP # 04 GROUPMEMBERS; HAFIZ AHMAD ALI EN-15024 SAQIB KHOKHAR EN-15017 HASNAIN BILAL EN-15025
  • 3.
    GLOBAL VARIABLE • GLOBALVARIABLES HOLD THEIR VALUES THROUGHOUT THE LIFETIME OF YOUR PROGRAM AND THEY CAN BE ACCESSED INSIDE ANY OF THE FUNCTIONS DEFINED FOR THE PROGRAM. • GLOBAL AND LOCAL VARIABLES • A LOCAL VARIABLE IS A VARIABLE THAT IS DECLARED INSIDE A FUNCTION. • A GLOBAL VARIABLE IS A VARIABLE THAT IS DECLARED OUTSIDE ALL FUNCTIONS. • A LOCAL VARIABLE CAN ONLY BE USED IN THE FUNCTION WHERE IT IS DECLARED. • A GLOBAL VARIABLE CAN BE USED IN ALL FUNCTIONS.
  • 4.
    #include<stdio.h> // Globalvariables int A; int B; int Add() { return A + B; } int main() { int answer; // Local variable A = 5; B = 7; answer = Add(); printf("%dn",answer); return 0; }
  • 5.
    Sorting  To arrangea set of items in sequence.  Many applications require sorting;  Many applications perform sorting when they don't have to;  Many applications use inefficient sorting algorithms.
  • 6.
    Sorting Applications  Toprepare a list of student ID, names, and scores in a table (sorted by ID or name) for easy checking.  To prepare a list of scores before letter grade assignment.  To produce a list of horses after a race (sorted by the finishing times) for payoff calculation.  To prepare an originally unsorted array for ordered binary searching.
  • 9.
    Static and Automatic Variables •Automatic variable - memory is allocated at block entry and deallocated at block exit • Static variable - memory remains allocated as long as the program executes • Variables declared outside of any block are static variables • By default, variables declared within a block are automatic variables • Declare a static variable within a block by using the reserved word static
  • 10.
    Static and Automatic Variables(continued) • The syntax for declaring a static variable is: static dataType identifier; • The statement static int x; declares x to be a static variable of the type int • Static variables declared within a block are local to the block • Their scope is the same as any other
  • 11.
    Summary (continued) • Anautomatic variable is a variable for which memory is allocated on function (or block) entry and deallocated on function (or block) exit • A static variable is a variable for which memory remains allocated throughout the execution of the program • C allows functions to have default parameters
  • 12.
    FUNCTIONS Basically there aretwo categories of function: 1. Predefined functions: available in C / C++ standard library such as stdio.h, math.h, string.h etc. 2. User-defined functions: functions that programmers create for specialized tasks such as graphic and multimedia libraries, implementation extensions or dependent etc.
  • 13.
    FUNCTION & ARRAY: FORA FUNCTION TO RECEIVE AN ARRAY THROUGH A FUNCTION CALL, THE FUNCTION’S PARAMETER LIST MUST SPECIFY THAT AN ARRAY WILL BE RECEIVED. SYNTAX INDICATING THAT MODIFY ARRAY EXPECTS TO RECEIVE AN ARRAY OF INTEGERS IN PARAMETER B AND THE NUMBER OF ARRAY ELEMENTS IN PARAMETER SIZE. THE SIZE OF THE ARRAY IS NOT REQUIRED BETWEEN THE ARRAY BRACKETS.
  • 15.
    #include <stdio.h> float average(floata[]); int main(){ float avg, c[]={23.4, 55, 22.6, 3, 40.5, 18}; avg=average(c); /* Only name of array is passed as argument. */ printf("Average age=%.2f",avg); return 0; } float average(float a[ ]) { int i; float avg, sum=0.0; for(i=0;i<6;++i){ sum+=a[i]; } avg =(sum/6); return avg; } Output Average age=27.08 C program to pass an array containing age of person to a function. This function should find average age and display the average age in main function.
  • 17.
    #include void Function(int c[2][2]); intmain(){ int c[2][2],i,j; printf("Enter 4 numbers:n"); for(i=0;i<2;++i) for(j=0;j<2;++j){ scanf("%d",&c[i][j]); } Function(c); /* passing multi-dimensional array to function */ return 0; }
  • 18.
    void Function(int c[2][2]){ /*Instead to above line, void Function(int c[][2]){ is also valid */ int i,j; printf("Displaying:n"); for(i=0;i<2;++i) for(j=0;j<2;++j) printf("%dn",c[i][j]); } Output Enter 4 numbers: 2 3 4 5 Displaying: 2 3 4 5