当前位置: 首页 > ds >正文

C++ 函数类型及实用例题

请各位大佬一键三连支持一下

目录

请各位大佬一键三连支持一下

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++函数的使用。

http://www.xdnf.cn/news/4989.html

相关文章:

  • 前端如何处理精度丢失问题
  • 影响服务器性能的主要因素是什么
  • 量子通信技术及其在信息安全中的应用:开启无条件安全通信的新时代
  • 【Python】pyinstaller 反编译 exe
  • 手撕基于AMQP协议的简易消息队列-4(项目需求分析)
  • 现代健康养生新范式:多维度守护身心活力
  • TypeScript 中,属性修饰符
  • pytest自动化测试框架搭建,并生成allure测试报告
  • 【C语言干货】一维数组传参本质
  • 如何用LOTO示波器测量变压器带宽?
  • 一篇文章讲清楚mysql的聚簇索引、非聚簇索引、辅助索引
  • BGA底部填充胶固化异常延迟或不固化原因分析及解决方案
  • 垃圾回收的三色标记算法
  • <el-cascader中多选多层级点击节点也选中
  • Harmonyos-属性修改器和更新器
  • 低代码云MES、轻量级部署、让智造更简单
  • 探索大语言模型(LLM):词袋法(Bag of Words)原理与实现
  • 参考文献怎么对齐操作
  • Python 基础知识
  • 网络流量分析 | Snort
  • LeetCode 216.组合总和 III:回溯算法实现与剪枝优化
  • SpringBoot快速入门WebSocket(​​JSR-356附Demo源码)
  • 为何Google广告频繁拒登?常见原因与解决方法
  • 图表制作-折线图堆叠
  • 允许别的电脑连接我电脑wsl下5001、5002端口
  • 枚举 · 例13-【模板】双指针
  • 《Scala基础》
  • DeepSeek 赋能金融:从智能分析到高效服务的全链路革新
  • WHAT - react-query(TanStack Query) vs swr 请求
  • VUE——自定义指令