C语言函数

//

//  main.c

//  C_03

//

//  Created by ibokan on 15/11/27.

//  Copyright © 2015 rick. All rights reserved.

//


#include <stdio.h>

//全局变量

int ee = 0;


//main函数的前面,我们需要将程序需要用到的函数,声明或定义出来

//函数的声明

int getSumm(int a, int b);


//有返回值有参数类型

int getMax(int a,int b,int c)

{

    //auto

    int max = a;

    if (max < b)

    {

        max = b;

    }

    if (max < c)

    {

        max = c;

    }

    

    return max;

}


//无返回值无参数类型

void print()

{

    printf("我是无返回值无参数类型的\n");

}


//有返回值无参数类型

int getSum()

{

    int sum = 0 ;

    for (int i = 1; i<= 100; i++)

    {

        sum += i;

    }

    return sum;

}


//无返回值有参数类型

void printChar(char alphabet)

{

    printf("alphabet = %c\n",alphabet);

}


//形参实参例子

void changValue(int x)

{

    printf("x 改变之前的值%d\n",x);

    x = 999;

    printf("x 改变之后的值%d\n",x);

}


//static例子

void test()

{

    static int e = 0;

    printf("e = %d\n",e);

    e++;

}


int main(int argc, const char * argv[]) {

   

    int a = 1;

    int b =2;

    int c = 3;

    int max = a;

    if (a< b)

    {

        max = b;

    }

    if (max < c)

    {

        max = c;

    }

    

    /*

     函数 将一些功能代码隐藏起来,给外部提供接口,我们需要知道函数可以干什么就可以了

     使用函数可以实现代码的重用

     

     */

    

    /*

     C语言函数的定义:

     语法:

       返回值类型  函数名(参数类型 参数名1,参数类型 参数名2...)

     {

        实现函数的代码

        

        return 返回值;

     

     }

     

     */

    

    int getmaxa = getMax(1, 2, 3);   //函数的调用

    

    printf("getmaxa = %d\n",getmaxa);

    

    //有返回值有参数类型

    

    //无返回值无参数类型

    print();      //函数的调用

    

    

    //有返回值无参数类型

    int getSumNumber = getSum();

    printf("getSumNumber = %d\n",getSumNumber);

    

    

    //无返回值有参数类型

    printChar('a');

    

    /*

     每个函数都有返回值类型,即类型标识符

     void类型表示此函数返回值类型为空

     参数列表可以为空

     如果一个函数没有参数,它依然要写()

     */

    

    /*

     函数的声明

        函数的声明与函数头一样,以分号结束

    */

    

    int theSum = getSumm(2, 3);

    printf("theSum = %d\n",theSum);

    

    /*

     函数的调用

     语法

        方法名(实参列表)

     

     */

    

    /*

     形参(形式参数),在定义函数的时候使用,并且在整个函数内部可以使用,出了函数之后不能使用

     形参:变量、数组

     

     实参(实际参数),在调用函数时使用,通过实际参数,将数据传递给形式参数,然后再经由形式参数传递给函数

     实参:同类型的常量、变量、数组元素、表达式、数组

     

     */

    

    int x = 10;

    changValue(x);

    

    printf("x = %d\n",x);

    

    /*

     注意:

     1.形参和实参在数量、类型、顺序上应该应该严格一致,否则会发生类型不匹配的错误。

     

     2.在函数中对形参做出改变,那么在函数执行完毕后,实参的值是不会发生改变的,因为函数内部所操作的都是实参的副本。

     

     */

    

    /*

     变量的作用域  全局变量  局部变量

     全局变量 :定义在我们函数外部的变量称为 全局变量,任何函数都可以使用

     

     局部变量:定义在我们的函数里面的变量称为局部变量

     auto  static ...

     

     对于auto类型的局部变量出了函数以后不能使用

     

     static类型的局部变量,能够在程序运行期间一直保持其最后一次被改变的值

     

     */

    

    

    for (int i = 0; i <10; i++)

    {

        test();

    }

    

    /*

     函数的分类

     1.库函数 printf scanf

     2.数学库函数  #include<math.h> P103

     3.自定义函数: 用户在程序中需要而编写的函数

     

     */

    

    //函数的嵌套调用

//    int t = getSumm(2, 3);

   int value =  getMax(getSumm(2, 3), 2, 3);

    printf("value = %d\n",value);

    

    /*

     C程序源代码格式的一般情况如下:

     预编译语句

     宏定义常量

     函数的声明放在这里

     main函数

     函数的实现放这里

     

     */

    

    

    

    

    return 0;

}



int getSumm(int a, int b)

{

    //函数的实现

    int sum = a+b;

//    a++;

//    b++;

    return sum;

}


















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值