一、学习目标
- 了解C语言的自定义函数的使用方法
- 了解C语言自定义函数的传参
- 了解C语言自定义函数的返回值
目录
C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语言。
第一篇:(一)脱离学习误区
第二篇:(二)C语言没那么难简单开发带你了解流程
第三篇:(三)轻轻松松理解第一个C语言程序
第四篇:(四)C语言的基本数据类型及变量
第五篇:(五)C语言的变量、常量及运算
第六篇:(六)轻轻松松了解C语言的逻辑运算
第七篇:(七)C语言的循环分分钟上手
第八篇:(八)了解基本数组还不是那么简单
第九篇:(九)C语言二维数组与循环嵌套
第十篇:(十)C语言的指针原来是这样
第十二篇:(十二)原来结构体是这么回事
第十三篇:(十三)socket服务端编写
C语言新手的100个报错解法
欢迎大家关注公众号,公众号每满1024及1024倍数则会抽奖赠送机械键盘一份+IT书籍2份哟~
二、了解C语言自定义函数的使用方法
在C语言中函数是可以自定义的,根据自己的需求实现不同的函数方便在之后开发中使用。
2.1 了解自定义函数的使用方法
自定义函数由几部分构成,最简单的函数有返回类型修饰符、函数名以及函数体。返回类型的修饰符为类型修饰符,如int、float、char等;返回类型修饰符一般放在函数名前,函数名的定义方式与变量名定义规范类似;自定义函数的函数体则是在一对花括号内的代码内容。
我们先看一个示例:
#include<stdio.h>
void func(){printf("这里是自定义函数\n");
}void main() {func();
}
以上代码中,自定义函数为:
void func(){printf("这里是自定义函数\n");
}
在以上对于函数的描述中,我们得知最简单的函数构成为类型修饰符、函数名以及函数体。以上函数的类型修饰符为void,void表示当前函数没有返回值(什么是返回值接下来会说到)。函数名为func,函数名后接着一堆圆括号,圆括号后有一对花括号,花括号内则是函数体。当前函数体内的内容为输出"这里是自定义函数\n"
这一个提示。当前函数的功能也就是显示 "这里是自定义函数\n"
这个内容了。
在main中,调用了自定义函数func。之前我们已经知道,函数使用方式为函数名后接一堆圆括号,所以代码写为 func();,用分号结束。调用后将会执行函数中的代码将会显示 "这里是自定义函数\n"
。
运行结果如下:
细心的同学发现,其实我们的main也是一个函数,我们使用void修饰main函数,不过main是系统函数表示当前代码的入口,我们所编写的代码将会从main函数第一条语句开始运行。
2.2 了解有参函数的使用方法
我们经常使用printf函数,该函数我们传入什么值将会在程序运行时显示什么值;所传入的值称为参数,我们自定义的函数也可以实现这个功能。例如我想显示变量a的值,只需要修改一下上一节的代码即可实现,代码如下:
#include<stdio.h>
void func(int a){printf("变量a 的值是%d\n",a);
}void main() {int a=10;func(a);
}
以上代码在func函数的圆括号中添加了int a
,int a
表示func函数接收一个整数类型的变量a;在func函数中,使用printf函数输出了变量a的值,在函数中使用的a变量在func(int a)
中表示声明,具体值需要在使用函数时传入。使用函数传参只需要函数名后接的圆括号中传入值,则表示把值赋值给func圆括号中的变量a,如func(a);
则表示把外部的a变量值赋值给func函数的a变量。
在以上函数中,func(int a)
的变量a与main函数的a是有区别的;就好比你们学校校长叫做小明,你们班有个学生叫做小明,在你们班级平常称呼中,小明指的是你们班级的小明,并不是校长;函数也一样,在函数中,使用的a单单值函数内的a,func(int a)中的a,以及接下来函数内使用的a只代表当前函数。
结果如下:
当然传入的值也可以写为具体的值,代码如下:
#include<stdio.h>
void func(int a){printf("传入的值是%d\n",a);
}void main() {int a=10;func(99);
}
运行结果如下:
2.2 了解有多个参函数的使用方法
以上了解了一个参数的自定义函数,接下来了解多个参数的自定义参数使用方法。查看示例:
#include<stdio.h>
void func(int a,int b){printf("a+b 的值是%d\n",a+b);
}void main() {int a1=10,b1=11;func(a1,b1);
}
以上代码中,func函数接收两个参数,一个是a,一个是b,两个参数之间使用逗号间隔,func自定义函数中则会输出两个数相加的结果。在main函数中,定义了两个变量一个为a1,一个为b1,使用func后传入两个变量,它们之间使用逗号间隔。
运行结果如下:
2.2 了解自定义函数返回值
我们修改上一节示例,现在需求更换为只需要得到两个值做加法运算后的值,不需要在函数中输出,只需要在外部输出结果。代码如下:
#include<stdio.h>
int func(int a,int b){int c=a+b ;return c;
}void main() {int a=10,b=11;int c=func(a,b); printf("%d",c);
}
以上代码中,void func 修改成了int func,void表示当前函数无返回值,使用int 表示当前函数将会返回一个整数值表示当前函数最终的结果。
在函数体中定义了一个整数类型变量c,并且直接赋值为a+b的结果;最后使用return关键字表示把变量c的值给返回出去。在外部需要使用一个变量接收如 int c=func(a,b);
,这时变量c就得到了func函数返回的值。在以上代码中使用printf函数查看c的结果。
运行结果如下:
当然也可以直接输出函数的结果值:
#include<stdio.h>
int func(int a,int b){int c=a+b ;return c;
}void main() {int a=10,b=11;printf("%d",func(a,b));
}
想要再简便代码一点也可以这样:
#include<stdio.h>
int func(int a,int b){return a+b;
}void main() {int a=10,b=11;printf("%d",func(a,b));
}
描述函数返回值的修饰符一定要与返回值类型一致,否则将会出现无法预料的结果或者直接报错。
以上代码我使用void修饰了一个有返回值的函数,编译器直接报错提示我的函数是有返回值的但是用了void修饰。
三、总结
通过以上描述与讲解,我们了解了以下几点内容:
- 了解了自定义函数的基本使用方法
- 了解了自定义函数类型修饰符与变量类型修饰符一致
- 了解了有参自定义函数的使用方法
- 了解了自定义函数有返回值的使用方法