




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、整理ppt1C (第三版)譚浩強 著整理ppt2目 錄 第1章C語言概述 第2章程序的靈魂算法 第3章數(shù)據(jù)類型、運算符與表達式 第4章最簡單的C程序設(shè)計順序程序設(shè)計 第5章選擇結(jié)構(gòu)程序設(shè)計 第6章循環(huán)控制整理ppt3 第7章數(shù)組 第8章函數(shù) 第9章預(yù)處理命令 第10章指針 第11章結(jié)構(gòu)體與共用體 第12章位運算 第13章文件 第14章常見錯誤和程序調(diào)試整理ppt4第1章 C語言概述 1.1 C語言出現(xiàn)的歷史背景 1.2 C語言的特點 1.3 簡單的C程序介紹 1.4 運行C程序的步驟與方法整理ppt51.1 C語言出現(xiàn)的歷史背景 在C語言誕生以前,系統(tǒng)軟件主要是用匯編語言編寫的。由于匯編語言程
2、序依賴于計算機硬件,其可讀性和可移植性都很差;一般的高級語言又難以實現(xiàn)對計算機硬件的直接操作,于是人們希望有一種兼有匯編語言和一般高級語言特性的新語言。C語言在這種情況下應(yīng)運而生。 C語言是貝爾實驗室于70年代初研制出來的,后來又被多次改進,并出現(xiàn)了多種版本。80年代初,美國國家標(biāo)準(zhǔn)化協(xié)會(ANSI),根據(jù)C語言問世以來各種版本對C語言的發(fā)展和擴充,制定了ANSI C標(biāo)準(zhǔn)。目前流行的C語言編譯系統(tǒng)大多是以ANSI C為基礎(chǔ)進行開發(fā)的。整理ppt6 C語言是國際上廣泛流行的計算機高級語言。它適合作為系統(tǒng)描述語言,既可以用來編寫系統(tǒng)軟件,也可以來編寫應(yīng)用軟件。 C語言的前身是B語言1960 ALG
3、OL60 離硬件遠,不宜編寫系統(tǒng)程序1963 CPL 離硬件近,但規(guī)模較大,難以實現(xiàn)1967 BCPL 對CPL做了簡化1970 貝爾實驗室以BCPL語言為基礎(chǔ),進一步簡化,設(shè)計 出了很簡單的而且很接近硬件的B語言,并用B語言編寫了一個UNIX操作系統(tǒng),在PDPT上實現(xiàn),此時的B語言過于簡單,功能有限19721973 年間,貝爾實驗室的D.M.Ritchie在B語言的基礎(chǔ)上設(shè)計出了C語言(BCPL) 整理ppt7 C語言既保持了BCPL和B語言的優(yōu)點(精煉,接近硬件)又克服了它們的缺電(過于簡單,數(shù)據(jù)無類型等)。 最近的C語言只是為描述和實現(xiàn)UNIX操作系統(tǒng)提供一種工作語言而設(shè)計的,UNIX原
4、用匯編寫的,后90%用C編寫。 后來,C語言多次作了改進,但主要還是在貝爾實驗室內(nèi)部使用。直到1975年UNIX第6版發(fā)布后,C語言的突出優(yōu)點才引起人們的普遍注意。 1997年出現(xiàn)了不依賴于具體機器的C語言便以文本可移植C語言編譯程序,使C語言移植到其他機器時所需做的工作大大簡化了,這也推動了UNIX操作系統(tǒng)迅速的在各種機器上實現(xiàn)。 隨著UNIX的日益廣泛使用,C語言也迅速得到推廣。C語言和UNIX可以說是一對孿生兄弟,在發(fā)展過程中相輔相成。 整理ppt8 1978年以后,C語言先后移植到大、中、小型計算機上,已獨立于UNIX和PDP了。C語言便很快風(fēng)靡全世界,成為世界上應(yīng)用最廣泛的幾種計算機
5、語言之一。 1983年,美國國家標(biāo)準(zhǔn)化協(xié)會(ANSI)根據(jù)C語言問世以來各種版本對C語言的發(fā)展和補充,制定了新的標(biāo)準(zhǔn),成為ANSI C。ANSI C比后來的標(biāo)準(zhǔn)C有了很大的發(fā)展。 1987年,ANSI又公布了新標(biāo)準(zhǔn)- 87 ANSI C 1990年,國際標(biāo)準(zhǔn)組織ISO接受87 ANSIC為ISO的標(biāo)準(zhǔn)。 1994年,ISO修訂了C語言標(biāo)準(zhǔn)。 目前流行的C語言編譯系統(tǒng)大多是以ANSI C為基礎(chǔ)進行開發(fā)的,但不同版本的C編譯系統(tǒng)所實現(xiàn)的語言功能及語法規(guī)則又略有差別,本書基本上已ANSI C為基礎(chǔ)。 整理ppt91.2 C語言的特點 一種語言之所以存在和發(fā)展, 并具有較強的生命力,總之有起不同于(或
6、優(yōu)于)其他語言的特點. C語言的主要特點如下:語言簡潔、緊湊,使用方便、靈活。C語言一共只有32個關(guān)鍵字,9種控制語句,程序書寫形式自由,主要用小寫字母表示,壓縮了一切不必要的成分。比其他許多高級語言簡潔,源程序短,因此輸入工程時工作量少.整理ppt10 運算符豐富。C的運算符包含的范圍很廣泛,共有34種運算符。C把括號、賦值、強制類型轉(zhuǎn)換等都作為運算符處理,從而使C的運算類型極其豐富,表達式類型多樣化。靈活使用各種運算符可以實現(xiàn)在其他高級語言中難以實現(xiàn)的運算. 數(shù)據(jù)結(jié)構(gòu)豐富,具有現(xiàn)代化語言的各種數(shù)據(jù)結(jié)構(gòu)。C的數(shù)據(jù)類型有整型、實型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型、共用體類型等。能用來實
7、現(xiàn)各種復(fù)雜的數(shù)據(jù)結(jié)構(gòu)(如鏈表、樹、棧等)的運算。尤其是指針,只C存在于C語言和Pascal語言中。整理ppt11具有結(jié)構(gòu)化的控制語句(如ifelse語句、while語句、dowhile語句、switch語句、for語句)。用函數(shù)作為程序的模塊單位,便于實現(xiàn)程序的模塊化。C是良好的結(jié)構(gòu)化語言, 符合現(xiàn)代編程風(fēng)格的要求。生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。C語言一般只比匯編程序生成的目標(biāo)代碼效率低10%-20%。整理ppt12語法限制不太嚴(yán)格,程序設(shè)計自由度大。一般的高級語言語言語法檢查比較嚴(yán)格,能檢查出幾乎所有的語法錯誤,而C語言允許程序員有較大的自由度,因此放寬了語法檢查。程序員應(yīng)當(dāng)仔細(xì)檢查程
8、序,保證其正確,而不要過分依賴C語言編譯程序去查錯。 “限制”與“靈活”是一對矛盾。一個不熟悉的人員,編一個正確的C語言程序可能比編一個其他高級語言程序難一些。也就是對C語言的人,要求對程序設(shè)計更熟練一些。例如對數(shù)組下標(biāo)越界不做檢查,由程序編寫者自己保證程序的正確。對變量的類型使用比較靈活,例如整型數(shù)據(jù)與字符型數(shù)據(jù)可以通用。整理ppt13 C語言允許直接訪問物理地址,能進行位(bit)操作,能實現(xiàn)匯編語言的大部分功能,可以直接對硬件進行操作。因此C語言既有高級語言的功能,又具有低級語言的許多功能,可用來編寫系統(tǒng)軟件。C語言的這種雙重性,有人把它成為“高級語言中的低級語言”或“中級語言 ”。 用
9、C語言寫的程序可移植性好(與匯編語言比)。基本上不作修改就能用于各種型號的計算機和各種操作系統(tǒng)。整理ppt14從應(yīng)用方面來看:語言較難學(xué)。初學(xué)者:BASIC FORTRAN科學(xué)計算:FORTRAN數(shù)據(jù)處理:COBOL(銀行系統(tǒng))系統(tǒng)軟件:語言有些大型軟件:C語言 教學(xué)角度:PASCAL(單一結(jié)構(gòu)化語言)但大多數(shù)高校已用C語言取代了PASCAL語言。整理ppt15 目前C語言成了學(xué)習(xí)和使用人數(shù)最多的一種計算機語言。熟練掌握C語言成為計算機開發(fā)人員的一項基本功。 近年來,面向?qū)ο蟮腃+語言在我國逐漸得到推廣。但是不應(yīng)認(rèn)為:C過時了,應(yīng)學(xué)C+,不學(xué)C C+是為解決編寫大型軟件的問題而產(chǎn)生的,學(xué)起來比
10、C語言困難得多。將來并不是所有的人都去編寫大型軟件。因此,在發(fā)達國家的大學(xué)中,C語言仍是一門重要的課程,是大學(xué)生的一種基本的選擇。掌握了C,日后再學(xué)C+是不會太困難的。 整理ppt161.3 簡單的C程序介紹 下面介紹幾個簡單的C語言程序,然后從中分析C語言程序的特點?!纠?1.1】輸出一行信息。 本程序的作用是輸出以下一行信息: This is a C program.#include void main ( ) printf (This is a C program.n); 整理ppt17【例 1.2 】求兩數(shù)之和。 本程序的作用是求兩個整數(shù)a和b之和sum。程序運行時輸出以下信息: su
11、m is 579#include void main ( ) /*求兩數(shù)之和*/ int a,b,sum; /*這是聲明部分,定義變量a,b,sum為整型*/ a=123; b=456; /* 以下3行為C語句 */ sum=a+b; printf (sum is %dn, sum);整理ppt18【例1.3】求2個數(shù)中較大者。 #include void main ( ) /* 主函數(shù)*/ int max(int x,int y); /*對被調(diào)用函數(shù)max的聲明*/ int a, b, c; /*聲明部分,定義變量*/ scanf (%d,%d ,&a,&b); /*輸入變量
12、a和b的值*/ c=max (a,b); /*調(diào)用max函數(shù),將得到的值賦給c*/ printf (max=%dn,c); /*輸出c的值*/int max(int x,int y) /* 定義max函數(shù),函數(shù)值為整型*/ int z; /*max函數(shù)中的聲明部分*/ if (xy) z=x; else z=y; return (z); /*將z的值返回,通過max帶回調(diào)用函數(shù)的位置*/整理ppt19例1.3中程序包括兩個函數(shù):主函數(shù)main和被調(diào)用的函數(shù)max。 max函數(shù)的作用是將x和y中較大者的值賦給變量z。return語句將z的值返回給主調(diào)函數(shù)main。返回值是通過函數(shù)名max帶回到m
13、ain函數(shù)的調(diào)用處。 程序第4行是對被調(diào)用函數(shù)max的聲明。 main函數(shù)中的scanf是“輸入函數(shù)”的名字。程序中scanf函數(shù)的作用是輸入a和b的值。&a和&b中的“&”的含義是“取地址”,此scanf函數(shù)的作用是將兩個數(shù)值分別輸入到變量a和b的地址所標(biāo)志的單元中,也就是輸入給變量a和b。 程序第7行為調(diào)用max函數(shù),在調(diào)用時將實際參數(shù)a和b的值分別傳送給max函數(shù)中的形式參數(shù)x和y。經(jīng)過執(zhí)行max函數(shù)得到一個返回值(即max函數(shù)中變量z的值),把這個值賦給變量c。然后輸出c的值。printf函數(shù)中雙引號內(nèi)的“max=%dn”,在輸出時,將 “max =”原樣輸出,
14、“%d”將由c的值取代之,“n”執(zhí)行換行。整理ppt20通過以上幾個例子,可以看到:C程序是由函數(shù)構(gòu)成的。一個C源程序至少且僅包含一個main函數(shù),也可以包含一個main函數(shù)和若干個其他函數(shù)。因此,函數(shù)是C程序的基本單位。 被調(diào)用的函數(shù)可以使系統(tǒng)提供的庫函數(shù),也可以是用戶根據(jù)需要自己定義的函數(shù)。編寫C程序就是編寫一個個函數(shù),ANSIC提供一百多個庫函數(shù),Tuboc提供三百多個庫函數(shù)。一個函數(shù)由兩部分組成: 1)函數(shù)的首部,即函數(shù)的第一行。包括函數(shù)名、函數(shù)類型、函數(shù)屬性、函數(shù)參數(shù)(形參)名、參數(shù)類型。 例如,例1.3中的max函數(shù)的首部為int max (int x , int y ) 函數(shù)類型
15、 函數(shù)名 函數(shù)參數(shù)類型 函數(shù)參數(shù)名 函數(shù)參數(shù)類型 函數(shù)參數(shù)名 2)函數(shù)體,即函數(shù)首部下面的大括弧內(nèi)的部分。如果一個函數(shù)內(nèi)有多個大括弧,則最外層的一對 為函數(shù)體的范圍。 函數(shù)體一般包括: 聲明部分;執(zhí)行部分。整理ppt21 一個C程序總是從main函數(shù)開始執(zhí)行的,而不論main函數(shù)在整個程序中的位置如何(main函數(shù)可以放在程序最前頭,也可以放在程序最后,或在一些函數(shù)之前,在另一些函數(shù)之后)。 C程序書寫格式自由,一行內(nèi)可以寫幾個語句, 一個語句可以分寫在多行上。沒有行號。 每個語句和數(shù)據(jù)定義的最后必須有一個分號。分號是C語句的必要組成部分。 C語言本身沒有輸入輸出語句。輸入和輸出的操作是由庫函
16、數(shù)scanf和printf等函數(shù)來完成的。 可以用/*/對C程序中的任何部分作注釋。一個好的、有使用價值的源程序都應(yīng)當(dāng)加上必要的注釋,以增加程序的可讀性。整理ppt221.4 運行C程序的步驟與方法 在編好一個C源程序后,如何上機運行呢? 在紙上寫好一個程序后,要經(jīng)過以下幾個步驟:上機輸入與編輯源程序?qū)υ闯绦蜻M行編譯與庫函數(shù)連接運行目標(biāo)程序這樣幾個步驟。以上過程如圖1.1所示。其中實線表示操作流程,虛線表示文件的輸入輸出。圖1.1整理ppt23一、運行C程序的步驟:上機輸入程序?qū)υ闯绦蜃儺惻c庫函數(shù)鏈接運行目標(biāo)程序。源程序文件為.C,編譯后得到目標(biāo)文件.obj, 與庫函數(shù)連接后,得到可執(zhí)行的目標(biāo)程序為.exe 最后運行.exe。二、上機運行程序的方法:機房已經(jīng)安裝Turbo C環(huán)境以下按此版本講授V C+等有導(dǎo)論講。、進入Turbo C環(huán)境()點Windows桌面左下角的“開始”按鈕()鼠標(biāo)移到“程序”按鈕,在右邊菜單中找c:命令提示符,單擊或者移到運行單擊,在窗口中輸入cmd,按確定。()此時在DOS狀態(tài)下。輸入DOS命令CD TC 按回車TC按回車進入TC
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 五年級上冊數(shù)學(xué)教學(xué)設(shè)計-第三單元第1課時 因數(shù)與倍數(shù) 北師大版
- 一年級下冊數(shù)學(xué)教案-綜合實踐 趣味拼擺| 青島版(五四學(xué)制)
- 學(xué)習(xí)2025年雷鋒精神六十二周年主題活動實施方案 (3份)-54
- 2025年河南測繪職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫帶答案
- 2025年廣西安全工程職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫含答案
- 2025年廣東金融學(xué)院單招職業(yè)適應(yīng)性測試題庫完整
- 2025年貴州航天職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫一套
- 2025福建省安全員考試題庫及答案
- 2025年度幼兒園教職工被辭退勞動權(quán)益保護合同
- 2025年度幼兒園實習(xí)教師培養(yǎng)與就業(yè)服務(wù)協(xié)議
- 二年級下冊計算小能手帶答案
- 2024年臨滄市工業(yè)產(chǎn)業(yè)發(fā)展集團限公司招聘2名公開引進高層次人才和急需緊缺人才筆試參考題庫(共500題)答案詳解版
- 2023年3月云南專升本大??肌堵糜螌W(xué)概論》試題及答案
- 一年級趣味數(shù)學(xué)幾和第幾
- 2024年西安電力高等??茖W(xué)校單招職業(yè)技能測試題庫及答案解析
- 2024年中國科學(xué)技術(shù)大學(xué)創(chuàng)新班物理試題答案詳解
- 方案優(yōu)缺點對比表模板
- 中職數(shù)學(xué)基礎(chǔ)模塊上冊學(xué)業(yè)水平考試第四章三角函數(shù)單元測試及參考答案
- 數(shù)據(jù)真實性承諾書
- 山東信息職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試參考試題庫(含答案)
- 充電站風(fēng)險管理的法律法規(guī)研究
評論
0/150
提交評論