一、函数及软件模块化设计
模块化设计
函数的定义和声明
函数的调用
函数的返回值
1、模块化设计
C程序全部由函数构成,它提供所有程序活动的场所
学会合理的划分程序中各个模块。
模块化设计模式的最大的优点是:使代码容易地被重复使用。
模块化设计划分函数的标准:内聚性和耦合性
把相关的语句组织在一起,并给它们注明相应的名称,利用这种方法把程序分块,这种形式的组合就是函数。
函数的使用通过函数调用机制实现。函数调用指定了被调用函数的名字和调用函数所需的信息(参数列表)。
2、函数的定义和声明
声明函数:
return_type fun_name(type,type,type);
定义函数:
函数返回值类型 函数名(参数列表)
{ /*函数体*/ }
3、函数的调用
函数的各种表现形态,但其实质都是函数调用。要想熟练使用函数,必要先掌握函数的调用机制。
(1)向子函数传递变量
--值调用:是C的一般方法,把变量值复制到子程序的形参中。参数的修改对变量没有影响。
--引用调用:把变量的地址复制到子函数的形参中,子函数通过地址访问实际变量。参数的修改能够影响用于子函数调用的变量的值。
##递归函数
函数可以递归调用,即函数可以直接或间接地调用自身。
递归调用的条件:
--退出条件,必须有一个终止处理或者计算准则;
--每次调用时都必须更接近于解;
--递归调用条件;
4、函数的返回值
(1)如果函数定义中省略了返回值类型,则默认为int
(2)调用函数可以忽略函数的返回值
(3)return语句后面不一定需要表达式(没有时不向调用函数返回值)
(4)函数没有返回值,不代表被调用函数不返回给调用函数
(5)没有return,被调用函数在遇到最后一个大括号时返回到被调用函数
(6)main函数的参数和返回值
函数之间用什么通信?
外部变量
练习:
1、将乘法口诀封装到一个无参无返回值的函数里。
2、写一个函数,使其返回你输入的3个整数的最大值;
3、编写一个函数,函数的三个参数是一个字符的两个整数,字符参数是需要输出的字符,第一个整数说明了在每行中该字符输出的个数,而第二个参数指的是需要输出的行数,编写一个函数,实现该功能。
4、设计一个简单的计算器:
要求:(1)只进行两个数的加减乘除;
(2)用while和switch实现;
(3)分别将加减乘除封装到四个函数中;
5、编写一个函数实现斐波那契数列:1,1,2,3,5,8,,13....要求使用递归。
6、使用递归方法实现itoa()函数。即从键盘输入一个数字,在终端上输出对应的字符。
阅读(643) | 评论(0) | 转发(0) |