请各位大佬一键三连支持一下
目录
请各位大佬一键三连支持一下
1. 无参数无返回值函数
2. 有参数无返回值函数
3. 无参数有返回值函数
4. 有参数有返回值函数
5. 函数重载
6. 递归函数
7. 带默认参数的函数
8. 内联函数
下面我将介绍 C++ 中不同类型的函数,并为每种类型提供实用的例题和解答。
1. 无参数无返回值函数
cpp
#include <iostream>
using namespace std;// 函数声明
void greet();int main() {greet(); // 函数调用return 0;
}// 函数定义
void greet() {cout << "欢迎使用本程序!" << endl;
}
例题:编写一个函数,打印一个由星号(*)组成的 5x5 正方形。
cpp
void printSquare() {for(int i = 0; i < 5; i++) {for(int j = 0; j < 5; j++) {cout << "* ";}cout << endl;}
}
2. 有参数无返回值函数
cpp
void printTable(int num) {for(int i = 1; i <= 10; i++) {cout << num << " x " << i << " = " << num*i << endl;}
}int main() {printTable(5); // 打印5的乘法表return 0;
}
例题:编写一个函数,接收一个整数n,打印n行的金字塔图案。
cpp
void printPyramid(int n) {for(int i = 1; i <= n; i++) {// 打印空格for(int j = 1; j <= n-i; j++) {cout << " ";}// 打印星号for(int k = 1; k <= 2*i-1; k++) {cout << "*";}cout << endl;}
}
3. 无参数有返回值函数
cpp
int getRandomNumber() {return rand() % 100; // 返回0-99的随机数
}int main() {int num = getRandomNumber();cout << "随机数: " << num << endl;return 0;
}
例题:编写一个函数,返回当前系统时间的小时数。
cpp
#include <ctime>int getCurrentHour() {time_t now = time(0);tm *ltm = localtime(&now);return ltm->tm_hour;
}
4. 有参数有返回值函数
cpp
int max(int a, int b) {return a > b ? a : b;
}int main() {cout << "较大的数是: " << max(10, 20) << endl;return 0;
}
例题:编写一个函数,计算两个数的最大公约数(GCD)。
cpp
int gcd(int a, int b) {while(b != 0) {int temp = b;b = a % b;a = temp;}return a;
}
5. 函数重载
cpp
// 计算整数的平方
int square(int x) {return x * x;
}// 计算浮点数的平方
double square(double x) {return x * x;
}int main() {cout << "整数的平方: " << square(5) << endl;cout << "浮点数的平方: " << square(5.5) << endl;return 0;
}
例题:重载函数计算面积,分别处理圆形、矩形和三角形。
cpp
const double PI = 3.14159;// 圆形面积
double area(double radius) {return PI * radius * radius;
}// 矩形面积
double area(double length, double width) {return length * width;
}// 三角形面积
double area(double base, double height, char) {return 0.5 * base * height;
}
6. 递归函数
cpp
int factorial(int n) {if(n <= 1) return 1;return n * factorial(n-1);
}int main() {cout << "5的阶乘是: " << factorial(5) << endl;return 0;
}
例题:编写递归函数计算斐波那契数列的第n项。
cpp
int fibonacci(int n) {if(n <= 1) return n;return fibonacci(n-1) + fibonacci(n-2);
}
7. 带默认参数的函数
cpp
void printInfo(string name, int age = 18, string country = "中国") {cout << "姓名: " << name << endl;cout << "年龄: " << age << endl;cout << "国家: " << country << endl;
}int main() {printInfo("张三"); // 使用默认年龄和国家printInfo("李四", 25); // 使用默认国家printInfo("王五", 30, "美国"); // 不使用任何默认值return 0;
}
例题:编写计算幂的函数,默认指数为2。
cpp
double power(double base, int exponent = 2) {double result = 1.0;for(int i = 0; i < exponent; i++) {result *= base;}return result;
}
8. 内联函数
cpp
inline int cube(int x) {return x * x * x;
}int main() {cout << "3的立方是: " << cube(3) << endl;return 0;
}
例题:编写内联函数判断一个数是否为偶数。
cpp
inline bool isEven(int num) {return num % 2 == 0;
}
这些例题涵盖了C++函数的主要类型和用法,通过练习这些例题,你可以更好地理解和掌握C++函数的使用。