概述講解C語言程序設(shè)計譚浩強第三版_第1頁
概述講解C語言程序設(shè)計譚浩強第三版_第2頁
概述講解C語言程序設(shè)計譚浩強第三版_第3頁
概述講解C語言程序設(shè)計譚浩強第三版_第4頁
概述講解C語言程序設(shè)計譚浩強第三版_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、概述講解C語言程序設(shè)計譚浩強第三版微型計算機系統(tǒng)硬件軟件系統(tǒng)軟件 程序設(shè)計語言應(yīng)用軟件(如軟件包、數(shù)據(jù)庫QQ等)機器語言 :0、1匯編語言:助記符高級語言:人性化C、fortran、C+操作系統(tǒng)編輯程序、解釋程序、編譯程序、診斷程序主機外圍設(shè)備運算器控制器微處理器內(nèi)存儲器I/O接口電路:并行、串行系統(tǒng)總線:數(shù)據(jù)、地址、控制ROMRAM外部設(shè)備I/O設(shè)備外存儲器預(yù)備知識一、課程內(nèi)容: 要讓計算機按照人們的愿望工作,必須由人們事先編制、調(diào)試好程序,并輸入到計算機,讓計算機執(zhí)行程序才能產(chǎn)生相應(yīng)的操作結(jié)果。 程序設(shè)計(Programming):是指設(shè)計、編制、調(diào)試程序的方法和過程。 程序設(shè)計語言:用來

2、書寫計算機程序的語言。分機器語言、匯編語言、高級語言。以加法舉例三種語言。 10010000 減 C語言是一門高級程序設(shè)計語言。類似人類語言,語言的基礎(chǔ)是一組記號和一組規(guī)則。課程介紹C語言程序:#include main( ) float x; x=56+2*sqrt(24)/(85-34); printf(“%f ”,x); 算式:舉例本課程主要內(nèi)容:學(xué)習(xí)用計算機解決問題的一般方法,學(xué)習(xí)程序設(shè)計的思路和基本方法,學(xué)習(xí)C語言基本概念、語法結(jié)構(gòu),學(xué)習(xí)閱讀、設(shè)計、編寫、調(diào)試C程序既要掌握概念,又要動手編程,還要上機調(diào)試運行。5主要內(nèi)容c語言基本概念 基本程序結(jié)構(gòu)簡單的數(shù)據(jù)結(jié)構(gòu) 程序設(shè)計方法函數(shù) 結(jié)

3、構(gòu)體、指針、鏈表文件*二、課程目標:1正確理解C程序設(shè)計語言的各種語言成分,掌握基本C語法規(guī)則、C程序結(jié)構(gòu)、數(shù)據(jù)類型、控制結(jié)構(gòu)及函數(shù);2掌握結(jié)構(gòu)化程序設(shè)計方法,形成良好的程序設(shè)計風(fēng)格;3掌握常用算法的程序設(shè)計、具有閱讀和初步編制程序的能力;4具備在Turbo c和visual c+較強的上機操作和程序調(diào)試技能。為后續(xù)專業(yè)課、后續(xù)的軟件設(shè)計以及未來的就業(yè)打下良好基礎(chǔ)。對本專業(yè)同學(xué)講,本課程尤為重要,因為我們從事的工作會牽涉到硬件底層,這是C語言的優(yōu)勢。很多單位筆試就考C語言爭取拿到計算機二級等級證書(學(xué)位)、程序員三、課程性質(zhì) 本課程是專業(yè)基礎(chǔ)課 ,為后面的編程類課程打下學(xué)習(xí)基礎(chǔ),為其他課程提供

4、實現(xiàn)工具。 對通信、電子、信息、計算機專業(yè)和其他大部分理工類專業(yè)來說是一門必修的課程。 C語言程序設(shè)計(必修)軟件技術(shù)基礎(chǔ)(必修)微機原理與接口技術(shù)(必修)面向?qū)ο笤O(shè)計與分析(選修)管理信息系統(tǒng)(選修)計算機圖形學(xué)(選修)計算機教學(xué)體系課程四、參考資料與課時安排 參考書 C語言程序設(shè)計(第四版)-譚浩強 程序設(shè)計(第四版)學(xué)習(xí)輔導(dǎo)-譚浩強 C語言程序設(shè)計B課指導(dǎo)書20120830全國計算機等級考試二級教程C語言程序設(shè)計 參考視頻 石油大學(xué)曾怡 吉林大學(xué)康輝 課時安排 總課時:48 學(xué)時 理論課(A):24 學(xué)時 實踐課(B):24 學(xué)時五、上機安排 上機地點:計算中心機房 上機實驗題目:隨上課

5、進度布置 要求:上機實驗題目要事先編好程序六、課程要求 課前做好預(yù)習(xí) 保持課堂安靜,認真聽講、思考 上課、上機考勤,3次缺席,按不及格處理 作業(yè)必須獨立、按時完成 重視上機實踐,有效利用寶貴的上機時間盡可能的把作業(yè)也上機調(diào)試通過。七、考 核期末:閉卷、筆試平時成績10%+實驗成績20%+期末考試70%第一章 C語言概述C語言發(fā)展歷史C語言特點C程序格式和結(jié)構(gòu)特點C程序上機步驟1.1 C語言發(fā)展歷史程序設(shè)計語言的發(fā)展 機器語言匯編語言高級語言面向過程面向?qū)ο驝PU指令系統(tǒng),由0、1序列構(gòu)成的指令碼組成如:10000000 加 10010000 減用助記符號描述的指令系統(tǒng)如 ADD A, B面向機

6、器的語言程序設(shè)計是數(shù)據(jù)被加工的過程客觀世界可以分類,對象是類的實例對象是數(shù)據(jù)和方法的封裝對象間通過發(fā)送和接受消息發(fā)生聯(lián)系程序設(shè)計關(guān)鍵是定義類,并由類派生對象馮.諾依曼結(jié)構(gòu):計算機運算器控制器存儲器主機:I/O設(shè)備:鍵盤、顯示器等中央處理器CPU1.1.2 C語言的發(fā)展產(chǎn)生背景:解決早期操作系統(tǒng)(包括UNIX)用匯編語言可讀性和移植性差的缺點。希望找到帶有低級語言功能(對硬件操作)的高級語言。產(chǎn)生過程時間:19721973地點:美國貝爾實驗室目的:對UNIX操作系統(tǒng)90%匯編改寫,第5版設(shè)計人: Ken.Thompson和C語言和UNIX是一個孿生兄弟,相互促進發(fā)展。C標準1978年標準C: K

7、&R合著The C Programming LanguageANSI C: 1983年87 ANSI C: 1987年1990年國際標準的ANSI C C語言先后移植到大、中、小、微型計算機上, 是最廣泛的計算機語言之一。C編譯系統(tǒng)大多是以ANSI C為基礎(chǔ)開發(fā)的。 C語言之父(1943- ) New Orleans, USA B, C, UNIX Turing Award(1983)(1941-) York, USA C, UNIX Turing Award(1983)語言出現(xiàn)的歷史背景(參看)C語言是國際上廣泛流行的高級語言。C語言是在B語言的基礎(chǔ)上發(fā)展起來的。B (BCPL)語言是197

8、0年由美國貝爾實驗室設(shè)計的, 并用于編寫了第一個UNIX操作系統(tǒng),在PDP 7上實現(xiàn)。優(yōu)點:精練,接近硬件,缺點:過于簡單,數(shù)據(jù)無類型。 1973年貝爾實驗室的D.M.Ritchie 在B語言的基礎(chǔ)上設(shè)計出了C語言,對B取長補短,并用之改寫了原來用匯編編寫的UNIX,(即UNIX第5版),但僅在貝爾實驗室使用。1975年UNIX第6版發(fā)布,C優(yōu)點突出引起關(guān)注。1977年出現(xiàn)了可移植C語言編譯程序 ,推動了UNIX在各種機器上實現(xiàn) ,C語言也得到推廣,其發(fā)展相輔相成。1975年UNIX第6版發(fā)布,C優(yōu)點突出引起關(guān)注。1977年出現(xiàn)了可移植C語言編譯程序 ,推動了UNIX在各種機器上實現(xiàn) ,C語言

9、也得到推廣,其發(fā)展相輔相成。1978年影響深遠的名著The C Programming Language由 Brian W.Kernighan和Dennis M.Ritchie 合著,被稱為標準C。之后,C語言先后移植到大、中、小、微型計算機上,已獨立于UNIX和PDP,風(fēng)靡世界,成為最廣泛的幾種計算機語言之一。1983年,美國國家標準化協(xié)會(ANSI)根據(jù)C語言各種版本對C的發(fā)展和擴充,制定了新的標準ANSI C ,比標準C有了很大的發(fā)展。1988年K & R按照 ANSI C修改了他們的The C Programming Language。1987年,ANSI公布了新標準87 ANSI C

10、。1990年,國際標準化組織接受了87 ANSI C為ISO C 的標準(ISO98991990)。1994年,ISO又修訂了C語言標準。目前流行的C語言編譯系統(tǒng)大多是以ANSI C為基礎(chǔ)進行開發(fā)的。說明: 不同版本的C編譯系統(tǒng)所實現(xiàn)的語言功能和語法規(guī)則又略有差別,因此讀者應(yīng)了解所用的C語言編譯系統(tǒng)的特點(可以參閱有關(guān)手冊)。本課程的敘述基本上以ANSI C 為基礎(chǔ)。 1.2 語言的特點(1)語言簡潔、緊湊,使用方便、靈活。 37個關(guān)鍵字、9種控制語句,程序形式自由(2)運算符豐富。34種運算符 (3)數(shù)據(jù)類型豐富,具有現(xiàn)代語言的各種數(shù)據(jù)結(jié)構(gòu)。(指針,整型、浮點型、字符型、數(shù)組類型、結(jié)構(gòu)體、共

11、用體)(4)具有結(jié)構(gòu)化的控制語句 ,是完全模塊化和結(jié)構(gòu)化的語言。 (函數(shù))(5)目標代碼質(zhì)量高,程序執(zhí)行效率高。只比匯編程序生成的目標代碼效率低10-20%。(6)程序可移植性好(與匯編語言比)?;旧喜蛔鲂薷木湍苡糜诟鞣N型號的計算機和各種操作系統(tǒng)。(7)兼有高級和低級語言的特點。 允許直接訪問物理地址,能進行位操作,能實現(xiàn)匯編語言的大部分功能,可直接對硬件進行操作。一般高級語言不具備。高級語言中的低級語言。(8)語法限制不太嚴格,程序設(shè)計自由度大。靈活,容易出錯; 是程序員語言,有一定基礎(chǔ)后,很靈活,編出質(zhì)量高的語言。37個關(guān)鍵字:(由系統(tǒng)定義,不能重作其它定義)auto break cas

12、e char constcontinue default do double elseenum extern float for gotoif inline int long register restrict return short signed sizeof static struct switch typedef union unsigned void volatile while _bool_Complex _Imaginary附錄C C語言中的關(guān)鍵字9種控制語句: if( )else for( ) while( ) dowhile( ) continue break switch

13、goto return34種運算符:算術(shù)運算符:+ - * / % + -關(guān)系運算符: = !=邏輯運算符:! & |位運算符 : | &賦值運算符:= 及其擴展條件運算符:?:逗號運算符:,指針運算符:* &求字節(jié)數(shù) :sizeof強制類型轉(zhuǎn)換:(類型)分量運算符:. -下標運算符:其它 :( ) -C數(shù)據(jù)類型基本類型構(gòu)造類型指針類型空類型void定義類型typedef數(shù)值類型字符類型char枚舉類型enum整 型實 型單精度型float雙精度型double短整型short長整型long整型int數(shù)組結(jié)構(gòu)體struct共用體union解釋1:C+是由于開發(fā)大型應(yīng)用軟件的需要而產(chǎn)生的,并不是所

14、有的人都要去編寫大型軟件;解釋2:面向?qū)ο蟮幕A(chǔ)是面向過程。C+是面向?qū)ο蟮恼Z言,C是面向過程的,學(xué)起來比C語言困難得多,所以不太適合程序設(shè)計的初學(xué)者。問題:既然有了面向?qū)ο蟮腃+語言,為什么還要學(xué)習(xí)C語言? 1.3 簡單的C語言程序介紹#include void main( ) printf (“Hello world!n); /*文件包含*/*主函數(shù) */*函數(shù)體開始*/*輸出語句*/*函數(shù)體結(jié)束*/ 說明: main-主函數(shù)名, void-函數(shù)類型每個C程序必須有一個主函數(shù)main 是函數(shù)開始和結(jié)束的標志,不可省每個C語句以分號結(jié)束使用標準庫函數(shù)時應(yīng)在程序開頭一行寫: #include

15、大小寫有區(qū)別,C程序必須用小寫字母書寫。 例1.1 求兩數(shù)之和例1.2 求兩數(shù)之和#include void main( ) /*求兩數(shù)之和*/ int a,b,sum; /*聲明,定義變量為整型*/ /*以下3行為C語句 */ a=123; b=456; sum=a+b; printf(sum is %dn,sum);說明: /*/表示注釋。注釋只是給人看的,對編譯和運行不起作用。所以可以用漢字或英文字符表示,可以出現(xiàn)在一行中的最右側(cè),也可以單獨成為一行。說明: 輸出一行信息:sum is 579運行結(jié)果:sum=34函數(shù)語句預(yù)處理命令例1.2 求兩數(shù)之和#include /* This i

16、s the main program */main() int a,b,sum; a=10; b=24; sum=add(a,b); printf(”sum= %dn,sum);/* This function calculates the sum of x and y */int add(int x,int y) int z; z=x+y; return(z);例1.3 求2個數(shù)中較大者。#include void main( ) /* 主函數(shù)*/ int max(int x,int y); / 對被調(diào)用函數(shù)max的聲明 */ int a, b, c; /*定義變量a、b、c */ scan

17、f(d,d,&a,&b); /*輸入變量a和b的值*/ c=max(a,b); /*調(diào)用max函數(shù),將得到的值賦給c */ printf(max=dn,c); /*輸出c的值*/程序運行情況如下:8,5 (輸入8和5賦給a和b)max=8 (輸出c的值)int max(int x, int y) int z; if (xy) z=x; else z=y; return (z); max(int x,int y); max(a,b); 說明:本程序包括main和被調(diào)用函數(shù)max兩個函數(shù)。max函數(shù)的作用是將x和y中較大者的值賦給變量z。return語句將z的值返回給主調(diào)函數(shù)main。 主函數(shù)ma

18、in()既可以放在max()函數(shù)之前,也可以放在max()函數(shù)之后。習(xí)慣上,將主函數(shù)main()放在最前面。 1.3.1 C程序的結(jié)構(gòu)特點和書寫格式:1、函數(shù)是C程序的基本構(gòu)件,這使得程序容易實現(xiàn)模塊化。 一個C程序只能有一個main函數(shù)。2、 一個函數(shù)由兩部分組成: (1)函數(shù)的首部: 例1.3中的max函數(shù)首部 int max(int x,int y ) (2)函數(shù)體:花括號內(nèi)的部分。若一個函數(shù)有多個花括號,則最外層的一對花括號為函數(shù)體的范圍。 函數(shù)體包括兩部分 :聲明部分:int a,b,c; 可缺省執(zhí)行部分:由若干個語句組成??扇笔?注意: 函數(shù)的聲明部分和執(zhí)行部分都可缺省,例如: v

19、oid dump ( ) 這是一個空函數(shù),什么也不做,但是合法的函數(shù)。3、C程序總是從main函數(shù)開始執(zhí)行的,與main函數(shù)的位置無關(guān)。4、C程序書寫格式自由,一行內(nèi)可以寫幾個語句, 一個語句可以分寫在多行上,C程序沒有行號。 但建議一行一個語句。5、每個語句和數(shù)據(jù)聲明的最后必須有一個分號。6、C語言本身沒有輸入輸出語句。輸入和輸出的操作是由庫函數(shù)scanf和printf等函數(shù)來完成的。C對輸入輸出實行“函數(shù)化”。7、/*/表示注釋。(1)注釋便于閱讀、方便別人和自己(2)用于調(diào)試時起屏蔽某段程序作用。main( ) int i , j , sum; sum=0; for(i=1; i10;i

20、+) for(j=1;jtc 在Windows環(huán)境下 找到可執(zhí)行文件tc.exe,執(zhí)行該文件。主菜單:11個菜單項: File Edit Search Run Compile Debug Project Options Window Help(2) 編輯源文件新建:單擊“File”菜單下 的“New”, 修改:選擇“File”“Open”(即單擊“File” 的下拉菜單中的“Open”項,修改已有的源程序。 在編輯(EDIT) 狀態(tài)下光標表示當前進行編輯的位置,在此位置可以進行插入、刪除或修改,直到自已滿意為止。 保存:在編輯(EDIT) 狀態(tài)下光標表示當前進行編輯的位置, 在此位置可以進行插

21、入、刪除或修改,直到自已滿意為止。 (3) 對源程序進行編譯選擇“Compile”(或“Alt+F9”)對源程序進行編譯。 c1.cpp源程序,出現(xiàn)1個錯誤(error) ,0個警告(warming)。 (4) 將目標程序進行連接 選擇菜單“Compile” “Link” ,如果不出現(xiàn)錯誤,會得到一個后綴為.exe的可執(zhí)行文件。 (5) 執(zhí)行程序。 選菜單“Run” “Run”( 或按“Ctrl+F9” 鍵)。(6) 退出Turbo C+ 3.0環(huán)境 選擇“File”“Quit” 。 其他Turbo 2.0類似,此外還有visual c+集成開發(fā)環(huán)境 參閱實驗和習(xí)題指導(dǎo)書: C語言設(shè)計題解與上

22、機指導(dǎo)譚浩強編 C語言程序設(shè)計B課指導(dǎo)書20120830 北航 演示軟件使用 本章作業(yè): 1.3 1.5例2、Turbo C集成開發(fā)環(huán)境(一)啟動Turbo.c:有兩種方法。在WINDOS 下,雙擊我的電腦在c盤或其它盤上找到Turbo C或TC圖標并雙擊它,再雙擊TC.exe文件。在DOS提示符下鍵入:TC(二)建立一個新文件 1. 按F10,進入主菜單,控制光標選中FILE 2. 回車,進入FILE的子菜單 3. 按光標控制鍵,選中“NEW” 4. 回車,進入編輯窗口,文件名被自動命名為“noname.c”Turbo.c C程序的上機操作過程(三)編輯源程序逐個輸入字符刪除一個字符:按de

23、lete鍵插入字符插入一行: Ctrl+n 刪除一行: Ctrl+y刪除一個單詞:Ctrl+t合行:回車鍵(Enter)定義塊首:Ctrl+kb; 定義塊尾:Ctrl+kk刪除一個塊:Ctrl+ky復(fù)制一個塊:Ctrl+kc移動一個塊:Ctrl+kv(四)存盤不改文件名:F10FILE Save ( F2 ) 回車改文件名:F10 FILE Write To 回車輸入新的文件名(五)調(diào)入原有的文件1. F10FILE Load (F3) 顯示的是上次打開的文件名,在其中輸入所需的文件名即可。2. 選擇文件名 Load(F3) *.c回車3. 從本次用過的文件名中查找 FILE Pick: 顯示

24、的是本次上機剛剛調(diào)用過的文件名,縮小了查找范圍。4. 不僅輸入文件名,而且搜索所有類型文件。 *.*(六)暫時脫離Turbo C,進入DOS環(huán)境 F10 File DOS Shell 在DOS下進行文件管理 在DOS提示符下輸入exit返回Turbo C(七)編譯: 按 F9 鍵(八)運行: Ctrl + F9(九)看運行結(jié)果: Alt + F5(十)程序調(diào)試: F8-Step over F7-Trace into F4-Goto Cursor Ctrl+F7-Add Watch Ctrl+F8-Toggle Breakpoint Ctrl+F2-Program Reset TC的使用的演示:

25、小結(jié): C語言歷史/ 特點/ 格式和結(jié)構(gòu)特點/ 開發(fā)過程例3:VC+6.0 的使用1. 安裝VC+ 6.0和進入VC+ +6.0集成環(huán)境 (1) Visual C+ 6.0適用于Windows環(huán)境。首先在所用的計算機上安裝Visual C+ 6.0系統(tǒng)。安裝完后,雙擊Visual C+ 6.0圖標,就能進入VC+ 6.0集成環(huán)境 。(2) 在VC+主窗口的頂部是VC+的主菜單欄 。其中包含9個項File Edit View Insert Project Build Tools windows Help; 主窗口的左側(cè)是項目工作區(qū)窗口(用來顯示所設(shè)定的工作區(qū)的信息),右側(cè)是程序編輯窗口(用來輸入

26、和編輯源程序)。2. 輸入和編輯源程序(1)新建一個源程序 在VC+主窗口的主菜單欄中選擇“File” ,然后選擇 “New ” 單擊屏幕上出現(xiàn)的“New”對話框上方的“Files”,在其下拉菜單中選擇“C+ Source File”項;然后在對話框右半“Location”文本框中輸入準備編輯的源程序文件的存儲路徑(假定D:cc );在其上方的File(文件)文本框中輸入準備編輯的源程序文件的名字(輸入c1-1.c ) 。輸入和編輯源程序 單擊“OK” 按鈕后,回到VC+主窗口程序,編輯窗口已激活,即可輸入和編輯源程序。在輸入過程中如發(fā)現(xiàn)有錯誤,可以利用全屏幕編輯方法進行修改編輯。 源程序的保存 檢查無誤后,在主菜單欄中選擇“File”(文件) ,并在其下拉菜單中選擇“

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論