




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
程序設(shè)計(jì)概述程序和程序設(shè)計(jì)1.算法2.程序設(shè)計(jì)過程3.C語(yǔ)言簡(jiǎn)介4.程序設(shè)計(jì)方法5.1.1.1程序程序——通常指完成某項(xiàng)事務(wù)的執(zhí)行過程,是一系列有序的工作步驟,它有方式、步驟等含義。步驟的順序一般不能顛倒。計(jì)算機(jī)程序——指為實(shí)現(xiàn)特定目標(biāo)或解決特定問題而用計(jì)算機(jī)語(yǔ)言編寫的命令序列的集合。程序設(shè)計(jì)
——人們?yōu)榱送瓿赡稠?xiàng)具體的任務(wù)而編寫一系列指令,并將這一系列指令交給計(jì)算機(jī)去執(zhí)行。程序=數(shù)據(jù)結(jié)構(gòu)+算法+語(yǔ)言工具和環(huán)境
1.1.2程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì)語(yǔ)言是用計(jì)算機(jī)能夠理解的語(yǔ)言來(lái)表達(dá)所設(shè)計(jì)程序的含義,是人與計(jì)算機(jī)之間進(jìn)行交流和通信的工具。
機(jī)器語(yǔ)言:以二進(jìn)制代碼的形式來(lái)表示基本的指令集合,每條指令均為0和1組成的二進(jìn)制代碼串。
匯編語(yǔ)言:用指令英文名稱的縮寫作為助記符代替機(jī)器的操作指令,用標(biāo)號(hào)和符號(hào)來(lái)表示地址、常量和變量。
高級(jí)語(yǔ)言:采用類似人類自然語(yǔ)言中的自然詞匯,使得程序更容易閱讀和理解。1.2.1算法的概念
算法是解決一個(gè)具體問題而采取的方法和有限的步驟。計(jì)算機(jī)算法即計(jì)算機(jī)能執(zhí)行的算法。
數(shù)值運(yùn)算算法:解決求數(shù)值的問題。例如,判斷閏年,求最大公約數(shù),求階乘,求數(shù)列之和等。
非數(shù)值運(yùn)算算法:解決需要用分析推理、邏輯推理才能解決的問題。例如,博弈,查找和分類等。1.2.1算法的概念一個(gè)有效的算法應(yīng)該具有以下特點(diǎn):有窮性:一個(gè)算法應(yīng)包含有限的操作步驟而不能是無(wú)限的。
確定性:算法中每一個(gè)步驟應(yīng)當(dāng)是確定的,而不能是含糊的、模棱兩可的。有零個(gè)或多個(gè)輸入。有一個(gè)或多個(gè)輸出。有效性:算法中每一個(gè)步驟應(yīng)當(dāng)能有效地執(zhí)行,并得到確定的結(jié)果。1.2.2算法的描述
算法的描述可使用自然語(yǔ)言方式、類似于高級(jí)程序設(shè)計(jì)語(yǔ)言的偽代碼、程序流程圖、N/S盒圖、PAD圖等方式。流程圖偽碼程序設(shè)計(jì)語(yǔ)言起止框處理框判斷框輸入/輸出框流程線起止框處理框判斷框輸入/輸出框流程線1.3.1解決問題的基本步驟一般來(lái)說,用計(jì)算機(jī)解決問題的過程可分為三步:第一步,是分析問題,設(shè)計(jì)一種解決方案;第二步,是通過程序語(yǔ)言嚴(yán)格描述這個(gè)解決方案;第三步,在計(jì)算機(jī)上調(diào)試這個(gè)程序,運(yùn)行程序,看是否真能解決問題。如果在第三步發(fā)現(xiàn)錯(cuò)誤,那么就需要仔細(xì)分析錯(cuò)誤原因,弄清后退到前面步驟去糾正錯(cuò)誤。1.3.2C語(yǔ)言程序的設(shè)計(jì)過程進(jìn)行C語(yǔ)言程序設(shè)計(jì)的過程可以分解為:分析問題,確定程序目標(biāo)設(shè)計(jì)程序編輯程序源文件.c編譯目標(biāo)文件.obj連接可執(zhí)行文件.exe運(yùn)行和調(diào)試維護(hù)和修改1.4C語(yǔ)言簡(jiǎn)介C語(yǔ)言是國(guó)際上廣泛流行的計(jì)算機(jī)高級(jí)語(yǔ)言。C語(yǔ)言的發(fā)展:BCPL語(yǔ)言B語(yǔ)言C語(yǔ)言精練、接近硬件,但過于簡(jiǎn)單,無(wú)數(shù)據(jù)類型具有多種數(shù)據(jù)類型1.4C語(yǔ)言簡(jiǎn)介20世紀(jì)60年代,貝爾實(shí)驗(yàn)室,KenThompson開始開發(fā)一個(gè)叫做UNIX的操作系統(tǒng)70年代,將BCPL語(yǔ)言改造成更適合開發(fā)UNIX的B語(yǔ)言1971年,DennisM.Ritchie開始和Thompson合作開發(fā)UNIX,將B語(yǔ)言改造成C語(yǔ)言C語(yǔ)言的設(shè)計(jì)者DennisM.RitchieRitchie漫畫像C語(yǔ)言的設(shè)計(jì)者DennisM.Ritchie和Unix的設(shè)計(jì)者KenThompson
接受美國(guó)國(guó)家技術(shù)勛章C語(yǔ)言的發(fā)展最初的C語(yǔ)言只是為描述和實(shí)現(xiàn)UNIX操作系統(tǒng)提供一種工作語(yǔ)言而設(shè)計(jì)的。1983年,美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)(ANSI)成立了一個(gè)委員會(huì),根據(jù)C語(yǔ)言問世以來(lái)各種版本對(duì)C語(yǔ)言的發(fā)展和擴(kuò)充,制定了第一個(gè)C語(yǔ)言標(biāo)準(zhǔn)草案(’83ANSIC)。1989年,ANSI公布了一個(gè)完整的C語(yǔ)言標(biāo)準(zhǔn)—ANSIX3.159-1989(常稱ANSIC,或C89)。1990年,國(guó)際標(biāo)準(zhǔn)化組織ISO(InternationalStandardOrganization)接受C89作為國(guó)際標(biāo)準(zhǔn)ISO/IEC9899:1990,它和ANSI的C89基本上是相同的。C語(yǔ)言的發(fā)展1995年,ISO對(duì)C90作了一些修訂,1999年,ISO又對(duì)C語(yǔ)言標(biāo)準(zhǔn)進(jìn)行修訂,在基本保留原來(lái)的C語(yǔ)言特征的基礎(chǔ)上,針對(duì)應(yīng)用的需要,增加了一些功能,尤其是C++中的一些功能,命名為ISO/IEC9899:19992001、2004年先后進(jìn)行了兩次技術(shù)修正(TC1和TC2)。
ISO/IEC9899:1999(及其技術(shù)修正)被稱為C99。C99是C89(及1995基準(zhǔn)增補(bǔ)1)的擴(kuò)充。1.4C語(yǔ)言簡(jiǎn)介C語(yǔ)言是應(yīng)用最廣泛的語(yǔ)言之一。它具有以下特點(diǎn):簡(jiǎn)潔緊湊、方便靈活運(yùn)算符豐富數(shù)據(jù)類型豐富C語(yǔ)言是結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言語(yǔ)法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大可直接對(duì)硬件進(jìn)行操作生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高可移植性好1.4.1C語(yǔ)言的字符集
字符是組成語(yǔ)言的最基本的元素。C語(yǔ)言字符集是書寫程序時(shí)允許出現(xiàn)的所有字符的集合,由字母、數(shù)字、空白符和特殊符號(hào)組成。字母:小寫字母a~z,大寫字母A~Z。數(shù)字:0~9共10個(gè)。空白符:空格符、制表符、換行符等。特殊符號(hào):運(yùn)算符、標(biāo)點(diǎn)、括號(hào)和一些特殊字符。1.4.1C語(yǔ)言的詞法符號(hào)在C語(yǔ)言中使用的詞匯分為:標(biāo)識(shí)符,關(guān)鍵字,運(yùn)算符,分隔符,常量,注釋符等。(1)標(biāo)識(shí)符標(biāo)識(shí)符是用來(lái)標(biāo)識(shí)程序中的變量、常量、數(shù)據(jù)類型、數(shù)組、函數(shù)等的名稱,是合法的字符序列。C語(yǔ)言中的標(biāo)識(shí)符必須滿足以下語(yǔ)法規(guī)則:只能由字母、數(shù)字和下劃線組成。第一個(gè)字符必須是字母或下劃線。區(qū)分大小寫字母。不能與語(yǔ)言的關(guān)鍵字相同,也不能和系統(tǒng)標(biāo)準(zhǔn)庫(kù)函數(shù)同名。1.4.1C語(yǔ)言的詞法符號(hào)(3)運(yùn)算符與變量,函數(shù)一起組成表達(dá)式,實(shí)現(xiàn)各種運(yùn)算功能。(4)分隔符逗號(hào):主要用在類型說明和函數(shù)參數(shù)表中,分隔各個(gè)變量??崭瘢憾嘤糜谡Z(yǔ)句中各單詞之間,作間隔符。(5)常量C語(yǔ)言中直接使用符號(hào)標(biāo)記的數(shù)據(jù),它本身就是數(shù)據(jù)。如128、’A’、”hello”。(6)注釋符對(duì)程序代碼的說明,有如下兩種:
/*注釋內(nèi)容
*///注釋內(nèi)容1.4.2C語(yǔ)言程序的基本結(jié)構(gòu)【例1.4】一個(gè)簡(jiǎn)單的C語(yǔ)言程序示例。
#include<stdio.h> /*以#號(hào)開頭預(yù)處理*/voidmain() /*主函數(shù)*/{printf(“Welcometoyou!\n”); }1.4.2C語(yǔ)言程序的基本結(jié)構(gòu)C語(yǔ)言程序的結(jié)構(gòu)具有以下特點(diǎn):一個(gè)C語(yǔ)言程序可以由一個(gè)或多個(gè)文件組成。程序中可以有預(yù)處理命令(如include命令),預(yù)處理命令通常放在程序的最前面。C語(yǔ)言程序是由一個(gè)或多個(gè)獨(dú)立的函數(shù)構(gòu)成的,函數(shù)是構(gòu)成C語(yǔ)言程序的基本單位。一個(gè)C語(yǔ)言程序必須包含一個(gè)主函數(shù)main(),也只能有一個(gè)主函數(shù)。程序從main()函數(shù)開始執(zhí)行,也在main()結(jié)束。函數(shù)包含兩部分,一個(gè)是函數(shù)的首部;另一個(gè)是函數(shù)體。函數(shù)的首部包括函數(shù)名、函數(shù)類型和用圓括號(hào)“()”括起來(lái)形參說明;函數(shù)體是用花括號(hào)“{}”括起來(lái)的函數(shù)執(zhí)行部分。函數(shù)體中是各種語(yǔ)句,語(yǔ)句是程序的基本執(zhí)行單位。每一個(gè)語(yǔ)句都以分號(hào)“;”作為結(jié)束。但預(yù)處理命令,函數(shù)頭和花括號(hào)“}”后不能加分號(hào)。1.4.3C語(yǔ)言程序的書寫規(guī)則為了便于閱讀和維護(hù)程序,更好的體現(xiàn)程序的層次結(jié)構(gòu),書寫所采用的通用規(guī)則是:程序一般用小寫字母書寫。一行一般寫一條語(yǔ)句。在程序里適當(dāng)加入空行,分隔程序的不同部分。同層次不同部分對(duì)齊排列,下一層次的內(nèi)容通過適當(dāng)退格(在一行開始加空格),使程序結(jié)構(gòu)更清晰。在程序里增加一些說明性信息即添加注釋。1.5程序設(shè)計(jì)方法(1)結(jié)構(gòu)化程序設(shè)計(jì)
面向過程
基于模塊化、自頂向下、逐步細(xì)化和結(jié)構(gòu)化編碼主要使用順序、選擇和循環(huán)三種基本的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)村瓦房售賣合同范例
- 藥卷錨桿施工方案
- 產(chǎn)品訂購(gòu)運(yùn)輸合同范例
- 做生意合租合同范例
- 農(nóng)場(chǎng)店面轉(zhuǎn)讓合同范例
- 個(gè)人普通住宅出售合同范例
- 云臺(tái)山旅游合同范例
- 充氣泳池采購(gòu)合同范例
- 個(gè)人廣告合同范例
- 2011年比亞迪l3使用手冊(cè)
- 最新固體制空調(diào)凈化系統(tǒng)設(shè)計(jì)確認(rèn)方案
- 《汽車?yán)碚摗窂?fù)習(xí)提綱
- 利用勾股定理作圖計(jì)算(課堂PPT)
- 金合極思軟件快捷鍵
- 對(duì)大型火力發(fā)電廠生產(chǎn)準(zhǔn)備工作的幾點(diǎn)認(rèn)識(shí)
- 園林綠化監(jiān)理月報(bào)001
- 淺議如何當(dāng)好稅務(wù)分局長(zhǎng)
- 交通建設(shè)工程工程量清單計(jì)價(jià)規(guī)范(第1部分公路工程)-解析
- 山西曲沃(或經(jīng)洪洞縣大槐樹)遷徙蘇北魯南曹氏宗系分支
- 干部管理訪談提綱
評(píng)論
0/150
提交評(píng)論