函数是C言语中的核心不雅点之一,它将代码剖析成可重用的模块,进步了顺序的可读性跟可保护性。在C言语中,函数可能实现各种功能,从简单的数学运算到复杂的算法实现。
函数定义包含函数头跟函数体。函数头包含前去范例、函数名、参数列表。函数体包含履行操纵的代码。
// 示例:打算两个整数的跟
int add(int a, int b) {
return a + b;
}
函数申明告诉编译器函数的存在,包含函数名、前去范例跟参数列表。在挪用函数之前,须要进步行申明。
// 函数申明
int add(int a, int b);
传值是将现实参数的值复制到函数的部分变量中。在函数外部对参数的修改不会影响现实参数。
传址是将现实参数的地点转达给函数。在函数外部可能经由过程指针修改现实参数的值。
// 示例:交换两个整数的值
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
递归函数是自挪用函数,它在一个函数体内直接或直接地挪用本身。递归函数在处理一些存在递归特点的成绩时非常有效。
// 示例:打算阶乘
int factorial(int n) {
if (n == 0)
return 1;
else
return n * factorial(n - 1);
}
函数的参数是转达给函数的数据,前去值是函数履行后前去的成果。函数的参数跟前去值可能是基本数据范例或指针。
以下是一些常用的C言语函数:
在这个项目中,我们将实现一个简单的打算器,它可能履行加、减、乘、除四种基本运算。
// 示例:简单的打算器顺序
#include <stdio.h>
int main() {
char operator;
double num1, num2, result;
printf("Enter an operator (+, -, *, /): ");
scanf(" %c", &operator);
printf("Enter two operands: ");
scanf("%lf %lf", &num1, &num2);
switch (operator) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
if (num2 != 0.0)
result = num1 / num2;
else
printf("Error! Division by zero.\n");
break;
default:
printf("Error! Invalid operator.\n");
return 1;
}
printf("The result is: %lf", result);
return 0;
}
经由过程本文的进修,你应当曾经控制了C言语函数的基本不雅点、分类、定义、申明、参数转达、递归以及常用函数。在接上去的进修中,倡议你多停止现实,实验本人编写函数,并逐步进步编程程度。