前言:函数是构成C语言程序的基本单位。今天就来了解一下C语言中的函数。
什么是函数呢?在数学中有一次函数:y=kx+b。k,b都是常数,只要给一个任意的x就能得到y。在C语言中也引入了函数的概念,也叫做子程序。C语言中的函数就是一个完成某项特定任务的一小段代码。
1 函数的分类
C语言中的函数一般有两类:库函数,自定义函数
。
.
库函数
C语言中是不提供库函数的,C语言的国际标准ANSI C规定了一些常用的函数标准,被称为标准库。标准库里面的函数就叫做库函数。库函数的使用需要包含对应的头文件。
举例说明:求出100~200之间的素数。
#include<stdio.h>
#include<math.h>
int main()
{
int i = 0;
//产生100~200之间的奇数
for (i = 101; i < 200; i += 2)
{
int j = 0;
int flag = 1;//用来判断i是不是素数
//试除法,用2~sqrt(i)去试除i
for (j = 2; j <= sqrt(i); j++)//sqrt是一个库函数,用来求一个数的平方根,需要包含math.h头文件
{
//如果i%j==0,说明i不是素数
if (i % j == 0)
{
flag = 0;//如果i不是素数,flag就置为0
break;
}
}
if (flag)
{
printf("%d ", i);//printf也是一个库函数,需要包含stdio.h
}
}
return 0;
}
输出结果
代码分析:素数是指除了1和它本身之外不能够被其它数整除的数就叫做素数。首先素数肯定不是偶数,因此从奇数里面去找。其次一个数总是能够被拆成两个整数相乘,且其中至少有一个整数是小于等于该数本身的
。例如16=1*16=2*8=4*4
。
.
自定义函数
形式
ret_type fun_name(形式参数)
{
}
ret_type是函数返回类型
fun_name是函数名
举例说明:实现一个加法函数
#include<stdio.h>
int Add(int x, int y)//int是函数返回类型,Add是函数名,x,y是函数参数
{
return (x + y);
}
int main()
{
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);
int sum = Add(a, b);
printf("%d\n", sum);
return 0;
}
输出结果
12 20
32
2 形参和实参
同样的一段代码,我们再来分析一下。
#include<stdio.h>
int Add(int x, int y)//函数的定义
{
return (x + y);
}
int main()
{
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);
int sum = Add(a, b);//函数的调用
printf("%d\n", sum);
return