入门C语言第二话:函数(上)之锻体篇,带你玩转函数(内有汉诺塔,青蛙跳台阶等经典问题,建议收藏和分享)

文章目录

  • 前言
    • 概念的引入
    • 大纲
  • 一.函数的定义
  • 二.函数的分类
    • 1.库函数
      • 概念引入
      • 库函数的分类
      • 了解五步骤
      • 例1:
        • 1.介绍printf
        • 2.头文件
        • 3.所传参数及其类型
        • 4.返回类型及其返回值
      • 例2
        • 1.介绍标准输出型函数——scanf
        • 2.头文件
        • 3.所传参数及其类型
        • 4.返回类型及返回值
    • 2.自定义函数
      • 1.例一
      • 2.例二
  • 三.函数的使用
    • 1.函数的参数
      • 实参
      • 形参
    • 2.函数的调用
      • 传值调用
      • 传址调用
    • 3.函数的嵌套调用与链式访问
      • 嵌套调用
      • 链式访问
    • 4.函数的定义与声明
      • 定义
      • 声明
      • 拓展:全局变量和static修饰的变量的声明与定义
    • 5.递归函数
      • 概念引出
      • 性质
        • 延时性
        • 空间占有性
        • 简洁性和易读性
      • 注意事项
      • 经典例题:
        • 1.汉诺塔
        • 2.青蛙跳台阶
  • 尾序

前言

概念的引入

象一下,当你有一个团队面临着一个很复杂问题,你是选择一个人硬刚呢是发挥团队的作用,将复杂的问题进行拆解成几个甚至几十个中等难度的问题分工解决呢br> 相信聪明的你,一定会选择后者,那么解决拆分的问题的团队就是我们所说的函数啦!那么下面来一起了解它吧 !

大纲

先来了解一下我们要了解的大概内容:

入门C语言第二话:函数(上)之锻体篇,带你玩转函数(内有汉诺塔,青蛙跳台阶等经典问题,建议收藏和分享)
注意:库函数知道怎么用就可以了,简单的可以了解一下源码,过于复杂的初学阶段先不必深究!

了解五步骤

第一步:函数名+介绍+百度专业术语
第二步: 头文件
第三步:所传参数及其类型
第四步:返回类型以及返回值
第五步:实现函数的代码(简单的函数可以了解一下)
说明:IO函数全名为input(输入)output(输出)函数
接下来我们来了解几个比较典型的函数。

例1:

1.介绍printf

标准的输出型函数:printf(程序名)——全名为print(打印)format(格式化)

图解:这是网站的英文介绍

入门C语言第二话:函数(上)之锻体篇,带你玩转函数(内有汉诺塔,青蛙跳台阶等经典问题,建议收藏和分享)

代码介绍:

3.所传参数及其类型

参数:字符串(字符常量,转义字符,格式控制字符串)+输出表列(可以是常量也可是变量与格式控制字符串的数量相匹配)
类型:const char类型,const是不可改变的意思,输出列表里的类型可以任意。

4.返回类型及其返回值

类型:

入门C语言第二话:函数(上)之锻体篇,带你玩转函数(内有汉诺塔,青蛙跳台阶等经典问题,建议收藏和分享)
这里结果与打印的字符个数相等,返回值为打印的字符的个数
到这里我们已经大概了解了printf函数,至于第五步暂时不用了解。

例2

1.介绍标准输出型函数——scanf

英文介绍:Read formatted data from the standard input stream.
翻译:从标准输入流读取数据的函数

2.头文件

入门C语言第二话:函数(上)之锻体篇,带你玩转函数(内有汉诺塔,青蛙跳台阶等经典问题,建议收藏和分享)
返回值:
代码证明:

结果:
例一:

入门C语言第二话:函数(上)之锻体篇,带你玩转函数(内有汉诺塔,青蛙跳台阶等经典问题,建议收藏和分享)
输人失败返回-1****

2.自定义函数

念引入:当我们面临着库函数解决不了的复杂问题,这时候就该我们自己设置的函数来解决,这就是有程序员巨大发挥空间的自定义函数!

1.例一

假如不知道求字符串长度的函数,让你自己设置一个。

解析:
实现逻辑:
char arr 数组的内容是下图所示:

入门C语言第二话:函数(上)之锻体篇,带你玩转函数(内有汉诺塔,青蛙跳台阶等经典问题,建议收藏和分享)

形参

概念:函数调用的参数,这里实际上跟内存有关,函数(下)会细说,这里先做了解。
代码还用上面的吧!

这里我们再来看一下x,y的地址

入门C语言第二话:函数(上)之锻体篇,带你玩转函数(内有汉诺塔,青蛙跳台阶等经典问题,建议收藏和分享)
再跟上面的a,b的地址比较一下就知道什么是形参,什么是实参了。

结论:形参实际上是实参的一份临时拷贝,为啥是临时呢为在调用函数结束后,函数所占的空间会随着函数的结束而销毁,因此函数的生命周期就为从调用函数开始到函数执行结束时结束。

注意:形参和实参可以同名!为什么呢为函数的级别是相同的,就像两个互不相关的人,各自有着自己独立的生活,但也有可能干相同的事情(吃饭睡觉),因此函数之间是不存在变量重定义的问题!

2.函数的调用

传值调用

注意:这里的值是函数内部所用参数的类型是像整形(int)这样数据类型。

经典代码举例:
交换两个变量的值

来源:Shun_Hua.

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2023年1月1日
下一篇 2023年1月2日

相关推荐