前七课的内容其实已经完成了本学期最核心部分的内容,而第八课之后的内容是对于前面内容的优化,但是也属于C++基础的一部分,并且纳入学校考察之中。为了更好的分割需要处理大量数据的程序,从而增强程序的易读性,提高程序的执行效率,C++开始采用函数的方法,并通过函数间相互调用来达到目的,对于由多人开发的程序,函数就会非常重要。本节课开始对函数进行讲解。
————华丽的分割线————
在C++中,函数分为三大类型。第一类是main函数,也就是我们最常用的。在这里不做过多介绍。第二类是标准库函数,这类函数我们前面已经使用过了,例如输入信息的scanf,求指数函数的pow函数,这些内容分别储存在不同的头文件之中,可以通过百度或者Google来搜索详细的信息,在日后的C++拓展课中也会发出一部分。
第三类也就是我们即将要讲的自定义函数。标准库中的函数实际上也存在类似的定义,只是那些函数的执行语句已经被其他人员协助写好,但是当我们遇到标准库函数不能达到自己的需求时候就需要使用自定义函数。其定义方法为:
类型标识符函数名(形式参数表)
{
语句序列
}
在这里要介绍一下形式参数的概念:主调函数(即调用其他函数的函数)和被调函数(被调用的函数)之间需要存在一些数据传输,否则函数调用则失去意义。而主调函数中的数据在直接传递给被调函数中之后进行操作,并不会修改主调函数中的变量数值,也就是说即使在主调函数和被调函数使用了相同的变量名称,在被调函数运算的过程中不会修改主调函数中变量的值。
1、函数调用:从一个函数跳转到另一个函数的过程叫做函数调用。其使用方法是函数名(实参名)
2、数值返回:当函数收到一个和类型标识符相同的返回值时则会停止运行,其语句也就是之前一直在使用但是不明原因的return0,作用是返回数值给主调函数并结束当前函数的执行。接下来将会举例说明函数的调用过程。
运行结果:
由图片可以看出,主调函数输入的a,b分辨是5,6.到被调函数中m,n分别存储了5,6两个整数,被调函数中虽然有a,b两个变量被赋值为1,2,主调函数的a和b值仍然不变。这就是函数的调用形式参数传参部分。
————华丽的分割线————
最近一直没更新,因为这个课程的速度已经远快于正常授课速度。在前文中所提及的标准库函数其实也是自定义函数的一部分,只是这一部分函数已经由他人写好并且封装,其执行效率极高,但是整体流程与自定义函数大体相似,由return带回其求解数值,这也是为什么C++中对于格式的要求非常严格。
今天留一道作业题:使用函数方法实现n的阶乘(2=n=7),明天的提高部分将会公布答案。
北京哪里治疗白癜风专业北京中医白癜风医院如何