C语言函数定义,声明,调用,递归

函数
在这里插入图片描述
为什么需要函数:
·避免了重复性操作。
·有利于程序的模块化。
(自上而下,逐步细化,大问题分解成小问题)
用它作为参照,可以对比 JAVA 和C#面向对象的思想。
C语言基本单位是函数,C#、C++和JAVA基本单位是类。
什么叫做函数
在这里插入图片描述
·逻辑上:能够完成特定功能的独立的代码块。
物理上:能够接收数据【也可以不接收数据】,能够对接收的数据进行处理【也可以不对数据进行处理】,能够将数据处理的结果返【也可以没有返回值】。
·总结:
函数是个工具,他是为了解决大量类似问题而设计的,函数可以当做黑匣子(内部原理不用管)。
定义函数
函数的返回值,函数的名字(函数的形参列表)
{
函数的执行体
}
·函数定义的本质:详细描述函数之所以能够实现某个特定功能的具体方法。
函数中的变量叫做形参;数组中的变量叫元素。
一旦函数执行完毕,其内部的形参所占空间就被收回。
·return表达式的含义:
Return是终止被调函数,向主调函数返回表达式的值,如果表达式为空,则只终止函数,不向被主函数返回任何值。
在这里插入图片描述
Break是用来终止(就近的)循环和switch语句。而return是用来终止被调函数的。
在这里插入图片描述
在这里插入图片描述
函数返回值的类型,也称为函数的类型,因为如果函数名前的返回值类型和函数执行体中的return表达式中表达式的类型不同的话,则最终函数返回值的类型以函数名前的返回值类型为准。
例:
在这里插入图片描述
在上图中,函数的返回值以函数前的数值类型为准。
函数的分类
·有参函数和无参函数。
·有返回值和无返回值。
·库函数和用户自定义函数。
·普通函数和主函数(main函数)
1:一个程序有且只有一个主函数。
2:主函数可以调用普通函数,普通不能调用主函数。
3:普通函数可以相互调用。
4:主函数是程序的入口,也是函数的出口。
5:值传递函数和地址传递函数。
在这里插入图片描述
判断一个数是否是素数:
在这里插入图片描述
函数和程序的调用应该注意的地方:
在这里插入图片描述
在这里插入图片描述
当函数没有返回值时,那么规范的写法是要在函数中写明void的。
在上图中,第一个void表示没有返回值,而第二个void表示不接收形参,也就是函数不接收数据。
如果想把函数写在程序的后面,那么需要写函数声明:
在这里插入图片描述
函数声明的含义是告诉编译器f()是个函数名。如果不加函数声明,那么编译器在编译到f的时候,不知道f是个什么,如果加了函数声明,那么编译器编译到f的时候,就知道f是个函数。
·需要注意的是,调用语句需要放在定义语句的后面,也就是说,定义函数的语句要放在调用语句的前面。
如果函数调用写在了函数定义的前面,则必须加函数前置声明,函数前置声明的作用是:
1:告诉编译器即将可能出现的若干个字母代表的是一个函数。“打招呼”
2:告诉编译器即将可能出现的若干个字母所代表的函数的形参和返回值的具体情况。
3:函数声明必须是一个语句,也就是在函数声明后需加分号。
4:对库函数的声明也就是系统函数。是通过#include<库函数所在的文件的名字.h>来实现的。如stdio.h
形参和实参要求:
1:形参和实参个数是一一对应的。
2:形参和实参的位置也是一一对应的。
3:形参和实参的数据类型需要相互兼容。
·如何在软件开发中合理的设计函数来解决实际问题。
在这里插入图片描述

需要C语言基础详细笔记,扫码关注微信公众号 二维码如下 后台回复数字:104291542,就可以获取下载地址了
在这里插入图片描述
如链接失效,后台联系我。

发布了43 篇原创文章 · 获赞 3 · 访问量 1347

猜你喜欢

转载自blog.csdn.net/it_xiangqiang/article/details/104293628
今日推荐