C语言基础-函数篇
文章目录
- 函数篇
- 一、函数的总结:函数就是把所有细节汇总成一个概念。
- 二、什么是函数呢?
- 三、如何定义一个函数?
- 四、如何调用一个函数?
- 五、函数调用的好处?
- 六、重要知识点(形式参数)!!
-
- 形式参数:
- 七、形式参数和局部参数的差异性:
- 八、看懂一个函数才能懂得如何使用函数:
函数篇
一、函数的总结:函数就是把所有细节汇总成一个概念。
比如 int prepare(); //出门前的准备
int ontheroad(); //在路上
int gobackhome(); //回家
二、什么是函数呢?
函数是一个功能模块,它是把实现某个功能代码块包含起来,包成一个函数名,供别人调用,如printf();函数,system函数,是程序运行当中包装起来的一个步骤。
三、如何定义一个函数?
函数包含了 1.返回值 2.形式参数 3.函数名 4.函数体(就是细节的代码块)
四、如何调用一个函数?
函数名(实际参数)
函数名();
五、函数调用的好处?
1.代码清晰 2.容易定位找到问题 3.代码的可复用性强 4.分工明确
六、重要知识点(形式参数)!!
!!void 代表返回值的类型是无类型,return要写,不过return后面不加变量。
形式参数:
1.有点类似于变量点定义,所以写法也是类似于变量定义:
如:int a; 形式参数作用域仅限于该函数。
2.它是一个变量,局部变量,有自己的空间。
a.空间的生存期:
b.何时申请了该空间:当函数被调用的时候,才申请了该内存空间,才有了这个变量,同时这个空间内的数据被赋值成实际参数的值,函数调用把实际参数拷贝一份给形式参数。
c.什么时候释放该空间:函数执行结束后,该空间由内存管理单元自动回收(释放)。 但是调用函数带有参数,必须传参,传递的参数叫实际参数,对格式没有要求,对数据的类型严格要求!!!
七、形式参数和局部参数的差异性:
形式参数比局部参数更灵活。
八、看懂一个函数才能懂得如何使用函数:
1.参数怎么选 ,参数的类型 参数的个数 2.函数的返回值 返回值的类型 3.功能函数的名字来体现功能。
例子——用函数来做计算器的案例:
#includevoid add(int a,int b){ int add; add=a+b; printf("%d+%d=%d\n"a,b,add);}void chu(int a,int b){ int chu; chu=a/b; printf("%d/%d=%d\n",a,b,chu);}void jian(int a,int b){ int jian; jian=a-b; printf("%d-%d=%d"a,b,jian);}void cheng(int a,int b){ int cheng; cheng=a*b; printf("%d*%d=%d"a,b,cheng);}int main(){ int data1; int data2; char suanfa; while(1){ printf("请输入一个算法\n") scanf_s("%c",&suanfa); getchar(); switch(suanfa){ case '+': printf("你选择了加号\n"); printf("请你输入一个数据\n"); scanf_s("%d",&data1); printf("请你输入第二个数据\n"); scanf_s("%d",&data2); add(data1,data2); break; case '-': printf("你选择了减号\n"); printf("请你输入一个数据\n"); scanf_s("%d",&data1); printf("请你输入第二个数据\n"); scanf_s("%d",&data2); add(data1,data2); break; case '*': printf("你选择了乘号\n"); printf("请你输入一个数据\n"); scanf_s("%d",&data1); printf("请你输入第二个数据\n"); scanf_s("%d",&data2); add(data1,data2); break; case '/': printf("你选择了除号\n"); printf("请你输入一个数据\n"); scanf_s("%d",&data1); printf("请你输入第二个数据\n"); scanf_s("%d",&data2); add(data1,data2); break; default: break; } } return 0;}