Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chinese Proverb says……... Advantages void main( ) { int n, k, i ; printf(“\n Enter number:-”); scanf(“%d”, &n); for(i=2 ; i <=(n/2) ; i++ ){ if ( n %

Similar presentations


Presentation on theme: "Chinese Proverb says……... Advantages void main( ) { int n, k, i ; printf(“\n Enter number:-”); scanf(“%d”, &n); for(i=2 ; i <=(n/2) ; i++ ){ if ( n %"— Presentation transcript:

1 Chinese Proverb says……..

2 Advantages void main( ) { int n, k, i ; printf(“\n Enter number:-”); scanf(“%d”, &n); for(i=2 ; i <=(n/2) ; i++ ){ if ( n % i = =0 ) { k=1; } // if ends } // for ends if ( k = = 1 ){ printf(“Not Prime”); } else{ printf (“ Prime ” );} } // main ends

3 Advantages int prime (int ); int AskFromUser( ); void display( ); void main( ) { int n, k, i ; n=AskFromUser( ); k=prime(n); display(k); } OR void main( ){ display ( prime( AskFromUser( ))); }

4 int prime( int n){ int flag=0,i; for(i=2 ; i <=(n/2) ; i++ ){ if ( n % i = = 0 ) { flag=1; } return(flag); } int AskFromUser( ){ int n; Printf(“\nEnter A number:”); Scanf(“%d”,&n); }Advantages

5 void display(int k) { if (k==1) printf(“Not Prime”); else printf(“Prime”); }Advantages

6 Advantages  Reduces Complexity & increases Readability  Makes Program size smaller  Debugging becomes very easy  can be reused in other programs

7 Types of Functions Eg. Printf( ), Scanf ( ), etc Eg. Prime( ), fibonaci( ), etc

8 Questions ?  What is the Type of main ( ) ?  What type of language is C ? and why ?  How many types of datatype classes r there in C ?  What r keywords ?  Functions names are stored in the same way as variables.

9 Brain Teaser 1 func( ); main( ) { printf( “ %d”, func); } func( ) { return (0); }

10 Brain Teaser 2 main( ) { printf( “ %u”, main( ) ); }

11 Three main things….. Function Declaration ( prototype) Function call Function Definition

12 Types of Arguments(Parameters) Formal Arguments Actual Arguments Eg : Call  func ( 10,20,30, 40); Defi.  func (int a, int b,int c,int d );

13 ANSI Method ANSI Method void main(){ Func(10,20); } Func(int a,int b) { ◦ Printf (“ Sum=%d ”,(a+b)); }

14 K & R Method void main(){ Func(10,20); } Func(a,b) int a; int b; { ◦ printf (“ Sum= %d ”,(a+b)); }

15 How Arguments r passed ?  In TC, the argument calling convention is from right to left For Eg: func(10,20,30,40); // function call func( int a, int b,int c, int d) // function Defi. { ……..some code…… }

16 How Arguments r passed ? void func(int, int,int, int ); void main( ) { int a=5; func( a, a++, ++a, --a ); } void func(int a, int b,int c,int d ) { printf(“ %d %d %d %d ”, a, b, c, d ); }

17 Call By Value & Call By Reference void main( ){ int func(int ) ; int j=10, i ; i=fun( j ); printf (“ %d %d ”,--i, j ); } int fun(int j){ return ( j++ ); }

18 Recursion void main ( ) { int i=0; func(i ); } void func(int i ){ i++; printf(“%d”, i ); if ( i!=5 ) func( i); }

19 Recursion void main ( ) { int i=0; func(i ); } void func(int i ){ i++; if ( i!=5 ) func( i); printf(“%d”, i); }

20 Question ? What is required in Recursion ? What is better Recursion or using loops ?

21 Scope (active), Visibility & Longetivity ( alive) int i=10; void main( ){ Func( ); Printf ( “%d ”, i ); } // main ends Func( ){ int i=20; // scope of this i is only inside this // func. Global i is not visible here // but it is alive Printf(“ %d ”, i); }

22 Type of Variables Automatic ( local or internal) Static (can be local or external) Register Extern Global ( external )

23 Automatic Variable By Default Given Garbage value if uninitialized They r local

24 Brain Teaser void main(){ int a; Func(a); Printf(“%d ”, a); } Func(int a) { a=++a || a++ || a-- && --a; return(a); }

25 Static Variable Retains its value during function calls Can be local or external Difference between global varaible and external static variable Gets default value =0 A func can also be static

26 Brain Teaser void main( ){ int i; for(i=0;i<3;i++){ Func( ); } Func( ){ Static int i=0; i++; Print f(“%d”, i); }

27 Register Variable  Faster Access  Loop Control variables  Cant be pointed by some pointers

28 Brain Teaser void main( ) { register int i=10; int *p; p=&i; p=(*p)++; printf (“%d”,*p); }

29 Extern Variable #include void main( ) { extern int x; printf( “ %d ”, x ); } int x=10;

30 Extern Variable #include void main( ) { extern int x; printf( “ %d ”, x ); }

31 A function cannot be the target of an assignment You cannot define func inside another function.

32 Brain Teaser int a; void main( ) { Func( )=10; printf( “ %d ”, a); } Func( ) { return (a); }

33 Brain Teaser void main( ) { void func( ) ◦ { ◦ printf( “ Hello C ”); ◦ } func(); }

34 Function returning Pointers int *func(); void main(){ int i,*p; p=func(); } int *func(){ int x=10,*q; q=&x; return (q); }

35 Pointer To Function void func( ); void main(){ int (*p)( ); p=func; (*p)( ); } void func( ){ Printf(“Hello LD”); }

36 Brain Teaser int *func( ); void main(){ int *p; p=func(); printf(“\n”); printf( “ %d ”, *p); } int *func( ){ int k=35; return ( &k); }


Download ppt "Chinese Proverb says……... Advantages void main( ) { int n, k, i ; printf(“\n Enter number:-”); scanf(“%d”, &n); for(i=2 ; i <=(n/2) ; i++ ){ if ( n %"

Similar presentations


Ads by Google