admin管理员组

文章数量:1534355

2023年12月18日发(作者:)

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年间,贝尔实验室的e 在B语言的基础上设计出了C语言(取BCPL的第二个字母)。C语言既保持了BCPL和B语言的优点(精练,接近硬件),又克服了它们的缺点(过于简单,数据无类型等)。最初的C语言只是为描述和实现UNIX操作系统提供一种工作语言而设计的。1973年,on和e两人合作把UNIX的90%以上用C改写,即UNIX

1

第5版。原来的UNIX 操作系统是1969年由美国的贝尔实验室的on和e开发成功的,是用汇编语言写的。

后来,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 han和Dennis e (合称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语言编译系统虽然基本部分是相同的,但也有一些不同。在微型机上使用的有

2

Microsoft C、 Turbo C、 Quick C、BORLAND C等,它们的不同版本又略有差异。因此,读者应了解所用的计算机系统所配置的C编译系统的特点和规定

(可以参阅有关手册)。

C语言的发展过程:

20世纪60年代 1970年 1972年

长生BCPL语言 产生B语言 推出C语言

20世纪60年代产生的 1970年在继承和 1972年

BCPL语言是计算机软件 发展BCPL语言的 hie进一步充实和

人员在开发系统时为记 特点基础上,提 完善了B语言,设

述语言使用的一种程序 出了一种计算机 计出一种新的程

语言。 语言——“B语言”。 序设计语言——

C语言。

2、C语言的特点:

①、语言简洁、紧凑、使用方便、灵活。

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

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

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

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

⑥、可直接对硬件操作。

3

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

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

以上所述的是C语言的一般特点,至于其内部的其他特点将结合各章节内容逐一进行介绍。反正C语言的这些特点,使得它的应用非常广泛,许多大的软件都用C语言编写,这主要是由于C语言的可移植性好和对硬件的控制能力强,表达和运算能力强,许多以前只能用汇编语言处理的问题现在都在改用C语言来处理了。

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

二、超市管理系统模块介绍

1、系统说明部分。

⑴、本系统中所包含的函数:

struct sth

4

{

int number;

char name[20];

float price;

int count;

} goods[20];/*学生结构体*/

int n=0;/*商品种类计数*/

#include /*包含各种信息*/

#include

#include /*conio.h是TC特有的,用于输入输出图形方面,该系统至今没有使用里面的函数,等待扩展*/

#include "f1.c" /*包含所有模块*/

#include "f2.c" /*商品的上柜模块*/

#include "f3.c" /*商品的查询模块*/

#include "f4.c" /*商品的购买模块*/

#include "f5.c" /*商品的展示模块*/

⑵、系统提示文字说明。(含流程图)

流程图:

5

void init()/*超市系统说明性文字*/

{

printf("Choose your choice:n");

printf("(Press '0' to finish)n");

printf("");

printf("(Press '0' to finish)n");

printf("Yn");

printf("");

2、菜单模块。

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

⑵、流程图:

6

⑶、程序代码:

#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,打印现存所有商品信息*/

7

else if(choice==5) break;/*选5,退出*/

else

printf("Input error!!!n");

}

while(1);

}

⑷、效果截图:

3、上柜模块。

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

⑵、流程图:

8

⑶、程序代码:

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");/*提示输入商品的单价*/

9

scanf("%f",&t);

goods[n].price=t;

printf("count:t");scanf("%d",&goods[n].count);/*输入商品的数量*/

n++;/*n为全局变量,用于计数商品的种类数量,注意n的值从0计,始终比实际物品多1,最后一个商品的编号为0*/

}

while(1);

}

⑷、效果截图:

3、购物模块

⑴、功能说明:选购你所需要的商品。

⑴、流程图:

10

⑵、程序代码:

void count()/*购买商品*/

{

int no,n1,i;

float sum=0;/*给sun赋予初值0*/

do

{

printf("No.:t");scanf("%d",&no);/*输入需要购买商品的号码*/

if(no==0)/*商品号码为0则退出*/

11

break;

for(i=0;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("ttSUM=%fn",sum);/*输出购买的商品金额*/

printf("*****************************************************n");

}

⑶、效果截图:

12

4、搜索模块

⑴、功能说明:查询超市还有些什么商品。

⑵、流程图:

⑶、程序代码:

void seek()/*查询商品*/

{

int num,i;

13

char c;

do/*循环查询商品*/

{

i=0;

printf("Input goods number:");/*按照输入的商品号码查询该商品信息*/

scanf("%d",&num);

do/*循环查询系统内是否有输入的商品号码*/

{

if(num==goods[i++].number)/*如果查找成功则退出查找循环*/

{

i--;

break;/*退出该循环*/

}

}

while(i

if(i==n)/*如果i=n说明查找失败*/

printf("Can not find this number!n");

else/*查找成功,则输出该商品的信息*/

{

printf("PricetCountn");

printf("%dt%st%.3ft%dn",goods[i].number,goods[i].name,goods[i].price,goo

14

ds[i].count);

}

printf("Continue?(Y/N)n");/*输入任何值继续查询,输入n或N退出查询功能*/

scanf("%*c%c",&c);

}

while(c!='n'&&c!='N');

}

⑷、效果截图:

5、展示模块

⑴、功能说明:主要是方便管理员查看现在还有多少货物,以便好进货。最主要的是给顾客带来一种方便,不会因为缺货。

⑵、流程图:

15

⑶、程序代码:

void print()/*打印现存所有商品信息*/

{

int i;

printf("PricetCountn");/*输出商品的号码、名称、价格和数量*/

for(i=0;i

{

printf("%dt%st%.3ft%dn",goods[i].number,goods[i].name,goods[i].price,goods[i].count);/*根据以上的顺序依次输出商品的号码、名称、价格和数量*/

}

}

⑷、效果截图:

16

6.程序清单:

myhead.h

struct sth

{

int number;

char name[20];

float price;

int count;

} goods[20];

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.c

void init()

{

printf("Choose your

choice:n");

printf("(Press '0' to

finish)n");

printf("");

printf("(Press '0'

to finish)n");

printf("Yn");

printf("");

}

f2.c

void inin()

{

float t;

do

{

printf("No.:t");scanf("%d",

&goods[n].number);

if(goods[n].number==0)

break;

printf("Name:t");

scanf("%*c%s",goods[n].na

me);

printf("Price:t");

scanf("%f",&t);

goods[n].price=t;

printf("count:t");scanf("%d",&goods[n].count);

n++;

}

while(1);

}

f3.c

void seek()

{

int num,i;

char c;

do

{

i=0;

printf("Input goods

number:");

scanf("%d",&num);

do

{

if(num==goods[i++].number)

{

i--;

break;

}

}

while(i

if(i==n)

printf("Can not find this

number!n");

else

{

printf("PricetCountn");

17

printf("%dt%st%.3ft%dn",goods[i].number,goods[i].name,goods[i].price,goods[i].count);

printf("ttSUM=%fn",sum);

printf("***************** else if(choice==4) print();

else if(choice==5) break;

else

printf("Input error!!!n");

}

printf("Continue?(Y/N)n");

scanf("%*c%c",&c);

}

while(c!='n'&&c!='N');

}

f4.c

void count()

{

int no,n1,i;

float sum=0;

do

{

printf("No.:t");scanf("%d",&no);

if(no==0)

break;

for(i=0;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");

*********************** }

*************n"); while(1);

} }

f5.c

void print()

{

int i;

printf("PricetCountn");

for(i=0;i

{

printf("%dt%st%.3ft%dn",goods[i].number,goods[i].name,goods[i].price,goods[i].count);

}

}

main1.c

#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();

else if(choice==2) seek();

else if(choice==3) count();

18

三、结论和体会。

随着计算机软件技术的发展,尤其是进入21世纪以来,C语言从172年出现到现在,已经经历了将近40年的时间。而在这将近40年的岁月里,由于C语言本身的各种强大的功能,它现在已经成为了国际是的 最广为流传的、并且是很有发展前途的计算机高级语言。正是因为它的特点和功能也越来越受到人们的好评,用它开发的各种软件也逐渐应用于各个行业的管理之中。本次课程设计的任务——超市管理系统就是一种比较常见的利用C语言编译的应用程序。

刚刚开始学习C语言的我在设计本系统时难免有一些困难,但是通过和同学的讨论和老师的知道,我也算是完成了本次任务。在完成本次任务的过程中,我更加的了解到了C语言功能的强大和应用的广泛。但是,虽然它的功能是非常强大的,但是其内容却非常简单。只要能够熟练的掌握“运算符”、“数据类型”、和各种“结构语句”和“数组”的使用方法就能够对其进行更加有效的利用和控制。

在本次任务中,我也深深的感觉到自己的不足,虽然说起来是没有什么难度的,但是也要自己去熟练掌握,以达到随意应用的目的。尽管我在C语言的各种语言条件中还不够熟练,也不是非常的了解。但是,我有信心,有也有恒心把他们牢牢的掌握在自己的手中,达到更好的利用。

我相信,C语言的好处还不止如今我们的认识,它会随着人们的不断熟练掌握和运用而发挥出更加好的效果。它会更加广泛的被各行各业的管理者们应用,提高生产的质量,为我们的生活带来方便。

19

四、参考文献

1、C语言程序设计基础(北京:电子工业出版社,2004)

2、(美)Herbert Schildt著.王子恢等译.C语言大全(第四版).(北京:电子工业出版社,2001)

3、谭浩强著.C语言.(北京:清华大学出版社,2000)

4、眭碧霞主编. (苏州:大学出版社,2003)

5、向华著.C语言程序设计基础教程(重庆大学出版社)

6、By Brian han and Dennis e著.徐宝文等译.C语言程序设计语言(北京:机械工业出版社)

7、赵克林等编.C语言程序设计教程(北京工业大学出版社..2004年8月)

8、谭浩强著.C语言设计.第二版.(北京:清华大学出版社.1999)

20

本文标签: C语言商品语言