c语言函数调用例子

  • 格式:docx
  • 大小:4.63 KB
  • 文档页数:10

c语言函数调用例子

函数调用是C语言中常用的一种语法结构,通过函数调用可以实现代码的模块化和复用。下面列举了十个不同的C语言函数调用的例子,以展示函数调用的不同用法和特点。

1. 系统库函数的调用

系统库函数是C语言提供的一些常用函数,可以直接调用来完成一些常见的操作。例如,可以使用printf函数来输出字符串到标准输出:

```c

#include

int main() {

printf("Hello, World!\n");

return 0;

}

```

2. 自定义函数的调用

除了系统库函数,我们也可以自己定义函数来实现特定的功能。例如,可以定义一个函数来计算两个整数的和,并在主函数中调用该函数:

```c

#include

int add(int a, int b) {

return a + b;

}

int main() {

int a = 3, b = 5;

int sum = add(a, b);

printf("The sum of %d and %d is %d\n", a, b, sum);

return 0;

}

```

3. 函数的递归调用

递归是一种函数调用自身的方法,可以解决一些需要重复执行的问题。例如,可以使用递归函数来计算斐波那契数列的第n项:

```c

#include

int fibonacci(int n) {

if (n <= 1) { return n;

} else {

return fibonacci(n - 1) + fibonacci(n - 2);

}

}

int main() {

int n = 10;

int result = fibonacci(n);

printf("The %dth Fibonacci number is %d\n", n, result);

return 0;

}

```

4. 函数的多次调用

一个函数可以被多次调用,每次调用可以传入不同的参数。例如,可以定义一个函数来计算两个整数的乘积,并在主函数中多次调用该函数:

```c

#include

int multiply(int a, int b) {

return a * b; }

int main() {

int a = 3, b = 5;

int result1 = multiply(a, b);

int result2 = multiply(2, 4);

printf("The product of %d and %d is %d\n", a, b, result1);

printf("The product of %d and %d is %d\n", 2, 4, result2);

return 0;

}

```

5. 函数的嵌套调用

一个函数可以在另一个函数中调用,形成函数的嵌套调用。例如,可以定义一个函数来计算两个整数的平方和,并在主函数中调用该函数:

```c

#include

int square(int n) {

return n * n;

}

int sum_of_squares(int a, int b) {

return square(a) + square(b);

}

int main() {

int a = 3, b = 5;

int result = sum_of_squares(a, b);

printf("The sum of squares of %d and %d is %d\n", a, b,

result);

return 0;

}

```

6. 函数指针的调用

函数指针是指向函数的指针变量,可以通过函数指针来调用函数。例如,可以定义一个函数指针来指向一个函数,并通过函数指针调用该函数:

```c

#include

int add(int a, int b) {

return a + b;

}

int main() {

int (*func_ptr)(int, int);

func_ptr = add;

int result = func_ptr(3, 5);

printf("The sum of 3 and 5 is %d\n", result);

return 0;

}

```

7. 函数的参数传递

函数的参数可以通过值传递、指针传递或引用传递的方式进行传递。例如,可以定义一个函数来交换两个整数的值,并在主函数中调用该函数:

```c

#include

void swap(int *a, int *b) {

int temp = *a;

*a = *b;

*b = temp;

}

int main() {

int a = 3, b = 5;

printf("Before swapping: a = %d, b = %d\n", a, b);

swap(&a, &b);

printf("After swapping: a = %d, b = %d\n", a, b);

return 0;

}

```

8. 函数的返回值

函数可以返回一个值,也可以不返回任何值。例如,可以定义一个函数来判断一个整数是否为奇数,并在主函数中调用该函数:

```c

#include

int is_odd(int n) {

if (n % 2 == 1) {

return 1;

} else {

return 0;

}

}

int main() {

int n = 5;

if (is_odd(n)) {

printf("%d is odd\n", n);

} else {

printf("%d is even\n", n);

}

return 0;

}

```

9. 函数的默认参数

C语言中的函数不支持默认参数的概念,但可以通过函数重载来实现类似的功能。例如,可以定义多个同名的函数,但参数个数不同,从而实现默认参数的效果:

```c

#include

int add(int a, int b) {

return a + b;

}

int add(int a, int b, int c) { return a + b + c;

}

int main() {

int result1 = add(3, 5);

int result2 = add(3, 5, 7);

printf("The sum of 3 and 5 is %d\n", result1);

printf("The sum of 3, 5 and 7 is %d\n", result2);

return 0;

}

```

10. 函数的重载

C语言不支持函数的重载,即同名函数的参数列表不能相同。但可以通过宏定义来实现类似的效果。例如,可以使用宏定义来定义多个同名的函数,从而实现函数重载的效果:

```c

#include

#define add(a, b) ((a) + (b))

#define add(a, b, c) ((a) + (b) + (c))

int main() { int result1 = add(3, 5);

int result2 = add(3, 5, 7);

printf("The sum of 3 and 5 is %d\n", result1);

printf("The sum of 3, 5 and 7 is %d\n", result2);

return 0;

}

```

以上是十个不同的C语言函数调用的例子,通过这些例子可以看到函数调用在C语言中的多样性和灵活性。函数调用是C语言中非常重要的概念,掌握好函数调用的用法和特点对于编写高质量的C程序至关重要。希望这些例子能够帮助你更好地理解和应用函数调用。