电话:0731-83595998
导航

C语言初学者入门知识之函数01 2

来源: 2017-10-20 13:24

 4. C语言提供了极为丰富的库函数, 这些库函数又可从功能角度作以下分类。

  (1)字符类型分类函数

  用于对字符按ASCII码分类:字母,数字,控制字符,分隔符,大小写字母等。

  (2)转换函数

  用于字符或字符串的转换;在字符量和各类数字量 (整型, 实型等)之间进行转换;在大、小写之间进行转换。

  (3)目录路径函数

  用于文件目录和路径操作。

  (4)诊断函数

  用于内部错误检测。

  (5)图形函数

  用于屏幕管理和各种图形功能。

  (6)输入输出函数

  用于完成输入输出功能。

  (7)接口函数

  用于与DOS,BIOS和硬件的接口。

  (8)字符串函数

  用于字符串操作和处理。

  (9)内存管理函数

  用于内存管理。

  (10)数学函数

  用于数学函数计算。

  (11)日期和时间函数

  用于日期,时间转换操作。

  (12)进程控制函数

  用于进程管理和控制。

  (13)其它函数

  用于其它各种功能。

  以上各类函数不仅数量多,而且有的还需要硬件知识才会使用,因此要想全部掌握则需要一个较长的学习过程。 应首先掌握一些最基本、 最常用的函数,再逐步深入。由于篇幅关系,本书只介绍了很少一部分库函数, 其余部分读者可根据需要查阅有关手册。

  还应该指出的是,在C语言中,所有的函数定义,包括主函数main在内,都是平行的。也就是说,在一个函数的函数体内, 不能再定义另一个函数, 即不能嵌套定义。但是函数之间允许相互调用,也允许嵌套调用。习惯上把调用者称为主调函数。 函数还可以自己调用自己,称为递归调用。main 函数是主函数,它可以调用其它函数,而不允许被其它函数调用。 因此,C程序的执行总是从main函数开始, 完成对其它函数的调用后再返回到main函数,最后由main函数结束整个程序。一个C源程序必须有,也只能有一个主函数main。

  函数定义的一般形式

  1.无参函数的一般形式

  类型说明符 函数名()

  {

  类型说明

  语句

  }

  其中类型说明符和函数名称为函数头。 类型说明符指明了本函数的类型,函数的类型实际上是函数返回值的类型。 该类型说明符与第二章介绍的各种说明符相同。 函数名是由用户定义的标识符,函数名后有一个空括号,其中无参数,但括号不可少。{} 中的内容称为函数体。在函数体中也有类型说明, 这是对函数体内部所用到的变量的类型说明。在很多情况下都不要求无参函数有返回值, 此时函数类型符可以写为void。

  我们可以改为一个函数定义:

  void Hello()

  {

  printf ("Hello,world n");

  }

  这里,只把main改为Hello作为函数名,其余不变。Hello函数是一个无参函数,当被其它函数调用时,输出Hello world字符串。

  2.有参函数的一般形式

  类型说明符 函数名(形式参数表)

  型式参数类型说明

  {

  类型说明

  语句

  }

  有参函数比无参函数多了两个内容,其一是形式参数表,其二是形式参数类型说明。在形参表中给出的参数称为形式参数,它们可以是各种类型的变量,各参数之间用逗号间隔。在进行函数调用时,主调函数将赋予这些形式参数实际的值。 形参既然是变量,当然必须给以类型说明。例如,定义一个函数, 用于求两个数中的大数,可写为:

  int max(a,b)

  int a,b;

  {

  if (a>b) return a;

  else return b;

  }

  第一行说明max函数是一个整型函数,其返回的函数值是一个整数。形参为a,b。第二行说明a,b均为整型量。 a,b的具体值是由主调函数在调用时传送过来的。在{}中的函数体内, 除形参外没有使用其它变量,因此只有语句而没有变量类型说明。 上边这种定义方法称为"传统格式"。这种格式不易于编译系统检查,从而会引起一些非常细微而且难于跟踪的错误。ANSI C 的新标准中把对形参的类型说明合并到形参表中,称为"现代格式"。

  例如max函数用现代格式可定义为:

  int max(int a,int b)

  {

  if(a>b) return a;

  else return b;

  }

  现代格式在函数定义和函数说明(后面将要介绍)时, 给出了形式参数及其类型,在编译时易于对它们进行查错, 从而保证了函数说明和定义的一致性。例1.3即采用了这种现代格式。 在max函数体中的return语句是把a(或b)的值作为函数的值返回给主调函数。有返回值函数中至少应有一个return语句。 在C程序中,一个函数的定义可以放在任意位置, 既可放在主函数main之前,也可放在main之后。例如例1.3中定义了一个max 函数,其位置在main之后, 也可以把它放在main之前。

  修改后的程序如下所示。

  int max(int a,int b)

  {

  if(a>b)return a;

  else return b;

  }

  void main()

  {

  int max(int a,int b);

  int x,y,z;

  printf("input two numbers:n");

  scanf("%d%d",&x,&y);

  z=max(x,y);

  printf("maxmum=%d",z);

  }

  现在我们可以从函数定义、 函数说明及函数调用的角度来分析整个程序,从中进一步了解函数的各种特点。程序的第1行至第5行为max函数定义。进入主函数后,因为准备调用max函数,故先对max函数进行说明(程序第8行)。函数定义和函数说明并不是一回事,在后面还要专门讨论。 可以看出函数说明与函数定义中的函数头部分相同,但是末尾要加分号。程序第12 行为调用max函数,并把x,y中的值传送给max的形参a,b。max函数执行的

编辑推荐:

下载Word文档

温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)

网络课程 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

精品课程

更多
10781人学习

免费试听更多

相关推荐
图书更多+
  • 电网书籍
  • 财会书籍
  • 其它工学书籍
拼团课程更多+
  • 电气拼团课程
  • 财会拼团课程
  • 其它工学拼团
热门排行

长理培训客户端 资讯,试题,视频一手掌握

去 App Store 免费下载 iOS 客户端