欢迎来到天天文库
浏览记录
ID:51492455
大小:348.00 KB
页数:42页
时间:2020-03-24
《模块化程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第六章函数6.1概述一、模块化程序设计1、背景:(1)人的智力与软件复杂性的矛盾G.A.Miller在他的著名文章“奇妙的数字7±2——人类信息处理能力的限度”中指出,普通人分辨或记忆同一类信息的不同品种或等级的数量一般不超过5~9项;(2)软件危机软件复杂性不断提高、开发周期长、开发费用高、易出错(发生许多灾难);(3)随着硬件技术的高速发展,时间、空间复杂度在许多应用中已不是主要问题,程序的清晰性显得更为重要。2、基本思想:将一个大的程序按功能分割成一些小模块。特点:各模块相对独立、功能单一、结构清晰、接口简单控制了程序设计的复杂性提高元件的
2、可靠性缩短开发周期、可多人合作开发避免程序开发的重复劳动易于查错、维护和功能扩充开发方法:自上向下,逐步分解,分而治之C语言使用函数实现模块化程序设计二、C程序结构C程序结构C是函数式语言必须有且只能有一个名为main的主函数C程序的执行总是从main函数开始,在main中结束函数不能嵌套定义,可以嵌套调用C程序源程序文件1源程序文件2源程序文件n预编译命令函数1函数n说明部分执行部分……例编写一个自测试软件#includemain(){charans='y';clrscr();cover();/*调用软件封面显示函数*/pas
3、sword();/*调用密码检查函数*/while(ans=='y'
4、
5、ans=='Y'){question();/*调用产生题目函数*/answers();/*调用接受回答函数*/marks();/*调用评分函数*/results();/*调用结果显示函数*/printf("是否继续练习?(Y/N)");ans=getch();}printf("谢谢使用,再见!");}/*定义所用函数*/cover(){}/*软件封面显示函数*/password(){}/*密码检查函数*/question(){}/*产生题目函数*/answers(){}/
6、*接受回答函数*/marks(){}/*评分函数*/results(){}/*结果显示函数*/这些函数现在不编程或还不会编程,可先放空。可以多人合作,每人完成若干个函数(模块化)。可在另一个源程序文件中定义。三.函数分类1、从用户角度(1)标准函数(库函数):由系统提供使用库函数应注意:函数功能函数参数的数目和顺序,及各参数意义和类型函数返回值意义和类型需要使用的包含文件(2)用户自定义函数2、从函数形式(1)无参函数(2)有参函数几个系统库函数举例6.1.1字符与字符串函数1、tolower()和toupper()函数调用方式:tolower(
7、int型参数ch)toupper(int型参数ch)头文件:#include功能:如果ch是一个字母,函数tolower()将返回它的小写字母,函数toupper()将返回它的大写字母。如果ch不是字母则返回字符ch本身。例1:下面程序将字符串数组a中的每个字符串的第一个字符转换为大写字母,其他的字母都转换为小写字母。#includemain(){chara[3][20];inti,j;for(i=0;i<3;i++)scanf(“%s”,a[i]);for(i=0;i<3;i++){j=0;a[i][j]=t
8、oupper(a[i][j]);while(a[i][++j])a[i][j]=tolower(a[i][j]);}for(i=0;i<3;i++){for(j=0;j<20;j++)printf(“%c”,a[i][j]);printf(“”);}}6.1.2简单数学函数1、sin()、cos()、tan()函数调用方式:sin(double型参数)cos(double型参数)tan(double型参数)功能:函数sin()、cos()及tan()分别用于计算弧度参数arg的正弦、余弦及正切值。三个函数都是double型,返回的是doubl
9、e型结果。[例6.5]下面程序显示从一1到1以0.1为增量递增的值的正弦、余弦及正切值。#include#includemain(){doublev=-1.0;while(v<=1.0){printf(“arg:%f,sin=%f,cos=%f,tan=%f”,v,sin(v),cos(v),tan(v));v+=0.1;}}3.Log()和logl0()函数调用方式:log(double型参数x)logl0(double型参数x)功能:函数log()返回函数参数x的自然对数值;而函数logl0()则返回以1
10、0为底的x的对数值log10x。两个函数都是double类型,返回值都是double类型。数学函数都有其定义域,如对数函数lnx或log
此文档下载收益归作者所有