Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1527456
  • 博文数量: 329
  • 博客积分: 2773
  • 博客等级: 少校
  • 技术积分: 4219
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-24 14:17
个人简介

淡定从容,宁静致远

文章分类

全部博文(329)

文章存档

2016年(4)

2015年(50)

2014年(68)

2013年(45)

2012年(162)

分类: C/C++

2012-12-12 20:39:14

一、函数及软件模块化设计
模块化设计
函数的定义和声明
函数的调用
函数的返回值
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()函数。即从键盘输入一个数字,在终端上输出对应的字符。
阅读(640) | 评论(0) | 转发(0) |
0

上一篇:day1

下一篇:day3

给主人留下些什么吧!~~