目录
从函数执行结果的角度来看, 函数可分为有返回值函数和无返回值函数两种
从主调函数和被调函数之间数据传送的角度看,又可分为无参函数和有参函数两种
函数的基本概念
C源程序是由函数构成的
例如:我们在前面的学习中可以知道,同过main函数+scanf函数+printf函数+逻辑代码就可以组成一个C语言程序。
C语言不仅提供了极为丰富的库函数,还允许用户自己定义函数,用户可以把自己想法编写成一个个函数封装起来,然后在使用的时候调用它。
函数的分类
在C语言中可以从不同的角度对函数分类
从函数定义的角度,可以分成库函数和用户自定义函数
库函数:由C语言系统提供,用户无需定义,也不用做说明,只需要在使用前,包含有该函数的头文件即可。
用户定义函数:用户按照需求编写的函数,对于用户自定义函数,需要在程序中声明,
还要定义函数本身,才能使用。
从函数执行结果的角度来看, 函数可分为有返回值函数和无返回值函数两种
有返回值函数:此类函数执行完毕后会向调用者返回一个结果,我们称为函数返回值,(注意:必须要指定返回值类型,以及使用return关键字返回)
无返回值函数:此类函数执行完毕后,不需要向调用者返回函数值(注意:此时函数的类型为void,不需要使用return关键字)
从主调函数和被调函数之间数据传送的角度看,又可分为无参函数和有参函数两种
有参函数:在函数定义以及说明时要用参数(称为形式参数,简称形参)在函数调用时也要给出实际参数(简称实参)
无参函数:在函数定义及函数说明及函数调用中均不带参数。主调函数和被调函数之间不进行参数传送
函数的定义
定义函数的目的
将一个功能封装起来,方便以后调用
自定义函数的格式
返回值类型 函数名(参数类型 形参1,参数类型 形参2)
{
函数体;
返回值;
}
示例:
int Add(int x,int y)
{
int z = x + y;
return z;
}
无参无返回值定义:
没有返回值时,return可以省略
格式:
void 函数名()
{
函数体;
}
示例:
void symbol()
{
printf("\\|/\n");
printf("|\n");
printf("@\n");
//\n属于操作符,在这里是换行的意思
}
无参有返回值定义:
函数类型 函数名()
{
函数体;
返回值;
}
示例:
int getMax ()
{
int num1,num2;
scanf("%d%d",&num1,&num2);
int max = num1 > num2 ?num1:num2;
return max;
}
有参无返回值:
void 函数名(参数类型 形参1,参数类型 形参2)
{
函数体;
}
示例:
void pmax(int num1,int num2)
{
int max = num1 > num2 ? num1:num2;
printf("%d\n",max);
}
有参有返回值:
函数类型 函数名(参数类型 形参1,参数类型 形参2)
{
函数体;
返回值;
}
示例:
int pmax (int num1,int num2)
{
int max = num1 > num2 ? num1 : num2;
return max;
}
函数定义的注意:
函数名称不能相同
void max(){
}
//此时会报错,函数名一定不能相同
void max(){
}
C语言小白的进阶之路,简单的写了一点,希望大家三连哟!!!