黑马程序员--c语言函数的概念与分类
来源:互联网 发布:淘宝买家评论大全 编辑:程序博客网 时间:2024/06/06 06:34
------<a href="http://write.blog.csdn.net/postedit?ref=toolbar" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
第二讲-函数的概念与分类
1、函数概述
C 语言源程序由函数构成。函数一词来源于数学中的概念。但 C语言中函数的意义与数学中函数的意义不尽相同。C语言中函数表示一个功能,是许多语句的一个打包。一般完成一类功能,如计算、输出打印、数据获取和数据转换等。
函数是模块化程序设计的核心,可以将程序按照功能分成不同函数模块,进行组合编程。函数是复用的一个核心。
2、函数分类
1)从函数定义的角度去看,函数可以分为库函数与用户定义函数
2)从返回值看可以分为有返回值函数和无返回值函数
3)从参数考虑分为有参函数与无参函数
int main() {…}
int main(int argc, const char *argv[]) {…}
3、C 语言中已经提供的函数的分类
1)字符型函数
2)转换函数
3)目录路径函数
4)诊断函数
5)图形函数
6)输入输出函数
7)接口函数
8)字符串函数
9)内存管理函数
10)数学函数
11)日期与时间函数
12)进程控制函数
等。。。
4、自定义函数格式
语法:
返回数据类型函数名(形式参数列表) {
函数体;
}
函数的使用分成三个部分:声明、定义、调用
如何调用:
函数名([参数]);
02-函数模型
1)无参无返回值函数
2)无参有返回值函数
3)有参无返回值函数
4)又参有返回值函数
02-1-无参无返回值函数
无参无返回值函数就是函数调用不需要传入参数,函数执行完成也不会生成数据。一般此类函数用于执行某些固定的功能。
函数的语法为:
void 函数名( void ) {
函数体;
}
注意:
1)函数不能重名
2)主调函数与被调函数的概念
案例:打印一行直线(print_line)
03-函数的调用
由于没有参数也没有返回值,要调用函数只需要直接在函数名后面加圆括号即可。函数调用后都会加上一个分号,表示为函数调用语句:
函数名();
03-1-有返回值无参数函数
1、有返回值无参数的函数
有返回值无参数的函数表示调用函数的时候不需要传入参数,函数调用结束后回生成数据返回。一般该函数用于获取某些数据或结果。
输入
判断
循环
得到输入结果
int num = getNumBetween0to10();
语法:
返回类型函数名() {
函数体
return 值;
}
2、实参与形参
1)实参与形参的概念
2)参数传递过程
3)形参与函数内定义的变量一样
04-有参有返回值函数
1、有参有返回值函数
有残有返回值函数表示调用时需要传入参数,当函数执行完成以后会生成数据返回。该函数一般用于处理数据,得到处理结果。例如:数据的转换、计算和统计整合数据等。
语法:
数据类型函数名(形参列表 ) {
函数体
return 数据;
}
int sum(int x,int,y)
{
return x+y;
}
int main()
{
int i;
i=sum(3,5);
printf(“%d”,i);
}
打印结果为8
05-函数声明
1、程序执行过程
编译器翻译程序,会从上往下进行,在函数调用前需要声明函数,以便告诉编译器这个是安全的有效的。如果函数的定义写在前面,那么可以省略函数声明。
函数声明语法:
返回值类型函数名(参数类型列表);
或
返回值类型函数名(参数列表);
06-递归函数
1、递归函数的概念
如果一个函数调用自己或间接的调用自己,就成为递归函数。
举例
注意:
1)递归需要可以跳出才有意义
2)主调函数就是被调函数
2、使用递归
1)发现有一定重复处理的规律,并且规模也是有规律的变化
2)找到自己调用自己的逻辑
3)找出结束递归的条件
int fun(int n)
{
return fun(n-1)*n;
}
int main()
{
int i= fun(5);
printf (“%d”,i);
}
打印结果为5的阶乘120
- 黑马程序员--c语言函数的概念与分类
- 黑马程序员--c语言运算符的概念与分类
- 黑马程序员——C语言运算符的概念及分类
- 黑马程序员——C语言基础---预处理的概念及分类
- 黑马程序员——ios开发基础之C语言程序结构分类与函数
- 黑马程序员 -- C语言 函数概念 使用 执行 注意点
- 黑马程序员——C语言——程序的结构与分类
- 黑马程序员-04.C语言的函数
- 黑马程序员-C语言的输入函数
- 黑马程序员------C语言中指针的概念和理解
- 黑马程序员---C语言函数
- 黑马程序员------C语言-----函数
- 黑马程序员--c语言函数
- 【黑马程序员】C语言函数
- 黑马程序员 - C语言 - 函数
- 黑马程序员 c语言-----循环与函数学习
- 黑马程序员-Object-C语言对象与函数参数的总结
- 黑马程序员IOS基础---C语言学习之变量与内存及重要的scanf函数
- unity开发-记录项目目录管理及作用 Assetbundle 存放及资源更新
- AI&BI
- 【Java学习】初识Java反射机制
- Unity3D中定时器的使用
- 同步和异步有什么不同?
- 黑马程序员--c语言函数的概念与分类
- 解决linux下主机名变bogon
- testListRemoveif
- 第二周 项目3-2 基于对象的程序 时间类
- 指法练习软件ECAI使用指南
- 数组名作为函数参数时会退化为指针
- [积累]C++复习 海大2014硕士生面试题微信系统总结
- trpt 命令
- javac编码过程