【C语言学习历程————自定义函数调用】-创新互联

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

创新互联专业提供雅安服务器托管服务,为用户提供五星数据中心、电信、双线接入解决方案,用户可自行在线购买雅安服务器托管服务,并享受7*24小时金牌售后服务。

文章目录
  • 前言
  • 一、函数的定义和使用
    • 1.函数调用时的数据传递
    • 2.函数的定义
  • 二、案例
    • 1.输入一个数判断是否为5的倍数
    • 2.输入四个整数,找出大值(用函数嵌套调用)
  • 总结


前言

在C语言中最基础的程序模块就是函数。C语言可由一个主函数(main)和若干个函数组成,学会调用函数也能使程序更简洁,可以事先编好一些常用的函数来实现不同的功能,例如用sin函数实现一个数的正弦时,把它保存在函数库中,需要用时直接在程序中写上sin(x)就可以直接调用系统函数库中的函数代码,执行这个代码就可以得到预期的答案,反之我们也能在程序中自定义函数,用于实现你想要的功能。

提示:以下是本篇文章正文内容,下面案例可供参考

一、函数的定义和使用 1.函数调用时的数据传递

函数的参数有两种,一种是在自定义函数时后面括号中的变量名称为“形式参数”(行参)或“虚拟参数”,还有一种就是在主调函数中调用一个函数时,函数后名后面括号中的参数称为“实际参数”(简称“实参”),在这里实际参数可以为常量、变量或表达式。在调用函数的过程中,系统会把实参的数值传递给被调用函数的行参
注:自定义函数可以进行嵌套使用,即在自定义函数中也能调用其它自定义函数。
注:行参和实参的数据传递是单向的,只能由实参传递给形参,反之不行。

2.函数的定义

返回值类型 函数名(参数类型 参数1,参数类型 参数2…参数类型 参数n)
{
执行语句
return 返回值;
}
代码如下

#includeint max(int x, int y)//定义max函数,这个函数有两个参数
{
	int z;              
	z = x >y ? x : y;    //将两个数中较大的值赋给z
	return (z);           //返回z;也就是返回大值,然后带回main函数
}
int main()                  //在主函数内调用
{
	int a, b;
	scanf("%d%d", &a, &b);       //输入两个数
	printf("%d", max(a, b));     //调用自定义函数,也就是将a的值传递给x,将b的值传递给y,最后返回这两个数中的大值以此来输出
}
二、案例 1.输入一个数判断是否为5的倍数

要求:从键盘输入一个数,调用函数判断这个数是否为5的倍数。

#includeint div5(int x)//定义div5函数
{int a = 0;//定义一个临时变量用于假设这个数不能被5整除
	if (x % 5 == 0)//如果这个数可以被5整除
	{a = 1;//当a的值为1时代表可以被5整除
	}
	if (a == 0)//如果a的值为0则不能被5整除
	{printf("不能被整除");
	}
	else//否则可以被就是可以被5整除
	{printf("可以被整除");
	}
}
int main()
{int b;
	scanf("%d", &b);//输入数
	div5(b);//调用函数来判断是否能被5整除
}
2.输入四个整数,找出大值(用函数嵌套调用)
#includeint main()
{int a, b, c, d, max;
	printf("请输入四个数字以此来判断哪个数大\n");//提示信息
	scanf("%d%d%d%d", &a, &b, &c, &d);//输入四个数
	max = max4(a, b, c, d);//调用函数找出大值
	printf("大值为:%d", max);//最后输出
	return 0;
}
int max4(int a, int b, int c, int d)
{int m;
	m = max2(a, b);//调用函数先找出a和b之中的大值,将较大的那个存放至m
	m = max2(m, c);//再将m和c进行对比找出大值,通过上一行和这一行就能得知a,b,c中的大值
	m = max2(m, d);//最后将前三个数中的大值和d进行对比,最终找出四个数中的大值
	return m;//返回大值
}
int max2(int a, int b)//此函数的作用是找出两个数中的大值
{if (a >b)
	{return a;
	}
	else
	{return b;
	}
}
总结

例如:以上就是今天要讲的内容,本文仅仅简单介绍了函数调用的使用,重点是理解行参和实参,即:行参和实参的传递是单向的,只能由实参传递给行参,反之不能传递。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


文章题目:【C语言学习历程————自定义函数调用】-创新互联
文章路径:http://myzitong.com/article/dpejcc.html