C语言——函数(第五讲)
- 前言
- 函数的概念
- 库函数
- 标准库和库函数
- 库函数的使用方法
- ⾃定义函数
- 形式
- 形参和实参
- 形参和实参的关系
前言
Hello,各位C语言的小伙伴们,大家过年好,我是莹莹。停更差不多一个月了,都是懒惰作怪,今天我给大家分享关于函数的知识,希望大家多多支持。
函数的概念
在C语⾔引⼊函数(function)的概念,有些翻译为:⼦程序,⼦程序这种翻译更加准确⼀些。
概念:C语⾔中的函数就是⼀个完成某项特定的任务的⼀⼩段代码。这段代码是有特殊的写法和调⽤⽅法的。
C语⾔的程序其实是由⽆数个⼩的函数组合⽽成的,也可以说:⼀个⼤的计算任务可以分解成若⼲个较⼩的函数(对应较⼩的任务)完成。同时⼀个函数如果能完成某项特定任务的话,这个函数也是可以复⽤的,提升了开发软件的效率。
在C语⾔中我们⼀般会⻅到两类函数:
• 库函数
• ⾃定义函数
库函数
标准库和库函数
C语⾔标准中规定了C语⾔的各种语法规则,C语⾔并不提供库函数;C语⾔的国际标准ANSI C规定了⼀些常⽤的函数的标准,被称为标准库.
那不同的编译器⼚商根据ANSI提供的C语⾔标准就给出了⼀系列函数的实现。这些函数就被称为库函数。
有了库函数,⼀些常⻅的功能就不需要程序员⾃⼰实现了,⼀定程度提升了效率;同时库函数的质量和执⾏效率上都更有保证。
库函数要包含于头文件中
库函数相关头⽂件:https://zh.cppreference.com/w/c/header
库函数的使用方法
库函数的学习和查看⼯具很多,⽐如:
C/C++官⽅的链接:https://zh.cppreference.com/w/c/header
cplusplus.com:https://legacy.cplusplus.com/reference/clibrary/
举例:sqrt
double sqrt (double x);
//sqrt 是函数名
//x 是函数的参数,表⽰调⽤sqrt函数需要传递⼀个double类型的值
//double 是返回值类型 - 表⽰函数计算的结果是double类型的值
//sqrt 开平方
#include<stdio.h>
#include<math.h>int main()
{double ret = sqrt(100);printf("%lf\n", ret);return 0;
}
运行结果
⾃定义函数
形式
ret_type fun_name(形式参数)
{
}
• ret_type 是函数返回类型
• fun_name 是函数名
• 括号中放的是形式参数
• {}括起来的是函数体
形参和实参
形参:不会向内存申请空间,不会真实存在的,所以叫形式参数。
实参:实际参数就是真实传递给函数的参数
函数的初步认识
练习:写一个加法函数,完成两个整型变量的加法操作
#include<stdio.h>
//函数的定义(创造函数)
int add(int x, int y)// **x, y是形式参数,简称形参**
{return x + y;
}int main()
{int a = 0;int b = 0;scanf("%d%d", &a, &b);int c = add(a, b);//函数的调用。a,b是**真实**传递给add函数的参数,所以a,b是实参printf("%d\n", c);
}
形参和实参的关系
形参是实参的⼀份临时拷⻉。