程序設計基本概念_第1頁
程序設計基本概念_第2頁
程序設計基本概念_第3頁
程序設計基本概念_第4頁
程序設計基本概念_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第1章程序設計基本概念C

語言程序設計1本章主要內容程序和程序設計算法結構化程序設計和模塊化結構21.1.1

C程序幾個概念程序

高級語言機器語言3例如:00100011111011010110000101110110機器語言程序MOVAX,

300HADDBX,AXMOV[2100H],BX

HLT匯編語言源程序main(){inta,b,c;a=300;b=18;c=a+b;

printf(“a+b=%d\n”,c);}高級語言源程序(C)源程序需要翻譯4C語言的編譯:編譯方法圖1.2編譯過程(.C或.cpp)編譯程序連接程序編譯連接C源程序機器語言目標程序可執(zhí)行程序(.OBJ)(.EXE)運行運行結果52.程序設計用計算機解決一個實際應用問題時的整個處理過程稱為程序設計

提出問題確定數(shù)據(jù)結構確定算法編寫程序調試和運行程序輸入程序翻譯(編譯或解釋)得到運行結果61.1.2算法什么是算法為解決某一應用問題而采用的解題步驟算法的描述方式

用自然語言描述算法

用流程圖描述算法

用N-S結構圖描述算法

例如:輸出兩個數(shù)中的最大數(shù)7用自然語言描述算法第一步:輸入x和y的值第二步:比較x和y的值,如果x大于y,則輸出x的值,否則輸出y的值。

易于理解,但冗長,不夠精確,難于描述復雜算法。例如當描述“輸出10個數(shù)中最大數(shù)”的算法時,會冗長、難于理解8圖1.5用流程圖描述算法用流程圖描述算法NYz=yz=xx>y?開始輸入x和y結束輸出z起止框輸入/輸出框判斷框處理框流程線9用N-S結構圖描述算法輸入x、y的值x>yTFz=xz=y輸出z的值圖1.7用N-S結構圖描述的算法已經(jīng)證明,任何復雜的問題都可以三種基本算法結構來描述:順序、選擇、循環(huán)。因此用計算機語句描述的程序也包含三種基本結構。

101.1.3結構化程序設計程序的三種基本結構順序結構程序:按照書寫順序依次執(zhí)行語句選擇結構程序:按照條件判斷選擇執(zhí)行語句循環(huán)結構程序:通過條件控制循環(huán)執(zhí)行語句三種基本結構的共同點:都是只有一個入口和一個出口;結構內的每一個框都有機會被執(zhí)行;結構內沒有死循環(huán)。11結構化程序設計的基本原則:如果一個程序僅包含這三種基本結構(由這些基本結構順序組成),則稱為結構化程序。結構化程序設計的基本原則:采用自頂向下、逐步細化的方法進行設計;采用模塊化原則和方法進行設計。即將大型任務從上向下劃分為多個功能模塊,每個模塊又可以劃分為若干子模塊,然后分別進行模塊程序的編寫;每個模塊都是用結構化程序實現(xiàn),即都只能由三種基本結構組成,并通過計算機語言的結構化語句實現(xiàn)。121.2C語言概述主要內容:C語言的發(fā)展C語言的特點C程序的基本結構C程序的執(zhí)行過程131.2.1C語言的發(fā)展發(fā)展過程

B語言:Bell實驗室,1970年在PDP機器上用其編寫UNIX系統(tǒng)CPL語言:劍橋大學,1963年BCPL語言:劍橋大學,1967年C語言:Bell實驗室,1972~1973年用其改寫UNIX系統(tǒng)經(jīng)簡化進一步簡化保持精練、接近硬件的優(yōu)點,克服數(shù)據(jù)類型過少的不足141.2.2C語言的特點語言簡潔,表達能力強,易于理解只有32個關鍵字,9種控制語句數(shù)據(jù)構造能力強運算符豐富程序書寫格式自由可直接訪問物理地址,實現(xiàn)對硬件和低層系統(tǒng)軟件的訪問語言生成的代碼質量高可移植性好增加學習難度151.2.3C程序的基本結構【例1.1】計算并輸出一個數(shù)a的平方。

main(){

floata,b;a=5.2;b=a*a;

printf("b=%f\n",b);

}

main

為函數(shù)名程序從這里開始運行函數(shù)體開始函數(shù)體結束函數(shù)體內定義a,b為a賦值計算并輸出平方值b執(zhí)行程序的輸出結果為:b=27.039997

161.2.3C程序的基本結構【例1.2】輸入兩個數(shù),輸出其中的大數(shù)。int

max(intx,inty)

/*max函數(shù)*/{

intz;if(x>y)z=x;elsez=y;return(z);}main()

/*主函數(shù)*/{inta,b,c;

scanf("%d,%d",&a,&b);c=max(a,b);/*調用max函數(shù),求a和b中大數(shù)*/

printf("max=%d\n",c);}17C程序結構C程序由函數(shù)構成必須有,且只能有一個main(主函數(shù))總是從main函數(shù)開始執(zhí)行函數(shù)由函數(shù)首部和函數(shù)體組成函數(shù)首部指定函數(shù)名、函數(shù)參數(shù)、類型函數(shù)體從{開始,到}結束函數(shù)內有語句18C程序結構(續(xù))語句包括說明性語句、可執(zhí)行語句以;表示語句結束注釋可以出現(xiàn)在程序的任何位置

用/*和*/括起來,必須成對出現(xiàn)書寫格式C語言沒有行的概念,書寫格式自由。習慣小寫字母,縮進格式。191.2.4C程序的執(zhí)行過程

1.源程序文件的建立和編輯

編寫源程序,形成.C文件需用編輯工具:tc.exe、記事本2.編譯

編譯源程序,形成目標程序.Obj文件需用編譯工具:tcc.exe3.連接

連接OBJ文件和調用的庫函數(shù),形成運行程序

.exe

文件需用連接工具:tlink.exe4.運行

.exe

文件運行jc1_2TurboC提供集成化開發(fā)環(huán)境201.3C程序的符號系統(tǒng)主要內容:基本字符標識符211.3.1基本字符大寫英文字母:ABC……XYZ

小寫英文字母:abc……xyz

數(shù)字:012……9

空白符:空格符、換行符、制表符

特殊字符:+-*/<>()[]{}_=!#%.,;:‘“|&?$^\~

221.3.2標識符

由字母、下劃線和數(shù)字組成的字符序列用于程序中的變量、符號常量、數(shù)組、函數(shù)、數(shù)據(jù)類型等操作對象的名字1.系統(tǒng)定義標識符具有固定名字和特定含義的標識符分為關鍵字和預定義標識符

2.用戶定義標識符

用于對用戶使用的變量、數(shù)組、函數(shù)等操作對象進行命名23關鍵字

數(shù)據(jù)類型:

int、char、float、double、short、long、void、signed、unsigned、enum、struct、union、const、typedef、volatile

存儲類別:auto、static、register、extern語句命令字:break、case、continue、default、do、else、for、goto、if、return、switch、while

運算符:sizeof

24預定義標識符系統(tǒng)標準庫函數(shù)scanf、printf、putchar、getchar、strcpy、strcmp、sqrt等編譯預備處理命令include、define等25對標識符的規(guī)定

用戶定義標識符必須以字母或下劃線“_”開頭不能含有除字母、數(shù)字和下劃線“_”外的其他字符標識符中大小寫字母含義不同關鍵字必須用小寫字母。不允許使用關鍵字為變量、數(shù)組、函數(shù)等操作對象命名預定義標識符允許用戶對它們重新定義,當重新定義后將改變它們原來的含義26正確區(qū)分標識符正確區(qū)分哪些是合法標識符,哪些是不合法標識符。其中合法標識符中哪些是關鍵字,哪些是預定義標識符,哪些是用戶定義標識符。Abc

溫馨提示

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

評論

0/150

提交評論