已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
主講:李荔,C+程序設計,四川農(nóng)業(yè)大學,序 言,本課程的特點: 1、理論知識較少,實際操作較多 2、需要掌握一定的英文單詞 3、有大量的實例,學習本課程的目的: 1、應試 2、應用,本課程的學習要求: 理論課: 1、將重要概念勾畫在書上 2、記憶典型的實例的編程方法 上機操作課: 1、所有程序名以自已名字拼音字母加題目編號取名,以章節(jié)為單位存放在以自已姓名學號建的文件夾中。 如學號為20082037的張三同學第4章第三題: 程序名應取為zhangshan4_3.c或zhangshan4_3.cpp, 并存在“zhangshan20082037第四章”文件夾中。 2、當堂完成上機任務后,將作業(yè)拷貝給學習組長,然后由組長課后即時統(tǒng)一交給老師。 3、課后整理作業(yè),將程序清單寫好后于下次理論課時上交。,本課程的考核方法: 必修:平時成績占30分,期末卷面成績占70分。 選修:平時成績占40分,期末卷面成績占60分。 曠課在三次及三次以上記不合格。 理論課,上機課遲到四次及四次以上記不合格。 理論課,上機課無故提前下課以曠課記。 作業(yè)兩次及兩次以上未交記不合格。 注:凡有以上情況之一,如考試不合格都將視為曠課三分之二,不予補考。,時間安排: 課表上全為理論課時間,上機時間另行安排,推薦參考書: 書名 作者 出版社 1、C語言程序設計(第2版) 譚浩強 清華大學出版社 2、C程序設計試題匯編(第二版)譚浩強 清華大學出版社 3、C+程序設計教程(第二版) 錢能 清華大學出版社 4、C+程序設計教程(第2版) 李春葆 清華大學出版社 5、C/C+程序設計教程 鄭秋生 電子工業(yè)出版社 6、C/C+程序設計教程(第2版)孫淑霞等 電子工業(yè)出版社,第1章 計算機與程序設計,講授內(nèi)容,計算機系統(tǒng)的基本組成、工作原理 程序設計的基本過程和方法 程序設計語言基本概念及其發(fā)展歷史 結構化程序設計和面向?qū)ο蟪绦蛟O計方法 典型的C+編程環(huán)境、開發(fā)過程和程序結構 程序設計風格,1.1 計算機系統(tǒng)概述,計算機系統(tǒng) 機器系統(tǒng) 能接收和存儲信息 能對數(shù)據(jù)進行處理和計算 能輸出結果 計算機系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)組成 硬件系統(tǒng)包括CPU、顯示器、內(nèi)存、硬盤、鍵盤等 軟件系統(tǒng)包括各種程序和文檔,計算機硬件是軟件實現(xiàn)的基礎 運算器對數(shù)據(jù)進行算術運算和邏輯運算 主存儲器存儲二進制信息,與運算器、控制器等直接交換信息 控制器按程序的要求,控制計算機各功能部件協(xié)調(diào)一致地動作 控制器 + 運算器 = 中央處理器 中央處理器 + 主存儲器 = 處理機,輸入設備將用戶信息(數(shù)據(jù)、程序等)變換為計算機能識別和處理的信息形式 輸出設備將計算機中二進制信息變換為用戶所需要并能識別的信息形式 輔助存儲器存儲主存儲器難以容納、又為程序執(zhí)行所需要的大量文件信息,計算機軟件計算機系統(tǒng)中的指揮者 系統(tǒng)軟件最靠近硬件,如編譯程序和操作系統(tǒng)等 支撐軟件支撐其它軟件的開發(fā)和維護,如各種數(shù)據(jù)庫管理系統(tǒng)、接口軟件和工具組 應用軟件用于特定應用領域,如財務管理系統(tǒng) 上述分類是交叉和變化的 一個軟件可以在一個系統(tǒng)中是系統(tǒng)軟件,在另一個系統(tǒng)中是支撐軟件 在同一系統(tǒng)中,一個軟件可以既是系統(tǒng)軟件,也是支撐軟件,1.2 程序設計基本概念,問題求解過程步驟 問題定義明確要解決的問題 算法設計把要求解的問題轉(zhuǎn)化為計算機的解題步驟 程序編碼對設計出來的算法進行代碼的編寫 測試和調(diào)試發(fā)現(xiàn)和糾正程序中的錯誤,算法與程序 算法由有限個步驟組成的求解問題的方法 算法的特點 有窮性:執(zhí)行有窮個步驟后必須終止 確定性:每一個步驟必須是無二義的 能行性:每一個步驟都可以在有限時間內(nèi)做完 輸入:一般有輸入信息 輸出:一般有一個或多個輸出信息,算法的描述方式 文字描述 自然語言 例:P5 圖形描述 流程圖、盒圖,PAD圖等 流程圖的符號: 起止框 輸入/輸出框 處理框 過程 判斷框 連接點 流程線 例:圖1-2 P6 程序語言描述 計算機程序,如C+ 例:P7,例:求解兩個整數(shù)的整商的算法: 1、讀入兩個整數(shù),即被除數(shù)和除數(shù)。 2、如果除數(shù)等于0,則輸出除數(shù)為0的錯誤信息。 3、否則,計算被除數(shù)和除數(shù)的整商,并輸出計算結果。 #include void main() int a,b; couta; coutb; if (b=0) cout“除數(shù)為零,錯!”; else cout“整商為:”a/b; ,程序的組成 數(shù)據(jù) 數(shù)據(jù)結構,程序處理的對象 操作 處理規(guī)則,處理數(shù)據(jù)的操作步驟,即算法 程序 數(shù)據(jù)結構 算法,程序設計和程序編碼 先設計,后編碼 設計是基礎,是編碼的依據(jù) 設計的好壞影響代碼的質(zhì)量,程序設計語言:描述數(shù)據(jù)和對數(shù)據(jù)的操作 由語法、語義和語用3個方面組成: 語法:構成語言的各個記號之間的組合規(guī)律 語義:各個記號的特定含義 語用:程序與使用者的關系 機器語言 P8 用機器基本指令編碼,二進制形式 匯編語言 使用一組助記符編碼,需要匯編才能運行 高級語言 表示方法更接近于待解問題的表示方法,需要編譯才能運行 源程序-目標程序,1.3 程序設計方法,結構化程序設計 任何程序邏輯都可以用順序、選擇和循環(huán)三種基本結構表示,結構化程序設計 自頂向下,逐步求精 描述問題,分析問題,分解問題成相對獨立的子問題(反復進行,逐步分解) 描述子問題的數(shù)據(jù)和操作 模塊化原則 盡量采用典型基本控制結構:順序、選擇、循環(huán) 缺點(對于大型軟件開發(fā)) 穩(wěn)定性低、可修改性和可重用性差,面向?qū)ο蟪绦蛟O計 面向問題 現(xiàn)實世界是由對象組成的 問題由哪些對象組成?對象之間如何相互作用? 易于擴展、可維護性好,面向?qū)ο蠓治龊驮O計步驟 找出問題中的對象和類 確定每個對象應具備的屬性和功能 確定類、對象之間關系,相互作用的方式 用程序代碼實現(xiàn)這些對象和類,結構化程序設計:將問題分解,程序由許多功能不同的函數(shù)組成,數(shù)據(jù)與函數(shù)分離,程序通過函數(shù)之間的相互調(diào)用來完成功能。 面向?qū)ο蟪绦蛟O計:將問題抽象成若干類,將數(shù)據(jù)與數(shù)據(jù)操作封裝在一起,程序由對象組成,通過對象之間相互傳遞消息,進行消息響應和處理來完成功能。,1.4 C與C+,C語言的歷史 起源于Algol 60 在Algol 60的基礎上發(fā)展出CPL語言 1967年發(fā)展為BCPL,用于編寫操作系統(tǒng)和編譯器 1970年貝爾實驗室將BCPL改良成B,并用B語言實現(xiàn)了第一個UNIX操作系統(tǒng) 1972年左右,Dennis Ritchie和Ken Thompson在貝爾實驗室設計UNIX系統(tǒng)時,開發(fā)出了C語言 之后,C語言發(fā)展出很多版本 1988年,美國國家標準化協(xié)會(ANSI)制定了C的標準ANSI C,C語言的特點 數(shù)據(jù)類型豐富 運算符豐富,共34個運算符 支持結構化程序設計 方便、靈活,結合了高級語言的基本結構、語句和低級語言的實用性 程序生成代碼質(zhì)量高、程序執(zhí)行效率高 可移植性好,可用于UNIX 、AIX、WINDOWS等操作系統(tǒng),C+語言 在C語言中引入了面向?qū)ο蟮乃枷?是一種混合型的語言,同時支持結構化程序設計和面向?qū)ο蟪绦蛟O計方法 兼容C語言,可不加修改地使用C語言代碼 允許數(shù)據(jù)抽象,支持封裝、繼承和多態(tài)等特征,1.5 C+編程簡介,步驟一:,1、,或2、,步驟二:直接建立源程序文件 單擊“文件”單擊“新建”單擊“文件”選項卡單擊“C+ Source File”, 進入以下畫面:,3、選擇文件存放目錄,2、輸入源程序文件名,1、建立C的源程序文件,4、單擊確定后,就可以編輯源程序。,步驟二:先建立工程,再建立源程序文件 單擊“文件”單擊“新建”單擊“文件”單擊“工程”選項卡,進入以下畫面:,7、單擊FileView,8、單擊+,展開,9、右擊 Source Files,彈出快捷菜單,14、單擊+號,展開,15、雙擊要編輯的源程序文件名,編輯窗口,編譯信息窗口,編譯 連接 運行,例: /* /*ch1.1.cpp* /* # include void main( ) cout “hello World.n”; ,二.最小樣板程序,運行結果為: hello World.,例 : /*- ch1_2.cpp - */ #include void main( ) int a,b,result; cout a b; result=3*a-2*b+1; cout “Result is ” resultendl; ,例1-2:C+程序:輸入一個人的姓名,然后輸出“HELLO,* * *,/ ex1_2.cpp: 輸入姓名,然后在屏幕輸出問候信息。 # include int main( ) char name20; / 輸出提示信息 cout name; / 輸入姓名 cout “HELLO,“ name “! n“; / 輸出信息,并使用n換行 return 0; / 指示程序運行 ,C+程序是由函數(shù)構成的,由一個主函數(shù)和若干個函數(shù)構成。 C+程序是函數(shù)驅(qū)動的。 例1-3: /*ch1_3.cpp* #include #include double max(double x, double y); void main( ) double a, b, c; cout ab; c=max(a,b); cout “The squart of maximum=” sqrt( c); ,double max(double x, double y) if (xy) return x; else return y; ,包含函數(shù)調(diào)用的程序設計,運行結果: Input two numbers: 10.0,25.0 The squart of maximum=5.0,1.6 程序設計風格,用好的設計方法
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)內(nèi)部審計審計報告編制手冊(標準版)
- 環(huán)保污染源監(jiān)測與控制規(guī)范(標準版)
- 電力電纜工培訓
- 民航安全管理與操作流程手冊
- 企業(yè)人力資源績效評估與實施規(guī)范(標準版)
- 船舶行業(yè)船舶檢驗與維修操作手冊(標準版)
- 網(wǎng)絡安全人才培養(yǎng)與引進手冊
- 電力機車維修培訓課件
- 娛樂行業(yè)安全管理手冊(標準版)
- 食品藥品安全知識培訓
- 美術館施工組織設計方案
- 2022-2023學年北京市延慶區(qū)八年級(上)期末數(shù)學試卷(含解析)
- 檔案數(shù)字化加工上墻制度
- 2026年黑龍江農(nóng)業(yè)經(jīng)濟職業(yè)學院單招綜合素質(zhì)考試參考題庫附答案詳解
- 干菌子委托加工協(xié)議書
- 中國肺癌合并肺結核臨床診療指南(2025版)
- 數(shù)學試卷江蘇省南京市2025-2026學年12月七校聯(lián)合學情調(diào)研(12.10-12.12)
- 混凝土攪拌與運輸信息化系統(tǒng)設計
- TCFLP0030-2021國有企業(yè)網(wǎng)上商城采購交易操作規(guī)范
- DRG付費下病種成本預算策略
- 警用無人機教學課件
評論
0/150
提交評論