




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
計算機編程2011年2月23日TheProgramming學習本課程的三步曲——自我介紹(之一)工作部門:計算機科學與技術學院姓名:王紅工作地點:南教4——230辦公電話:郵箱:學習本課程的三步曲——認識你們(之二)0101045A和101145ACDIO試點班的86位同學!兩個不同的電子信息工程專業!你們的學習基礎(好、差、一般)?你們的學習作風(好、差、一般)?你們的學習效果(好、差、一般)?課程的教學目標
本課程的特點是理論性和實踐性強:1、通過本課程的學習,掌握結構化程序設計的基本思想和一般方法;2、以C為語言載體,訓練在VC++環境下設計程序、調試程序的能力;3、逐漸掌握復雜軟件的設計和開發手段,為后續專業課程的學習打下扎實的理論和實踐基礎。課程學習要求保持課堂安靜,頭腦清醒,思維活躍。重視上機實踐,有效利用課內外上機時間。認真、獨立、按時完成并提交實驗報告,不斷總結程序設計與調試經驗。充分利用Bb網絡平臺開展學習、交流與互動。做好課前預習和課后復習。教材、參考書與課時安排教材(必備)C語言程序設計,何欽銘、顏暉主編,高等教育出版社,2008C語言程序設計實驗指導,顏暉主編,高等教育出版社,2008參考書(自選)《C程序設計》(第三版)譚浩強編著清華大學出版社《C語言程序設計實習指導與模擬試題》天津大學出版社課時安排授課總學時:54學時課內實驗學時:20學時(包含1個綜合編程訓練)課外實驗學時:20學時(課外自由實驗)第1章
引言本章教學要求什么是程序?程序設計語言包含哪些功能?程序設計語言在語法上包含哪些內容?結構化程序設計有哪些基本的控制結構?C語言有哪些特點?C語言程序的基本框架如何?形成一個可運行的C語言程序需要經過哪些步驟?如何用流程圖描述簡單的算法?本章教學內容與要點C語言程序實例程序與程序設計語言C語言的發展歷史與特點實現問題求解的過程課程小結/*example1.2calculatethesumofaandb*/#include<stdio.h>/*Thisisthemainprogram*/main(){inta,b,sum;a=10;b=24;sum=add(a,b);printf(”sum=%d\n",sum);}/*Thisfunctioncalculatesthesumofxandy*/intadd(intx,inty){intz;z=x+y;return(z);}運行結果:sum=34語句預處理命令注釋C語言程序實例1.2:#include<stdio.h>/*編譯預處理命令*/intmain(void)/*主函數*/{ intn;/*變量定義*/ intfactorial(intn);/*函數聲明*/
scanf("%d",&n);/*輸入一個整數*/ printf(“%d\n”,factorial(n));/*調用函數計算階乘*/return0;}intfactorial(intn) /*定義計算n!的函數*/{ inti,fact=1;
for(i=1;i<=n;i++)/*循環*/ fact=fact*i;returnfact;}輸入4輸出24C語言程序實例1.3:
求階乘問題。輸入一個正整數n,輸出n!。C程序的結構特點分析:函數與主函數程序由一個或多個函數組成必須有且只能有一個主函數main()程序執行從main開始,在main中結束,其它函數通過嵌套調用得以執行。程序語句C程序由語句組成用“
;”作為語句終止符注釋/**/為注釋,不能嵌套不產生編譯代碼例:/*Thisisthemain/*ofexample1.1*/*/非法4.編譯預處理命令程序與指令指令:是計算機能夠執行的一個最基本的操作命令。如實現一次加法運算或實現一次大小的判別。計算機的指令系統:計算機所能實現的指令的集合。程序:一系列計算機指令的有序組合。程序與指令示例1:編寫程序,分別求和與乘積虛擬的計算機指令系統(7條指令)指令1:InputX將當前輸入數據存儲到內存的X單元指令2:OutputX將內存X單元的數據輸出。指令3:AddXYZ將內存X單元的數據與Y單元的數據相加并將結果存儲到Z單元。指令4:SubXYZ將內存X單元的數據與Y單元的數據相減并將結果存儲到Z單元。指令5:BranchEqXYP比較X與Y,若相等則程序跳轉到P處執行,否則繼續執行下一條指令。指令6:JumpP程序跳轉到P處執行。指令7:SetXY將內存Y單元的值設為X。程序與指令示例2:
——輸入輸入3個數A,B和C,求A+B+C的結果InputA;輸入第1個數據到存儲單元A中InputB;輸入第2個數據到存儲單元B中InputC;輸入第3個數據到存儲單元C中AddABD;將A、B相加并將結果存在D中AddCDD;將C、D相加并將結果存在D中OutputD;輸出D的內容程序設計語言語言的基礎是一組記號和一組規則。程序設計語言包含三個方面,即語法、語義和語用。語法表示程序的結構或形式,亦即表示構成程序的各個記號之間的組合規則,但不涉及這些記號的特定含義,也不涉及使用者。語義表示程序的含義,亦即表示按照各種方法所表示的各個記號的特定含義,但也不涉及使用者。語用表示程序與使用的關系。程序設計語言的基本成分有:①數據成分,用于描述程序所涉及的數據;②運算成分,用于描述程序中所包含的運算;③控制成分,用于描述程序中所包含的控制;④傳輸成分,用于表達程序中數據的傳輸。程序設計語言的功能數據表達:表達所要處理的數據流程控制:表達數據處理的流程程序設計語言的發展機器語言匯編語言高級語言面向過程面向對象CPU指令系統,由0、1序列構成的指令碼組成如:10000000加10010000減用助記符號描述的指令系統如ADDA,B面向機器的語言程序設計是數據被加工的過程客觀世界可以分類,對象是類的實例對象是數據和方法的封裝對象間通過發送和接受消息發生聯系程序設計關鍵是定義類,并由類派生對象馮.諾依曼結構:計算機運算器控制器存儲器主機:I/O設備:鍵盤、顯示器等中央處理器CPU產生過程時間:1972~1973地點:美國貝爾實驗室目的:UNIX操作系統設計人:Ken.Thompson和Dennis.M.RitchieC標準標準C:K&R合著《TheCProgrammingLanguage》ANSIC:1983年87ANSIC:1987年1990年國際標準的ANSIC3. C語言是中級語言關于C語言中級語言C語言的主要“單詞”標識符:C語言的標識符規定由字母、數字以及下劃線組成,且第一個字符必須是字母或下劃線。保留字(關鍵字):
它們是C語言規定的、賦予它們以特定含義、有專門用途的標識符。自定義標識符:
包括在程序中定義的變量名、數據類型名、函數名以及符號常量名。有意義的英文單詞。常量:
常量是有數據類型的,如,123、12.34。運算符:代表對各種數據類型實際數據對象的運算。如,+(加)、-(減)、*(乘)、/(除)、%(求余)、>(大于)。C語言的主要語法單位表達式:
運算符與運算對象組合就形成了表達試。如:2+3*4。變量定義:
變量也有數據類型,所以在定義變量時要說明相應變量的類型。如:inti;語句:
語句是程序最基本的執行單位,程序的功能就是通過對一系列語句的執行來實現的。函數定義與調用。程序設計語言的語法
——函數定義與調用函數是完成特定任務的獨立模塊,函數的使用最主要涉及到函數的定義與調用。輸入輸出:C語言沒有輸入輸出語句,用庫函數printf()、scanf()等實現。C語言特點語言簡潔、緊湊、靈活運算符和數據類型豐富(數據類型檢查不嚴格,表達式出現二義性,不具備數據越界自動檢查功能,運算符的優先級與結合性對初學者難于掌握)程序設計結構化、模塊化生成目標代碼質量高可移植性好C語言中大小寫字母代表不同含義32個關鍵字:(由系統定義,不能重作其它定義)autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunsignedunionvoidvolatilewhile9種控制語句:if()~else~for()~while()~do~while()continuebreakswitchgotoreturn<34種運算符:算術運算符:+-*/%++--關系運算符:<<===>>=!=邏輯運算符:!&&||位運算符:<<>>~|^&賦值運算符:=及其擴展條件運算符:?:逗號運算符:,指針運算符:*&求字節數:sizeof強制類型轉換:(類型)分量運算符:.->下標運算符:[]其它:()-C數據類型基本類型構造類型指針類型空類型void定義類型typedef數值類型字符類型char枚舉類型enum整型浮點型單精度型float雙精度型double短整型short長整型long整型int數組結構體struct共用體union<程序設計研究的內容面向過程的程序=算法+數據結構算法:對操作的描述。是指解題方案的準確而完整的描述。數據結構:對數據的描述。是指數據的邏輯結構、物理結構及其上的相關運算。+程序設計語言數據的結構數據表達:一般將數據抽象為若干類型數據類型:對某些具有共同特點的數據集合的總稱代表的數據(數據類型的定義域)在這些數據上做些什么(即操作或稱運算)常量(常數)與變量例如:整數類型包含的數據:{...,-2,-1,0,1,2,..}作用在整數上的運算:+、-、*、/等將復雜程序劃分為若干個相互獨立的模塊。模塊:一條語句(Statement)、一段程序或一個函數(子程序)等。單入口、單出口。結構化程序設計方法任何程序都可以將模塊通過3種基本的控制結構進行組合來實現。順序結構循環結構分支結構流程控制語句級控制:3種基本的控制結構順序控制結構:自然順序執行分支控制結構(選擇結構):根據不同的條件來選擇所要執行的模塊循環控制結構:重復執行某個模塊單位級控制:函數的定義與調用處理復雜問題時,將程序分為若干個相對獨立的子程序(函數)流程控制實現問題求解的過程問題1:求1~100間所有偶數的和。1.問題分析與算法設計求在一定范圍內(1~100)、滿足一定條件(偶數)的若干整數的和,求累加和。思路:設置一個變量(sum),其初值為0,然后在1~100的數中(i)尋找偶數,將它們一個一個累加到sum中。一步累加:sum=sum+i;重復累加,用循環語句實現,在循環過程中:(1)判別i是不是偶數:用分支控制語句來實現。(2)對循環次數進行控制:通過i值的變化問題分析與算法設計思路——》確定算法算法:一組明確的解決問題的步驟,它產生結果并可在有限的時間內終止。算法的描述:自然語言偽代碼流程圖:算法的圖形表示法sum=0i=1i<=100i是偶數?sum=sum+ii=i+1輸出sum真真假假實現問題求解的過程2.編輯程序生成程序的源文件,C語言源文件的后綴為.c/.cpp#include<stdio.h>intmain(void){ inti,sum=0;
for(i=1;i<=100;i++)if(i%2==0)sum=sum+i;printf("%d",sum);return0;}實現問題求解的過程3.程序編譯連接編輯程序后,用該語言的編譯程序對其進行編譯,以生成二進制代碼表示的目標程序(.obj),與編程環境提供的庫函數進行連接(Link)形成可執行的程序(.exe)。編譯程序指出語法錯誤語法錯誤VS邏輯錯誤實現問題求解的過程4.運行與調試經過編輯、編譯、連接,生成執行文件后,就可以在編程環境或操作系統環境中運行該程序。如果程序運行所產生的結果不是你想要的結果,這是程序的語義錯誤(邏輯錯誤)。調試:在程序中查找錯誤并修改錯誤的過程。調試的方法設置斷點單步跟蹤調試是一個需要耐心和經驗的工作,也是程序設計最基本的技能之一。開始結果語法錯誤源程序.c/.cpp目標程序.obj可執行程序.exe編輯編譯連接運行連接錯誤運行錯誤C語言程序的調試、運行步驟源程序目標語言可執行語言內容程序設計語言機器語言機器語言可執行不可以不可以可以文件后綴*.C*.OBJ*.EXE常用術語源程序:用戶可讀的程序文本,即程序本身。目標代碼:由源程序翻譯而成的機器碼,計算機能讀并能直接運行。連接程序:將各自分別編譯后的程序連接為一個可運行程序的程序。(它將C語言的標準庫函數與用戶所編的程序聯合在一起)庫:包含標準函數的文件,這些函數可用在用戶的程序中。(包括所有的輸入輸出函數及其它有用的例行函數)編譯狀態:在程序編譯過程中所出現的事件。運行狀態:在程序運行過程中所發生的事件。VisualC++6.0集成開發環境的啟動進入VC++集成環境有三種辦法:(1)雙擊桌面VC圖標(2)從開始菜單進入“程序”(3)從開始菜單進入“運行”(msdev)用鼠標雙擊“桌面”上的VC圖標,進入環境File菜單:文件操作等Edit菜單:編輯查找View菜單:窗口設置等Insert菜單:資源加入等Project菜單:工程管理等Build菜單:編譯鏈接調試Tools菜單:調試工具、系統配置等圖1.4Window菜單:窗口管理Help菜單:幫助信息在VC++6.0中開發一個C應用程序的大致步驟是:①創建一個項目工作區(Workspace);②在項目工作區中創建一個項目(Project)。上述兩步可以合并,即在創建項目的同時創建工作區;③在項目中建立和編輯源文件、頭文件等程序文件(或將這些文件添加到項目中);④對應用程序進行編譯和連接;⑤執行應用程序。
理解并掌握程序設計的概念和一般方法。熟悉C語言程序的基本結構與書寫要領,初步認識C語言的主要應用范圍。思考C語言為什么被稱為“中級語言”。掌握C程序運行過程的上機步驟及注意事項。本章小結 課后練習要求:1、在復習課堂教學內容的基礎上,認真閱讀《實習指導書》中1~11頁的內容。2、利用課內外上機時間,完成實驗一中編程題1、編程題2和改錯題要求上機實驗,并將實驗內容以《實驗報告》的形式統一上交。《實驗報告》的撰寫要領1、實驗內容:題目、目的、程序設計思路、程序代碼、結論與分析。2、關于實驗結果與結論:應該給出實驗過程中程序運行的具體狀態(輸入、輸出的數據與格式要求),并對實驗結論進行簡要的分析。3、關于實驗過程的分析:希望大家針對自己的實驗情況進行細致、深入的分析,從中總結有益的程序調試經驗,不斷加深對程序設計思想的理解,從而改進學習方法。4、教學建議:如果對教學過程中方法、手段有什么意見,希望實事求是的給出。如何盡快學會用C語言進行程序設計了解程序設計語言(C語言)模仿、改寫、編寫通過不斷的編程實踐,逐步領會和掌握程序設計的基本思想和方法。學好計算機編程的唯一途徑是:你的編程能力與你在計算機上投入的時間成正比!上機練習!學習方法指導1、認真聽講,積極思考,提高上課效率。2、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中學文綜試題及答案
- 中醫診斷學試題及答案
- 金融行業財務記賬代理合同
- 成都事業單位員工勞動合同續簽與變更合同
- 廁所工程節水減排設計與施工合同
- 成都租賃合同(含租客入住前檢查)
- 彩票銷售渠道拓展與區域市場合作協議書
- 長沙市二手房買賣合同(20篇)
- 上海市企業信息化實施現狀分析報告
- 計算機嵌入式硬件評測試題及答案
- 2025年河北省中考乾坤押題卷物理試卷B及答案
- 羽毛球培訓項目實施方案
- 外觀件批準報告AAR
- 幼兒園中班創意美術《甜甜圈》課件
- Starlink低軌衛星通信星座深度分析
- 江蘇省無錫市2023年中考物理試題(含答案)
- 2023年廣東初中學業水平考試生物試卷真題(含答案)
- GB/T 7759.2-2014硫化橡膠或熱塑性橡膠壓縮永久變形的測定第2部分:在低溫條件下
- 2023年中原農業保險股份有限公司招聘筆試題庫及答案解析
- GB/T 24782-2009持久性、生物累積性和毒性物質及高持久性和高生物累積性物質的判定方法
- 微創冠狀動脈搭橋手術方法及圍術期處理原則微創冠脈搭橋進展課件
評論
0/150
提交評論