C語言 計算機基礎(chǔ)知識簡介.ppt_第1頁
C語言 計算機基礎(chǔ)知識簡介.ppt_第2頁
C語言 計算機基礎(chǔ)知識簡介.ppt_第3頁
C語言 計算機基礎(chǔ)知識簡介.ppt_第4頁
C語言 計算機基礎(chǔ)知識簡介.ppt_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C語言程序設(shè)計,主講教師:何震瀛 ,一些問題,Programming is the First Course in Computer Science. Why? What is Programming? How can you become a good programmer?,Why Programming is the First Course?,航天領(lǐng)域 衛(wèi)星各類型部件都有自己的電子系統(tǒng) 航天器傳感系統(tǒng)的陀螺儀也需要電子系統(tǒng) 都需要配備各自的控制中心單元 電氣領(lǐng)域 電氣領(lǐng)域需要控制系統(tǒng)、電子系統(tǒng) 也需要配備控制中心單元 傳統(tǒng)CPU的應(yīng)用 808680386匯編/C,什么是 程序設(shè)計?,現(xiàn)

2、實世界 概念世界 計算機世界 三個世界之間的關(guān)系 程序設(shè)計就是根據(jù)問題的需要,設(shè)計一種使計算機能夠按照特定指令序列完成任務(wù)的方法。,計算機創(chuàng)世紀,中國人都說: 算盤是世界上第一臺計算機,計算機中世紀,手搖式加法器 (1936年) 乘法器 差分器 ,計算機新世紀,ENIAC 第一臺真正意義上的計算機 第二次世界大戰(zhàn)期間,美國軍方要求賓州大學(xué)莫奇來(Mauchly)博士和他的學(xué)生愛克特(Eckert) 設(shè)計以真空管取代繼電器的電子化電腦-ENIAC(Electronic Numerical Integrator and Calculator), 電子數(shù)字積分器與計算器), 目的是用來計算炮彈彈道。

3、 這部機器使用了18800個真空管,長50英尺,寬30英尺, 占地1500平方英尺,重達30噸(大約是一間半的教室大,六只大象重)。它的計算速度快,每秒可從事5000次的加法運算,運作了九年之久。,計算機體系結(jié)構(gòu),輸入設(shè)備,指令卡 鍵盤 鼠標 (感謝偉大的施樂公司),什么是 程序設(shè)計?,現(xiàn)實世界 概念世界 計算機世界 三個世界之間的關(guān)系 程序設(shè)計就是根據(jù)問題的需要,設(shè)計一種使計算機能夠按照特定指令序列完成任務(wù)的方法。,C語言的祖師爺Dennis M. Ritchie,http:/www.cs.bell-,Ritchie漫畫像,C is quirky, flawed, and an enormo

4、us success.,C詭異離奇,迷霧重重,卻獲得了巨大的成功,Ritchie和Thompson在玩游戲,游戲創(chuàng)世紀,引子一個游戲 Space Travel http:/cm.bell- 結(jié)果兩部巨著 UNIX C 成就兩個超級黑客 Ritchie X()r r r3=M1-(x,趣味程序迷宮 (Nick Johnson),#include /*/ int m256 256 ,a ,b ; ; WINDOW*w; char*l= 176qxl q q k w xm x t j v u n ,Q = Z pt!ftd qdc!eu dq!$c!nnwf/* * */t040t;c( int u

5、 , int v) v?m u v- 1 |=2,muv-1 ,代碼風(fēng)格,#include /* 對 fahr = 0, 20, ., 300 打印華氏溫度與攝氏溫度對照表 */ main() int fahr, celsius; int lower, upper, step; lower = 0; /* 溫度表的下限 */ upper = 300; /* 溫度表的上限 */ step = 20; /* 步長 */ fahr = lower; while (fahr = upper) celsius = 5 * (fahr-32) / 9; printf(%dt%dn, fahr, celsi

6、us); fahr = fahr + step; ,fc1.c,C語言程序設(shè)計,有關(guān)本課程,課程簡介,程序設(shè)計 “指揮計算機做你想要的事情” 信息時代理科生的基本技能 C語言 流行的程序設(shè)計語言 學(xué)習(xí)匯編語言、Java語言、C+語言的基礎(chǔ) 信息學(xué)院平臺課 和計算機系要求相同 和計算機系同一考卷,本課程的課時安排,實際共75學(xué)時 授課45 實踐30 上課 每周3節(jié)課 上機 每周2節(jié)課 考試 期中 期末,方式,課堂講授 上機實踐 習(xí)題 課外自習(xí) 考試 期中考試 期末考試,成績,考試 期中考試 期末考試 上機 表現(xiàn) 課堂 機房 作業(yè),本周學(xué)習(xí)計劃,計算機基礎(chǔ)知識學(xué)習(xí) 程序設(shè)計基礎(chǔ) C語言的基本數(shù)據(jù)類

7、型,C語言程序設(shè)計,計算機基礎(chǔ)知識簡介,第0章 計算機基礎(chǔ)知識簡介,什么是計算機? 一個接受、處理、存儲和輸出數(shù)據(jù)的設(shè)備 馮諾依曼 (Von Neumann)模型,1945,計算機系統(tǒng),軟件 系統(tǒng)軟件 應(yīng)用軟件 硬件 主機 外圍設(shè)備 電子線路,硬件組成主機,主機 中央處理器CPU 運算器 控制器 主存(內(nèi)存) RAM ROM,硬件組成外圍設(shè)備,外圍設(shè)備 輸入/輸出設(shè)備 鍵盤、鼠標 顯示器、打印機 輔存 硬盤、軟盤、光盤 磁帶,計算機數(shù)據(jù)存儲的格式二進制,二進制例一110 0001,0010,0011,0100 0101,0110,0111,1000 1001,1010 二進制例二 1=(1)2

8、 8= (1000)2 1024= (100 0000 0000)2,計算機數(shù)據(jù)存儲的格式二進制(續(xù)),二進制補碼 計算機中的整數(shù)的實際存放形式 整數(shù)M為非負整數(shù)時,和二進制原碼相同 整數(shù)M為負整數(shù)時,2L|M|(L為二進制數(shù)的位數(shù)) 即:“取反加一” 二進制補碼例(按8位表示) 1的補碼:(0000 0001)2 -1的補碼:(1111 1111)2 -128的補碼:(1000 0000)2,計算機數(shù)據(jù)存儲的格式二進制(續(xù)),位(bit)、字節(jié)(byte) 位(b):一個二進制位 字節(jié)(B):八個二進制位 字節(jié)是基本的存儲單位 K、M、G、T 1K=210=1024 1M=220 =1K*K

9、 1G=230 =1K*K*K 1T=240 = 1K*K*K*K,計算機數(shù)據(jù)的分類,一般數(shù)據(jù) 一段文字 一幅圖片 指令 編譯為機器代碼的程序 地址 指示數(shù)據(jù)的存放單元編號,字符的表示ASCII編碼,ASCII美國信息交換標準代碼 7位二進制 包括數(shù)字、字母和其它一些字符的編碼 要點 數(shù)字和字母的ASCII編碼 7位編碼,ASCII表,常見中文編碼,GB2312 國標國家標準,6763個漢字 16位編碼(一個漢字占16位二進制,即2字節(jié)) GBK 國標大字符集,21003個漢字 在GB2312基礎(chǔ)上擴充(如“镕”不屬于GB2312) 16位編碼 BIG5 大5碼,13053個漢字 廣泛應(yīng)用于臺

10、灣地區(qū) 14位編碼,程序設(shè)計語言,機器語言 Machine Languages,匯編語言 Assembly Languages,高級語言 High-Level Languages,1300000774 1300001419 2200000001 1400000027,LOAD RG0 A LOAD RG1 B ADD RG0 RG1 STORE RG0 C,C=A+B,C語言掌故,1972 由Dennis Ritchie發(fā)明(Bell Labs) 最初用于編寫UNIX操作系統(tǒng) 一般認為是一種高級語言 具有很多低級語言的特點 編譯后的代碼效率高,C語言掌故(續(xù)),和UNIX的關(guān)系 C程序由函數(shù)組

11、成 和C的關(guān)系 和Java的關(guān)系 微機上的C開發(fā)環(huán)境 TCTurbo C (Borland) VCVisual C+ (Microsoft) ,計算機程序的執(zhí)行過程,編輯,生成源程序文件 編譯成機器指令,生成目標文件 連接庫函數(shù),生成可執(zhí)行文件 程序被讀入內(nèi)存 計算機執(zhí)行程序,計算機分類,超級計算機:supercomputer 大型機/主機:mainframe 小型機:minicomputer 微機:microcomputer PC Mac,計算機網(wǎng)絡(luò),目的:共享資源 數(shù)據(jù) 硬件 軟件 Internet 國際互聯(lián)網(wǎng) 采用統(tǒng)一的協(xié)議:TCP/IP,Questions1,What kinds of

12、 input can a computer use? In what ways can a computer process data? Why does a computer store data? What kinds of output does a computer produce?,Questions2,為什么計算機內(nèi)部采用二進制,而不是十進制? (*) ASCII編碼可以表示多少個字符? “程序執(zhí)行的速度取決于CPU每秒執(zhí)行的指令數(shù)目”,這一說法對嗎,為什么? (*) PC包括哪些部件(硬件)? 計算機可以做什么? 計算機不能做什么?,小結(jié),計算機的功能模型 接受、處理、存儲、輸出

13、數(shù)據(jù) 馮諾依曼模型 數(shù)據(jù)存儲格式 內(nèi)部采用二進制 基本單位字節(jié) CPU通過地址讀取數(shù)據(jù) B、b、K、M、G、T等字母的含義 二進制、八進制、十進制、十六進制間的轉(zhuǎn)換,小結(jié)(續(xù)),程序和程序設(shè)計語言 機器語言、低級語言、高級語言 C程序執(zhí)行步驟 字符編碼 ASCII編碼 GB2312編碼、GBK編碼,參考書,C 程序設(shè)計語言(第二版) Brian W.Kernighan, Dennis Ritchie 機械工業(yè)出版社 清華大學(xué)出版社(英文版) C陷阱與缺陷 Andrew Koenig 人民郵電出版社,參考書(續(xù)),實用C語言編程(中文版) Steve Oualline 中國電力出版社 C Pri

14、mer Plus (第四版)(中文版) Stephen Prata 人民郵電出版社,C語言程序設(shè)計,計算機基礎(chǔ)知識(續(xù)),基本概念,程序 定義:供計算機執(zhí)行后能完成特定功能的指令序列。 性質(zhì) 目的性明確目的 分步性按照步驟執(zhí)行 有序性不可改變程序步驟 有限性一般步驟有限 操作性改變對象狀態(tài) 程序設(shè)計 設(shè)計算法和數(shù)據(jù)結(jié)構(gòu) 編制程序 調(diào)試程序,基本概念(續(xù)),程序設(shè)計語言 機器語言、匯編語言和高級語言 面向過程的語言 C, Basic, Pascal FORTRAN, COBOL Ada 面向問題的語言 SQL 面向?qū)ο蟮恼Z言 C Java C#,基本概念(續(xù)),算法 問題的求解方法 數(shù)據(jù)結(jié)構(gòu) 程

15、序中數(shù)據(jù)的組織形式和結(jié)構(gòu)關(guān)系 程序設(shè)計=算法+數(shù)據(jù)結(jié)構(gòu) 有了明確的算法,才能較好地設(shè)計數(shù)據(jù)結(jié)構(gòu) 要選擇好的算法,常常依賴合理的數(shù)據(jù)結(jié)構(gòu),例1.1(屏幕輸出),例1.1 在屏幕上輸出一行信息 /*A simple C program*/ #include void main( ) printf(this book is .n); 運行結(jié)果 this book is .,例1.2(輸入數(shù)據(jù),計算),例1.2 讀入兩個整數(shù),輸出它們的和 #include void main() /*變量定義部分*/ int x, y, sum; /*以下為語句序列*/ printf(Input x and yn);

16、 scanf(%d%d, 運行結(jié)果 Input x and y 12 15 x+y=27,例1.3(循環(huán)),例1.3 利用公式:C=(5/9)(F-32)輸出F氏溫度與C 氏溫度對照表,設(shè)已知F氏溫度取0、20、200。 #include void main() float f,c; int lower, upper, step; lower=0; upper=200; step=20; f=(float)lower; while (f=upper) /*循環(huán)計算*/ c=(float)(5.0/9.0*(f-32.0); printf(%3.0f %6.1fn, f, c); f=f+ste

17、p; ,例1.4(函數(shù)),例1.4 輸入兩個實數(shù),輸出它們中較小的數(shù) #include void main() float x,y,c;/變量定義 float min(float,float);/函數(shù)定義 printf(Input x and y.n); scanf(%f%f, /返回temp到調(diào)用min()函數(shù)處 ,小結(jié)簡單C程序的結(jié)構(gòu),/*預(yù)處理命令*/ void main() /*變量說明*/ /*語句序列*/ ,小結(jié)簡單C程序的書寫,變量說明 注解 語句 函數(shù)調(diào)用 調(diào)用I/O函數(shù)庫中的函數(shù) printf() scanf(),例1.5(數(shù)組,條件選擇),例1.5 統(tǒng)計輸入字符行中各數(shù)字字

溫馨提示

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

評論

0/150

提交評論