C第01章計(jì)算機(jī)與程序設(shè)計(jì).ppt_第1頁
C第01章計(jì)算機(jī)與程序設(shè)計(jì).ppt_第2頁
C第01章計(jì)算機(jī)與程序設(shè)計(jì).ppt_第3頁
C第01章計(jì)算機(jī)與程序設(shè)計(jì).ppt_第4頁
C第01章計(jì)算機(jī)與程序設(shè)計(jì).ppt_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

主講:李荔,C+程序設(shè)計(jì),四川農(nóng)業(yè)大學(xué),序 言,本課程的特點(diǎn): 1、理論知識(shí)較少,實(shí)際操作較多 2、需要掌握一定的英文單詞 3、有大量的實(shí)例,學(xué)習(xí)本課程的目的: 1、應(yīng)試 2、應(yīng)用,本課程的學(xué)習(xí)要求: 理論課: 1、將重要概念勾畫在書上 2、記憶典型的實(shí)例的編程方法 上機(jī)操作課: 1、所有程序名以自已名字拼音字母加題目編號(hào)取名,以章節(jié)為單位存放在以自已姓名學(xué)號(hào)建的文件夾中。 如學(xué)號(hào)為20082037的張三同學(xué)第4章第三題: 程序名應(yīng)取為zhangshan4_3.c或zhangshan4_3.cpp, 并存在“zhangshan20082037第四章”文件夾中。 2、當(dāng)堂完成上機(jī)任務(wù)后,將作業(yè)拷貝給學(xué)習(xí)組長(zhǎng),然后由組長(zhǎng)課后即時(shí)統(tǒng)一交給老師。 3、課后整理作業(yè),將程序清單寫好后于下次理論課時(shí)上交。,本課程的考核方法: 必修:平時(shí)成績(jī)占30分,期末卷面成績(jī)占70分。 選修:平時(shí)成績(jī)占40分,期末卷面成績(jī)占60分。 曠課在三次及三次以上記不合格。 理論課,上機(jī)課遲到四次及四次以上記不合格。 理論課,上機(jī)課無故提前下課以曠課記。 作業(yè)兩次及兩次以上未交記不合格。 注:凡有以上情況之一,如考試不合格都將視為曠課三分之二,不予補(bǔ)考。,時(shí)間安排: 課表上全為理論課時(shí)間,上機(jī)時(shí)間另行安排,推薦參考書: 書名 作者 出版社 1、C語言程序設(shè)計(jì)(第2版) 譚浩強(qiáng) 清華大學(xué)出版社 2、C程序設(shè)計(jì)試題匯編(第二版)譚浩強(qiáng) 清華大學(xué)出版社 3、C+程序設(shè)計(jì)教程(第二版) 錢能 清華大學(xué)出版社 4、C+程序設(shè)計(jì)教程(第2版) 李春葆 清華大學(xué)出版社 5、C/C+程序設(shè)計(jì)教程 鄭秋生 電子工業(yè)出版社 6、C/C+程序設(shè)計(jì)教程(第2版)孫淑霞等 電子工業(yè)出版社,第1章 計(jì)算機(jī)與程序設(shè)計(jì),講授內(nèi)容,計(jì)算機(jī)系統(tǒng)的基本組成、工作原理 程序設(shè)計(jì)的基本過程和方法 程序設(shè)計(jì)語言基本概念及其發(fā)展歷史 結(jié)構(gòu)化程序設(shè)計(jì)和面向?qū)ο蟪绦蛟O(shè)計(jì)方法 典型的C+編程環(huán)境、開發(fā)過程和程序結(jié)構(gòu) 程序設(shè)計(jì)風(fēng)格,1.1 計(jì)算機(jī)系統(tǒng)概述,計(jì)算機(jī)系統(tǒng) 機(jī)器系統(tǒng) 能接收和存儲(chǔ)信息 能對(duì)數(shù)據(jù)進(jìn)行處理和計(jì)算 能輸出結(jié)果 計(jì)算機(jī)系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)組成 硬件系統(tǒng)包括CPU、顯示器、內(nèi)存、硬盤、鍵盤等 軟件系統(tǒng)包括各種程序和文檔,計(jì)算機(jī)硬件是軟件實(shí)現(xiàn)的基礎(chǔ) 運(yùn)算器對(duì)數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算 主存儲(chǔ)器存儲(chǔ)二進(jìn)制信息,與運(yùn)算器、控制器等直接交換信息 控制器按程序的要求,控制計(jì)算機(jī)各功能部件協(xié)調(diào)一致地動(dòng)作 控制器 + 運(yùn)算器 = 中央處理器 中央處理器 + 主存儲(chǔ)器 = 處理機(jī),輸入設(shè)備將用戶信息(數(shù)據(jù)、程序等)變換為計(jì)算機(jī)能識(shí)別和處理的信息形式 輸出設(shè)備將計(jì)算機(jī)中二進(jìn)制信息變換為用戶所需要并能識(shí)別的信息形式 輔助存儲(chǔ)器存儲(chǔ)主存儲(chǔ)器難以容納、又為程序執(zhí)行所需要的大量文件信息,計(jì)算機(jī)軟件計(jì)算機(jī)系統(tǒng)中的指揮者 系統(tǒng)軟件最靠近硬件,如編譯程序和操作系統(tǒng)等 支撐軟件支撐其它軟件的開發(fā)和維護(hù),如各種數(shù)據(jù)庫管理系統(tǒng)、接口軟件和工具組 應(yīng)用軟件用于特定應(yīng)用領(lǐng)域,如財(cái)務(wù)管理系統(tǒng) 上述分類是交叉和變化的 一個(gè)軟件可以在一個(gè)系統(tǒng)中是系統(tǒng)軟件,在另一個(gè)系統(tǒng)中是支撐軟件 在同一系統(tǒng)中,一個(gè)軟件可以既是系統(tǒng)軟件,也是支撐軟件,1.2 程序設(shè)計(jì)基本概念,問題求解過程步驟 問題定義明確要解決的問題 算法設(shè)計(jì)把要求解的問題轉(zhuǎn)化為計(jì)算機(jī)的解題步驟 程序編碼對(duì)設(shè)計(jì)出來的算法進(jìn)行代碼的編寫 測(cè)試和調(diào)試發(fā)現(xiàn)和糾正程序中的錯(cuò)誤,算法與程序 算法由有限個(gè)步驟組成的求解問題的方法 算法的特點(diǎn) 有窮性:執(zhí)行有窮個(gè)步驟后必須終止 確定性:每一個(gè)步驟必須是無二義的 能行性:每一個(gè)步驟都可以在有限時(shí)間內(nèi)做完 輸入:一般有輸入信息 輸出:一般有一個(gè)或多個(gè)輸出信息,算法的描述方式 文字描述 自然語言 例:P5 圖形描述 流程圖、盒圖,PAD圖等 流程圖的符號(hào): 起止框 輸入/輸出框 處理框 過程 判斷框 連接點(diǎn) 流程線 例:圖1-2 P6 程序語言描述 計(jì)算機(jī)程序,如C+ 例:P7,例:求解兩個(gè)整數(shù)的整商的算法: 1、讀入兩個(gè)整數(shù),即被除數(shù)和除數(shù)。 2、如果除數(shù)等于0,則輸出除數(shù)為0的錯(cuò)誤信息。 3、否則,計(jì)算被除數(shù)和除數(shù)的整商,并輸出計(jì)算結(jié)果。 #include void main() int a,b; couta; coutb; if (b=0) cout“除數(shù)為零,錯(cuò)!”; else cout“整商為:”a/b; ,程序的組成 數(shù)據(jù) 數(shù)據(jù)結(jié)構(gòu),程序處理的對(duì)象 操作 處理規(guī)則,處理數(shù)據(jù)的操作步驟,即算法 程序 數(shù)據(jù)結(jié)構(gòu) 算法,程序設(shè)計(jì)和程序編碼 先設(shè)計(jì),后編碼 設(shè)計(jì)是基礎(chǔ),是編碼的依據(jù) 設(shè)計(jì)的好壞影響代碼的質(zhì)量,程序設(shè)計(jì)語言:描述數(shù)據(jù)和對(duì)數(shù)據(jù)的操作 由語法、語義和語用3個(gè)方面組成: 語法:構(gòu)成語言的各個(gè)記號(hào)之間的組合規(guī)律 語義:各個(gè)記號(hào)的特定含義 語用:程序與使用者的關(guān)系 機(jī)器語言 P8 用機(jī)器基本指令編碼,二進(jìn)制形式 匯編語言 使用一組助記符編碼,需要匯編才能運(yùn)行 高級(jí)語言 表示方法更接近于待解問題的表示方法,需要編譯才能運(yùn)行 源程序-目標(biāo)程序,1.3 程序設(shè)計(jì)方法,結(jié)構(gòu)化程序設(shè)計(jì) 任何程序邏輯都可以用順序、選擇和循環(huán)三種基本結(jié)構(gòu)表示,結(jié)構(gòu)化程序設(shè)計(jì) 自頂向下,逐步求精 描述問題,分析問題,分解問題成相對(duì)獨(dú)立的子問題(反復(fù)進(jìn)行,逐步分解) 描述子問題的數(shù)據(jù)和操作 模塊化原則 盡量采用典型基本控制結(jié)構(gòu):順序、選擇、循環(huán) 缺點(diǎn)(對(duì)于大型軟件開發(fā)) 穩(wěn)定性低、可修改性和可重用性差,面向?qū)ο蟪绦蛟O(shè)計(jì) 面向問題 現(xiàn)實(shí)世界是由對(duì)象組成的 問題由哪些對(duì)象組成?對(duì)象之間如何相互作用? 易于擴(kuò)展、可維護(hù)性好,面向?qū)ο蠓治龊驮O(shè)計(jì)步驟 找出問題中的對(duì)象和類 確定每個(gè)對(duì)象應(yīng)具備的屬性和功能 確定類、對(duì)象之間關(guān)系,相互作用的方式 用程序代碼實(shí)現(xiàn)這些對(duì)象和類,結(jié)構(gòu)化程序設(shè)計(jì):將問題分解,程序由許多功能不同的函數(shù)組成,數(shù)據(jù)與函數(shù)分離,程序通過函數(shù)之間的相互調(diào)用來完成功能。 面向?qū)ο蟪绦蛟O(shè)計(jì):將問題抽象成若干類,將數(shù)據(jù)與數(shù)據(jù)操作封裝在一起,程序由對(duì)象組成,通過對(duì)象之間相互傳遞消息,進(jìn)行消息響應(yīng)和處理來完成功能。,1.4 C與C+,C語言的歷史 起源于Algol 60 在Algol 60的基礎(chǔ)上發(fā)展出CPL語言 1967年發(fā)展為BCPL,用于編寫操作系統(tǒng)和編譯器 1970年貝爾實(shí)驗(yàn)室將BCPL改良成B,并用B語言實(shí)現(xiàn)了第一個(gè)UNIX操作系統(tǒng) 1972年左右,Dennis Ritchie和Ken Thompson在貝爾實(shí)驗(yàn)室設(shè)計(jì)UNIX系統(tǒng)時(shí),開發(fā)出了C語言 之后,C語言發(fā)展出很多版本 1988年,美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì)(ANSI)制定了C的標(biāo)準(zhǔn)ANSI C,C語言的特點(diǎn) 數(shù)據(jù)類型豐富 運(yùn)算符豐富,共34個(gè)運(yùn)算符 支持結(jié)構(gòu)化程序設(shè)計(jì) 方便、靈活,結(jié)合了高級(jí)語言的基本結(jié)構(gòu)、語句和低級(jí)語言的實(shí)用性 程序生成代碼質(zhì)量高、程序執(zhí)行效率高 可移植性好,可用于UNIX 、AIX、WINDOWS等操作系統(tǒng),C+語言 在C語言中引入了面向?qū)ο蟮乃枷?是一種混合型的語言,同時(shí)支持結(jié)構(gòu)化程序設(shè)計(jì)和面向?qū)ο蟪绦蛟O(shè)計(jì)方法 兼容C語言,可不加修改地使用C語言代碼 允許數(shù)據(jù)抽象,支持封裝、繼承和多態(tài)等特征,1.5 C+編程簡(jiǎn)介,步驟一:,1、,或2、,步驟二:直接建立源程序文件 單擊“文件”單擊“新建”單擊“文件”選項(xiàng)卡單擊“C+ Source File”, 進(jìn)入以下畫面:,3、選擇文件存放目錄,2、輸入源程序文件名,1、建立C的源程序文件,4、單擊確定后,就可以編輯源程序。,步驟二:先建立工程,再建立源程序文件 單擊“文件”單擊“新建”單擊“文件”單擊“工程”選項(xiàng)卡,進(jìn)入以下畫面:,7、單擊FileView,8、單擊+,展開,9、右擊 Source Files,彈出快捷菜單,14、單擊+號(hào),展開,15、雙擊要編輯的源程序文件名,編輯窗口,編譯信息窗口,編譯 連接 運(yùn)行,例: /* /*ch1.1.cpp* /* # include void main( ) cout “hello World.n”; ,二.最小樣板程序,運(yùn)行結(jié)果為: 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+程序:輸入一個(gè)人的姓名,然后輸出“HELLO,* * *,/ ex1_2.cpp: 輸入姓名,然后在屏幕輸出問候信息。 # include int main( ) char name20; / 輸出提示信息 cout name; / 輸入姓名 cout “HELLO,“ name “! n“; / 輸出信息,并使用n換行 return 0; / 指示程序運(yùn)行 ,C+程序是由函數(shù)構(gòu)成的,由一個(gè)主函數(shù)和若干個(gè)函數(shù)構(gòu)成。 C+程序是函數(shù)驅(qū)動(dòng)的。 例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)用的程序設(shè)計(jì),運(yùn)行結(jié)果: Input two numbers: 10.0,25.0 The squart of maximum=5.0,1.6 程序設(shè)計(jì)風(fēng)格,用好的設(shè)計(jì)方法

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論