设为首页
收藏本站
最近更新

文章搜索
本类热门

 

首页 >> 网络编程 >> 程序基础 >> 新闻正文 [字体:  ] [打印文档] [关闭]
C语言编程宝典(十五)

文章作者:午夜晨光
责任编辑: 录入时间:2004-10-04 19:03:19 来源:第七频道
频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意. 

函数

    C程序是由一组或是变量或是函数的外部对象组成的。 函数是一个自我包含的完成一定相关功能的执行代码段。我们可以把函数看成一个"黑盒子", 你只要将数据送进去就能得到结果, 而函数内部究竟是如何工作的的, 外部程序是不知道的。外部程序所知道的仅限于输入给函数什么以及函数输出什么。函数提供了编制程序
的手段, 使之容易读、写、理解、排除错误、修改和维护。
    C程序中函数的数目实际上是不限的, 如果说有什么限制的话, 那就是, 一个C程序中必须至少有一个函数, 而且其中必须有一个并且仅有一个以main为名, 这个函数称为主函数, 整个程序从这个主函数开始执行。
    C 语言程序鼓励和提倡人们把一个大问题划分成一个个子问题, 对应于解决一 个子问题编制一个函数, 因此, C 语言程序一般是由大量的小函数而不是由少量大函数构成的, 即所谓"小函数构成大程序"。这样的好处是让各部分相互充分独立,并且任单一。因而这些充分独立的小模块也可以作为一种固定规格的小"构件",
用来构成新的大程序。
    C语言的一个主要特点是可以建立库函数。Turbo C2.0提供的运行程序库有400多个函数, 每个函数都完成一定的功能, 可由用户随意调用。这些函数总的分为输入输出函数、数学函数、字符串和内存函数、与BIOS和DOS有关的函数、 字符屏幕和图形功能函数、过程控制函数、目录函数等。对这些库函数应熟悉其功能, 只有
这样才可省去很多不必要的工作。
    本教程后半部分专门介绍Turbo C2.0的库函数, 并对每个函数都给出例程, 读者可以将自已需要的部分以块的方式定义, 然后将此块写入文件, 这样就可以在进入Turbo C2.0集成开发环境后, 直接调用此程序, 连接, 运行, 观察结果, 以加深对该函数的理解。
    用户编制Turbo C语言源程序, 就是利用Turbo C的库函数。可以把所有使用的库函数放在一个庞大的主函数里, 也可以按不同功能设计成一个个用户函数而被其它函数调用。Turbo C2.0建议用户使用后者, 当用户编制了一些较常用的函数时,只要将其存在函数库里, 在以后的编程中可被方便的调用而不需要再去编译它们。
连接时将会自动从相应的库中装配成所需程序。

    1. 函数的说明与定义
    Turbo C2.0中所有函数与变量一样在使用之前必须说明。所谓说明是指说明函数是什么类型的函数, 一般库函数的说明都包含在相应的头文件<*.h>中,  例如标准输入输出函数包含在stdio.h中, 非标准输入输出函数包含在io.h中,  以后在使用库函数时必须先知道该函数包含在什么样的头文件中, 在程序的开头#include
<*.h>或#include"*.h"说明。只有这样程序在编译, 连接时Turbo C 才知道它是提供的库函数, 否则, 将认为是用户自己编写的函数而不能装配。

    1.1 函数说明

    1. 经典方式
         其形式为:  函数类型   函数名();
    2. ANSI 规定方式
         其形式为:  函数类型  函数名(数据类型  形式参数,  数据类型  形式
                    参数, ......);
    其中: 函数类型是该函数返回值的数据类型, 可以是以前介绍的整型(int),长整型(long), 字符型(char), 单浮点型(float), 双浮点型(double)以及无值型(void), 也可以是指针, 包括结构指针。无值型表示函数没有返回值。
    函数名为Turbo C2.0的标识符, 小括号中的内容为该函数的形式参数说明。可以只有数据类型而没有形式参数, 也可以两者都有。对于经典的函数说明没有参数信息。如:
     int putlll(int x,int y,int z,int color,char *p)/*说明一个整型函数*/
     char *name(void);               /*说明一个字符串指什函数*/
     void student(int n, char *str); /*说明一个不返回值的函数*/
     float calculate();              /*说明一个浮点型函数*/
    注意: 如果一个函数没有说明就被调用, 编译程序并不认为出错, 而将此函数默认为整型(int)函数。因此当一个函数返回其它类型, 又没有事先说明,  编译时将会出错。

    1.2 函数定义
 
    函数定义就是确定该函数完成什么功能以及怎么运行, 相当于其它语言的一个子程序。Turbo C2.0对函数的定义采用ANSI规定的方式。即:
       函数类型  函数名(数据类型形式参数; 数据类型 形式参数...)
      {
          函数体;
       }
    其中函数类型和形式参数的数据类型为Turbo C2.0的基本数据类型。函数体为Turbo C2.0提供的库函数和语句以及其它用户自定义函数调用语句的组合, 并包括在一对花括号"{"和"}"中。
    需要指出的是一个程序必须有一个主函数, 其它用户定义的子函数可以是任意多个, 这些函数的位置也没有什么限制, 可以在main()函数前,  也可以在其后。Turbo C2.0将所有函数都被认为是全局性的。而且是外部的, 即可以被另一个文件中的任何一个函数调用。

    2 函数的调用

    2.1  函数的简单调用
    Turbo C2.0调用函数时直接使用函数名和实参的方法, 也就是将要赋给被调用函数的参量, 按该函数说明的参数形式传递过去, 然后进入子函数运行, 运行结束后再按子函数规定的数据类型返回一个值给调用函数。使用Turbo C2.0的库函数就是函数简单调用的方法。举例说明如下:
    例1:
     #include<stdio.h>
     int maxmum(int x, int y, int z);   /*说明一个用户自定义函数*/
     int main()
     {
          int i, j, k;
          printf("i, j, k=?\n");
          scanf("%4d%4d%4d", &i, &j, &k);
          maxmum(i, j, k);
          getch();
          return 0;
     }
 
     maxmum(int x, int y, int z)
     {
          int max;
          max=x>y?x:y;
          max=max>z?max:z;
          printf("The maxmum value of the 3 data is %d\n", max);
     }

  

此新闻共有3页  第 1  2  3 页  

推荐好友 | 频道收藏 | 打印文档 | 报告错误  
相关连接
·C语言编程宝典(十四)
·C语言编程宝典(十三)
·C语言编程宝典(十二)
·C语言编程宝典(十一)
·C语言编程宝典(十)
·C语言编程宝典(九)
·C语言编程宝典(八)
·C语言编程宝典(七)
同一专题
·无相关专题
发表评论 版权声明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有
转载
要求转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。
共有评论篇  查看评论
姓名: