C++ 函数的定义和调用
教程导读
学研发网的这篇信息学奥赛技术教程文章主要介绍了C++ 函数的定义和调用,现在分享给大家,供学习和参考。文章包含2850字,纯文字阅读大概需要8分钟。
教程信息
学习目标
掌握函数的定义
掌握函数的调用
掌握函数的返回值
掌握教程练习题目
函数是什么
函数是一段具有特定功能的代码块,可以被调用并执行。
使用函数可以将复杂的任务划分为较小的模块,提高代码的可读性、重用性和可维护性。
int main(){ return 0; }
这个main
是主函数本身也是一个函数,可以通过它执行程序。
一、函数的举例说明
假设我们要用到大量求两个数平均数的运算,我们来看下函数写法的优势:
//求平均数的函数 float pingJunShu(float x, float y) { // 求和 float jieGuo = x + y; // 平均数 jieGuo=jieGuo/2.0; // 返回结果 return jieGuo; } int main() { float jieGuo1 = pingJunShu(10.5,20.5); cout << jieGuo1 << endl; float jieGuo2 = pingJunShu(100.5,200.5); cout << jieGuo2 << endl; float jieGuo3 = pingJunShu(1000.5,2000.5); cout << jieGuo3 << endl; return 0; }
可以看到求平均的逻辑被提炼成了函数,在多次的使用中,只要重复调用这个自定义函数就可以完成运算。不需要重复编写过程代码。
二、函数使用的好处
1、将程序模块化,优化逻辑,降低复杂度,便于阅读。
2、避免重复代码的出现,实现代码的重复使用,让程序更简洁。
三、函数的语法结构
函数有自己的语法结构,必须按照这种结构写才可以。
返回值类型 函数名(参数列表){ 函数体; return 值; }
四、函数的返回值类型
函数约定好返回的数据类型,就是使用这个函数的时候,期望得到的结果。
类型可以是 int
、float
、double
等等。
也可以说 void
类型。void类型指的是空,也就是不需要结果。
所以,如果是指定了如int
等类型,函数需要有返回值 return 值
,这个值要和返回值类型一致。
如果是 void
,不需要有返回值,可以不写return
,或者写 return;
。
//求平均数的函数 float pingJunShu(float x, float y) { // 求和 float jieGuo = x + y; // 平均数 jieGuo=jieGuo/2.0; // 返回结果 return jieGuo; } // 输出内容,这个函数不需要返回值 void shuChu(string str){ cout<< str << endl; }
五、函数的函数名
函数名和变量名类似,就是一个标识符(由字母、数字、下划线组成)。
函数名要能准确的表达我们需要的功能,这样别人使用这个函数的时候,就知道它的干嘛的了。
六、函数的参数列表
指的是参数类型和个数。也就是我们使用这个函数(功能)的时候,需要提供的东西。
比如计算两个数字的平均数,你要提供两个数字才能计算。这两个数字就是参数列表。
//x和y就是参数 float pingJunShu(float x, float y) //无参函数 void shuChu()
函数如果有多个参数,要用,
隔开。当然函数也可以没有参数,也就是小括号()
中是空的,不写任何东西。
有参数列表的函数可以叫做有参函数
,
无参数列表的函数可以叫做无参函数
。
七、函数体
函数体就是要执行的代码,用{}
包含起来。
函数体的代码执行过程就是完成任务的过程。
如果没有函数体,那么这个函数就是一个空函数。
//求平均数的函数 float pingJunShu(float x, float y) { // 求和 float jieGuo = x + y; // 平均数 jieGuo=jieGuo/2.0; // 返回结果 return jieGuo; }
在函数体中,可以混合使用 if
、for
等结构体,以此来完成对应的代码逻辑。
八、函数的返回值
返回值就是这个函数最终产出的结果,用return 值
的形式表示。
如果函数的返回值类型是void
,那么可以不写return
;如果返回值是其他类型,就必须写return 值
。
//求平均数的函数 float pingJunShu(float x, float y) { // 如果 x,y为负数就直接返回0 if(x<0&&y<0){ // 如果运行到这边返回,则不会执行底下的逻辑。因为已经返回结果了。 return 0; } // 求和 float jieGuo = x + y; // 平均数 jieGuo=jieGuo/2.0; // 返回结果 return jieGuo; }
一个函数中可以有多个return
语句,但是只能执行一个,一旦执行了return,那么函数的执行就结束了。
九、函数的定义位置
函数需要在使用之前定义。
各个函数是独立定义的,不能在一个函数中定义另外一个函数,也就是说函数是不能嵌套定义。
十、函数的调用
函数的调用就是使用这个函数。调用的语法是:
函数名(参数列表); //没有返回值类型的函数调用 数据类型 变量名 = 函数名(参数列表);//有返回值类型的函数调用
函数调用案例
//求平均数的函数 float pingJunShu(float x, float y) { // 如果 x,y为负数就直接返回0? if(x<0&&y<0){ return 0; } // 求和 float jieGuo = x + y; // 平均数 jieGuo=jieGuo/2.0; // 返回结果 return jieGuo; } // 输出内容,这个函数不需要返回值 void shuChu(string str){ cout<< str << endl; } int main() { float jieGuo1 = pingJunShu(10.5,20.5); cout << jieGuo1 << endl; float jieGuo2 = pingJunShu(100.5,200.5); cout << jieGuo2 << endl; float jieGuo3 = pingJunShu(1000.5,2000.5); cout << jieGuo3 << endl; float jieGuo4 = pingJunShu(-1000.5,-2000.5); cout << jieGuo4 << endl; shuChu("test"); return 0; }
调用时的参数列表要和函数定义的时候参数保持一致。
如果函数有返回值,那么可以把返回值赋值给一个自己定义的变量。当然不写也可以正常运行,那就失去了返回值的意义了。
十一、函数的作用域
在函数内定义的变量,它的作用域只属于这个函数,超过了这个范围就是不可访问的。
比如main
函数中定义的变量,在main
函数之外不能访问。
对于全局的变量和常量,在任何函数中都可以使用。
教程咨询
如果章节内容看不懂,可以联系作者。
教程总结
以上是学研发网为您提供C++ 函数的定义和调用的全部内容,希望教程文章能够帮你了解学习C++ 函数的定义和调用,解决所遇到的问题。 如果觉得学研发网信息学奥赛教程内容还不错,欢迎将学研发网网站推荐给身边需要的人。
教程备注
版权声明:教程内容为学研发网整理和编写,如需转载请联系站长并附上文章原始链接和原始作者信息。
手机阅读
扫描二维码推送至手机访问。
本文链接:http://www.xueyanfa.com/xinaojiaocheng/xinaocpp-81.html