c语言 第五章上:函数(持续更新中……)
函数1.降低程序的耦合性关联度减少重复代码。2.让程序模块化增强代码的复用性。1.函数定义函数的具体实现返回值 函数名形参表{函数体}返回值类型说明符int、char...等基本数据类型、构造数据类型、void返回函数最终结果void空类型当函数执行完不需要有任何结果返回时可以使用void类型的返回值函数名标识符遵循标识符的命名规则见名知意strcpy ——string copy动宾 ——get_max_val();print_star(); show_menu();形参表函数执行过程中需要用到的条件形式数据类型 形参名数据类型 形参名数据类型 形参名,...2.函数的调用函数名(实参表);实参表传递给函数的具体的条件值1值2值3...【注意】1.实参的个数和形参的个数必须一致2.实参和形参数据类型要一致或者要相兼容3.实参和形参名字可以相同也可以不相同4.函数不被调用则不执行调用几次则执行几次函数名(实参表); ——表达式的结果是函数的返回值类型当函数的返回值有一个明确的返回类型时必须要return如果不return系统会返回一个随机值。 void返回值类型时可以不return或者直接写return主调函数调用函数的函数称为主调函数main被调函数被调用的函数3.函数的声明声明1.当被调函数定义在了主调函数的后边编译器报“implicit declaration” 可以将该该函数在主调函数前边进行声明。2.多文件使用函数的时候需要对其声明允许被其他文件调用语法返回值 函数名形参表4.函数的调用过程函数在调用的时候存在保护现场和恢复现场的操作保护现场当函数要被调用的时候会将函数调用位置的下一条指令地址保存在栈空间恢复现场当被调函数执行完时通过出栈保护现场的地址决定cpu继续执行的位置在函数被调用的 下一条指令位置。5.函数的传参1. 函数传参过程其实是实参向形参拷贝的过程实参有实参的空间形参有形参的空间值传递。2.值传递在被调函数中无法修改主调函数中的变量。3.函数传参的顺序自右向左。6.函数的递归调用递归调用函数直接或者间接的调用自己本质循环方式【注意】1.递归要有递归的出口否则会成为死循环。2.递归调用系统开销比循环大比如栈内存。【练习】封装一个函数判断数字能否被3整除真1假0。【练习】封装一个函数判断平年闰年。【练习】封装一个函数打印出1900—2026所有闰年。【练习】封装一个函数输出某年某月的天数。【练习】封装一个函数判断是否为素数。【练习】用递归调用求123……100的和。【练习】用递归调用求阶乘。【练习】用递归调用求斐波那契数列的第n项。1 1 2 3 5 8 ……

相关新闻

机器学习入门实战:从波士顿房价预测掌握线性回归全流程

机器学习入门实战:从波士顿房价预测掌握线性回归全流程

1. 从“Hello World”到“Hello House”:为什么波士顿房价预测是机器学习的经典起点如果你刚开始接触机器学习,或者想找一个项目来验证自己学到的理论,那么“波士顿房价预测”这个案例,几乎会出现在所有教程和书籍的推荐列表里。我…

2026/8/2 17:23:07 阅读更多 →
【单片机毕设案例分享】带 LED 状态指示的单片机 NRF24L01 四路无线继电器系统 基于 NRF24L01 的单片机无线独立四路负载控制系统开发(020701)

【单片机毕设案例分享】带 LED 状态指示的单片机 NRF24L01 四路无线继电器系统 基于 NRF24L01 的单片机无线独立四路负载控制系统开发(020701)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于单片机,STM32单片机,51单片机,J…

2026/8/2 17:23:06 阅读更多 →
模型预测控制参数设计:从调参到系统化工程实践

模型预测控制参数设计:从调参到系统化工程实践

1. 从“调参”到“设计”:MPC参数背后的工程哲学 每次和做控制的同行聊起模型预测控制,大家最常挂在嘴边的一个词就是“调参”。好像MPC就是一个黑盒子,把一堆参数丢进去,然后开始漫长的试错,直到系统“看起来”能跑起…

2026/8/2 17:22:06 阅读更多 →

最新新闻

单片机毕设选题推荐:声光预警型土壤湿度自动补水单片机控制系统设计 基于 STM32/51 单片机的双模式农田湿度灌溉监测平台搭建(020601)

单片机毕设选题推荐:声光预警型土壤湿度自动补水单片机控制系统设计 基于 STM32/51 单片机的双模式农田湿度灌溉监测平台搭建(020601)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/8/2 21:39:07 阅读更多 →
单片机毕设选题推荐:基于 MQ-3 传感器的单片机车载防酒驾智能控制系统设计 具备掉电保存功能的酒精浓度监测报警装置毕业设计(020501)

单片机毕设选题推荐:基于 MQ-3 传感器的单片机车载防酒驾智能控制系统设计 具备掉电保存功能的酒精浓度监测报警装置毕业设计(020501)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/8/2 21:39:07 阅读更多 →
C++模板元编程:非类型参数偏特化的三大核心规则与实战验证

C++模板元编程:非类型参数偏特化的三大核心规则与实战验证

1. 项目概述&#xff1a;从“能用”到“精妙”的模板元编程跃迁如果你已经写过一些C模板&#xff0c;比如简单的std::vector<T>或者自己定义的MyContainer<T>&#xff0c;那你已经踏入了泛型编程的大门。但当你开始尝试用模板去做一些更“聪明”的事情&#xff0c;…

2026/8/2 21:39:07 阅读更多 →
LaTeX双栏排版:跨双栏图表实现方法与最佳实践

LaTeX双栏排版:跨双栏图表实现方法与最佳实践

1. 从一次投稿被拒说起&#xff1a;为什么需要跨双栏&#xff1f; 前阵子帮一个朋友审阅他投给某期刊的论文初稿&#xff0c;编辑反馈回来的一个主要格式问题就是“图表排版不当”。具体来说&#xff0c;他论文里有一张大尺寸的对比数据表格和一张复杂的系统架构图&#xff0c;…

2026/8/2 21:39:07 阅读更多 →
抖音无水印下载工具终极指南:从零到精通的完整教程

抖音无水印下载工具终极指南:从零到精通的完整教程

抖音无水印下载工具终极指南&#xff1a;从零到精通的完整教程 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support.…

2026/8/2 21:39:07 阅读更多 →
3个理由告诉你:为什么GrapesJS能让你告别代码,轻松构建专业网页

3个理由告诉你:为什么GrapesJS能让你告别代码,轻松构建专业网页

3个理由告诉你&#xff1a;为什么GrapesJS能让你告别代码&#xff0c;轻松构建专业网页 【免费下载链接】grapesjs Free and Open source Web Builder Framework. Next generation tool for building templates without coding 项目地址: https://gitcode.com/GitHub_Trendin…

2026/8/2 21:38:07 阅读更多 →

日新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流&#xff1a;一个核心问题的诞生想象一下&#xff0c;你是一个城市供水系统的总工程师。你的城市有多个水源&#xff08;水库&#xff09;&#xff0c;需要通过一个复杂的地下管道网络&#xff0c;将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/2 0:00:38 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示&#xff1a;本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/2 0:00:38 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起&#xff1a;为什么我们需要互相关几年前&#xff0c;我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号&#xff0c;理论上它们接收到的声音波形应该非常相似&#xff0c;只是由于麦克风位置不同&#xff…

2026/8/2 0:00:38 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流&#xff1a;一个核心问题的诞生想象一下&#xff0c;你是一个城市供水系统的总工程师。你的城市有多个水源&#xff08;水库&#xff09;&#xff0c;需要通过一个复杂的地下管道网络&#xff0c;将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/2 0:00:38 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示&#xff1a;本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/2 0:00:38 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起&#xff1a;为什么我们需要互相关几年前&#xff0c;我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号&#xff0c;理论上它们接收到的声音波形应该非常相似&#xff0c;只是由于麦克风位置不同&#xff…

2026/8/2 0:00:38 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速&#xff1a;macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/2 6:34:16 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南&#xff1a;3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗&#xff1f;ncmdump解密工具帮你轻松解决这个困…

2026/8/2 2:47:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片&#xff1a;为英语学习 App 打造桌面级学习助手适用平台&#xff1a;HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0&#xff08;API 26 Beta&#xff09;新增了 AgentCard 智能体卡片能力&#xff0c;这是继 HMAF&#xff08;鸿蒙智能体框架&#x…

2026/8/2 0:23:22 阅读更多 →