zoukankan      html  css  js  c++  java
  • c语言中函数的简单介绍


    c语言中函数的介绍:

    函数,简单的说就是代码的打包。存放在一个地方,当需要的时候调用。

    函数分类:

     1.无参无返回值函数 void func()

     2.无参有返回值函数  int func()

     3.有参无返回值函数  void func(int num)

     4.有参有返回值函数  int func(int num )

    此处讲解有参函数和无参函数的定义:


    无参函数的定义:

    无参函数定义的一般形式如下:
        类型标识符  函数名(){
            声明部分
            语句
        }
    其中类型标识符和函数名称为函数头。类型标识符指明了本函数的类型,函数的类型实际上是函数返回值的类型。该类型标识符与前面介绍的各种说明符相同。函数名是由用户定义的标识符,函数名后有一个空括号,其中无参数,但括号不可少。

    {}中的内容称为函数体。在函数体中声明部分,是对函数体内部所用到的变量的类型说明。

    在很多情况下都不要求无参函数有返回值,此时函数类型符可以写为void。

    我们可以改写一个函数定义:
    1. void Hello(){
    2. printf ("Hello,world ");
    3. }
    这里,只把main改为Hello作为函数名,其余不变。Hello函数是一个无参函数,当被其它函数调用时,输出Hello world字符串。

    有参函数定义的一般形式:

    有参函数定义的一般形式如下:
        类型标识符  函数名(形式参数表列){
            声明部分
            语句
        }
    有参函数比无参函数多了一个内容,即形式参数表列。在形参表中给出的参数称为形式参数,它们可以是各种类型的变量,各参数之间用逗号间隔。在进行函数调用时,主调函数将赋予这些形式参数实际的值。形参既然是变量,必须在形参表中给出形参的类型说明。

    例如,定义一个函数,用于求两个数中的大数,可写为:
    1. int max(int a, int b){
    2. if (a>b) return a;
    3. else return b;
    4. }
    第一行说明max函数是一个整型函数,其返回的函数值是一个整数。形参为a,b,均为整型量。a,b的具体值是由主调函数在调用时传送过来的。在{}中的函数体内,除形参外没有使用其它变量,因此只有语句而没有声明部分。在max函数体中的return语句是把a(或b)的值作为函数的值返回给主调函数。有返回值函数中至少应有一个return语句。
     
    在C程序中,一个函数的定义可以放在任意位置,既可放在主函数main之前,也可放在main之后。例如:可把max 函数置在main之后,也可以把它放在main之前。如果一个函数在main函数之后定义的话,一定要在main函数之前做函数声明。(已经引入相关头文件的除外)修改后的程序如下所示。

    【例8-1】函数定义示例
    1. #include <stdio.h>
    2. int max(int a,int b){
    3. if(a>b)return a;
    4. else return b;
    5. }
    6. int main(void){
    7. int max(int a,int b);
    8. int x,y,z;
    9. printf("input two numbers: ");
    10. scanf("%d%d",&x,&y);
    11. z=max(x,y);
    12. printf("maxmum=%d",z);
    13. return 0;
    14. }
    现在我们可以从函数定义、函数说明及函数调用的角度来分析整个程序,从中进一步了解函数的各种特点。

    程序的第1行至第4行为max函数定义。进入主函数后,因为准备调用max函数,故先对max函数进行说明(程序第6行)。函数定义和函数说明并不是一回事,在后面还要专门讨论。 可以看出函数说明与函数定义中的函数头部分相同,但是末尾要加分号。程序第10行为调用max函数,并把x、y中的值传送给max的形参a、b。max函数执行的结果(a或b)将返回给变量z。最后由主函数输出z的值。

    备注:本文章部分内容转载自:http://c.biancheng.net/cpp/html/56.html

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    FP-growth算法思想和其python实现
    HDInsight Command
    OpsMgr Connector 20070
    Exchange: How to get Mailbox size in Exchange Shell?
    Get members for ‘Dynamic Distribution Group’
    Hadoop 学习之路-开篇
    Office365 配置完成ADFS之后修改密码之后需要删除登陆信息
    添加只读访问权限到邮箱里的所有文件夹
    使用 Windows PowerShell 连接到 Lync Online
    windows 7无法打补丁
  • 原文地址:https://www.cnblogs.com/wahy/p/4817261.html
Copyright © 2011-2022 走看看