C语言快速入门系列-1(初识C)
C语言快速入门系列-2(编程环境)
C语言快速入门系列-3(第一个程序)
C语言快速入门系列-4(认识变量)
C语言快速入门系列-5(运算符)
C语言快速入门系列-6(数组)
C语言快速入门系列-7(条件判断)
C语言快速入门系列-8(for循环)
C语言快速入门系列-9(while循环)
==================================================================================================================
今天给大家介绍的是函数这一知识点,其实这里是很简单的一部分,函数在其他的语言设计中可能还有一个名字叫方法,但实质都是一样的。
我们直接看正题
先来看一段代码:
#include<stdio.h>
void func1()
{
printf("func1\n");
}
int func2()
{
int a;
printf("func2\n");
a=3;
return a;
}
void func3()
{
int a=2,c;
printf("func3\n");
c=2*a;
}
int func4(int a)
{
int c;
printf("func4\n");
c=2*a;
return c;
}
int main()
{
int b;
func1();
b=func2();
printf("%d\n",b);
func3();
printf("%d\n",func4(3));
return 0;
}
上面的代码运行结果:
接下来我们分析一下函数
上面的代码有一个主函数和多个子函数,main函数在整个程序中只能由一个,而其他的函数则可以有多个。
main函数中主要是用来调用子函数的,是整个程序的主干
而子函数则是程序功能的具体实现,又叫作方法
函数可以有返回值也可以没有返回值(即返回值为空),无返回值的是执行完函数之后不返回任何东西,有返回类型的是返回函数的执行结果
函数分为有参函数和无参函数,具体介绍如下:
子函数的构建格式如下:
void func1( )
{
}
这个就是一个返回值为空的无参函数的框架,函数名为func1
void则是返回值的类型,也可以是C中的一些基本类型,如int 、float等
int func2( )
{
}
这是一个返回值为整型的无参函数的框架,函数名为func2
int func4(int a)
{
}
这个是返回值为整型的有整型参数的函数的框架,参数的类型可以是C中的一些基本类型如float、double等
int func2()
{
int a;
printf("func2\n");
a=3;
return a;
}
上面这个函数的执行结果是将a的值待带回,也就是再主函数中调用此函数则能得到的结果是a的值,例如s=func2();那么s的值即为return a;中a的值,也就是整个函数的执行的结果。
void func3()
{
int a=2,c;
printf("func3\n");
c=2*a;
}
像这个函数则不返回任何值,那么他的作用一般就是做一些输出操作
int main()
{
int b;
func1();
b=func2();
printf("%d\n",b);
func3();
printf("%d\n",func4(3));
return 0;
}
主函数中则是对子函数的一个调用和声明,但是这个主函数中没有做声明,这是为什么呢?因为子函数全部写再了主函数的上方,程序在执行的时候会先解上方的程序,如果写在主函数的下方则程序会在编译的时候报错。如果非得写在下方,那么我们就需要在主函数中做子函数的声明语句,来告诉程序有这个函数的存在。函数的声明语句其实很简单,只需要在函数名字的后面加上分号后放在主函数里就可以了。
本教程例代码也可写成如下:
#include<stdio.h>
int main()
{
//下方内容为函数声明
void func1();
int func2();
void func3();
int func4(int a);
//上方内容为函数声明
int b;
func1();
b=func2();
printf("%d\n",b);
func3();
printf("%d\n",func4(3));
return 0;
}
void func1()
{
printf("func1\n");
}
int func2()
{
int a;
printf("func2\n");
a=3;
return a;
}
void func3()
{
int a=2,c;
printf("func3\n");
c=2*a;
}
int func4(int a)
{
int c;
printf("func4\n");
c=2*a;
return c;
}
void func1();
int func2();
void func3();
int func4(int a);
这些语句则是每个函数对应的声明语句,一定要写在主函数中,并且有分号。声明了语句之后函数写在主函数下方也没问题了。
任务:
用之前的案例,自行练习函数的使用
|