前言
通过上一期的学习,我们知晓了数组及其不同的使用方法。
本期学习的是C语言中的函数,可类比为java中的方法。
函数是构成C程序的基本单元,可以说C程序通常由若干函数组成,它包括函数头和函数体。
它是一个个能够完成某种功能的程序块,每个都有各自的性,其中封装了程序代码和数据,实现了更高级的抽象和数据隐藏,这样看起来它的内涵似乎比较复杂。
但在实际运用过程中,我们并不需要去了解这些具体细节,只要知道它的功能和用法即可。
本期将重点讨论包括函数的定义、调用、参数与返回值等。
下面,就让我们开始学习函数吧。
一个 C 程序由一个主函数(main 函数)与多个子函数构成。
其中,主函数 main( ) 可以调用任何函数,各函数之间也可以相互调用,但是一般函数不能调用主函数。
所有函数都是平行、的,不能嵌套定义。
若已定义的函数由有返回值,则函数调用可以作为的语句存在,可以作为一个函数的实行参数,也可以出现在表达式中,但不可以作为一个函数的形式参数。
函数可以接受用户传递的数据,
在接收用户数据的函数在定义时要指明参数,
不接收用户数据的不需要指明,根据这一点可以将函数分为有参函数和无参函数。
在学习函数时,要弄清楚两个概念,实际参数(实参)与形式参数(形参)。
形式参数必须是变量,但实际参数可以时常量、变量或表达式,
且实际参数的个数和类型要与对应的形式参数一致,各参数之间用逗号隔开。
根据函数是否接受数据的不同,其定义形式自然也不同。
无参函数的定义
类型说明符 函数名()
{
函数体;
}
如:
void speak()
{
printf("hello world!");
}
有参函数的定义
类型说明符 函数名(参数列表)
{
函数体;
}
如:
int sum(int a,int b)
{
int sum;
sum=a+b;
return sum;
}
在“形式参数表列”中给出的参数称为形式参数,它们可以是各种类型的变量,同时要对这些变量给予类型说明,各参数之间用逗号间隔。
在进行函数调用时,主调函数将赋予这些形式参数实际的值。
按照定义分
①库函数:
库函数又称为标准函数,由c系统提供,无需程序员定义,可直接使用,但需要在程序开头包含原型声明的头文件。
(1)I/O 函数:
例如: getchar,putchar,printf,scanf,fopen,fclose等。
(2)字符串和字符函数:
例如:isalnum,isalph,strcat,strchr,strcmp,strcpy,strlen,strstr等。
(3)数学函数:
例如:sin,cos,exp(e的x次方),log,sqrt(开平方),pow(x的y次方)等。
(4)时间、日期和与系统有关的函数:
例如:time返回系统的时间;asctime返回以字符串形式表示的日期和时间。
(5)动态分配分配:包括"申请分配"和"释放"内存空间的函数。
例如:calloc,free,malloc,realloc等。
(7)过程控制:包括最基本的过程控制函数。
(8)字符屏幕和图形功能:包括各种绘制点、线、圆、方和填色等的函数。
(9)其它函数。
②自定义函数
由程序员根据自己的需求编写,自定义函数不仅要在程序中定义函数本身,必须还要在主函数中调用该函数。
按照有无返回值函数
①有返回值函数:
该类函数被调用执行完毕,将向调用者返回一个执行结果,称为函数的返回值②无返回值函数:
无返回值函数不需要向主调函数提供返回值
按照函数形式分类
①无参函数:
在函数的声明、定义和调用中均不带参数,特点:在调用无参函数主调函数并不将数据传输给被调用函数,此类函数通常被用来完成指定的功能,可以返回或不返回函数值。
②有参函数:
在函数定义、声明都都有参数。特点:主调函数调用被调函数时,主调函数必须把值传输给形参,以供被调函数使用。
&
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- ovod.cn 版权所有 湘ICP备2023023988号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务