C++学习 【4.1】 利用函数实现指定的功能---函数,函数的形式,函数参数
来源:互联网 发布:java date 加一个月 编辑:程序博客网 时间:2024/06/05 17:52
学习《C++程序设计》(第二版) 谭浩强 主编
第四章 利用函数实现指定的功能
4.1 为什么需要函数4.1 为什么需要函数
4.2 定义函数的一般形式
4.3 函数参数和函数的值
一般一个较大的程序划分为若干个程序模块,每一个模块实现一部分功能
编译时分别编译,通过后,进行连接,把各模块的目标文件以及系统文件连接在一起形成可执行文件
无论把一个程序划分为多少个程序模块,只能有一个main函数
程序总是从main函数开始执行的
在程序运行过程中,由主函数调用其他函数,其他函数也可以互相调用
在C语言中没有类和对象,在程序模块汇中直接定义函数
C程序的主要部分是函数,C被认为是面向函数的语言
在C++面向对象的程序设计中主函数以外的函数大多是被封装在类中的
主函数或其他函数可以通过类对象调用类中的函数
在实际应用的程序中,主函数写的很简单,它的作用就是调用各个函数,程序各部分的功能主要都是由各函数实现的
主函数相当于总调度,调动各函数依次实现各项功能
所有函数都是平行的,即在定义函数时是相互独立的
一个函数并不从属于另一个函数,即函数不能嵌套定义
也就是不能在定义一个函数的过程中又定义另一个函数,也不能把函数的定义部分写在主函数里
函数分类:
从用户使用的角度看:
系统函数(库函数) 和 用户自己定义的函数
从函数的形式看:
无参函数:调用函数不必给出参数,在调用时,主调函数并不将数据传送给被调用函数,一般用来执行一组固定的操作
有参函数:在主调函数和被调函数之间有数据传递
4.2 定义函数的一般形式
4.2.2 定义无参函数的一般形式
4.2.3 定义有参函数的一般形式类型名 函数名([void])
{声明部分
语句
}
专业人员一般不省略括号里的void
类型名 函数名(形式参数表列)
{声明部分
语句
}
在C语言中规定,如果在定义函数时不指定函数类型,系统会隐含指定函数类型为int型但C++取消了这一规定,要求在定义函数时必须制定函数的类型,这样做更加安全和严格
4.3 函数参数和函数的值
4.3.1 形式参数和实际参数
4.3.2 函数的返回值形式参数(formal parameter):在定义函数时函数名后面括号里的变量名称
实际参数(actual parameter):在主调函数中调用一个函数时,函数名后面括号中的参数(可以是一个表达式)
在定义函数时指定的形参,在未出现函数调用时,他们并不占内存中的存储单元,因此称它们为形式参数或虚拟参数
表示他们并不是实际存在的数据,只是在发生函数调用时,函数中的形参才被分配内存单元
在调用结束后,形参所占的内存单元也被释放
实参和形参的类型应相同或者赋值兼容:
如果实参为整型而形参为实型,或者相反,则按不同类型数值的赋值规则进行转换
字符型和整型可以相互通用
实参变量对形参变量的数据传递是值传递,即单向传递,只由实参传给形参,而不能由形参传回给实参
通过函数的调用使主调函数能得到一个确定的函数值,这就是函数的返回值
说明:
1、函数的返回值是通过函数中的return语句获得的
2、如果需要从被调用函数带回一个函数值(供主调函数使用),被调用函数中必须包含return语句
如果不需要从被调函数带回函数值,则可以不要return语句
3、一个函数汇总可以有一个以上的return语句,执行到哪一个return语句,哪一个语句就起作用
4、return语句后面的括号可以要,也可以不要,后面的值可以是一个表达式
5、如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准,即函数类型决定返回值的类型
5、对数值型函数,可以自动进行类型转换
- C++学习 【4.1】 利用函数实现指定的功能---函数,函数的形式,函数参数
- C语言函数的参数传递形式
- 第四章 利用函数实现指定的功能
- 函数参数的赋值形式
- Main函数的形式参数
- HYPERLINK函数的参数指定
- <易理解>利用main函数的参数实现计算功能,附赠功能实现教程
- 函数的一般形式与函数的参数
- main函数的三种参数形式
- 结构体作为函数的形式参数
- A003:Python 函数的参数形式
- 多维数组作为函数参数的形式
- C++中函数参数形式的总结
- 10、函数的扩展 为函数参数指定默认值、函数的 rest 参数、箭头函数—ES6学习笔记
- C标准库学习--可变参数函数的实现方法
- C语言可变参数函数的实现
- C语言可变参数函数的实现
- C语言可变参数的函数实现
- Android View绘制过程
- jrtplib学习之example1例程分析
- NSString/NSMutableString
- 2016 Winter Training Day #1_A题_codefcrces 230A(贪心)
- Qt之自定义界面(窗体缩放)
- C++学习 【4.1】 利用函数实现指定的功能---函数,函数的形式,函数参数
- [leetcode] 75. Sort Colors
- cocos2dx调用Android其他activity
- POJ1703 Find them, Catch them
- 认识window.history
- 后缀自动机
- 搭建Spring4.1与Spring4.2 websock+stomp+activeMQ需要注意事项:spring4不同版本websocket差异
- 爬虫开始例子
- pg查询时间间隔(timestamp类型)