




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计说明书一、C语言概述1、C语言出现的历史背景:C语言是国际上广泛流行的计算机高级语言,既可用来写系统软件,也可用来写应用软件。C语言是在B语言的基础上发展起来的,它的根源可以追溯到ALGOL 60。1960年出现的ALGOL 60是一种面向问题的高级语言,它离硬件比较远,不宜用来编写系统程序。1963年英国的剑桥大学推出了CPL (combined programming language)语言。CPL语言在ALGOL 60的基础上接近硬件一些,但规模比较大,难以实现。1967年英国剑桥大学的Matin Richards对CPL语言做了简化,推出了BCPL (basic combined programming language) 语言。1970年美国贝尔实验室的Ken Thompson 以BCPL语言为基础, 又做了进一步简化, 设计出了很简单的而且很接近硬件的B语言 (取BCPL的第一个字母), 并用B语言写了第一个UNIX操作系统,在PDP7上实现。1971年在PDP11/20上实现了B语言,并写了UNIX操作系统。但B语言过于简单,功能有限。1972年至1973年间,贝尔实验室的D.M.Ritchie 在B语言的基础上设计出了C语言(取BCPL的第二个字母)。C语言既保持了BCPL和B语言的优点(精练,接近硬件),又克服了它们的缺点(过于简单,数据无类型等)。最初的C语言只是为描述和实现UNIX操作系统提供一种工作语言而设计的。1973年,K.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操作系统迅速地在各种机器上实现。例如VAX、 AT&T等计算机系统都相继开发了UNIX。随着UNIX的日益广泛使用,C语言也迅速得到推广。C语言和UNIX可以说是一对孪生兄弟,在发展过程中相辅相成。1978年以后,C语言已先后移植到大、中、小、微型机上,已独立于UNIX和PDP了。现在C语言已风靡全世界,成为世界上应用最广泛的几种计算机语言之一。以1978年发表的UNIX第7版中的C编译程序为基础,Brian W.Kernighan和Dennis M.Ritchie (合称K&R)合著了影响深远的名著The C Programming Language,这本书中介绍的C语言成为后来广泛使用的C语言版本的基础,它被称为标准C。1983年,美国国家标准化协会(ANSI)根据C语言问世以来各种版本对C的发展和扩充,制定了新的标准,称为ANSI C。 ANSI C比原来的标准C有了很大的发展。K & R在1988年修改了他们的经典著作The C Programming Language,按照 ANSI C 标准重新写了该书。1987年,ANSI又公布了新标准87 ANSIC。1990年,国际标准化组织ISO(International Standard Organization) 接受87 ANSI C为ISO C 的标准(ISO 98991990)。目前流行的C编译系统都是以它为基础的。本书的叙述基本上以ANSI C 为基础。目前广泛流行的各种版本C语言编译系统虽然基本部分是相同的,但也有一些不同。在微型机上使用的有Microsoft C、 Turbo C、 Quick C、BORLAND C等,它们的不同版本又略有差异。因此,读者应了解所用的计算机系统所配置的C编译系统的特点和规定 (可以参阅有关手册)。 C语言的发展过程:20世纪60年代 1970年 1972年长生BCPL语言产生B语言推出C语言20世纪60年代产生的 1970年在继承和 1972年D.M.RitcBCPL语言是计算机软件 发展BCPL语言的 hie进一步充实和人员在开发系统时为记 特点基础上,提 完善了B语言,设述语言使用的一种程序 出了一种计算机 计出一种新的程语言。 语言“B语言”。 序设计语言 C语言。 2、C语言的特点: 、语言简洁、紧凑、使用方便、灵活。 、运算符丰富,适合的范围广泛。 、数据结构丰富,具有现代化语言的各种数据结构。 、具有结构化的控制语句(如 ifelse语句、dowhile语句、while语句、switch语句、for语句)。、编程数据少,程序设计自由度大。、可直接对硬件操作。、生成目标代码质量高,程序执行效率高。、用C语言写的程序可移植性好。 以上所述的是C语言的一般特点,至于其内部的其他特点将结合各章节内容逐一进行介绍。反正C语言的这些特点,使得它的应用非常广泛,许多大的软件都用C语言编写,这主要是由于C语言的可移植性好和对硬件的控制能力强,表达和运算能力强,许多以前只能用汇编语言处理的问题现在都在改用C语言来处理了。 总之,C语言对编程者要求高。由于使用C语言编写程序会感到很少限制,灵活性大,功能强,可以编写出任何类型的程序,因此学习和使用C语言是学习计算机编程的基础。二、超市管理系统模块介绍1、系统说明部分。、本系统中所包含的函数:struct sth int number; char name20; float price; int count; goods20;/*学生结构体*/int n=0;/*商品种类计数*/#include /*包含各种信息*/#include #include /*conio.h是TC特有的,用于输入输出图形方面,该系统至今没有使用里面的函数,等待扩展*/#include f1.c /*包含所有模块*/ #include f2.c /*商品的上柜模块*/ #include f3.c /*商品的查询模块*/ #include f4.c /*商品的购买模块*/ #include f5.c /*商品的展示模块*/ 、系统提示文字说明。(含流程图)流程图:void init()/*超市系统说明性文字*/ printf(Choose your choice:n); printf(t1.ININ(Press 0 to finish)n); printf(t2.SEEKn); printf(t3.COUNT(Press 0 to finish)n); printf(t4.DISPLAYn); printf(t5.EXITn);2、菜单模块。、功能说明:该系统程序的开始他提示在该程序里面的一些必要的简单操作步骤以及怎么退出该程序。、流程图:、程序代码:#include myhead.h/*包含头文件*/void main() int choice; clrscr();/*清楚记录*/printf(t*n); printf(tttWELCOME TO USE MY SYSTEM!n); printf(t*n); do init();/*调用超市系统说明性文字模块*/ scanf(%d,&choice);/*提供选择*/ if(choice=1) inin();/*选1,添加超市的商品*/ else if(choice=2) seek();/*选2,查询商品*/ else if(choice=3) count();/*选3,购买商品*/ else if(choice=4) print();/*选4,打印现存所有商品信息*/ else if(choice=5) break;/*选5,退出*/ else printf(Input error!n); while(1); 、效果截图:3、上柜模块。、功能说明:给超市的货架上添加货物。 、流程图: 、程序代码:void inin()/*添加超市的商品*/ float t; do/*循环输入商品信息*/ printf(No.:t);scanf(%d,&goodsn.number);/*输入商品的号码*/ if(goodsn.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为全局变量,用于计数商品的种类数量,注意n的值从0计,始终比实际物品多1,最后一个商品的编号为0*/ while(1); 、效果截图: 3、购物模块、功能说明:选购你所需要的商品。 、流程图: 、程序代码:void count()/*购买商品*/ int no,n1,i; float sum=0;/*给sun赋予初值0*/ do printf(No.:t);scanf(%d,&no);/*输入需要购买商品的号码*/ if(no=0)/*商品号码为0则退出*/ break; for(i=0;in;i+)/*利用商品号在系统中查询所需商品*/ if(no=goodsi.number)/*判断是否为该商品*/ break; if(i!=n)/*查找成功*/ printf(count:t);scanf(%d,&n1);/*输入想要购买该商品的数量*/ goodsi.count-=n1;/*将库存商品数量相应剪掉*/ sum+=goodsi.price*n1;/*计算购买的商品金额*/ else/*查询失败*/ printf(Input error!n);/*输出错误提示信息*/ while(1);/*控制循环变量*/printf(*n); printf(ttSUM=%fn,sum);/*输出购买的商品金额*/printf(*n);、效果截图:4、搜索模块、功能说明:查询超市还有些什么商品。 、流程图: 、程序代码:void seek()/*查询商品*/ int num,i; char c; do/*循环查询商品*/ i=0; printf(Input goods number:);/*按照输入的商品号码查询该商品信息*/ scanf(%d,&num); do/*循环查询系统内是否有输入的商品号码*/ if(num=goodsi+.number)/*如果查找成功则退出查找循环*/ i-; break;/*退出该循环*/ while(in);/*如果没有查找到则i+,继续匹配,直到找遍所有商品*/ if(i=n)/*如果i=n说明查找失败*/ printf(Can not find this number!n); else/*查找成功,则输出该商品的信息*/ printf(No.tNametPricetCountn); printf(%dt%st%.3ft%dn,goodsi.number,,goodsi.price,goodsi.count); printf(Continue?(Y/N)n);/*输入任何值继续查询,输入n或N退出查询功能*/ scanf(%*c%c,&c); while(c!=n&c!=N);、效果截图:5、展示模块、功能说明:主要是方便管理员查看现在还有多少货物,以便好进货。最主要的是给顾客带来一种方便,不会因为缺货。 、流程图: 、程序代码:void print()/*打印现存所有商品信息*/ int i; printf(No.tNametPricetCountn);/*输出商品的号码、名称、价格和数量*/ for(i=0;in;i+) printf(%dt%st%.3ft%dn,goodsi.number,,goodsi.price,goodsi.count);/*根据以上的顺序依次输出商品的号码、名称、价格和数量*/ 、效果截图:6.程序清单:myhead.h20struct sth int number; char name20; float price; int count; goods20;int n=0;#include #include #include #include f1.c /*init()*/#include f2.c /*inin()*/#include f3.c /*seek()*/#include f4.c /*count()*/#include f5.c /*print()*/f1.cvoid init() printf(Choose your choice:n); printf(t1.ININ(Press 0 to finish)n); printf(t2.SEEKn); printf(t3.COUNT(Press 0 to finish)n); printf(t4.DISPLAYn); printf(t5.EXITn);f2.cvoid inin() float t; do printf(No.:t);scanf(%d,&goodsn.number); if(goodsn.number=0) break; printf(Name:t); scanf(%*c%s,); printf(Price:t); scanf(%f,&t); goodsn.price=t; printf(count:t);scanf(%d,&goodsn.count); n+; while(1);f3.cvoid seek() int num,i; char c; do i=0; printf(Input goods number:); scanf(%d,&num); do if(num=goodsi+.number) i-; break; while(in); if(i=n) printf(Can not find this number!n); else printf(No.tNametPricetCountn); printf(%dt%st%.3ft%dn,goodsi.number,,goodsi.price,goodsi.count); printf(Continue?(Y/N)n); scanf(%*c%c,&c); while(c!=n&c!=N);f4.cvoid count() int no,n1,i; float sum=0; do printf(No.:t);scanf(%d,&no); if(no=0) break; for(i=0;in;i+) if(no=goodsi.number) break; if(i!=n) printf(count:t);scanf(%d,&n1); goodsi.count-=n1; sum+=goodsi.price*n1; else printf(Input error!n); while(1); printf(*n); printf(ttSUM=%fn,sum); printf(*n);f5.cvoid print() int i; printf(No.tNametPricetCountn); for(i=0;in;i+) printf(%dt%st%.3ft%dn,goodsi.number,,goodsi.price,goodsi.count); main1.c#include myhead.hvoid main() int choice; clrscr();printf(t*n); printf(tttWELCOME TO USE MY SYSTEM!n); printf(t*n); do init(); scanf(%d,&choice); if(choice=1) inin(); else if(choice=2) seek(); else if(choice=3) count(); else if(choice=4) print(); else if(choice=5) break; else printf(Input error!n); while(1);三、结论和体会。随着计算机软件技术的发展,尤其是进入21世纪以来,C语言从172年出现到现在,已经经历了将近40年的时间。而在这将近40年的岁月里,由于C语言本身的各种强大的功能,它现在已经成为了国际是的 最广为流传的、并且是很有发展前途的计算机高级语言。正是因为它的特点和功
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年学历类自考医学心理学-西方行政学说史参考题库含答案解析(5卷)
- 2024年常熟市市直机关遴选考试真题
- 2025年学历类自考刑法学-幼儿园课程参考题库含答案解析(5卷)
- 2025年教师招聘之《幼儿教师招聘》押题练习试卷含答案详解【突破训练】
- 教师招聘之《幼儿教师招聘》考前冲刺测试卷附有答案详解含答案详解(满分必刷)
- 2025年教师招聘之《幼儿教师招聘》综合提升测试卷含答案详解【模拟题】
- 2025年学历类自考公共关系策划-秘书参谋职能概论参考题库含答案解析(5卷)
- 2025年学历类自考公共关系学-教师职业道德与专业发展参考题库含答案解析(5卷)
- 2025年学历类自考儿科护理学(二)-幼儿文学参考题库含答案解析(5卷)
- 2025年学历类自考儿科护理学(二)-古代汉语参考题库含答案解析(5卷)
- 2025法拍房屋代理竞买合同范本:专业中介服务
- 医院2025年年度窗口服务优化计划
- 营销部综合事务管理办法
- 机加工车间员工技能培训
- 部编人教版三年级上册道德与法治全册教案
- 医院见习人员管理制度
- T/CECS 10348-2023一体化净水设备
- 2025年广西公需科目答案02
- 2025上半年教师资格考试(高中音乐)新版真题卷含答案
- 5.2做自强不息的中国人(教学设计)2024-2025学年七年级道德与法治下册(统编版2024)
- 2025-2030中国枸杞种植及深加工市场销售格局及未来营销创新研究报告
评论
0/150
提交评论