定制网站建设官网,wordpress多个字体大小,大连html5网站建设价格,网站文章内容一键排版功能ʕ • ᴥ • ʔ づ♡ど #x1f389; 欢迎点赞支持#x1f389; 个人主页#xff1a;励志不掉头发的内向程序员#xff1b;
专栏主页#xff1a;C语言基础#xff1b; 文章目录 前言
一、函数的概念
二、库函数
2.1 库函数和头文件
2.2 库函数的使用/… ʕ • ᴥ • ʔ づ♡ど 欢迎点赞支持 个人主页励志不掉头发的内向程序员
专栏主页C语言基础 文章目录 前言
一、函数的概念
二、库函数
2.1 库函数和头文件
2.2 库函数的使用/学习方法
三、自定义函数
3.1 函数的语法形式
3.2 函数的实现
3.3 形参和实参
总结 前言
大家好呀快到端午节啦这里提前对大家说声端午节快乐啊在享受快乐的假期的同时也不要忘记学习呀那么废话少说我们就来进入本章正题函数。说到函数我想大家可能感到不寒而栗想到数学里被函数支配的恐怖但是这里就不用担心因为计算机里的函数不像数学里的那么困难就让我们来了解一下函数是什么吧。 一、函数的概念
函数在数学中我想大家应该都不陌生我们大家在数学方面学习和很多很多函数比如y kxbk和b都是常数在C语言中也引入了函数的概念也有翻译为“子程序”的用子程序的说法更加准确一点C语言中的函数和数学中的函数从逻辑和形式来讲都是极为相似的它用来解决各种不同的特定任务的一小段代码这段代码有着特殊的调用和使用方法。
C语言中函数的存在非常重要C语言本身就是由很多个函数构成的一个大的项目可以分解成很多个小的函数来解决一个可以解决某种特定任务的函数是可以反复使用的这样可以提升开发软件效率。
函数分为两类
1、库函数C语言自带的可以直接使用的函数。
2、自定义函数自己设定的满足我们所需要的功能的函数。 二、库函数 2.1 库函数和头文件
在C语言中其实是没有所谓的库函数的但是C语言的国际标准ANSI C规定了一些常用的函数标准称为标准库然后不同的厂家按照他们的风格习惯和标准库创建出的不同的函数来实现标准库的内容就叫库函数。
像我们所使用的scanf、printf等都是库函数都是库函数是编译器自带的函数。
各种编译器所带的库函数都不相同它们按照不同的功能得用不同的头文件来声明。我们如果想要查看不同的头文件可以去看看C语言官网C 标准库头文件 - cppreference.com有数学相关的、字符相关的、本地化等等我们不要一口吃成胖子我们可以一一学习跟着我逐步击破。 2.2 库函数的使用/学习方法
库函数有很多的查看和学习的工具例如
1.C/C官方库C 标准库头文件 - cppreference.com
2.cplusplusC library - C Reference (cplusplus.com)
可能很多人在看的时候会看不懂因为是2是全英文的那我这里来解释一下库函数文档的一般格式 1.函数原型 2.函数功能介绍 3.参数和返回类型说明 4.代码举例 5.代码输出 6.相关知识链接 例如sqrt函数 我们打开第二个链接如图
我们可以找到sqrt函数在网页上面有搜索或者sqrt在math.h的头文件里自己找一些。 我们可以看到它分为6个部分我们来看看6个部分分别是什么意思。 这个部分就是函数原型这各部分告诉了我们一个库函数应该这么使用。比如这里我们可以看到它括号里的就是要传入的内容要传入一个浮点数sqrt就是接收要用一个浮点数接收。 这里就是功能介绍啦翻译一下就是说返回x的平方根。 这里就是说我们的参数和返回类型参数这里说了要传入一个想要平方根的x如果x是负数就报错。返回类型也差不多返回x的平方根如果x是负数就报错。 这里就是和sqrt类似的库函数啦。
我们已经看完了那就来实际运用一下吧。 这就是一个库函数的使用和学习过程我们一定要学会看上面的字典还有1这个链接是中文的里面的库函数的格式也和2链接的很相同所以小伙伴们就自己尝试一下吧我们接下来学习自定义函数把自定义函数弄懂了可以很有助于我们去学习库函数我们接下来好好看看吧。 三、自定义函数
自定义函数比库函数更加重要它是我们可以自己创造的给了程序员更多的创造性库函数本质上也是自定义函数只是被收录到编译器里可以直接使用罢了但本质上也是人创造的。 3.1 函数的语法形式
其实自定义函数和库函数的结构是一样的。 ret_type fun_name(形式参数) { } ret_type是函数的返回类型表示函数计算结果的类型的有的时候返回类型是void表示什么都不返回 fun_name是函数的名字为了方便函数的使用而取的函数名要尽量让函数名起的有意义 ()小括号里的是函数的形式参数就相当于加工厂的原料函数的参数可以是void明确表示该函数没有参数。如果有参数那就要写清楚参数的类型和名字、以及参数的个数。 {}大括号里的是函数体就是函数完成计算的过程 我想小伙伴们看到这里可能就会疑惑了函数到底是什么该这么用我们该如何创建我们这里来类比一下我们就把函数当作一个加工厂。 这是我们的函数一个基本原理它和加工厂是很像的 我们可以看到我们想要把一个产品加工出来我们首先得要原材料然后要用一定的办法加工最后就会变成我们想要的产品啦函数也是一样的我们如果想要创建一个函数用来完成一个功能我们就要先明白原材料是什么也就是参数然后再用原材料去写入我们的加工方式最后我们便写出了一个函数啦。文字看起来比较枯燥我们来写写看看吧。 3.2 函数的实现
我们接下来来写一个能完成两个变量之间的加法的函数。
int main()
{int a 0;int b 0;scanf(%d %d, a, b);int c Add(a, b);printf(%d, c);return 0;
}
我们先创建两个变量a、b然后再输入自己想要的值然后我们就创建一个Add的函数来满足我们项目的实现很显然我们的这个函数肯定是要有返回值的而且是int返回值所以我们这里就用int c来接收当然这一步我们可以在写完函数时再来写是最好的。接下来我们来看看函数怎么写。
int Add(int a, int b)
{int c a b;return c;
}
这个函数写起来蛮简单的首先我们要知道我们的返回值是什么肯定是int型。 所以这里写的就是返回变量的类型如果没有返回类型那就写void有返回类型就写返回类型就好啦这里就写int我们的原材料也就是参数是a和b所以我们这里就在()里填入a和b就行啦要记住要在前面写上a和b的类型其实这里的a和b不是传过来的a和b这里可能你们听上去很奇怪但它们之间其实只是名字一样而已不是一个东西如果这里把函数的a和b改成m和n也没有问题只要类型不错就行像这样
int Add(int m, int n)
{int c m n;return c;
}
这个和上面的结果都是一样的这涉及到形式参数和实际参数的问题我下面会讲这里就先不管这么多。然后我们就来实现功能啦{}里的就是函数实现的功能我们要实现两个变量的相加我们就可以用我们的先相加然后再讲相加的结果传输回去当然也可以这样写
int Add(int a, int b)
{return a b;
}
这样我们就实现了一个函数的创建。来看看结果吧。 当然我们刚刚说了不是所有的函数都有需要返回值的所以我们这里就再来实现一个输出函数的实现。
例如我想实现一个可以打印呵呵的函数这么实现。
这里很显然我们不需要任何的返回值所以返回值的地方我们就写void 在这里我们也不需要任何的参数所以我们可以就放个()里面什么都不写当然也可以在()里写void明确表明这里不需要参数 然后我们在{}里实现我们的函数
void Print(void)
{printf(呵呵\n);
}
这就是我们最终的结果啦我们来用一下这个函数看看像这样使用。
int main()
{Print();return 0;
} 这就是我们最终的实现效果。 3.3 形参和实参
实参就是指实际参数我们在设计函数时把要传入给函数的变量叫做实际参数。 形参就是指形式参数我们设计的函数名后面的参数就是形参。 形参是形式参数的原因是因为我们程序在运行的时候在函数调用的时候形参是没有被创建的也就说在函数没有被调用之前形参是不存在的。
形参和实参有什么区别它们是两个不同的个体只是值刚好相同而已就好比我们上面的实参a和形参a它们就完全不是一个a可能在日常生活中会有两个同名的人而且岁数也一样大但是你不能说它们是一样的我们可以来看看它们在内存中的地址。 我们可以看到当a和b在主程序时是一个地址但是当它们到子程序时又是另外一个地址啦所以说它们之间没有关系只是值相同而已。 总结
以上便是我们C语言中的函数部分知识下一章我们将更加详细的说明函数的各项功能以及return的使用等等感谢大家的观看如果哪里有误欢迎支持谢谢大家。