江哥带你玩转C语言 | 08 - C语言函数

本文详细介绍了C语言中的函数概念,包括函数的分类(库函数与用户定义函数)、函数的参数和返回值类型(有返回值与无返回值、有参与无参函数)。此外,还讲解了函数的定义、声明及其注意事项,强调了main函数的作用和返回值意义,并给出了递归函数的概念和应用实例。
摘要由CSDN通过智能技术生成

函数基本概念

  • C源程序是由函数组成的
    • 例如: 我们前面学习的课程当中,通过main函数+scanf函数+printf函数+逻辑代码就可以组成一个C语言程序
  • C语言不仅提供了极为丰富的库函数, 还允许用户建立自己定义的函数。用户可把自己的算法编写成一个个相对独立的函数,然后再需要的时候调用它
    • 例如:你用C语言编写了一个MP3播放器程序,那么它的程序结构如下图所示
  • 可以说C程序的全部工作都是由各式各样的函数完成的,所以也把C语言称为函数式语言

函数的分类

  • 在C语言中可从不同的角度对函数分类
  • 从函数定义的角度看,函数可分为库函数和用户定义函数两种
    • 库函数: 由C语言系统提供,用户无须定义,也不必在程序中作类型说明,只需在程序前包含有该函数原型的头文件即可在程序中直接调用。在前面各章的例题中反复用到printf、scanf、getchar、putchar等函数均属此类
    • ***用户定义函数:***由用户按需编写的函数。对于用户自定义函数,不仅要在程序中定义函数本身,而且在主调函数模块中还必须对该被调函数进行类型说明,然后才能使用
  • 从函数执行结果的角度来看, 函数可分为有返回值函数和无返回值函数两种
    • 有返回值函数: 此类函数被调用执行完后将向调用者返回一个执行结果,称为函数返回值。(必须指定返回值类型和使用return关键字返回对应数据)
    • 无返回值函数: 此类函数用于完成某项特定的处理任务,执行完成后不向调用者返回函数值。(返回值类型为void, 不用使用return关键字返回对应数据)
  • 从主调函数和被调函数之间数据传送的角度看,又可分为无参函数和有参函数两种
    • 无参函数: 在函数定义及函数说明及函数调用中均不带参数。主调函数和被调函数之间不进行参数传送。
    • 有参函数: 在函数定义及函数说明时都有参数,称为形式参数(简称为形参)。在函数调用时也必须给出参数,称为实际参数(简称为实参)

函数的定义

  • 定义函数的目的

    • 将一个常用的功能封装起来,方便以后调用
  • 自定义函数的书写格式

返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,…) {
    函数体;
    返回值;
}
  • 示例
int main(){
    printf("hello world\n");
    retrun 0;
}
  • 定义函数的步骤
    • 函数名:函数叫什么名字
    • 函数体:函数是干啥的,里面包含了什么代码
    • 返回值类型: 函数执行完毕返回什么和调用者

  • 无参无返回值函数定义
    • 没有返回值时return可以省略
    • 格式:
    void 函数名() {
        函数体;
    }
    
    • 示例:
    // 1.没有返回值/没有形参
    // 如果一个函数不需要返回任何数据给调用者, 那么返回值类型就是void
    void printRose() {
        printf(" {@}\n");
        printf("  |\n");
        pr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值