C語言程序的設(shè)計說明書_第1頁
C語言程序的設(shè)計說明書_第2頁
C語言程序的設(shè)計說明書_第3頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、C語言程序設(shè)計說明書一、C語言概述1、C語言出現(xiàn)的歷史背景:C語言是國際上廣泛流行的計算機咼級語言,既可用來寫系統(tǒng)軟件,也可用 來寫應(yīng)用軟件。C語言是在B語言的基礎(chǔ)上發(fā)展起來的,它的根源可以追溯到ALGOI60°1960 年出現(xiàn)的ALGOL 60是一種面向問題的高級語言,它離硬件比較遠,不宜用來編 寫系統(tǒng)程序。1963年英國的劍橋大學(xué)推出了CPL (combined programmingIan guage) 語言。CPL語言在ALGOL 60的基礎(chǔ)上接近硬件一些,但規(guī)模比較大, 難以實現(xiàn)。1967年英國劍橋大學(xué)的Matin Richards對CPL語言做了簡化,推出 了 BCPL

2、(basic combined programming Ianguage) 語言。1970 年美國貝爾實驗 室的Ken Thompson以BCPL語言為基礎(chǔ),又做了進一步簡化,設(shè)計出了很簡單的而且很接近硬件的B語言(取BCPL的第一個字母),并用B語言寫了第一 個UNIX操作系統(tǒng),在PDP 7上實現(xiàn)。1971年在PDP 11/20上實現(xiàn)了 B語言, 并寫了 UNIX操作系統(tǒng)。但B語言過于簡單,功能有限。1972年至1973年間,貝爾實驗室的在B語言的基礎(chǔ)上設(shè)計出 了 C語言(取BCPL的第二個字母)。C語言既保持了 BCPL和B語言的優(yōu)點(精練, 接近硬件),又克服了它們的缺點(過于簡單,數(shù)據(jù)

3、無類型等)。最初的C語言只 是為描述和實現(xiàn)UNIX操作系統(tǒng)提供一種工作語言而設(shè)計的。1973年, K.Thompson 和兩人合作把UNIX的90%以上用C改寫,即UNIX第5版。原來的 UNIX操作系統(tǒng)是1969年由美國的貝爾實驗室的 K.Thompson和開 發(fā)成功的,是用匯編語言寫的。后來,C語言多次做了改進,但主要還是在貝爾實驗室內(nèi)部使用。直到1975年UNIX第6版公布后,C語言的突出優(yōu)點才引起人們的普遍注意。1977年出現(xiàn) 了不依賴于具體機器的C語言編譯文本可移植C語言編譯程序,使C移植到 其他機器時所需做的工作大大簡化了,這也推動了UNIX操作系統(tǒng)迅速地在各種機器上實現(xiàn)。例如 V

4、AX AT&T等計算機系統(tǒng)都相繼開發(fā)了 UNI%隨著UNIX的 日益廣泛使用,C語言也迅速得到推廣。C語言和UNIX可以說是一對孿生兄弟, 在發(fā)展過程中相輔相成。1978年以后,C語言已先后移植到大、中、小、微型機 上,已獨立于UNIX和PDP了?,F(xiàn)在C語言已風(fēng)靡全世界,成為世界上應(yīng)用最廣 泛的幾種計算機語言之一。以1978年發(fā)表的UNIX第7版中的C編譯程序為基礎(chǔ), Brian W.Kernighan和Dennis M.Ritchie (合稱K&R合著了影響深遠的名著The C Programming Language,這本書中介紹的C語言成為后來廣泛使用的 C語言 版本的基

5、礎(chǔ),它被稱為標(biāo)準(zhǔn) Co 1983年,美國國家標(biāo)準(zhǔn)化協(xié)會(ANSI)根據(jù)C語言 問世以來各種版本對C的發(fā)展和擴充,制定了新的標(biāo)準(zhǔn),稱為 ANSI Co ANSI C 比原來的標(biāo)準(zhǔn)C有了很大的發(fā)展。K & R在1988年修改了他們的經(jīng)典著作The C Programming Language,按照 ANSI C 標(biāo)準(zhǔn)重新寫了該書。1987年,ANSI又 公布了新標(biāo)準(zhǔn)87 ANSIC。1990 年,國際標(biāo)準(zhǔn)化組織 ISO(International Standard Organization)接受87 ANSI C為ISO C的標(biāo)準(zhǔn)(ISO 9899 1990)。目前流行的C編譯系統(tǒng)都是以它

6、為基礎(chǔ)的。本書的敘述基本上以 ANSI C為基礎(chǔ)。目前廣泛流行的各種版本 C語 言編譯系統(tǒng)雖然基本部分是相同的,但也有一些不同。在微型機上使用的有Microsoft C 、Turbo C、Quick C、BORLAND (等,它們的不同版本又略有差 異。因此,讀者應(yīng)了解所用的計算機系統(tǒng)所配置的 C編譯系統(tǒng)的特點和規(guī)定(可 以參閱有關(guān)手冊)。C語言的發(fā)展過程:20世紀(jì)60年代 1970 年1972 年1970年在繼承和1972 年 D.M.Ritc20世紀(jì)60年代產(chǎn)生的 BCPL語言是計算機軟件 人員在開發(fā)系統(tǒng)時為記 述語言使用的一種程序發(fā)展BCPL語言的hie進一步充實和特點基礎(chǔ)上,提 出了一

7、種計算機完善了 B語言,設(shè)計出一種新的程語言 “ B語言”。序設(shè)計語言語言。2、C語言的特點: 、語言簡潔、緊湊、使用方便、靈活。 、運算符豐富,適合的范圍廣泛。 、數(shù)據(jù)結(jié)構(gòu)豐富,具有現(xiàn)代化語言的各種數(shù)據(jù)結(jié)構(gòu)。 、具有結(jié)構(gòu)化的控制語句 (如ifelse語句、dowhile語句、while 語句、switch 語句、for語句)。 、編程數(shù)據(jù)少,程序設(shè)計自由度大。 、可直接對硬件操作。 、生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。 、用C語言寫的程序可移植性好。以上所述的是C語言的一般特點,至于其內(nèi)部的其他特點將結(jié)合各章節(jié)內(nèi)容逐一進行介紹。反正C語言的這些特點,使得它的應(yīng)用非常廣泛, 許多大的軟件都用

8、C語言編寫,這主要是由于C語言的可移植性好和對硬件的控制能力強,表達和運算能力強,許多以前只能用匯編語言處理的冋題現(xiàn)在都在改用C語言來處理了??傊?,C語言對編程者要求高。由于使用 C語言編寫程序會感到很少限制, 靈活性大,功能強,可以編寫出任何類型的程序,因此學(xué)習(xí)和使用C語言是學(xué)習(xí) 計算機編程的基礎(chǔ)。、超市管理系統(tǒng)模塊介紹1、系統(tǒng)說明部分、本系統(tǒng)中所包含的函數(shù):struct sth int nu mber;char n ame20;float price;int count; goods20;/* 學(xué)生結(jié)構(gòu)體*/int n=0;/* 商品種類計數(shù)*/#include <stdio.h&g

9、t;/* 包含各種信息 */ #include <string.h>是TC特有的,用于輸入輸出圖形方面,該系統(tǒng)#in clude vconi o.h>/*c oni o.h.專業(yè).專注.至今沒有使用里面的函數(shù),等待擴展#include "f1.c" /*#include "f2.c" /*#in clude "f3.c" /*#include "f4.c" /*#include "f5.c" /*/包含所有模塊*/ 商品的上柜模塊*/ 商品的查詢模塊*/ 商品的購買模塊*/ 商

10、品的展示模塊*/、系統(tǒng)提示文字說明。(含流程圖) 流程圖:void init()/*超市系統(tǒng)說明性文字*/prin tf("Choose your choice: n");printf("t1.ININ(Press '0' to finish)n");prin tf("t2.SEEKn");printf("t3.COUNT(Press '0' to finish)n");prin tf("t4.DISPLAYn");prin tf("t5.EXITn&q

11、uot;);2、菜單模塊。、功能說明:該系統(tǒng)程序的開始他提示在該程序里面的 一些必要的簡單操作步驟以及怎么退出該程序。、流程圖:*4*牛* "屮*#*審* + 十武lu 口 ro已Bto my 目#目予耳m、程序代碼:#include "myhead.h"/*包含頭文件 */void main() 清楚記錄*/int choice; clrscr();/*prin tf("t*n");prin tf("tttWELCOME TO USE MY SYSTEM!n");prin tf("t*n");do in

12、it();/*調(diào)用超市系統(tǒng)說明性文字模塊*/scanf("%d",&choice);/*提供選擇 */if(choice=1) inin();/*選 1,添加超市的商品 */選2,查詢商品*/選3,購買商品*/選4,打印現(xiàn)存所有商品信息*/選5,退出*/else if(choice=2) seek();/*else if(choice=3) coun t();/*else if(choice=4) prin t();/*else if(choice=5) break;/*elseprin tf("I nput error!n");while(1)

13、;、效果截圖:3、上柜模塊。、功能說明:給超市的貨架上添加貨物、流程圖:、程序代碼:void inin()/* 添加超市的商品*/float t;do/*循環(huán)輸入商品信息*/輸入商品的號碼*/prin tf("No.:t");sca nf("%d",&goods n.nu mber);/*if(goodsn.number=0)/* 如果商品號碼為 0,則用 break 退出循環(huán) */ break;printf("Name:t");/* 輸入商品的名稱 */ scanf("%*c%s",

14、);printf("Price:t");/* 提示輸入商品的單價 */ scanf("%f",&t);goodsn.price=t;printf("count:t");scanf("%d",&goodsn.count);/* 輸入商品的數(shù)量 */ n+;/*n 為全局變量,用于計數(shù)商品的種類數(shù)量 , 注意 n 的值從 0 計,始終比 實際物品多 1,最后一個商品的編號為 0*/while(1);、效果截圖:3 、購物模塊、功能說明:選購你所需要的商品、流程圖:、程序代碼:void count()/*

15、 購買商品 */int no,n 1,i;float sum=0;/* 給 sun 賦予初值 0*/doprintf("No.:t");scanf("%d",&no);/*輸入需要購買商品的號碼 */if(no=0)/* 商品號碼為0則退出*/break;for(i=0;i< n; i+)/*利用商品號在系統(tǒng)中查詢所需商品*/if(no=goodsi.number)/*判斷是否為該商品 */break;if(i!=n)/*查找成功*/printf("count:t");scanf("%d",&

16、n 1);/*輸入想要購買該商品的數(shù)量 */.專業(yè)專注.goodsi.count-=n1;/* 將庫存商品數(shù)量相應(yīng)剪掉 */ sum+=goodsi.price*n1;/* 計算購買的商品金額 */ else/* 查詢失敗 */printf("Input error!n");/* 輸出錯誤提示信息 */while(1);/* 控制循環(huán)變量 */printf("f*n");printf("ttSUM=%fn",sum);/* 輸出購買的商品金額 */printf("f*n");、效果截圖:4、搜索模塊、功能說明:查詢

17、超市還有些什么商品 、流程圖:.專業(yè).專注.古訶陽17=始4軸出 input goo ds numb er右粘出 can&xd thlw iiutiiLer!愉*I lainc.Price:CavntShjl1j=亡口 tiiLtJ胡出也詞詁車、程序代碼:void seek()/* 查詢商品 */int nu m,i;char c;do/*循環(huán)查詢商品*/i=0;prin tf("I nput goods nu mber:");/*按照輸入的商品號碼查詢該商品信息*/scan f("%d",&nu m);do/*循環(huán)查詢系統(tǒng)內(nèi)是否有輸入的

18、商品號碼*/if(num=goodsi+.number)/*如果查找成功則退出查找循環(huán)*/i-;break;/* 退出該循環(huán)*/while(i<n);/*如果沒有查找到則i+,繼續(xù)匹配,直到找遍所有商品*/if(i=n)/* 如果i=n說明查找失敗*/prin tf("Ca n not find this nu mber!n");else/*查找成功,則輸出該商品的信息*/prin tf("No.tNametPricetCo un tn");prin tf("%dt%st%.3ft%dn",goodsi. nu mber,goo

19、dsi. name,goodsi.price,goodsi.co un t);輸入任何值繼續(xù)查詢,輸入n或N退出查prin tf("C on tin ue?(Y/N)n");/* 詢功能*/scan f("%*c%c",&c);while(c!=' n'&&c!='N');、效果截圖:5、展示模塊、功能說明:主要是方便管理員查看現(xiàn)在還有多少貨物,以便好進貨 最主要的是給顧客帶來一種方便,不會因為缺貨。、流程圖:void print()/* 打印現(xiàn)存所有商品信息 */int i;printf(&quo

20、t;No.tNametPricetCountn");/* 輸出商品的號碼、 名稱、價格和 數(shù)量 */for(i=0;i<n;i+)printf("%dt%st%.3ft%dn",goodsi.number,,goodsi .price,goodsi.count);/* 根據(jù)以上的順序依次輸出商品的號碼、名稱、價格 和數(shù)量 */、效果截圖:6. 程序清單:myhead.hstruct sth/*inin()*/printf("t2.SEEKn");#include"f3.c"int number;/

21、*seek()*/printf("t3.COUNT(Presschar name20;#include"f4.c"'0' to finish)n");float price;/*count()*/int count;#include"f5.c"printf("t4.DISPLAYn") goods20;/*print()*/Jint n=0;f1.cprintf("t5.EXITn");#include <stdio.h>void init()#include <

22、;string.h>f2.c#include <conio.h>printf("Chooseyourvoid inin()#include"f1.c"choice:n");/*init()*/printf("t1.ININ(Pressfloat t;#include"f2.c"'0' to finish)n");do.專業(yè) .專注 .goodsi.count-=n1;sum+=goodsi.price*n1;elseprintf("Inputerror!n");

23、while(1);printf(*n");printf("ttSUM=%fn",sum);printf(H*n");f5.cvoid print()int i;printf("No.tNametPric etCountn");for(i=0;i<n;i+)printf("%dt%st%.3ft% dn",goodsi.number,go ,goodsi.pr ice,goodsi.count);main1.c#include "myhead.h"void main()in

24、t choice;clrscr();次次次次次次次次次次次次次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("%

25、d",&goodsn.count)Jn+;while(1);f3.cvoid seek()int num,i;char c;doi=0;printf("Input goodsnumber:");scanf("%d",&num);doif(num=goodsi+.number)i-;break;while(i<n);if(i=n)printf("Can not find this number!n");elseprintf("No.tNametPric etCountn");print

26、f("%dt%st%.3ft% dn",goodsi.number,go ,goodsi.pr ice,goodsi.count);n");scanf("%*c%c",&c);while(c!='n'&&c!='N');f4.cvoid count()int no,n1,i;float sum=0;doprintf("No.:t");scanf("%d",&no);if(no=0)break;for(i=0;i<n;i

27、+)if(no=goodsi.number)break;if(i!=n)printf("count:t");scanf("%d",&n1);*n");printf("tttWELCOMETO USE MY SYSTEM!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);三、結(jié)論和體會。隨著計算機軟件技術(shù)的發(fā)展,尤其是進入21世紀(jì)以來,C語言從172 年出現(xiàn)到現(xiàn)在,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論