当前位置:   article > 正文

C语言学习笔记——函数_根据提示,在右侧编辑器补充代码,先定义一个没有参数的函数,函数的体程序功能是先

根据提示,在右侧编辑器补充代码,先定义一个没有参数的函数,函数的体程序功能是先

函数

为什么要用函数

避免代码冗长

模块化的设计思路

按功能划分,每个函数代表一个功能

函数要先定义在使用,和变量一个道理

函数的三要素

函数名——体现功能;

参数列表——例如:z=f(x,y)  xy就是参数——参数的个数根据需求定义

返回值——例如:z=f(x,y)   z是函数根据x,y的值个f的功能执行后的结果

函数体——执行什么样的功能,涉及的处理代码叫函数体

函数的定义和调用

定义无参数函数

类型名 函数名()

{

      函数体

}

  1. #include <stdio.h>
  2. void printfWelcome ()
  3. {
  4. printf("================\n");
  5. printf("欢迎来到我的程序\n");
  6. printf("================\n");
  7. }
  8. int main()
  9. {
  10. printfWelcome();
  11. return 0;
  12. }

定义有参数有返回值的函数

1.

  1. #include <stdio.h>
  2. int getDataFromX(int x) //()里为形式参数,需要包含变量类型,变量的名字随便
  3. {
  4. int data;
  5. data = x - 1;
  6. return data; //return 后可以是 X-1
  7. }
  8. int main()
  9. {
  10. int x;
  11. int y;
  12. puts("请输入x的值");
  13. scanf("%d",&x);
  14. y = getDataFromX(x);
  15. printf("x的值为%d ,y的值为%d\n",x,y);
  16. return 0;
  17. }

2.

  1. #include <stdio.h>
  2. int add(int data1,int data2)
  3. {
  4. int ret;
  5. ret = data1 + data2;
  6. return ret;
  7. }
  8. int main()
  9. {
  10. int x;
  11. int y;
  12. int z;
  13. puts("请输入一个数");
  14. scanf("%d",&x);
  15. puts("再输入一个数");
  16. scanf("%d",&y);
  17. z = add(x,y);
  18. printf("%d + %d = %d",x,y,z);
  19. return 0;
  20. }

定义空函数——程序设计,模块设计的时候占坑

函数调用需要注意的问题:

调用函数是不能带返回值的类型;例如 int add(2,3)  是错的

调用函数时形式参数不能带类型;例如 add(int a,int b)   是错的

函数可以当作表达式——用的是他的返回值;

函数调用当作其他函数调用的参数——用的也是他的返回值。

形式参数和实际参数

1.在调用有参函数时,主调函数和被调用函数之间有数据传递关系。

在定义函数时函数名后面括号中的变量名称为“形式参数”。

在主调函数中调用一个函数时,函数名后面括号中的参数称为“实际参数”。实际参数可以是常量,变量或表达式

传递参数,传递的是值——形参和和实参值相同,但是地址空间不同

2.局部变量

在fun1中定义了变量a,b;在fun2中定义了变量a,c

两个变量a不是同一个对象,他们有自己的有效范围

编程案例

输入两个整数,要求输出较大的数

  1. #include <stdio.h>
  2. int getBigData(int x,int y)
  3. {
  4. int z;
  5. if(x>y){
  6. z = x;
  7. }else{
  8. z = y; //这里可以用 z = x>y?x:y; (三目运算符)
  9. }
  10. }
  11. int main()
  12. {
  13. int data1;
  14. int data2;
  15. int Max;
  16. puts("请输入两个数");
  17. scanf("%d%d",&data1,&data2);
  18. Max = getBigData(data1,data2);
  19. printf("两个数是:%d,%d;大数是:%d\n",data1,data2,Max);
  20. return 0;
  21. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/593406
推荐阅读
相关标签
  

闽ICP备14008679号