C语言基础学习DAY5

一、函数简介

1.函数定义

        函数是一种可重用的代码块,用于执行特定任务或完成特定功能

2.函数作用

        代码复用、结构清晰、易维护、减少重复、模块化、便于调试

3.函数分类

        (1)系统函数,即库函数:这是由编译系统提供的,用户不必自己定义这些函数,可以直接使用它们,如我们常用的打印函数printf()。

        (2)自定义函数:用以解决用户的专门需要。

4.函数的使用

(1)定义函数(实现功能):编写函数具体要完成的任务

        函数的语法结构:

返回值类型 函数名(参数列表)
{
    函数体;
    return 返回值;
}

(2)函数声明:当函数定义在main()后面时,需要提前声明

        函数声明的格式:

返回值类型 函数名(参数列表);

(3)函数调用(执行功能):通过函数名调用函数。

        调用语法格式:

函数名(实参);

5.函数的注意事项

        (1)函数名是标识符的一种,需要遵循规则

        (2)函数只需要定义一次,反复调用

        (3)只定义函数, 不调用函数, 函数永远不会被执行

二、函数的四种形式

1.无参无返回值函数

(1)概念:没有参数(不接收数据)

                    没有返回值(不返回结果)

(2)无参无返回值函数语法格式:

// 函数定义
void 函数名() {
    函数体
}

// 函数调用
函数名();

(3)示例代码

        编写一个函数,输出Hello

        参考代码:

#include <stdio.h>

//无参无返回值

//在无返回值的最好在void定义函数的()中加上void,这样更加安全,
//因为如果不写,意味着参数未知,加上void就意味着绝对无参数返回
void say_hi(void){
	printf("Hello\n");
}
int main() {
	say_hi();
	return 0;
}

2.有参无返回值函数

(1)概念:函数在执行时需要接收外部传入的数据(参数),但执行完成后不向调用者返回任何                      结果。

(2)有参无返回值函数语法格式

// 函数定义(有参数,无返回值)
void 函数名(数据类型 参数1, 数据类型 参数2, ...)
{
    函数体;
}

// 函数调用(传入实参)
函数名(实参1, 实参2, ...);

(3)示例代码

        编写一个程序,要求一件商品的单价,重量,计算出付款多少

#include <stdio.h>

//有参数的函数, 传递的参数必须个数和类型都一致
//如这段代码中,weight,price的类型都为float,所以函数调用时pay中的类型为2.0 5.2

 void pay(float weight,float price){
	printf("重量为%.2fkg,单价为%.2f元,付款为%.2f元",weight,price,weight*price);
 }
int main() {
	pay(2.0,5.2f);
	return 0;
}

3.无参有返回值函数

(1)概念:是指函数不需要接收任何参数,但执行结束后会向调用者返回一个结果。

                   return是函数的专属关键字,只能用在函数内使用

(2)无参有返回值函数语法格式

// 函数定义(无参数,有返回值)
返回值类型 函数名(void)
{
    函数体;

    return 返回值;
}

// 函数调用(接收返回值)
数据类型 变量名 = 函数名();

(3)示例代码:

        编写一个函数,实现返回一个整数

#include <stdio.h>

int getRandomNumber(void) {
	return 42;
}
int main() {
	int num = getRandomNumber();
	printf("返回的整数为:%d\n", num);
	return 0;
}

4.有参有返回值函数

(1)概念:是指函数需要接收调用者传入的数据(参数),并在执行结束后返回一个结果给调用                      者。

(2)有参有返回值函数语法格式

// 函数定义(有参数,有返回值)
返回值类型 函数名(数据类型 参数1, 数据类型 参数2, ...)
{
    函数体;

    return 返回值;
}

// 函数调用(接收返回值)
数据类型 变量名 = 函数名(实参1, 实参2, ...);

(3)示例代码:

        编写一个函数,实现2个数相加,2个数通过参数传递,返回累加结果给外部使用

#include <stdio.h>

int add(int a, int b) {
	int res = a + b;
	return res;
}
int main() {
	int res = add(3, 5);
	printf("两个数的和为%d", res);
	return 0;
}

三、函数声明

1.函数声明定义

        在函数调用之前,提前告诉编译器函数的名称、返回值类型和参数列表,以便编译器能够正确识别和检查函数的调用。

2.注意事项

(1)声明后必须加 ;

(2)声明没有{ }函数体

(3)生命与定义必须一致

(4)参数名可以省略,但是为了提高可读性,建议把参数名。

例如:

int add(int, int);


int add(int a, int b);

(5)函数可以声明多次

(6)但是函数只能定义一次

(7)调用前必须先声明或先定义函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值