C语言函数相关知识点
1.函数的意义
- 避免代码冗长
- 模块化的设计思路
- 按功能划分,每个函数代表一个功能,函数的名字体现功能含义,更容易读懂代码
5.2函数的三要素
-
函数名:体现功能
参数列表:比如y=f(x);x就是参数。比如z=f(x,y),x和y就是参数
返回值:比如y=f(x),y是f(x)返回的值 -
函数体:执行功能涉及的代码
-
先定义后使用
3.函数的封装和调用
-
无参数函数
#include <stdio.h> void welcome(){ printf("hello\n"); } int main(){ welcome(); return 0;
-
一个返回值,一个参数
#include <stdio.h> int get(int x){ int data; data = x-1; return data; }//形式参数,需要包含变量类型,变量名(非必要) int main(){ int x; int y; puts("请输入一个数:\n"); scanf("%d",&x); y = get(x); printf("x=%d,y=%d\n",x,y); return 0; }
4.函数的封装和调用2
-
加法运算
#include <stdio.h> //函数三要素:返回值,参数列表,功能 int add(int data1,int data2){ int ret; ret = data1 + data2; return ret; }//函数原型 int main(){ int x; int y; int z; puts("请输入一个数:"); scanf("%d",&x); puts("请再输入一个数:"); scanf("%d",&y); z = add(x,y); printf("%d+%d=%d\n",x,y,z); return 0; }
-
空函数
void x(){ } //作用:防止编译出错
-
新手会犯的错误
ret = int add(x,y,z);
-
其他一些问题
//函数可以当作表达式 z = add(x,y); printf("%d+%d=%d\n",x,y,add(x,y)); //函数可以当作 其他函数条用的参数 printf("%d+%d=%d\n",x,y,add(x,y)); //add(x,y)是%d的参数