第1講課程簡介和編程基礎_548005525_第1頁
第1講課程簡介和編程基礎_548005525_第2頁
第1講課程簡介和編程基礎_548005525_第3頁
第1講課程簡介和編程基礎_548005525_第4頁
第1講課程簡介和編程基礎_548005525_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1 程序設計(1)電子工程系信息認知與智能系統(tǒng)研究所黃永峰Tel.62792710Email:辦公地點:電子系館5-1082 程序設計(1)知識體系pNikiklaus wirth著名公式:著名公式:程序程序算法數據結構算法數據結構p編程編程 算法算法 數據類型數據類型 + 工具工具 =+源源程程序序.cpp.h執(zhí)執(zhí)行行程程序序.exe程程序序結結構構解解題題思思路路常常見見算算法法變變量量類類型型參參數數類類型型返返回回類類型型項項目目建建立立文文件件包包含含編編譯譯調調試試3 教學目標教學目標l通過本課程學習,掌握通過本課程學習,掌握C+C+面向過程程序設計面向過程程序設計的的基本知識和基

2、本知識和方法方法,具有,具有基本編程和調試基本編程和調試能力能力l養(yǎng)成良好的編程養(yǎng)成良好的編程素養(yǎng)素養(yǎng)強調可讀性:注釋,對齊強調可讀性:注釋,對齊程序構思要有說明程序構思要有說明學會調試程序學會調試程序盡可能優(yōu)化盡可能優(yōu)化對運行結果要做正確性分析對運行結果要做正確性分析l重在方法學習,鼓勵重在方法學習,鼓勵創(chuàng)新創(chuàng)新4 學習方法學習方法-道道”和和“術術”的關系的關系l毛澤東思想毛澤東思想= =馬列主義普遍真理馬列主義普遍真理+ +中國革命實踐中國革命實踐l該課程如何學習?該課程如何學習?實踐出真知實踐出真知= =老師講道老師講道+ +同學練術同學練術l如何實踐如何實踐: :自學做題自學做題+

3、+上機應用上機應用+ +上網交流上網交流l實踐挑戰(zhàn):自立自立+ +自信自信+ +自強自強 自立:自己戰(zhàn)勝困難 自信:風雨之后見彩虹,要有信心 自強:耐心和細心l評價標準:學好程序的標準不是“懂不懂”,而是“能不能寫程序能不能寫程序”5 考核方式考核方式l考核以實踐能力為主平時實驗作業(yè)(12次)30%+期中機考10%+期末機考20%+期末筆試40%+網絡討論3%(微調)作業(yè)提交形式作業(yè)提交形式: :紙版或電子版(紙版或電子版(EmailEmail或或網絡學堂網絡學堂提交)提交)l注意注意作業(yè)提交時間和截止時間作業(yè)提交時間和截止時間網絡學堂一定留電話等聯(lián)系信息網絡學堂一定留電話等聯(lián)系信息l網絡討論

4、:網絡討論:EmailEmail或或網絡學堂網絡學堂6 網上討論方式7 l譚浩強,譚浩強,C+C+程序設計程序設計,l配套的習題解答和上機配套的習題解答和上機指導指導8 9 l答疑時間答疑時間雙周雙周4 4下午下午2 2:30-530-5:3030在電子系館在電子系館5-108 5-108 。建議事先。建議事先聯(lián)系聯(lián)系1352086520513520865205、6279271062792710歡迎歡迎emailemail交流交流:l實驗時間實驗時間: :時間按二級選課時間按二級選課地點地點: :主樓主樓9 9樓東邊的微機實驗室樓東邊的微機實驗室建議所有作業(yè)都在電腦上完成建議所有作業(yè)都在電腦上

5、完成注意注意: :有些作業(yè)需要按實驗報告格式編寫,有些只需有些作業(yè)需要按實驗報告格式編寫,有些只需要程序代碼和測試結果。具體要求見每次作業(yè)通知要程序代碼和測試結果。具體要求見每次作業(yè)通知l助教聯(lián)系方式(見網絡學堂公告)助教聯(lián)系方式(見網絡學堂公告) 實驗和答疑安排10 課程改革和成果課程改革和成果11 本講內容(參考教材第1章)1.1 1.1 計算機基礎計算機基礎1.2 1.2 程序設計基礎程序設計基礎1.3 C+1.3 C+程序基本結構和上機方法程序基本結構和上機方法12 1.1 1.1 計算機基礎計算機基礎世界上第1臺數字電子計算機ENIAC馮.諾伊曼圖靈13 14 1.1 1.1 計算機

6、基礎計算機基礎15 問題:x=10,y=x+3,y=?a=10a=10;制定算法輸入計算執(zhí)行指令保存程序輸出暫存數據編譯編譯程序設計的核心思想和基本能力程序設計的核心思想和基本能力程序概念和核心思想p 程序是若干指令的有序集合(若干指令的有序集合(程序結構程序結構)p 程序是按順序存儲在內存中(程序是按順序存儲在內存中(存儲類型存儲類型)p CPUCPU按程序結構來執(zhí)行指令(按程序結構來執(zhí)行指令(算法過程算法過程)p 程序都有輸入和輸出操作(程序都有輸入和輸出操作(數據數據I/OI/O)編程過程和基本能力p 制定算法:問題分析能力。數據與算法、相關專業(yè)課程p 編輯代碼:編程素養(yǎng)。C,C+,JA

7、VAp 編譯鏈接:調試能力。編譯系統(tǒng),工具軟件p 執(zhí)行調試:測試能力。數據集,軟件工程16 1.2 程序設計基礎程序設計基礎p計算機科學家計算機科學家Nikiklaus wirth提出著名公式提出著名公式: 編程算法數據結構編程算法數據結構+程序設計語言及開程序設計語言及開發(fā)工具發(fā)工具 類比:做菜類比:做菜=菜譜菜譜+原料原料+廚具廚具p語言及開發(fā)工具語言及開發(fā)工具:掌握:掌握C+主要知識點主要知識點:語法語法, 詞法詞法,函數等。掌握,函數等。掌握C+程序開發(fā)工具(程序開發(fā)工具(VS2008)使用)使用p數據結構數據結構:學會用:學會用C+來表示不同的數據類型來表示不同的數據類型p算法算法:

8、在:在 C+環(huán)境下,學會如何針對問題進行環(huán)境下,學會如何針對問題進行分析分析,得出,得出數學模型數學模型或者或者理出算法理出算法17 1.2 程序設計基礎程序設計基礎 -計算機編程語言機器語言機器語言:機器指令的二進制編碼表達形式。機:機器指令的二進制編碼表達形式。機器語言與特定的計算機有關,只能被特定器語言與特定的計算機有關,只能被特定CPUCPU直接直接識別,例如:識別,例如:111101 11110111 1011111101 11110111 1011匯編語言:匯編語言:用助記符表達機器指令,把寄存器用助記符表達機器指令,把寄存器AXAX和和3 3相加,結果放在寄存器相加,結果放在寄存

9、器AXAX中中. . 也與特定的計算也與特定的計算機有關,但比較容易理解。機有關,但比較容易理解。add AX 3add AX 3高級語言:高級語言:在程序設計中,一般使用人易于理解在程序設計中,一般使用人易于理解的類自然語言,這些語言稱為,如的類自然語言,這些語言稱為,如 C C、C+C+等等 a=b+3;a=b+3;18 1940s 1950s 1960s 1970s 1980s 1990s機器語言機器語言匯編語言匯編語言高級語言高級語言自然語言自然語言混合語言混合語言直接面對寄存直接面對寄存器、運算器和器、運算器和內存空間內存空間有編譯器、翻譯器的支有編譯器、翻譯器的支持,更容易編寫持,

10、更容易編寫C/C+、LISP、BASIC、Fortran、PASCAL、COBAL、Java有虛擬平臺、腳本翻譯器有虛擬平臺、腳本翻譯器的支持,語法更加自由,的支持,語法更加自由,各種腳本語言各種腳本語言PythonPython、PHPPHP、JavaScriptJavaScript、VBScriptVBScript多種語言混合編程多種語言混合編程微軟微軟.NET.NETCLR: Common Language CLR: Common Language RuntimeRuntime要學習計算機語言,有必要先了解一下這些語要學習計算機語言,有必要先了解一下這些語言背后提供支持的硬件和軟件環(huán)境言背

11、后提供支持的硬件和軟件環(huán)境19 1.2 程序設計基礎程序設計基礎-算法算法算法:為解決一個問題而采取的方法和算法:為解決一個問題而采取的方法和操作步驟操作步驟計算機算法可分為兩大類:計算機算法可分為兩大類: 數值運算算法數值運算算法 非數值運算算法非數值運算算法數值運算算法:有現成的數學模型,如:求解方數值運算算法:有現成的數學模型,如:求解方程的根,求一個函數的定積分等等;程的根,求一個函數的定積分等等;非數值運算算法:沒有固定的模式,如:人事管非數值運算算法:沒有固定的模式,如:人事管理,學生成績管理,香辣蝦制作等理,學生成績管理,香辣蝦制作等20 1.2 程序設計基礎程序設計基礎-算法算

12、法數值運算算法舉例數值運算算法舉例 例:求解兩個正整數例:求解兩個正整數p p和和q q的最大公約數的最大公約數g g的歐幾里德算法的歐幾里德算法 步驟步驟1 1:如果:如果pqpZY/X=Z,且輸出,且輸出Z Z24 1.2 程序設計基礎程序設計基礎起止框起止框輸入輸出框輸入輸出框加工框加工框判斷框判斷框流程圖描述法:用圖框表示各種操作用圖框表示各種操作基本框圖符號基本框圖符號:開始輸入x,yX=0Y/X=Z打印錯誤信息打印ZNOYES結束25 1.3 C+程序基本結構程序基本結構-C語言的歷史和特點l 歷史悠久、功勛卓著誕生于70年代,成熟于80年代,修訂于90年代很多重量級軟件都是用C寫

13、的l 上天入地、無所不能幾乎沒有不能用C寫出來的軟件,沒有不支持C的系統(tǒng)l 很多流行語言、新生語言都借鑒了它的思想、語法從C+到Java,再到C#,還有php等Dennis M.RitchieKen Thompson26 #include using namespace std;int main() int a,b,c; cinab; c = max(a, b); cout“max =” cy) z = x; else z = y; return z; 1.3 C+程序基本結構程序基本結構例例1:huang.cpp p C+程程序是由多個序是由多個文件單位文件單位組成組成p 一個程序有且只有一

14、個一個程序有且只有一個主函數主函數main()p 函數是由函數是由C+語句語句組成組成;每條每條C+語語句后面都要有一個分號句后面都要有一個分號27 C+語句類型語句類型: 說明語句、表達式說明語句、表達式語句、分支語句、循環(huán)語句、控制語句、分支語句、循環(huán)語句、控制流程語句流程語句 對于變量,先定義其數據類型,再對于變量,先定義其數據類型,再使用使用 C+C+程序總是從程序總是從mainmain()函數開始()函數開始執(zhí)行執(zhí)行 數據的輸入與輸出是通過數據的輸入與輸出是通過cin cin 和和coutcout來實現來實現 C+C+程序用程序用/或者或者/ /* * * */ /進行注釋進行注釋1

15、.3 C+程序基本結構程序基本結構28 1.3 C+程序基本結構程序基本結構/ 例例2: huang2.cpp #include /*預編譯命令預編譯命令,將標準輸入輸出函數將標準輸入輸出函數*/ #include /預編譯命令預編譯命令,將系統(tǒng)提供的數學函數將系統(tǒng)提供的數學函數 using namespace std; / 使用命名空間使用命名空間 int main( )/主函數,名為主函數,名為main /函數體函數體.開始開始 float a,b,c;/聲明部分聲明部分.定義變量類型定義變量類型 int num1=3*5; /定義變量,賦予值定義變量,賦予值 b=30.0;/執(zhí)行部分執(zhí)行

16、部分.賦值語句賦值語句 a=sin(b*3.14159/180);/執(zhí)行部分執(zhí)行部分.賦值語句賦值語句 coutaendl; /執(zhí)行部分執(zhí)行部分.輸出語句輸出語句 coutnum1; /輸出變量輸出變量num1的值的值 return 0; /返回返回0 /函數體函數體.結束結束語句是語句是C+程序的基本單位程序的基本單位29 include Use namespace stdint main( ) float x; /定義實型變量定義實型變量 int i coutx=x cout,i= iendl; return 01.3 C+程序基本結構程序基本結構課間練習:找出下列程序的錯誤課間練習:找出

17、下列程序的錯誤30 編輯執(zhí)行連接編譯鍵盤輸入f 1. cppf2.cpp磁盤文件f1.objf2.objhuang. exe圖:編程的4部曲1.3 C+程序基本結構程序基本結構f1.obj+f2.obj+標準函標準函數數huang.exehuang.vsprojf1.cppf2.cpp31 1.啟動:雙擊vs2008程序圖標32 2.建項目:選擇“新建”項目選擇相關項輸入“項目名稱”等33 2.建項目:下一步空項目完成34 3.編輯:選擇“源文件”添加新建項輸入“名稱”等35 3.編輯:選擇“添加”鍵入程序代碼“文件”保存36 4.編譯:選擇“生成”生成huang檢測“輸出”再編輯37 38

18、5.執(zhí)行:選擇“調試”開始執(zhí)行自動命令行窗口39 本講重點計算機基礎(硬件/CPU、內存和硬盤三者關系,軟件)程序設計基礎(算法概念、描述方法)數據輸入、數據輸出(cin 和cout)C+程序的實驗過程教材導讀:仔細閱讀教材的第1章、但1.2節(jié)暫時別看;下一講預習內容:計算機中數據的表示;程序中的下一講預習內容:計算機中數據的表示;程序中的 數據;常量數據;常量和變量。和變量。即教材的第即教材的第2章內容章內容40 面面試試經經典典41 l老師問:“樹上有10只鳥,獵人開槍打死了1只,還剩幾只?” 學生:“是無聲手槍,還是其它沒有聲音的槍?” 師:“不是無聲手槍,也不是其它沒有聲音的槍?!?生:“槍聲有多大?” 師:“80-100分貝” 生:“那就是說,會震得耳朵疼?” 師:“是的” 生:“在那個地方,打鳥不犯法?” 師:“不犯” 生:“您確定那只鳥真的被打死啦?” 師:“確定” 老師有些不耐煩了

溫馨提示

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

評論

0/150

提交評論