黑马程序员--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

0 0
原创粉丝点击