功能介绍:
函数几乎是整个C语言中最不为人所知的,并且常常被程序员冷漠对待。 至于为什么? 原因很简单! 因为它的作用只是输出一个字符。 但为了让读者积累更多的功能,我们决定讲一下这个功能。
搭建环境:
该函数的头文件是标准输入输出头文件(stdio.h)。 要使用这个函数,我们必须包含这个头文件。 在C语言中,我们使用#预处理来包含头文件。
#include
因为C语言是函数式语言,它的程序入口就是函数。 所以包含头文件之后,我们需要手写一个main函数,即程序的入口函数。 我们的main函数的数据类型是整数(int类型)。 随后,该函数需要参数。 我们需要将函数的形式参数()写在main函数后面的“()”中。 不过我们创建的函数没有参数,所以我们可以在main函数的参数中写一个。 “void”关键字意味着我们的函数不需要参数,但是我们也可以在主函数中不写“void”关键字,它们的表达效果是一样的。 我们可以使用这些方法中的任何一种。 该函数必须有一个函数体。 然后我们会写一对“{}”来代表函数的函数体。 这样,函数的入口就搭建好了。 这也是最基本的功能建设。 如下:
#includeint main(void) { }
还有一点是函数需要返回值(void类型除外)。 由我们决定返回什么值。 这里我们默认返回0。 但在某些编译器中,main方法的返回值是可选的。 但严格来说,我们必须在主函数内返回一个值。 在C/C++中我们使用这个语句来返回一个值。
#includeint main(void) { return 0; }
函数原型:
现在,我们可以愉快地使用该功能了。 我们首先看一下这个函数的参数原型,因为只要知道了函数的参数原型,我们就可以正确的传入参数,正确的使用函数。 在 中,我们可以将鼠标光标直接放在该函数上,方便查看函数原型。
我们发现我们需要向函数传入一个整数值,该函数会将整数转换为字符类型,然后输出到控制台。 我们还发现这个函数的数据类型是type,也就是说这个函数有返回值。 这个返回值其实就是将参数转换成整数值返回的。 我们不关心这个函数的数据类型。 我们先来使用一下这个函数。 让我们输出一个字符。
解释一下函数:
#includeint main(void) { putchar(65); return 0; }
我们向函数中写入一个整数值65,函数会自动将值65转换成该值对应的字符并输出。 它转换成字符的编码形式是ASCLL编码(ASCLL字符集)。 如果你对ASCLL编码不太了解,请看下图:
我们尝试找到参数中的值,并找到这个值对应的字符。 我们不难发现,这个字就是“A”。 我们还发现ASCLL字符集包含了我们键盘上的所有字符,并且每个字符都有对应的值,每个值都有对应的字符,比如66这个值在ASCLL码字符集中对应的字符是“B”,ASCLL码字符集中67对应的字符是“C”。
我们看一下上面程序的输出:
输出结果:A
这证明我们的结论是正确的,该函数会在控制台输出该函数对应的字符。
但你以为C语言的函数有那么简单吗? 不不不! 它还可以输出参数为字符类型的字符。 让我们看一下下面的例子:
#includeint main(void) { putchar('A'); return 0; }
上面我们提到,函数的参数原型要求我们填写一个整数,但实际上字符类型也是整数类型。 我们还可以在参数列表中填写一个字符类型参数。 我们回到代码。 现在函数的参数中有一个字符。 这个字符是“A”(在C语言中,该字符用单引号括起来)。 我们可以直接执行上面的代码,输出结果和上面一样,它的输出结果也是字符“A”。
输出结果:A
返回值:
接下来我们就来解释一下函数的返回值。 我们尝试使用一个变量来接收函数的返回值,并以整数的形式输出这个变量:
#includeint main(void) { int sum = 0; sum = putchar('A'); printf("%d",sum); return 0; }
我们创建一个名为“sum”的整数变量,默认值为0,然后使用该函数输出一个字符并使用该变量接收其返回值。 然后使用该函数以整数的形式输出这个变量。 我们来看看这个程序的输出:
输出结果:A65
输出结果中的字符“A”是我们使用函数输出的结果,后面的65是接收函数返回值的变量输出的结果。 我们不难看出,这个和的值就是字符A的ASCLL码值。所以函数的返回值就是参数的ASCLL码值。
总结:
我们已经学会了如何使用该功能。 我们知道这个函数会将参数转换为字符并输出到控制台。 我们也了解了函数的返回值。 它的返回值是将参数转换为数值,而最重要的一点是该函数的头文件是标准输入输出头文件(stdio.h)。 如果没有这个头文件,我们就无法正常使用该函数。
关于 C 语言函数的这篇文章到此结束。 更多相关C语言函数,请搜索 House之前的文章或者继续浏览下面的相关文章。 希望大家以后多多支持 House!