一篇文章带你入门C语言:函数

一篇文章带你入门C语言:函数,博智网带你了解详细信息 。
目录

  • 函数
    • 定义
  • 库函数
    • 定义
    • 介绍
    • Example 1 strcpy
    • Example 2 memset
  • 自定义函数
    • Example 1
    • Example 2 两数交换
    • 链式访问
    • Example 1
    • 函数声明
  • 函数递归
    • Example 1
    • Example 2
    • 函数迭代
    • Example 3
    • Example 4
  • 总结

    函数
    定义程序里的函数又被叫做子程序,他作为一个大型程序的部分代码,有一或多个语句项组成 。函数负责完成某项特定任务,提供了对过程的封装和对细节的隐藏,这样的代码通常会被集成为软件库 。
    特点:
    具备相对的独立性一般有输入值和返回值功能单一且灵活
    函数的分类有:库函数和自定义函数 。
    库函数定义库函数,顾名思义,放在库里供他人使用的函数 。如打印输出这样的基础功能,他不是业务性的代码,在开发过程中使用率高且可移植性强,故C语言的基础库里提供了这样的一系列基础功能的代码 。
    一般库函数有:
    IO函数(input&output)—— printf scanf getchar putchar …字符串操作函数 —— strlen strcmp strcat strcpy …字符操作函数 —— tolower toupper …内存操作函数 —— memcpy menset memmove memcmp …时间/日期操作函数 —— time …数学函数 —— sqrt abs fabs pow …其他库函数

    介绍为了掌握库函数的使用方法的学习,我们可以参照权威网站 cplusplus 的解析为样本,一般在不同的平台上也是大同小异 。一般都是按照这样的顺序对函数进行解析 。
    函数的基本信息功能描述函数参数返回值例子拓展

    Example 1 strcpychar * strcpy ( char * destination, const char * source);
    一篇文章带你入门C语言:函数


    一篇文章带你入门C语言:函数


    一篇文章带你入门C语言:函数


    一篇文章带你入门C语言:函数


    一篇文章带你入门C语言:函数


    一篇文章带你入门C语言:函数


    一篇文章带你入门C语言:函数


    一篇文章带你入门C语言:函数


    一篇文章带你入门C语言:函数


    一篇文章带你入门C语言:函数


    一篇文章带你入门C语言:函数


    一篇文章带你入门C语言:函数


    一篇文章带你入门C语言:函数


    一篇文章带你入门C语言:函数


    一篇文章带你入门C语言:函数



    函数迭代递归、迭代的区别?
    递归是重复调用函数自身实现循环 。
    迭代是函数内某段代码实现循环,循环代码中变量既参与运算同时也保存结果,当前保存的结果作为下一次循环计算的初始值 。
    递归循环中,遇到满足终止条件的情况时逐层返回来结束 。
    迭代则使用计数器结束循环 。
    当然很多情况都是多种循环混合采用,这要根据具体需求 。

    Example 3求n的阶乘
    int fac(int n){ if (n <= 1)return 1; elsereturn n * fac(n - 1);}
    Example 4求第n个斐波那契数
    int fib(int n){ if (n <= 2)return 1; elsereturn fib(n - 1) + fib(n - 2);}
    但是这个方法效率是非常低的,当数字特别大时,层层拆分下来,时间效率是 O ( 2 n ) O(2^n) O(2n) 。
    根据公式可知,第三个斐波那契数可由前两个得到,我们利用这个规律
    int fib(int n){ int a = 1; int b = 1; int c = 1; while (n >= 3) {c = a + b;a = b;b = c;n--; } return c;}
    上一个c变成了b,上一个b变成了a 。如此循环往复 。
    利用迭代的方式,计算一个数只需要计算n-2次,这样的话时间复杂度就是 O ( n ) O(n) O(n) 。效率大大提高 。
    有这两题我们可以发现,什么时候用递归简单呢?

    推荐阅读