0
点赞
收藏
分享

微信扫一扫

【例7-2】自定义函数的定义

船长_Kevin 2022-01-31 阅读 39

(一)函数应包括的内容
1.函数返回值类型:用来表明函数执行后是否有返回值,是什么类型的返回值
2.函数名:唯一标识该函数,供使用者按名调用。
3.函数参数:包括参数的名字和类型,用来表明该函数要接收的参数信息。
4.函数功能:函数应当完成的操作,在函数体中编写代码实现。
包括以上4点的完整代码描述称为函数的定义

(二)用户自定义函数的一般形式
函数返回类型 函数名(形式参数列表)    //函数首部
{
    函数体;
}

1.函数首部:包括返回值类型、函数名、形式参数等信息。
2.返回值类型:有返回值的函数,函数体应包含有一条return 语句
              无返回值的函数,返回值类型为void。
3.形式参数:简称形参,与函数调用时所定义使用的实参一一对应。
注意:每个形参的类型不能省略,如"演示1"的形参(int x, int y)不能写成(int x,y)
      当形参为一维数组时,允许不给出数组的长度,如"演示2"的形参(char str[])。
4.函数体:用来实现函数的功能,使用大括号"{}"作为界定符

//自定义函数定义的演示1

#include<stdio.h>
//此处用户自定义函数写在主函数main()前,可省略自定义函数声明
int max(int x, int y)	//自定义函数定义
{
	int z;
	z = x > y ? x : y;
	return z;
}
//该自定义函数的函数名为max,形参为2个 int 类型变量,函数返回值为 int,与 return z;相对应;
//函数功能为:对参数 x 和 y 进行分析,得到其中最大值。
int main()		//主函数
{
	int a, x, y;
	printf("请输入两个整数:");
	scanf_s("%d%d", &x, &y);
	a = max(x, y);		//自定义函数引用在例7-5详细讲解
	printf("最大数为:%d", a);

	return 0;
}

//自定义函数定义的演示2

#include<stdio.h>
int string_len(char str[])		//自定义函数的定义
{
	int i = 0;
	while (str[i] != '\0')
	{
		i++;
	}
	return i;
}
//该自定义函数的函数名为string_len,形参为1个字符型一维数组str[],
//函数返回值为 int,与 return i;相对应;
//函数功能为:对字符数组str中的字符串进行分析,计算该字符串的长度。
int main()
{
	int a;
	char s[100];
	printf("请输入一个字符长度小于100的字符串:");
	gets_s(s, 100);
	a = string_len(s);		//自定义函数的引用
	printf("该字符串的长度为:%d", a);

	return 0;
}

 //随堂练习7-1
自定义函数even,其功能为判断一个整数是否为偶数,如果是偶数,则返回值为 1,
不是偶数,则返回值为 0。

#include<stdio.h>
int even(int a)
{
	int x;		//定义一个x,用于返回形参运算的结果
	x = (a % 2 == 0) ? 1 : 0;
	return x;
}

int main()
{
	int z;
	printf("请输入一个整数:");
	scanf_s("%d", &z);
	printf("其返回值为:%d", even(z));		//自定义函数的引用

	return 0;
}

//随堂练习7-1中自定义函数的定义方式二:

int even(int a)
{
	if (a % 2 == 0)
		return 1;
	else
		return 0;
	return a;
}

//随堂练习7-1中自定义函数的定义方式三:

int even(int a)
{
	return (a % 2 == 0) ? 1 : 0;
}

 

举报

相关推荐

0 条评论