4.1函数定义和调用

一、为啥要使用函数
1、避免代码冗长
2、模块化的设计思路
3、按功能划分,每个函数代表一个功能,而函数的名字要体现函数的功能含义,类似变量标识符y=f(x)

二、函数的三要素(牢记)
函数要先定义再使用,和变量一个道理。
1、函数名——体现功能
2、参数列表(参数的个数根据需求自行定义)
比如y=f(x),x就是参数
比如z=f(x,y),x,y就是参数

     initWifi(password,wifiName);

3、返回值
比如y=f(x),y是函数根据x的值和f的功能执行后的结果。

    int dis;
    dis=getDistance();

注:函数体——执行什么样的功能,涉及的处理代码。
main函数也是函数,下列大括号中的代码就是函数体。

	#include <stdio.h>
	int main()
	{
		return 0;
	}

三、函数的定义
1、定义一个不需要返回值的函数
在这里插入图片描述代码演示:
1)

#include <stdio.h>
void printWelcome()
{
	printf("================\n");
	printf("欢迎来到我的程序\n");
	printf("================\n");
}
int main()
{
	printWelcome();
	return 0;
}

2)在这里插入图片描述2、定义有参数有返回值的函数

1)我们只是关心数据和值,变量名没啥大的影响。
2)形式参数需要包含变量的类型,类型要匹配起来。
代码演示:

#include <stdio.h>

void printWelcome()
{
	printf("================\n");
	printf("欢迎来到我的程序\n");
	printf("================\n");
}
//我们只是关心数据和值,变量名没啥大的关系
int getDataFromX(int data)     //形式参数需要包含变量的类型,变量名。X的范围只在以下的代码中
{
	int data1;                 //data、data1只是一个变量名,是一个局部变量,能够传递x和y的值就OK,内存虽然不一样,但是数值是一样的。
	data1=2*data-1;
	return data1;
}
int main()
{	
	int x,y;                 //X,y的范围只在以下的代码中
	printWelcome();
	puts("请输入一个数");
	scanf("%d",&x);
	y=getDataFromX(x);
	printf("%d %d",x,y);
	return 0;
}

编译结果:
在这里插入图片描述3、一个返回值,两个参数(加法的实现)
代码:

#include <stdio.h>

void printWelcome()
{
	printf("================\n");
	printf("欢迎来到我的程序\n");
	printf("================\n");
}

int add(int data1,int data2)
{
	int data;
	data=data1+data2;
	return data;
}
int main()
{	
	int x,y,z;                 
	printWelcome();
	puts("请输入一个数");
	scanf("%d",&x);
	puts("请输入一个数");
	scanf("%d",&y);
	z=add(x,y);
	printf("两数之和等于%d",z);
	return 0;
}

编译结果:
在这里插入图片描述4、定义一个空函数

int initWifi()
{

}

注:
1、常见错误,调用的时候,直接写函数名,不要带参数类型,此外,不能带变量的参数类型。总之,直接用函数名和变量名。
2、函数的封装中,可以直接用函数的表达式当成返回值,即可以直接 return data1+data2
3、函数可以当做表达式,函数调用也可当做其他函数调用的参数。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值