函数
函数是可重用的代码块,用于执行特定任务。
返回类型 函数名(参数列表) { // 函数体 return 返回值;}// 无参数,无返回值void sayHello() { cout << "Hello!" << endl;}
// 有参数,有返回值int add(int a, int b) { return a + b;}
// 调用函数int main() { sayHello(); int result = add(3, 5); cout << "3 + 5 = " << result << endl; return 0;}void changeValue(int x) { x = 100; // 只改变局部变量}
int main() { int num = 10; changeValue(num); cout << num << endl; // 输出:10(没有改变) return 0;}void changeValue(int &x) { x = 100; // 改变了原始变量}
int main() { int num = 10; changeValue(num); cout << num << endl; // 输出:100(改变了) return 0;}int add(int a, int b) { return a + b;}
double add(double a, double b) { return a + b;}
int main() { cout << add(3, 5) << endl; // 调用 int 版本 cout << add(3.5, 2.5) << endl; // 调用 double 版本 return 0;}void printMessage(string msg, int times = 1) { for (int i = 0; i < times; i++) { cout << msg << endl; }}
int main() { printMessage("Hello"); // 输出一次 printMessage("Hello", 3); // 输出三次 return 0;}// 计算阶乘int factorial(int n) { if (n <= 1) return 1; return n * factorial(n - 1);}
// 计算斐波那契数列int fibonacci(int n) { if (n <= 1) return n; return fibonacci(n - 1) + fibonacci(n - 2);}
int main() { cout << "5! = " << factorial(5) << endl; // 输出:120 cout << "fib(10) = " << fibonacci(10) << endl; // 输出:55 return 0;}#include <cmath>
int main() { cout << abs(-5) << endl; // 绝对值:5 cout << sqrt(16) << endl; // 平方根:4 cout << pow(2, 3) << endl; // 幂:8 cout << max(3, 5) << endl; // 最大值:5 cout << min(3, 5) << endl; // 最小值:3 return 0;}#include <string>#include <algorithm>
int main() { string s = "Hello";
cout << s.length() << endl; // 长度:5 cout << s.substr(0, 3) << endl; // 子串:Hel
// 转换为大写 transform(s.begin(), s.end(), s.begin(), ::toupper); cout << s << endl; // 输出:HELLO
return 0;}- 函数名应该描述函数的功能
- 每个函数只做一件事
- 函数不宜过长,保持在 20 行以内
- 使用有意义的参数名
- 在函数前写注释说明功能