【C语言】初识函数


一.函数

1.函数的定义

1.不同于数学意义上的函数,在计算机科学中,函数又叫子程序,是一个大型程序的某部分代码,由一个或者多个语句块组成。它负责完成某项特定的任务,而且相较于其他代码,具备相对的独立性
2.一般会有输入参数并有返回值,提供对过程的封装和细节的隐藏。这些代码通常被集成为软件库。

软件库就是我们所说的库函数,它为我们服务,提供我们所需的功能,但我们并不知道其过程和细节。


2.函数的分类

1.库函数
2.自定义函数

2.1库函数

为什么会有库函数?

一些基本的函数如打印,输入,计算等,为了支持可移植性和提高程序的效率,所以C语言的基础库中提供了一系列类似的库函数,方便程序员进行软件开发。

标准库

标准库提供了C语言的库函数在这里插入图片描述

标准库包含各种头文件,头文件中又包含各种库函数。
你可以在clpusplus.com上查找

比如在stdio.h中就提供了scanf和printf等函数在这里插入图片描述

库函数的分类
  1. 输入输出函数,如scanf、printf
  2. 字符串操作函数,如strlen、strcpy
  3. 字符操作函数,如isalpha(判断是否是字母)、toupper和tolower(大小写转化)等
  4. 内存操作函数,如memcpy、memset
  5. 时间和日期函数,如time
  6. 数学函数,如sqrt(开方)、pow(幂函数)

以上的这些函数以后均会讲到,不用担心

利用文档来学习库函数

我们要学会利用文档来学习库函数,即懂得查询库函数的资料来了解函数
例子
我们要学习一个函数叫strcpy。

  1. 首先,在cplusplus上查找他的相关资料。了解其函数名的意义、参数的类型和数目、返回值和头文件。
    在这里插入图片描述

个人认为要有一点点的英语阅读能力,这些都不难理解的。
1.函数的作用是把一个字符串拷贝到另一个字符串。第一个参数是目标数组的首元素地址,第二个参数是要拷贝的数组的首元素地址。返回目标数组的首元素地址。
2.一定要注意拷贝的数组的大小要小于目标数组的大小。

  1. 了解到函数的基本信息后,就先写个代码试试
    在这里插入图片描述

解读:把arr2的内容拷贝到arr1中,再用printf把数组1打印出来,一直打印到’\0’为止,strcpy也可以忽略其返回值。

调试
在这里插入图片描述
在这里插入图片描述

按F10键或fn+F10进行调试,再在测试->窗口->监视->输入你要监视的值即可。
在后期会讲到怎么调试,现在只是简单的介绍。

学习库函数的其他工具
  1. MSDN
  2. cpppreference.com
  3. 中文版的cpppreference

2.2自定义函数

为什么会有自定义函数

C语言提供的库函数不足以满足我们对代码的需求。所以C语言给予程序员自我设计函数的能力,同时给程序员很大的发挥空间。

函数组成
ret_type fun_name(para1, * )
{
statement;//语句项
}

ret_type是返回类型
fun_name是函数名
para1是参数
{}内的是代码块
整体上与库函数相同

注意我们可以自主命名函数,但这不意味着我们可以滥其函数名,这里有起函数的几条建议:

  1. 起有意义的名字,方便你和别人能读懂,比如创建一个判断素数的函数,可以用函数名is_prime
  2. 尽量不用拼音,起英文名(并不是说拼音不好)
  3. 要么小写字母和下划线组合,要么大写字符和小写字母组合,如判断闰年的函数名is_leap_year或者IsLeapYear,这样更方便他人观看理解函数的作用
例子

在这里插入图片描述
这是执行过程

这是一个判断两个数大小的函数
函数的返回类型为int,参数是两个整形。
过程就是把a和b传给函数,然后函数用x和y来接受。
定义函数要标明函数的返回类型,参数类型,参数数目。


3.函数参数

3.1实际参数

  1. 实际参数是调用函数时传递给函数的参数,如上例中的a和b。
  2. 实际参数必须是清晰的值,可以常量、变量、表达式、函数。在这里插入图片描述

如图中的Add函数,他的参数是常量,表达式,函数,但参数都是确定的值。

3.2形式参数

  1. 形参就是函数定义时括号内的变量,如上例中的x和y。

  2. 形参必须要有类型,如果没有数据类型就写void。

  3. 形参和实参的名字可以相同,也可以不同。

  4. 为什么叫形参?因为形参只有在函数被调用时才创建,函数没被调用时,形参没被分配内存,只是形式上的存在,所以叫形参。
    这也解释了为什么给函数传递数组时,形参数组可以不指定数组元素个数。在函数为被调用之前,我们不需要为形参数组分配内存。在这里插入图片描述

  5. 为形参分配内存时叫形参的实例化。

  6. 形参实例化就是实参的一份临时拷贝。(在传值调用中重点讲)

  7. 形参在函数调用时开辟空间,在函数调用结束后销毁。在这里插入图片描述


4函数调用

  1. 传值调用
  2. 传址调用

4.1传值调用

例子写一个函数,求两个整数的最大值在这里插入图片描述

传值就是简单地把变量传给函数。
它的概念不好定义,得与后面的传址调用比较才容易说明
再看一个例子

例子写一个函数,交换两个整数在这里插入图片描述

按照我们先前的想法,交换后的a和b的值应该互换才对,为什么会出现这种情况?原因是传值调用只是传给函数一份拷贝,我们在函数中对这份拷贝进行的操作不会影响到我们传给函数的变量。

还不懂?没关系。上图!

从图中可以看出,在调用函数时,形参是实参的一份临时拷贝。我们对形参的操作并不能影响实参。

那该如何解决无法改变实参的问题?这时该我们的传址调用登场了。

4.2传址调用

字面意思,就是把地址传给函数,让函数通过地址访问到实参,从而对实参进行操作 。
例子在这里插入图片描述

既然传给函数的是地址,那我们就得用指针来接受。既然要对指针进行操作,我们就得用解引用操作符(*)。

同样画图理解在这里插入图片描述

对x解引用得到a,对y解引用得到b,然后就可以交换a和b的值。

4.3总结

现在,我们可以来总结下两种函数调用的作用:

  1. 传值调用:函数的形参和实参分别占有不同内存块,对形参的修改不会影响实参。
  2. 传址调用:这种传参方式可以让函数和函数外边的变量建立起真正的联系,也就是函数内部可以直接操
    作函数外部的变量。

总结

今天介绍了函数的一部分内容,如定义,分类,参数,参数的传递等等,接下来我们还会介绍到C语言两大重点之一的递归。
如果有不对的地方,请多多指正!

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: C语言标准函数库是一组预定义的函数,提供了一系列常用的功能和操作,方便程序员编写和管理代码。C语言标准函数库分为几个不同的部分,比如输入输出函数、字符串函数、数学函数等。 要下载C语言标准函数库,首先需要确定所使用的开发环境。不同的开发环境可能有不同的方式下载标准函数库。通常情况下,C语言标准函数库已经被编译为开发环境所支持的库文件,并且自带于该环境中。 例如,对于常用的GNU C编译器(gcc),标准函数库是通过操作系统的包管理器进行安装的。在Linux操作系统上,通过运行适用于所使用的发行版的包管理器,可以轻松地安装C语言标准函数库。在Windows操作系统上,可以从MinGW等网站下载相应的GCC编译器,安装后即可使用标准函数库。 在其他开发环境中,可能需要手动下载标准函数库。可以通过搜索引擎查找相应的网站,从中找到可用的标准函数库版本并进行下载。下载完成后,根据开发环境的要求将库文件导入到项目中,并在代码中正确地引用函数库。 无论是自带于开发环境还是手动下载导入的方式,一旦成功下载C语言标准函数库,就可以在代码中使用其中的函数了。通过包含相应的头文件,并且调用所需的函数,即可实现所需的功能。 总结来说,下载C语言标准函数库的方法主要取决于所使用的开发环境。可以通过操作系统的包管理器进行安装,或者从相应的网站手动下载并导入到项目中。下载完成后,可以在代码中使用标准函数库提供的功能。 ### 回答2: C语言标准函数库是C语言编程中常用的一个库,包含了很多用来进行常见操作的函数。下载C语言标准函数库需要以下步骤: 首先,需要确定所使用的操作系统。因为不同的操作系统有不同的C语言编程环境和函数库支持。比如,在Windows系统下一般使用Visual Studio等集成开发环境,而在Linux系统下一般使用GCC编译器。 接下来,在相应的操作系统中安装C语言开发环境。对于Windows系统,可以下载并安装Visual Studio,或者MinGW等C编译器。对于Linux系统,可以使用apt-get、yum等包管理工具安装GCC编译器。 下载C标准函数库并将其添加到编译环境中。在Windows系统下,安装好Visual Studio等开发环境后,系统会自动默认包含C标准函数库,并在编译时链接。在Linux系统下,需要在编译时手动添加"-lm"参数,以链接C标准函数库。 需要注意的是,C标准函数库在编译时是自动链接的,不需要手动下载和安装。只需要确保所使用的C编译器支持C标准库,并将其链接到编译环境中即可。 综上所述,下载C语言标准函数库是通过安装相应的C开发环境来实现的。在已安装好的环境中,C标准函数库会自动包含并链接到编译环境中,无需额外下载和安装。 ### 回答3: C语言标准函数库是C语言提供的一套预定义函数集合,包含了各种常用函数,如字符串处理、数学运算、内存管理等。为了使用这些标准函数,需要将相应的函数库文件链接到我们的程序中。 在Windows环境下,我们可以通过下载安装MinGW或者Cygwin来获取C语言标准函数库。MinGW是一个实现了GCC编译器的开发环境,它包含了大多数C语言标准函数库,可以从MinGW官方网站下载并安装。Cygwin也是一个提供类Unix环境的兼容层,通过安装Cygwin,可以使用其中提供的标准函数库。 对于其他操作系统如Linux、Mac OS等,C语言标准函数库一般已经默认安装在系统中,我们可以直接在程序中调用这些函数,无需下载。 除了C语言标准函数库,还有一些第三方函数库可供下载使用,如Boost、OpenGL等。这些函数库提供了更多的功能和扩展性,可以满足特定的需求。下载和使用第三方函数库的方法一般是先从官方网站下载函数库的源代码,然后根据相应的安装说明进行编译和安装。 总之,C语言标准函数库是C语言开发中必不可少的一部分,通过下载和使用函数库,我们可以快速、方便地实现各种功能,提高开发效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值