C语言入门2

=====================================
本节课程内容: 
    1,函数
    2,数组
    3,指针
=====================================

一,函数

1,概念
    函数是对一段实现某个功能的代码块的封装。
    
2,函数的作用
    
    1》避免写重复的代码
    2》使程序模块化
    3》有利于程序的维护和升级
    
3,函数的定义(实现)

    格式: 
        返回值类型 函数名(参数列表)     //函数头
        {
            要封装的代码块                //函数体
        }
    例如: 
    //函数的定义
    void farsight(void)        //函数头,void空类型,作为函数的返回值类型,表示该函数没有返回值,如果参数列表为void表示该函数没有参数
    {                        //函数体
        printf("华清远见\n");
        printf("2206班\n");
        printf("我是刘老师\n");
        printf("欢迎大家学习嵌入式\n");
    }

4,函数的使用(调用)和声明

    1》函数的调用 
        格式:
            函数名();  或 函数名(参数列表);
        
        例如: 
        farsight();  //函数调用 
        fun(a,b);  //函数的调用
        
    2》函数的声明 
    
        为什么要声明? 
        
        当被调用函数在调用函数的后面定义时,需要在调用之前先声明
        
        怎么声明?
        声明函数的格式: 函数头+;
    
        
    
        #include <stdio.h>

        void fun(int a,int b);  //函数的声明
        int main(void)
        {
            int a,b;

            printf("请输入a和b:");
            scanf("%d%d",&a,&b);

            fun(a,b);  //函数的调用

            return 0;
        }
        //函数的定义
        void fun(int a,int b)
        {
            int max;

            max = a > b ? a : b;

            printf("max = %d\n",max);
        }

5,函数传参

    1》函数的形参和实参
        形参:形式参数
            在函数头中定义的变量,成为函数的形式参数,简称形参。
            形参必须是变量
            形参由实参初始化
        实参:实际参数
            在函数调用语句中传递的参数,成为实际参数,简称实参。
            实参可以是变量,常量,表达式,指针等
            例如: 
            fun(a,b);  //函数的调用
            fun(a+3,b-2);
            fun(12,45);

    
    2》函数的传参方式
    
        值传递:
            形参类型和实参类型相同
            在被调用函数中,不能修改实参的值(不能给实参赋值)
        地址传递:
            形参类型是实参类型的对应的指针类型
            在被调用函数中,可以修改实参的值(给实参赋值)
            
        例如: 
        void fun01(int x,int y)        //在该函数中不能修改实参,只能使用实参
        {
            printf("%d,%d\n",x,y);  
            x = 100;
            y = 200;
        }

        void fun02(int* x,int* y)  //在该函数中,可以修改实参的值
        {
            *x = 120;
            *y = 340;
        }

        int main(void)
        {
            int a,b;

            printf("请输入a和b:");
            scanf("%d%d",&a,&b);

            fun01(a,b);    //值传递
                
            fun02(&a,&b);  //地址传递
            printf("a = %d\n",a);
            printf("b = %d\n",b);

            return 0;
        }

6,函数的返回值 
    int fun(int a,int b)
    {
        int sum;

        sum  = a + b;

        return sum;
    }

    int main(void)
    {
        int a,b;
        int sum;

        printf("请输入a和b:");
        scanf("%d%d",&a,&b);
            
        sum = fun(a,b);  //将hanshufun的返回值保存到sum中
        printf("sum = %d\n",sum);
        printf("sum = %d\n",fun(a,b));  //将函数fun的返回值直接打印到屏幕

        return 0;
    }
    
7,return语句的用法 

    1》在main函数中使用
        表示结束程序,返回到系统中
        例如:
        int main(void)
        {
            printf("华清远见\n");
            printf("2206班\n");
            return 0;   //结束程序,返回系统
            printf("我是刘老师\n");
            printf("欢迎大家学习嵌入式\n");

            return 0;
        }

        
    2》在其他函数中使用
        表示结束当前函数的执行,返回到调用该函数的位置
        例如: 
        //函数的定义
        void farsight(void)
        {
            printf("华清远见\n");
            printf("2206班\n");
            return ;   //结束当前函数,返回到调用该函数与的位置
            printf("我是刘老师\n");
            printf("欢迎大家学习嵌入式\n");

        }

        int main(void)
        {
            farsight();  //函数调用
            printf("我是主函数\n");
            return 0;
        }

8,全家变量

    1》概念 
        在所有函数外定义的变量称为全局变量。
        
    2》如何使用
        全局变量在所有函数中都可以使用
        但,如果函数中定义了同名的局部变量,则此函数中是不能使用该同名的全局变量
        
        例如: 
        int x1 = 100;

        //因为x2和x3在后面定义,在前面要使用,所以需要先声明
        int x2;
        int x3; 

        //函数的定义
        void fun(int a,int b)
        {
            int max;
            int x2 = 1209;
            max = a > b ? a : b;
            printf("max = %d\n",max);

            printf("x1 = %d,x2 = %d,x3 = %d\n",x1,x2,x3);
        }
        int x2 = 200;
        int main(void)
        {
            int a,b;

            printf("请输入a和b:");
            scanf("%d%d",&a,&b);

            fun(a,b);  //函数的调用

            printf("x1 = %d,x2 = %d,x3 = %d\n",x1,x2,x3);
            return 0;
        }

        int x3 = 300;
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值