第十二课 函数

1.C语言是面向过程的语言,从上往下依次进行,但是执行入口却是main()。

2.函数就是功能模块,用来完成某项功能。

函数一般是这样定义的:

 返回值 函数名(形参)
  {
    函数体;//模块的过程
    return 返回值表达式;
  }
  调用函数是执行“一次”函数的过程
    函数名(); 注:函数必须定义    *函数表达式  
  注:1函数必须存在  2形参必须匹配
 

3.函数的使用方式。

(1).声明函数。

(2)调用函数(main中调用)

比如:完成1+1的函数。

声明就是在main之前声明这个函数的名称,一般来讲,函数体会写在main前面,这也相当也声明了,如果函数体写在函数后面就需要声明。

这个是函数体写在main前的情况,可以正常运行。

这个是函数体写在main后的情况,如果没有声明,程序就会出错

二函数的各种形式

1.函数分为两种,一种是系统函数,比如printf( ),scanf( ).,使用这些函数的时候要使用包含这些函数的头文件,比如我们常常写的#include<stdio.h>,这个头文件包含了C语言的标准输出输入函数。

另一种是自定义函数,比如上面我使用过的fun函数,它的功能是算出1+1。自己所创造的函数就是自定义函数。

2.自定义函数。

(1)无参数无返回值

 void 函数名(void)
  {
    return ;    //返回一个空语句,并函数结束
  }

 

程序从main开始执行,所以要想调用函数,必须在main中调用;

函数执行到return时就停止了,后面不再执行。

return 一般用来返回一个函数值,但是这个函数无返回值,所以return后是空语句。

2.2、有返回值(结果:数据)  无形参
  返回值类型 函数名(void)
  {
    函数体;
    return;
  }

这里return 5;意为函数fun最后返回一个数值5,相当于fun()=5;

3.无返回值,有形参。

这里的形参可以传递到函数中,在main中的fun(1),1代表实参,它是1确确实实存在的实际参数,而在外面的函数fun(int i)中的i是形式参数。不是实数。这里的1会传递给i,最后使i=1;参数可以有多个。

4.有返回值有参数

这个函数是求次大值,函数是getsecond(),在main中调用,main中getsecond(buf,10),会把参数传递给外面的函数,所以ilen=10,buf【】=buf【】。需要说一句的是这里的buf传递的是首地址。

猜你喜欢

转载自blog.csdn.net/weixin_42581560/article/details/81087393