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); 56、78就是两个实际参数
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)回归迭代:迭代计算值得过程
递归的优点和缺点:
优点是:遇到问题规模能够缩小,而且有规律的问题的时候,代码比较简洁
缺点:消耗内存
建议:在程序中不能用太多
7、xcode的运行原理
打开终端:
应用程序---->实用工具---->终端
查看目录下得文件: ls ls -l
切换目录: cd ../(上) ./当前
查看用户 who
查看当前目录 pwd
清屏: clear
创建文件的方法 touch vi
查看文件的方法 cat more
打开文件 open
删除文件 rm
创建文件夹 mkdir
。。。。
执行流程:
注意:要进行手工编译的时候,打开终端后,要cd到当前.c文件所在的目录
编译:cc -c 文件名.c
链接:cc 文件名.o
执行:./a.out
8、include文件包含
预处理的指令,所有的预处理指令都是以"#"开头
include作用:
把要包含的文件的内容拷贝到当前使用include的地方
include可以出现在函数的内容,也可以出现在文件开头
#include "" //用户自定义的文件
//搜索顺序:当前--->编译器中找--->系统的include找--报错
#include <> 包含系统的文件
//搜索顺序:先到编译器器---->系统的include--->报错