




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、沈洋 南京航空航天大學1C+語言程序設計Lecture 1沈洋 南京航空航天大學2前言o 1. 課程信息o 2. 參考資料o 3. 目標和成果o 4. 其他事項o 5. 為什么是C+沈洋 南京航空航天大學3課程信息o 主要內容n C+的基本語法n 數組、指針等較復雜應用n 面向對象的基本知識n 面向對象的程序設計o 必備的先導知識n 計算機應用基礎n “數學”式的思維沈洋 南京航空航天大學4小測試o ProblemConsider the following pseudo code:ROUTINE(n)1 if n=1 2 then return 1 3 else return n+ROUTI
2、NE(n-1)o Give a one-sentence description of what ROUTINE(n) does.o Give a one-sentence description of a faster implementation of the same routine.沈洋 南京航空航天大學5參考資料參考資料o C+簡明教程. Brian Overland.清華大學出版社o C+ Primer. Stanley B Lippman. 中國電力出版社o C+ Primer Plus. Stephen Prata. 人民郵電出版社o 關于教材沈洋 南京航空航天大學6目標和成果
3、目標和成果o 完成由“想法”到“步驟”的轉變o 對簡單問題能夠設計程序以求解之o 能夠體會設計程序及面向對象所帶來的樂趣o 在課程中我們將實現什么?在課程中我們將實現什么?o 基本的C+語法和用法練習o 基本算法:排序等o 模擬發(fā)牌程序o 猜單詞游戲o 文本文件比較器o 面向對象的復數運算器o 面向對象的話費清單記錄器o 面向對象的設計過程:DogDooro .沈洋 南京航空航天大學7沈洋 南京航空航天大學8其他事項o 關于考試o 關于上機o 關于上課o 聯(lián)系方式沈洋 南京航空航天大學9為什么是C+o C+是嚴謹而實用語言o C+是面向對象的語言o 還能是什么Java? C#?沈洋 南京航空航
4、天大學10Chapter 1:第一個C+程序像程序員那樣思考使用C+開發(fā)程序示例變量和數據類型沈洋 南京航空航天大學11程序是什么?沈洋 南京航空航天大學121.1 像程序員那樣思考o 第一原則:“計算機只做你要求它做的事情計算機只做你要求它做的事情”o 計算機精確執(zhí)行你要求它做的事不管這樣的指令是否正確o 指令必須是“精確精確” 的n“請把數字從攝氏度轉換為華氏度”n在屏幕上顯示:“請輸入攝氏溫度”n從鍵盤上獲取一個數字,并將它保存在變量ctemp中n使用公式ftemp=(ctemp*1.8)+32轉換為華氏溫度n打印消息“華氏溫度是:”n打印變量ftemp的值沈洋 南京航空航天大學13編寫
5、程序的三步曲思路思路實例實例歸納步驟歸納步驟o 1.產生思路o 2.進行實例演算o 3.歸納步驟,并用C+表示之o 例:比較兩個數的大小if (ab)cout“a is greater than b.”;elsecout“a is not greater than b.”;沈洋 南京航空航天大學14一些概念o 應用程序n 從用戶角度而言的程序n 我們眼光中的Word,程序員眼光中的Visual Studioo 代碼n 程序員眼中的“程序”n 機器碼和源碼的總稱o 編譯器n 把源碼轉換為機器碼的轉換程序沈洋 南京航空航天大學15o 數據n 被處理或顯示的信息,例如“輸入”o 機器碼和源碼o 程序
6、n 可執(zhí)行的二進制文件與源程序的統(tǒng)稱o 語句n C+程序中的一個單元,通常是一行o 用戶n 給軟件公司帶來利潤和麻煩的人n 第一個用戶一般是程序員自己沈洋 南京航空航天大學161.2 C+的特點o 在繼承C語言特點的基礎上,加入了面向對象(Object-Oriented,OO)的特性o 與Basic 相比更嚴謹n 大小寫的敏感性、語句結束標志等o 與Pascal相比更直觀易懂o 與Java,C#相比更加靈活n 未必是優(yōu)點沈洋 南京航空航天大學17OO是什么?o OO是考察問題的新視角o OO解決的不是功能性問題,而是復雜應用的結構問題o OO不一定會使你的編程能力大大提高,但一定會使你體會到更
7、多的開發(fā)樂趣沈洋 南京航空航天大學18插曲:Java和C#o Java和C#誕生于C+之后o Java和C#是完全面向對象的n即使你不愿意,代碼也不得不寫成“對象”的形式o Java和C#中增加了許多新的數據類型和功能o Java和C#不允許直接訪問內存n沒有“指針”n內存的回收由系統(tǒng)完成n地址的概念仍然存在o 從語言角度講,C+轉向Java和C#是容易的沈洋 南京航空航天大學191.3 生成C+程序o 輸入程序語句n 程序源代碼是無格式的純文本文件,因此可在任何文本編輯器中輸入程序語句(.cpp)o 生成程序n 編譯(Compile):把C+語句轉換為機器碼(.obj)n 鏈接(Link):
8、將機器碼與C+庫合并,得到可執(zhí)行程序沈洋 南京航空航天大學20可能發(fā)生的錯誤o 編譯器只能發(fā)現語法錯誤,這時將不會通過編譯o 邏輯錯誤只能通過程序測試來發(fā)現和修訂n克服邏輯錯誤往往要付出更大的努力o 教材上的例子nThe moon is made green cheese.語法錯誤nThe mood is made of green cheese.邏輯錯誤o 另外的例子:計算1+2+3+10n要學會查看編譯器給出的提示信息o 如果希望程序運行能夠得到正確的結果,必須克服語法和邏輯錯誤 沈洋 南京航空航天大學21總結:程序開發(fā)過程o “程序”而不是“應用”沈洋 南京航空航天大學221.4 在Vi
9、sual C+中開發(fā)程序o 開啟Visual Studio 2005o 文件新建項目o 其他語言Visual C+Win32控制臺應用程序沈洋 南京航空航天大學23沈洋 南京航空航天大學24在Visual C+中開發(fā)程序o 書寫程序時的注意事項n保留#include stdafx.h“o 句末沒有”;”n加入#include o 尖括號而不是引號o 沒有”.h”n加入using namespace std;o 句末有”;”o 編譯、鏈接n生成生成解決方案 F6o 執(zhí)行n帶調試的執(zhí)行 F5n不帶調試執(zhí)行 Ctrl+F5這種方式不會自動返回沈洋 南京航空航天大學251.5 示例:打印一條消息o/
10、print1.cpp : 定義控制臺應用程序的入口點。o#include stdafx.ho#include ousing namespace std;oint main()oocoutNever fear,C+ is here!;oreturn 0;o沈洋 南京航空航天大學26主函數的結構沈洋 南京航空航天大學27應注意的細節(jié)o 大小寫是敏感的n C+的關鍵字均為小寫,如main, if, elsen 變量的大小寫在使用過程中應保持一致o 語句結束應加”;”n 用 括起的復合語句除外o 在書寫程序的過程中應注意所有內容(” ”內的除外)均應是半角字符n ;與;,“”與”的區(qū)別沈洋 南京航空航
11、天大學28幕后玄機o coutnConsole Out控制臺輸出,類似于C中的printfn cout,注意尖括號的方向n使用時,必須將cout放在一條語句的左側o #includen#include語句我們一般稱為“頭文件包含”n一個頭文件的例子:math.hn頭文件的作用可以理解為定義數據類型或函數niostream是虛擬包含文件,沒有.ho using namesapce std;n表示引用了std這個命名空間n命名空間與OO有關,表示了所定義對象的層次沈洋 南京航空航天大學29練習o 在屏幕上打印消息n “Get with the program!”o 在屏幕上打印你自己的名字沈洋 南
12、京航空航天大學301.6-1.7 加入換行符o cout“never fear,C+ is here!”endlo endl : end lineo 換行的另一種方式:“n”o 多行顯示的處理n cout“Im blaxxon”endl;n cout“the godlike computer.”endl;n cout“Fear me!”將用戶輸入存放在變量中n 通常在輸入語句之前先輸出一句提示信息,否則用戶無法知道應該怎樣操作沈洋 南京航空航天大學35優(yōu)化的版本 o 只使用一個變量o 簡單程序的模式n 1.聲明變量n 2.從用戶那里取得輸入n 3.執(zhí)行算法n 4.輸出或返回結果o 練習n 編寫一個程序,執(zhí)行從華氏度向攝氏度的反向轉換n 編寫一個程序,將兩個整數的值進行交換。沈洋 南京航空航天大學361.11 變量名和關鍵字o 變
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 科技浪潮下的職場技能升級與職業(yè)規(guī)劃
- 2025年桂林信息工程職業(yè)學院單招職業(yè)適應性測試題庫完美版
- 電子化政府服務平臺的服務設計與實踐
- 2025年黑龍江林業(yè)職業(yè)技術學院單招職業(yè)傾向性測試題庫附答案
- 2025年貴州城市職業(yè)學院單招職業(yè)技能測試題庫匯編
- 2025年河北省張家口市單招職業(yè)傾向性測試題庫必考題
- 2025年廣西農業(yè)工程職業(yè)技術學院單招職業(yè)適應性測試題庫及答案一套
- 2025年黑龍江省大慶市單招職業(yè)傾向性測試題庫及答案1套
- 2025年阜新高等??茖W校單招職業(yè)傾向性測試題庫附答案
- 科技醫(yī)療的投資價值與發(fā)展趨勢
- 2024未來會議:AI與協(xié)作前沿趨勢白皮書
- 書畫同源 課件-2023-2024學年高中美術人教版(2019)選擇性必修2 中國書畫
- 2024年廣東普通專升本《公共英語》完整版真題
- 全飛秒激光近視手術
- 單原子催化劑的合成與應用
- 電網調度運行人員考試:電網調度調控考試試題及答案(最新版)
- 成都市深基坑管理規(guī)定課件
- 建立高效的員工溝通與反饋機制
- 促進學習的課堂評價:做得對
- 《語用學之指示語》課件
- 《對折剪紙》課件
評論
0/150
提交評論