栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c语言初阶之函数

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c语言初阶之函数

1.函数是什么?

2.函数的分类 库函数 要求有会掌握一些库函数的模拟实现,及查询库函数的功能和头文件的能力

                      自定义函数 要求会根据题目要求自己自定义一些函数

从本案例中可以看出,传值调用并不能改变实参的值,而传址调用是可以改变实参的值。

 3.函数的实参和形参:形参是实参临时拷贝 

具体有关实参和形参在空间中的开辟,详情请见后续博客推出的函数栈帧相关的内容。

4.函数的传值调用和传址调用:传值调用并不能改变实参的值,而传址调用是可以改变实参的值。

相关练习:

习题1:

 

习题2:

习题3:

习题4:

5.函数的嵌套调用和链式访问

函数可以互相调用,也即是嵌套调用。

但是函数不能嵌套定义。

 

 函数的链式访问

strlen函数的返回值做printf函数的参数,像这样就叫做函数的链式访问。

相关习题讲解:

 在讲解之前,要注意一点,printf函数的返回值是打印字符的个数。

最里层的printf函数打印出43,返回值为2,作为第二个printf函数的参数。

第二个printf函数打印出2,返回值1,作为第一个printf函数的参数。

第一个printf函数再打印出1。 

6.函数的声明和定义

 

函数的声明:

1. 告诉编译器有一个函数叫什么,参数是什么,返回类型是什么。但是具体是不是存在,函数 声明决定不了。 2. 函数的声明一般出现在函数的使用之前。要满足 先声明后使用 。 3. 函数的声明一般要放在头文件中的

函数的定义:

指函数的具体实现,交待函数的功能实现。

7.函数递归和迭代(非递归)

存在递归的两个条件:1.存在条件限制,满足限制条件,就不再发生递归 2.条件变量会发生改变,每次调用递归时会越来越接近限制条件

//习题

1.//接受一个整型值(无符号),按照顺序打印它的每一位。
//例如:
//输入:1234,输出 1 2 3 4

2.//编写函数不允许创建临时变量,求字符串的长度。

 

3.//求n的阶乘。(不考虑溢出)

递归实现:

 迭代实现:

 

4.//求第n个斐波那契数。(不考虑溢出)

递归实现:

 迭代实现:

 

5. // 汉诺塔问题 规则、思路及规律 使用递归实现

 

 

6. // 青蛙跳台阶问题

思路一:找规律

一阶台阶方法一种

两阶台阶方法两种

三阶台阶方法三种

四阶台阶方法五种

五阶台阶方法八种

六阶台阶方法十三种

类似于斐波那契数列

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1027110.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号