C语音n番战--函数(四)

本文详细介绍了C语言中的函数,包括函数的基本概念、分类、定义、参数和返回值,以及主函数分析和局部变量与全局变量。重点讲解了函数的四种定义方式、形参与实参的区别、返回值类型的重要性,以及函数声明的必要性。
摘要由CSDN通过智能技术生成

嵌入式之路,贵在日常点滴

                                                                ---阿杰在线送代码

目录

一、函数基本概念

二、函数的分类

三、函数的定义 

无参无返回值函数定义

无参有返回值函数定义

有参无返回值函数定义

有参有返回值函数定义

四、函数的参数和返回值 

形式参数 

实际参数

形参、实参注意点

五、函数的声明

六、main函数分析 

七、总结说明 

函数的应用 

 八、局部变量和全局变量


一、函数基本概念

  • C源程序是由函数组成的
    • 例如: 我们前面学习的课程当中,通过main函数+scanf函数+printf函数+逻辑代码就可以组成一个C语言程序
  • C语言不仅提供了极为丰富的库函数, 还允许用户建立自己定义的函数。用户可把自己的算法编写成一个个相对独立的函数,然后再需要的时候调用它

二、函数的分类

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

三、函数的定义 

  • 定义函数的目的
    • 将一个常用的功能封装起来,方便以后调用

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

无参无返回值函数定义

  • 没有返回值时return可以省略
  • 格式:
void 函数名()
{
    函数体;
}
// 1.没有返回值/没有形参
// 如果一个函数不需要返回任何数据给调用者, 那么返回值类型就是void
void printRose() {
    printf(" {@}\n");
    printf("  |\n");
    printf(" \\|/\n"); 
    // 注意: \是一个特殊的符号(转意字符), 想输出\必须写两个斜线
    printf("  |\n");
    // 如果函数不需要返回数据给调用者, 那么函数中的return可以不写
}

无参有返回值函数定义

  • 格式:
返回值类型 函数名() 
{
    函数体;
    return 值;
}
  • 示例:
int getMax() 
{
    printf("请输入两个整数, 以逗号隔开, 以回车结束\n");
    int number1, number2;
    scanf("%i,%i", &number1, &number2);
    int max = number1 > number2 ? number1 : number2;
    return max;
}

有参无返回值函数定义

  • 形式参数表列表的格式: 类型 变量名,类型 变量2,......
  • 格式:
void 函数名(参数类型 形式参数1,参数类型 形式参数2,…) 
{
    函数体;
}
  • 示例:
void printMax(int value1, int value2) 
{
    int max = value1 > value2 ? value1 : value2;
    printf("max = %i\n", max);
}

有参有返回值函数定义

  • 格式:
返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,…) 
{
    函数体;
    return 0;
}
  • 示例:
int printMax(int value1, int value2) 
{
    int max = value1 > value2 ? value1 : value2;
    return max;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值