• C语言入门Day_20 函数的定义


    目录

    前言:

    1.函数的命名

    2.函数参数

    3.返回值 

    4.易错点

    5.思维导图


    前言:

    上次课我们学了函数的定义和使用,今天我们来详细学习一下函数的定义的各个细分部分。

    函数就像一个有魔法的盒子,我们输入瓶装水的原材料(瓶子和水),通过有魔法的盒子(生产线和生产过程),就能得到瓶装水的成品。 

    函数的定义制作这个有魔法的盒子的过程,它包含了这样几个部分:函数名,函数参数,函数代码,函数返回值等等。

    我们一一来学习它们,首先是函数的命名

    1.函数的命名

    1.1

    函数的命名规范和变量是一致的,只能使用字母,数字,下划线,且不能用数字开头。

    一个好的函数命名,最好能从名字看出函数的功能,

    比如AddThree()PrintFiveTimes()

    同时我们还鼓励使用字母单词首字母大写的形式来跟函数命名,这也是变量命名的风格不一样的地方。

    1.2

    我们来看看函数的命名部分:

    1. void PrintFiveTimes (int number_a)

    函数命表示的函数便是使用printf函数打印"number_a"的值五次。

    1. int AddThree(int number_a)

    函数命表示的函数便是在原来的基础上加三。

    函数名是标识一个函数的重要部分,我们在调用一个函数的时候,首先需要的就是这个函数的函数名。

    1.3

    这是函数名的一些注意事项

    2.函数参数

    2.1

    接下来是函数的参数,函数的参数是给函数的输入部分,类似魔法盒的原材料输入部分,水和空瓶子。 

    我们之前学习的自定义函数只有一个参数,实际上C语言是支持多个函数参数的,多个函数参数需要以英文逗号隔开,同时每个参数也需要带自己的数据类型。 

    2.2

    我们定义一个把两个整型数字相加的函数AddTwoNumber()

    1. int AddTwoNumber(int number_a,int number_b)
    2. {
    3. int mumber_c=number_a+number_b;
    4. return number_c;
    5. }

    1.函数返回类型  int

    2.函数名  AddTwoNumber

    3.函数的第一个参数  num_a,类型是整型

    4.函数的第二个参数  num_b,类型是整型

    5.两个函数参数 int a与b 之间用逗号隔开

    6.中括号内为 函数体部分

    2.3

    C语言函数是可以没有参数的,这类函数在教科书中经常被称为无参数函数,简称无参函数,无参函数就没有数据输入,它只会执行特定的功能,以及输出一些数据或者执行一些功能。

    比如打印五行下划线: 

    1. void PrintFiveTimes()
    2. {
    3. printf("__\n");
    4. printf("__\n");
    5. printf("__\n");
    6. printf("__\n");
    7. printf("__\n");
    8. }
    9. int main() {
    10. PrintFiveTimes();
    11. return 0;
    12. }

    函数定义中的参数,在教科书中又被称为形式参数,意思是它没有具体的值,是一个“形式”的参数,简称形参。 

    2.4

    函数定义中最核心的部分是函数的代码,又称函数体。它承载了具体的函数功能,我们可以在这里面实现我们想赋予函数的功能。

    就像魔法的加工盒给水瓶灌入水,并且贴上标签一样

    3.返回值 

    3.1

    函数体内部的代码写法其实和函数外没有太大区别,是一个供大家自由创作的领域。只不过写完函数代码以后,我们大多数时候需要一个返回值来向外输出数据。

    函数的参数,是外界对函数的输入部分;函数的返回值,是函数对外界的输出部分。

    完整的函数返回值包括三部分

    1、函数返回值的类型;

    2、函数返回值的关键字return; 

    3、返回的具体数值

    3.2

    函数返回值由关键字return和具体的数值共同组成

    例如:

    1. int AddThreeNumber(int num_a, int num_b, int num_c)
    2. {
    3. int number_d = num_a + num_b + num_c;
    4. return number_d;
    5. }

    1.函数返回值的类型,这里是整型  int

    2.函数返回值的关键字  return

    3.函数返回值的具体数值  number_d

    4.函数返回值的三部分,类型  int,关键字  return,具体数值  number_d。

    3.3

    需要注意的是,返回值的数据类型,和函数定义里面写的数据类型需要保持一致,否则程序会报错,比如我们定义的时候写的int,但我们返回了一个字符型数据,程序就会报错

    当然,我们也可以定义一个不返回任何值的函数,这时候我们需要使用void,同时在函数体的代码中,不返回任何值。这种函数在教科书中叫做无返回值函数

    4.易错点

    eg:

    返回值的数据类型,和函数定义里面写的数据类型需要保持一致,否则程序会报错

    eg:

    void关键字定义无返回值函数。

    eg:

    形式参数只有在函数被调用的过程中才实例化(分配内存单元),所以叫形式参数。因此形

    式参数只在函数中才有效

    eg:

    实参可以是:常量、变量、表达式、函数等。在调用函数时,它们都必须有确定的值,以

    便把这些值传送给形参

    5.思维导图

    最后我想说的是:

     在撰写这篇文章时,我参考了《白纸编程》这个app的观点和思想,我要感谢他们对我的启发和帮助。

  • 相关阅读:
    【AIGC】大语言模型
    如何实现三维虚拟数字人直播1:全身姿态预估
    SPASS-数据收集及预处理
    Java数据结构之堆(Heap)
    Kubernetes - Kubernetes详解;安装部署(一)
    面试高频的ES6中的Map和Set数据结构详解
    【架构】 第7章 主从复制高可用Redis集群
    如何提高bp神经网络精度,bp神经网络收敛速度慢
    Python语义分割与街景识别(2):环境搭建
    Java发送/接收消息示例
  • 原文地址:https://blog.csdn.net/fantastic_little/article/details/132894883