C语言程序的设计说明书_第1页
C语言程序的设计说明书_第2页
C语言程序的设计说明书_第3页
C语言程序的设计说明书_第4页
C语言程序的设计说明书_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C语言程序设计说明书一、C语言概述1、C语言出现的历史背景:C语言是国际上广泛流行的计算机高级语言,既可用来写系统软件,也可用来写应用软件。C语言是在B语言的基础上发展起来的,它的根源可以追溯到ALGOI60。1960年出现的ALGOL60是一种面向问题的高级语言,它离硬件比较远,不宜用来编写系统程序。1963年英国的剑桥大学推出了CPL(combinedprogramminglanguage)语言。CPL语言在ALGOL60B勺基础上接近硬件一些,但规模比较大,难以实现。1967年英国剑桥大学的MatinRichards对CPL语言做了简化,推出了BCPL(basiccombinedprog

2、ramminglanguage)语言。1970年美国贝尔实验室的KenThompson以BCPL语言为基础,又做了进一步简化,设计出了很简单的而且很接近硬件的B语言(取BCPLB第一个字母),并用B语言写了第一个UNIX操作系统,在PDP7上实现。1971年在PDP11/20上实现了B语言,并写了UNIX操作系统。但B语言过于简单,功能有限。1972年至1973年间,贝尔实验室的D.M.Ritchie在B语言的基础上设计出了C语言(取BCPU勺第二个字母)。C语言既保持了BCPLf口B语言的优点(精练,接近硬件),又克服了它们的缺点(过于简单,数据无类型等)。最初的C语言只是为描述和实现UNI

3、X操作系统提供一种工作语言而设计的。1973年,(Thompson和D.M.Ritchie两人合作把UNIX的90犯上用C改写,即UNIX第5版。原来的UNIX操作系统是1969年由美国的贝尔实验室的K.Thompson和D.M.Ritchie开发成功的,是用汇编语言写的。后来,C语言多次做了改进,但主要还是在贝尔实验室内部使用。直到1975年UNIX第6版公布后,C语言的突出优点才引起人们的普遍注意。1977年出现了不依赖于具体机器的C语言编译文本可移植C语言编译程序,使C移植到其他机器时所需做的工作大大简化了,这也推动了UNIX操作系统迅速地在各种机器上实现。例如VAXAT&T等计

4、算机系统都相继开发了UNIX随着UNIX的日益广泛使用,C语言也迅速得到推广。C语言和UNIX可以说是一对李生兄弟,在发展过程中相辅相成。1978年以后,C语言已先后移植到大、中、小、微型机上,已独立于UNIX和PDP了。现在C语言已风靡全世界,成为世界上应用最广泛的几种计算机语言之一。以1978年发表的UNIX第7版中的C编译程序为基础,BrianW.Kernighan和DennisM.Ritchie(合称K&R冷著了影响深远的名著TheCProgrammingLanguage»,这本书中介绍的C语言成为后来广泛使用的C语言版本的基础,它被称为标准Co1983年,美国国家标

5、准化协会(ANSI)根据C语言问世以来各种版本对C的发展和扩充,制定了新的标准,称为ANSICoANSIC比原来的标准C有了很大的发展。K&R在1988年修改了他们的经典著作TheCProgrammingLanguage,按照ANSIC标准重新写了该书。1987年,ANSI又公布了新标准87ANSICo1990年,国际标准化组织ISO(InternationalStandardOrganization)接受87ANSIC为ISOC的标准(ISO98991990)。目前流行的C编译系统都是以它为基础的。本书的叙述基本上以ANSIC为基础。目前广泛流行的各种版本C语言编译系统虽然基本部分是

6、相同的,但也有一些不同。在微型机上使用的有MicrosoftC、TurboC、QuickC、BORLAND曲,它们的不同版本又略有差异。因此,读者应了解所用的计算机系统所配置的C编译系统的特点和规定(可以参阅有关手册)。C语言的发展过程:20世纪60年代1970年1972年197220世纪60年代产生的 BCPL语言是计算机软件 人员在开发系统时为记 述语言使用的一种程序 语言。1970 年在继承和发展BCPL语言的 特点基础上,提 出了一种计算机语言“ B语言”。Chie小差 兀口年 D.M.Ritc 进一步充实和 了 B语言,设计出一种新的程序设计语言一一语言。2、C语言的特点:、语言简洁

7、、紧凑、使用方便、灵活。、运算符丰富,适合的范围广泛。、数据结构丰富,具有现代化语言的各种数据结构。、具有结构化的控制语句(如if-else语句、do-while语句、while语句、switch语句、for语句)。、编程数据少,程序设计自由度大。、可直接对硬件操作。、生成目标代码质量高,程序执行效率高。、用C语言写的程序可移植性好。以上所述的是C语言的一般特点,至于其内部的其他特点将结合各章节内容逐一进行介绍。反正C语言的这些特点,使得它的应用非常广泛,许多大的软件都用C语言编写,这主要是由于C语言的可移植性好和对硬件的控制能力强,表达和运算能力强,许多以前只能用汇编语言处理的问题现在都在改

8、用C语言来处理了。总之,C语言对编程者要求高。由于使用C语言编写程序会感到很少限制,灵活性大,功能强,可以编写出任何类型的程序,因此学习和使用C语言是学习计算机编程的基础。、超市管理系统模块介绍1、系统说明部分、本系统中所包含的函数:structsthintnumber;charname20;floatprice;intcount;goods20;/*学生结构体*/intn=0;/*商品种类计数*/#include<stdio.h>/*包含各种信息*/#include<string.h>#include<conio.h>/*conio.h是TC特有的,用于输

9、入输出图形方面,该系统至今没有使用里面的函数,等待扩展*/#include "f1.c"#include "f2.c"#include "f3.c"#include "f4.c"#include "f5.c"/*/*/*/*/*包含所有模块*/ 商品的上柜模块 商品的查询模块 商品的购买模块 商品的展示模块*/*/*/*/、系统提示文字说明。(含流程图) 流程图:voidinit()/*超市系统说明性文字*/printf("Chooseyourchoice:n");print

10、f("t1.ININ(Press'0'tofinish)n");printf("t2.SEEK'n");printf("t3.COUNT(Press'0'tofinish)n");printf("t4.DISPLAY'n");.专业.专注.printf("t5.EXIT'n");2、菜单模块。、功能说明:该系统程序的开始他提示在该程序里面的一些必要的简单操作步骤以及怎么退出该程序。、流程图:、程序代码:#include"myhea

11、d.h"/*包含头文件*/voidmain()intchoice;clrscr();/*清楚记录*/printf("t*n");printf("tttWELCOMETOUSEMYSYSTEM!n");printf("t*n");doinit();/*调用超市系统说明性文字模块*/scanf("%d”,&choice);/*提供选择*/选2,查询商品*/选3,购买商品*/选4,打印现存所有商品信息*/选5,退出*/if(choice=1)inin();/*选1,添加超市的商品*/elseif(choice=2

12、)seek();/*elseif(choice=3)count();/*elseif(choice=4)print();/*elseif(choice=5)break;/*elseprintf("Inputerror!n");while(1);、效果截图:3、上柜模块。、功能说明:给超市的货架上添加货物、流程图:.专业.专注.、程序代码:voidinin()/*添加超市的商品*/floatt;do/*循环输入商品信息*/输入商品的号码*/printf("No.:t");scanf("%d”,&goodsn.number);/*if(go

13、odsn.number=0)/*如果商品号码为0,则用break退出循环*/break;printf("Name:t");/*输入商品的名称*/scanf("%*c%s",);printf("Price:t");/*提示输入商品的单价*/scanf("%f",&t);goodsn.price=t;printf("count:t");scanf("%d",&goodsn.count);/*输入商品的数量*/n+;/*n为全局变量,用于计数商

14、品的种类数量,注意n的值从0计,始终比实际物品多1,最后一个商品的编号为0*/while(1);、效果截图:3、购物模块、功能说明:选购你所需要的商品、流程图:、程序代码:voidcount()/*购买商品*/intno,n1,i;floatsum=0;/*给sun赋予初值0*/doprintf("No.:t");scanf("%d",&no);/*输入需要购买商品的号码*/if(no=0)/*商品号码为0则退出*/break;for(i=0;i<n;i+)/*利用商品号在系统中查询所需商品*/if(no=goodsi.number)/*判

15、断是否为该商品*/break;if(i!=n)/*查找成功*/printf("count:t");scanf("%d",&n1);/*输入想要购买该商品的数量*/goodsi.count-=n1;/*将库存商品数量相应剪掉*/sum+=goodsi.price*n1;/*计算购买的商品金额*/else/*查询失败*/printf("Inputerror!n");/*输出错误提示信息*/while(1);/*控制循环变量*/printf("I*n");printf("ttSUM=%fn",

16、sum);/* 输出购买的商品金额*/printf("I*n");、效果截图:4、搜索模块、功能说明:查询超市还有些什么商品、流程图:、程序代码:voidseek()/*查询商品*/intnum,i;charc;do/*循环查询商品*/i=0;printf("Inputgoodsnumber:");/*按照输入的商品号码查询该商品信息*/scanf("%d”,&num);do/*循环查询系统内是否有输入的商品号码*/if(num=goodsi+.number)/*如果查找成功则退出查找循环*/i-;break;/*退出该循环*/whil

17、e(i<n);/*如果没有查找到则i+,继续匹配,直到找遍所有商品*/if(i=n)/*如果i=n说明查找失败*/printf("Cannotfindthisnumber!n");else/*查找成功,则输出该商品的信息*/printf("No.tNametPricetCount'n");printf("%dt%st%.3ft%dn",goodsi.number,,goodsi.price,goodsi.count);输入任何值继续查询,输入n或N退出查printf("Continue?(

18、Y/N)n");/*询功能*/scanf("%*c%c",&c);while(c!='n'&&c!='N');、效果截图:5、展示模块、功能说明:主要是方便管理员查看现在还有多少货物,以便好进货最主要的是给顾客带来一种方便,不会因为缺货。、流程图:、程序代码:voidprint()/*打印现存所有商品信息*/inti;printf("No.tNametPricetCountn");/*输出商品的号码、名称、价格和数量*/for(i=0;i<n;i+)printf("%dt%

19、st%.3ft%dn",goodsi.number,,goodsi.price,goodsi.count);/*根据以上的顺序依次输出商品的号码、名称、价格和数量*/、效果截图:6.程序清单:myhead.hstructsth/*inin()*/printf("t2.SEEKn");#include"f3.c"intnumber;/*seek()*/printf("t3.COUNT(Presscharname20;#include"f4.c"'0'tofinish)n"

20、;);floatprice;/*count()*/intcount;#include"f5.c"printf("t4.DISPLAYn")goods20;/*print()*/;intn=0;f1.cprintf("t5.EXITn");#include<stdio.h>voidinit()#include<string.h>f2.c#include<conio.h>printf("Chooseyourvoidinin()#include"f1.c"choice:n&q

21、uot;);/*init()*/printf("t1.ININ(Pressfloatt;#include"f2.c"'0'tofinish)n");doif(i=n)printf("Cannotfindgoodsi.count-=n1;printf("No.:t");scanf(thisnumber!n");sum+=goodsi.price*n1"%d",&goodsn.number);elseelseif(goodsn.number=0)printf("In

22、putbreak;printf("No.tNametPricerror!n");printf("Name:t");etCountn");while(1);scanf("%*c%s",goodsn.printf("%dt%st%.3ft%name);dn",goodsi.number,goprintf("*printf("Price:t");,goodsi.pr*scanf("%f",&t);ice,goodsi.count);*n

23、");goodsn.price=t;printf("ttSUM=%fn",sprintf("count:t");scanf("%d",&goodsn.count)n");um);scanf("%*c%c",&c);printf("*n+;*while(c!='n'&&c!='N');*n");while(1);f4.cf5.cf3.cvoidcount()voidprint()voidseek()intno,n1

24、,i;inti;intnum,i;floatsum=0;charc;doprintf("No.tNametPricdoetCountn");for(i=0;i<n;i+)i=0;printf("No.:t");scanf(printf("Inputgoods"%d",&no);number:");if(no=0)printf("%dt%st%.3ft%scanf("%d",&num);break;dn",goodsi.number,godofor(i=0

25、;i<n;i+),goodsi.price,goodsi.count);if(num=goodsi+.numbif(no=goodsi.number)er)break;main1.c#include"myhead.h"i-;if(i!=n)voidmain()break;intchoice;printf("count:t");scanclrscr();while(i<n);f("%d",&n1);printf("t*n");printf("tttWELCOMETOUSEMYSYSTEM!n");printf("t*n");doinit();scanf("%d",&choice);if(choice=1)inin();elseif(choice=2)seek();elseif(choice=3)count();elseif(choice=4)print();elseif(choice=5)break;elseprintf("Inputerror!n");while(1);. 专业 .专注 .三、结论和体会。随着计算机软件技术的发展,尤其是进入21世纪以来,C语言从17

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论