> 文档中心 > C语言基础-函数篇

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;}