黑马程序员----C语言之函数

本文详细介绍了C语言中的函数概念,包括函数的定义、参数传递方式、返回值处理等核心内容。此外,还讲解了如何合理地组织代码,通过将函数声明放在.h文件中,而函数实现则放在.c文件中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

———Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ———

什么是函数
任何一个C语言程序都是由一个或者多个程序段(小程序)构成的,每个程序段都有自己的功能,我们一般称这些程序段为“函数”。所以,你可以说C语言程序是由函数构成的。
 1.什么情况下定义函数:添加一个常用的新功能,将一个常用的功能封装起来,方便以后调用
 2.函数的定义格式
 返回值类型 函数名(形式参数列表)
 {
    函数体
 }

3.定义函数的步骤  1> 根据函数的作用,起一个有意义的名称  2> 确定函数的形参个数  3> 确定函数的返回值 参数注意点  1.形式参数:定义函数时函数名后面中的参数,简称形参  2.实际参数:调用函数式传入的具体数据,简称实参  3.实参个数必须等于形参个数  4.函数体内部不能定义和形参一样的变量  5.如果是基本数据类型作为函数形参,纯粹是值传递,修改函数内部形参的值,并不会影响外面实参的值  6.一个函数可以没有形参,也可以有无限多个形参 注意:     函数体内部不能定义和形参一样的变量   return的作用:  1> 退出函数  2> 返回一个具体值给函数调用者  返回值注意点  1> void代表没有返回值  2> 如果没有明确说明返回值类型,默认是返回int类型 回值:0,正常退出;1,异常退出  3> 就算明确声明了返回值类型,也可以不返回任何值  定义函数时需要注意: 1.默认情况下,不允许有函数的名称一样  2.函数不能嵌套定义  3.函数不能重复定义,但是可以重复声明  4.如果有函数的声明,没有函数的定义  1> 编译可以通过,因为编译器只会检测语法合不合理,并不会检测函数有没有定义  2> 链接报错,因为链接的时候会检测函数是否定义  include  1> 作用:拷贝右边文件的所有内容到#include所在的位置  2> 自定义的文件用"",系统自带的文件用<>  3> #include <stdio.h>的目的:拷贝printf函数的声明

#include <stdio.h>
int main()
{
printf("哈哈哈\n");
#include "haha/abc.txt" // 会在当前路径下找到abc.txt文件,并输出里边的内容
}

.h文件和.c文件的分工
一个文件的内容太多,不利于阅读、调试
公司里面是团队合作,多人修改同一个文件出问题,因此把函数抽取出来放到单独的文件中,并且要注意
1.函数的定义放.c文件,函数的声明放.h文件
2.如果要使用某个.c文件中定义的函数,只需要#include这个.c文件对应的.h文件
3..h文件的作用:被别人拷贝。编译链接的时候不需要管.h文件
4.cc xx.o xxx.o 将多个目标文件链接在一起
  cc xx.c xxx.c 将多个源文件编译、链接

链接:把项目中所有相关联的.o目标文件、C语言函数库合并在一起,生成可执行文件 // \n是一个转义字符     // \t tab     // \" 一个双引号     // printf函数返回的字符串常量的字符数,并不是字数     // 1个汉字占据3个字符     int e = printf("h\"\ta\n"); 函数的补充 main函数 返回值:0,正常退出;1,异常退出 printf函数 返回值:字符串的长度

内容概要:本文档详细介绍了基于MATLAB实现多目标差分进化(MODE)算法进行无人机三维路径规划的项目实例。项目旨在提升无人机在复杂三维环境中路径规划的精度、实时性、多目标协调处理能力、障碍物避让能力和路径平滑性。通过引入多目标差分进化算法,项目解决了传统路径规划算法在动态环境和多目标优化中的不足,实现了路径长度、飞行安全距离、能耗等多个目标的协调优化。文档涵盖了环境建模、路径编码、多目标优化策略、障碍物检测与避让、路径平滑处理等关键技术模块,并提供了部分MATLAB代码示例。 适合人群:具备一定编程基础,对无人机路径规划和多目标优化算法感兴趣的科研人员、工程师和研究生。 使用场景及目标:①适用于无人机在军事侦察、环境监测、灾害救援、物流运输、城市管理等领域的三维路径规划;②通过多目标差分进化算法,优化路径长度、飞行安全距离、能耗等多目标,提升无人机任务执行效率和安全性;③解决动态环境变化、实时路径调整和复杂障碍物避让等问题。 其他说明:项目采用模块化设计,便于集成不同的优化目标和动态环境因素,支持后续算法升级与功能扩展。通过系统实现和仿真实验验证,项目不仅提升了理论研究的实用价值,还为无人机智能自主飞行提供了技术基础。文档提供了详细的代码示例,有助于读者深入理解和实践该项目。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值