Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to C Programming Lecture 6. Functions – Call by value – Call by reference Arrays Today's Lecture Includes.

Similar presentations


Presentation on theme: "Introduction to C Programming Lecture 6. Functions – Call by value – Call by reference Arrays Today's Lecture Includes."— Presentation transcript:

1 Introduction to C Programming Lecture 6

2 Functions – Call by value – Call by reference Arrays Today's Lecture Includes

3 A function in which original value of the variable is changed To call by reference we cannot pass value, we have to pass memory address of variable “&” is used to take the address of a variable Call by Reference

4 main ( ) { double x = 123.456 ; square ( x ) ; } Example: Call by Reference square ( double& y ) { y = y * y ; y = y * y ;} Passing arguments by using pointers

5 There are two issues inside a computer Memory overhead Stack overhead Management Issues of Computer

6 Elegant code where price is not too high Efficient code where price is too high Programming Options

7 ARRAYS Student’s age program

8 They are special kind of data type They are like data structures in which identical data types are stored In C each array has – name – data type – size They occupy continuous area of memory Arrays

9 Storage of an array in memory C[0] C[1] C[2] C[3] C[4] C[5] C[6] C[7] C[8] C[9] Name... 35 59 24... memory Index

10 arrayType arrayName[numberOfElements ]; For example, int age [ 10 ] ; More than one array can be declared on a line int age [10], height [10], names [20] ; Mix declaration of variables with declaration of arrays int i, j, age [10] ; Declaration of Arrays

11 Array name e.g. age index number age [ 4 ] Referring to Array Elements

12 for ( i = 0 ; i < 10 ; i ++ ) { cin >> age [ i ] ; } Example1: Using Arrays

13 totalAge = 0 ; for ( i = 0 ; i < 10 ; i ++ ) { totalAge + = age [ i ] ; } Example 2

14 int age [ 10 ] ; for ( i = 0 ; i < 10 ; i ++ ) { age [ i ] = 0 ; } Initializing an Array

15 int age [ 10 ] = { 0,0,0,0,0,0,0,0,0,0 } ; int age[ 10 ] = { 0 } ; Test it: Should it work ?

16 int age [ ] = { 1,2,3,4,5,6,7,8,9,10 } ; for ( i = 0 ; i < 10 ; i ++ ) Initializing an Array ‘ i ‘ will have value from 0 to 9

17 #include main ( ) { int c [ 100 ] ; } Example: 3

18 do { int z, i = 0 ; cin >> z ; if ( z != -1 ) c[ i ] = z ; Example: 3 assignment statement

19 i ++ ; } while ( z != -1 && i < 100 ) ; cout << “ The total number of positive integers entered by user is “ << i -1; Example 3

20 – Data types should be identical – Size should be same int a [ 10 ] ; int b [ 10 ] ; Copying Arrays

21 To copy from array “ a ” to array “ b ” : b [ 0 ] = a [ 0 ] ; b [ 1 ] = a [ 1 ] ; b [ 2 ] = a [ 2 ] ; b [ 3 ] = a [ 3 ] ; … … … b [ 10 ] = a [ 10 ] ; Copying Arrays

22 for ( i =0 ; i < 10 ; i ++ ) b [ i ] = a [ i ] ; Copying Arrays

23 Take the sum of squares of 10 different numbers which are stored in an array int a [ 10 ] ; int arraySize =10 ; int sumOfSquares = 0 ; for ( i = 0 ; i < arraySize ; i ++ ) { sumOfSquares = sumOfSquares + a [ i ] * a [ i ] ; } Example: 4

24 int z ; int a [ 100 ] ; for ( i = 0 ; i < 100 ; i ++ ) { a [ i ] = i ; } cout << “ Please enter a positive integer “ ; cin >> z ; int found = 0 ; Example 5

25 for ( i =0 ; i < 100 ; i ++ ) { if ( z == a [ i ] ) { found = 1 ; break ; } } Example 5

26 if ( found == 1 ) cout << “ We found the integer at position ” << i ; else cout << “ The number was not found” ; Example 5

27 # include 0 - 32767 rand ( )

28 x = rand ( ) ; A call goes to ” rand ( ) “, it generates a number and returns to x Calling rand ( )

29 It returns the remainder rand ( ) % 6 = ? Result has to be between 0 and 5 inclusive 1 + rand ( ) % 6 It will randomly generate number between 1 and 6 Modulus “ % ”

30 If a die is rolled 10/100 million of time, then on average equal number of 1’s,equal number of 2’s, equal number of 3’s etc. will be generated Fair Die

31 It has only two possibilities 0 / 1 rand ( ) % 2 ; Example: Tossing a Coin

32 It is shipped in every standard library with compiler Most major programming languages give some kind of random number generator as a function as part of library Writing a random number generator is itself a field Importance of rand ( )

33 data type name size Array Declaration

34 const

35 const int arraySize = 100 ; It creates an identifier “ arraySize ” and assigns a value 100. This is called integer constant. It is not a variable Its value cannot be changed const

36 Today we studied Functions Arrays

37 For Next Time Passing structures and arrays to functions Default arguments and inline functions Returning structure variables, passing structures by reference, overloaded functions Arrays in depth, and Intro to Strings


Download ppt "Introduction to C Programming Lecture 6. Functions – Call by value – Call by reference Arrays Today's Lecture Includes."

Similar presentations


Ads by Google