Presentation is loading. Please wait.

Presentation is loading. Please wait.

Functions Examples CSCI N305

Similar presentations


Presentation on theme: "Functions Examples CSCI N305"— Presentation transcript:

1 Functions Examples CSCI N305
Department of Computer and Information Science, School of Science, IUPUI CSCI N305 Functions Examples

2 Simple function in C Writing a function does nothing unless it’s called Calling a function transfers flow of control into the function. When the function returns, flow of control returns back to the caller. #include <stdio.h> void print_message(void) { printf(“CSCI 230 is fun\n”); } int main(void) print_message(); return 0; Output: CSCI 230 is fun

3 Repeatedly calling functions
Now that we have functionality isolated in a function, the function can be reused over and over again. #include <stdio.h> void print_message(void) { printf(“CSCI 230 is fun\n”); } int main(void) print_message(); return 0; Output: CSCI 230 is fun

4 Calling functions from with other control structures
The function can be called from within other control structures. #include <stdio.h> void print_message(void) { printf(“CSCI 230 is fun\n”); } int main(void) int i; for (i = 1; i <= 5; i++) print_message(); return 0; Output: CSCI 230 is fun

5 Functions with input parameters
Parameters are by default input parameters and passed by value. Output: Triangular number 10 is 55 Triangular number 20 is 210 Triangular number 50 is 1275 #include <stdio.h> void calculate_triangular_number(int n) { int i, triangular_number = 0; for (i = 1; i <= n; i++) triangular_number+=i; printf(“Triangular number %d is %d\n”, n, triangular_number); } int main(void) calculate_triangular_number(10); calculate_triangular_number(20); calculate_triangular_number(50); return 0; Calculating a triangular number, that is summing integers 1 to n, is very common in Computer Science. It is easily solved using summations. Do you know how to calculate the sum using a formula instead of looping?

6 Functions can return a single result
Functions can return a single result through the return value. Just specify a return type on the function declaration, and be certain the return a value inside the function. Now, you can call the function inside an expression. #include <stdio.h> int calculate_triangular_number(int n) { int i, triangular_number = 0; for (i = 1; i <= n; i++) triangular_number+=i; return triangular_number; } int main(void) printf(“Triangular number %d is %d\n”, 10, calculate_triangular_number(10)); printf(“Triangular number %d is %d\n”, 20, calculate_triangular_number(20)); printf(“Triangular number %d is %d\n”, 50, calculate_triangular_number(50)); return 0; Output: Triangular number 10 is 55 Triangular number 20 is 210 Triangular number 50 is 1275

7 More Examples: Example 1: … Old style
float mySquare(float); main() { float y; printf(“%f\n”, mySquare(5.0)); } float mySquare(float x) return x*x; float mySquare(x) float x; { return x*x; } Old style Example 2: /* calculate the sum from 1+2+…+n */ int sum(int n) { int i, sum = 0; for (i=1; i<=n; i++) sum += i; return(sum); } main() int j,n; printf(“input value n: “); scanf(“%d”,&n); for (j=1; j<=n; j++) printf(“sum from 1 to %d is %d\n”,j,sum(j));

8 Functional Decomposition
Top-Down Programming, also called functional decomposition, uses functions to hide details of an algorithm inside the function. In the prior example, main called calculate_triangular_number without regards to how the function is implemented. You can write a call to calculate_triangular_number without concerning yourself at that time with the details of operation of that function. All you need to know is that you can develop the function at a later time. The same programming technique that makes programs easier to write also makes programs easier to read. The reader of main can easily see that is it calculating and displaying three triangular numbers. The reader need to sift through all the details of how a triangular number is actually calculated. [Kochan 137]

9 Acknowledgements Some function examples were obtained from Kochan, Programming in C.


Download ppt "Functions Examples CSCI N305"

Similar presentations


Ads by Google