当前位置:文档之家› C语言程序的设计说明书

C语言程序的设计说明书

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 9899—1990)。

目前流行的C编译系统都是以它为基础的。

本书的叙述基本上以ANSI C 为基础。

目前广泛流行的各种版本C语言编译系统虽然基本部分是相同的,但也有一些不同。

在微型机上使用的有Microsoft C、 Turbo C、 Quick C、BORLAND C等,它们的不同版本又略有差异。

因此,读者应了解所用的计算机系统所配置的C编译系统的特点和规定 (可以参阅有关手册)。

C语言的发展过程:20世纪60年代 1970年 1972年20世纪60年代产生的 1970年在继承和 1972年D.M.RitcBCPL语言是计算机软件发展BCPL语言的 hie进一步充实和人员在开发系统时为记特点基础上,提完善了B语言,设述语言使用的一种程序出了一种计算机计出一种新的程语言。

语言——“B语言”。

序设计语言——C语言。

2、C语言的特点:①、语言简洁、紧凑、使用方便、灵活。

②、运算符丰富,适合的围广泛。

③、数据结构丰富,具有现代化语言的各种数据结构。

④、具有结构化的控制语句(如 if…else语句、do…while语句、while语句、switch语句、for语句)。

⑤、编程数据少,程序设计自由度大。

⑥、可直接对硬件操作。

⑦、生成目标代码质量高,程序执行效率高。

⑧、用C语言写的程序可移植性好。

以上所述的是C语言的一般特点,至于其部的其他特点将结合各章节容逐一进行介绍。

反正C语言的这些特点,使得它的应用非常广泛,许多大的软件都用C语言编写,这主要是由于C语言的可移植性好和对硬件的控制能力强,表达和运算能力强,许多以前只能用汇编语言处理的问题现在都在改用C语言来处理了。

总之,C语言对编程者要求高。

由于使用C语言编写程序会感到很少限制,灵活性大,功能强,可以编写出任何类型的程序,因此学习和使用C语言是学习计算机编程的基础。

二、超市管理系统模块介绍1、系统说明部分。

⑴、本系统中所包含的函数:struct sth{int number;char name[20];float price;int count;} goods[20];/*学生结构体*/int n=0;/*商品种类计数*/#include <stdio.h>/*包含各种信息*/#include <string.h>#include <conio.h>/*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.SEEK\n");printf("\t3.COUNT(Press '0' to finish)\n");printf("\t4.DISPLAY\n");printf("\t5.EXIT\n");2、菜单模块。

⑴、功能说明:该系统程序的开始他提示在该程序里面的一些必要的简单操作步骤以及怎么退出该程序。

⑵、流程图:⑶、程序代码:#include "myhead.h"/*包含头文件*/void main(){int choice;clrscr();/*清楚记录*/printf("\t*****************************************************\n"); printf("\t\t\tWELCOME 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,退出*/elseprintf("Input error!!!\n");}while(1);}⑷、效果截图:3、上柜模块。

⑴、功能说明:给超市的货架上添加货物。

⑵、流程图:⑶、程序代码:void inin()/*添加超市的商品*/{float t;do/*循环输入商品信息*/{printf("No.:\t");scanf("%d",&goods[n].number);/*输入商品的*/if(goods[n].number==0)/*如果商品为0,则用break退出循环*/break;printf("Name:\t");/*输入商品的名称*/scanf("%*c%s",goods[n].name);printf("Price:\t");/*提示输入商品的单价*/scanf("%f",&t);goods[n].price=t;printf("count:\t");scanf("%d",&goods[n].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;i<n;i++)/*利用商品号在系统中查询所需商品*/{if(no==goods[i].number)/*判断是否为该商品*/break;}if(i!=n)/*查找成功*/{printf("count:\t");scanf("%d",&n1);/*输入想要购买该商品的数量*/goods[i].count-=n1;/*将库存商品数量相应剪掉*/sum+=goods[i].price*n1;/*计算购买的商品金额*/}else/*查询失败*/printf("Input error!\n");/*输出错误提示信息*/}while(1);/*控制循环变量*/printf("*****************************************************\n"); printf("\t\tSUM=%f\n",sum);/*输出购买的商品金额*/printf("*****************************************************\n"); }⑶、效果截图:4、搜索模块⑴、功能说明:查询超市还有些什么商品。

相关主题