【C语言疯狂讲义】(六)C语言函数

本文详细介绍了C语言中的函数概念、定义、参数传递、返回值、调用方式及递归函数的特点,并提供了xcode环境下C语言程序的运行流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、函数的概念

 

    完成特定功能的代码段,他也是组成我们C语言源程序的基本单位

 

    优点:

 

    1)提高程序的可读性,

    2)可以提高开发的效率

    3)提高代码重用性

 

 2、函数的定义

 

    格式:

       返回值  函数名(形参列表){

 

            函数体;

 

            //return

       }

 

    4

    有参无返回值:void test(int x,float y){  };

    无参无返回值:void test1(){  }

    有参有返回值: int  max(int x,int y){    return x>y?x:y; }

    无参有返回值: int  test2(){    return 10;}

 

 3、函数的参数

 

    1)形参和实参

 

      形参:函数名后面小括号中的参数  ,格式: 数据类型 变量  如:int x;

           形参的作用域:只能在本函数中使用

      实参:调用函数的时候传递的参数

 

           max(56,78);     5678就是两个实际参数

 

    2)参数的传递的过程

 

      实参的值拷贝一份放到函数形参中

 

 4、函数的返回值

  

    主调函数:A  B两个函数,如果在A中调用了B,A叫主调函数,B被调函数

    被调函数:

 

    被调函数返回给主调函数的值

 

    函数的返回值使用return关键字进行返回

 

    1 return 0;   return (0);

    2)  return a+b;  return a>b?a:b;

    3)  如果函数的返回值是 void   return ;(程序返回了,不再向下执行)

    4 函数中可以有多个return ,但是只有一个起作用

 

 5、函数的调用

 

    1)函数的声明:

 

       为什么要进行声明? 

  

        类似于变量的使用,我们要使用函数,就应该先定义函数,编译器不知道我们是否已经定义了某个函数,为了防止编译器编译的时候报错(函数调用)

            所以,要告诉编译器,我已经定义了哪些函数

 

       原则:

 

        在调用函数之前,进行该函数的声明

 

       声明的方法:

 

        技巧:复制函数的头部,加上分号,写在调用调用方法之前

 

             int max(int x,int y);  //声明

 

             max(56,78); //调用

 

    2)函数的调用

 

        函数名(实参列表);

 

 6、递归函数

 

    在函数中自己调用函数自己

 

    能够进行递归的有两个条件:

 

    1)能够找到让问题的规模缩小的规律

    2)能够让递归结束的条件

 

    递归函数的执行有两个阶段:

 

    1)递推阶段:问题规模缩小的过程

    2)回归迭代:迭代计算值得过程

 

    递归的优点和缺点:

   

    优点是:遇到问题规模能够缩小,而且有规律的问题的时候,代码比较简洁

    缺点:消耗内存

   

    建议:在程序中不能用太多

 

 

 7xcode的运行原理

 

    打开终端:

   

        应用程序---->实用工具---->终端

 

    查看目录下得文件:   ls       ls -l

    切换目录:          cd       ../()  ./当前

    查看用户           who

    查看当前目录        pwd

    清屏:             clear 

    创建文件的方法      touch      vi 

    查看文件的方法      cat more  

    打开文件           open

    删除文件           rm

    创建文件夹          mkdir

    。。。。

  

    执行流程:

 

       注意:要进行手工编译的时候,打开终端后,要cd到当前.c文件所在的目录

 

       编译:cc -c  文件名.c

       链接:cc 文件名.o

       执行:./a.out

 

 

 8include文件包含

 

    预处理的指令,所有的预处理指令都是以"#"开头

 

    include作用:

 

    把要包含的文件的内容拷贝到当前使用include的地方

 

    include可以出现在函数的内容,也可以出现在文件开头

 

  

    #include ""  //用户自定义的文件

 

                 //搜索顺序:当前--->编译器中找--->系统的include--报错

    

 

    #include <>  包含系统的文件

   

                 //搜索顺序:先到编译器器---->系统的include--->报错

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值