




已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第1章步入C的世界HelloC,了解C語言C編程前的準備C常用開發(fā)環(huán)境開始C編程第1個C程序C程序的組成跟我上機,第1章步入C的世界HelloC,了解C語言C編程前的準備C常用開發(fā)環(huán)境開始C編程第1個C程序C程序的組成跟我上機,第1章步入C的世界HelloC,了解C語言C編程前的準備C常用開發(fā)環(huán)境開始C編程第1個C程序C程序的組成跟我上機,第1章步入C的世界HelloC,了解C語言C編程前的準備C常用開發(fā)環(huán)境開始C編程第1個C程序C程序的組成跟我上機,第1章步入C的世界HelloC,了解C語言C編程前的準備C常用開發(fā)環(huán)境開始C編程第1個C程序C程序的組成跟我上機,第1章步入C的世界HelloC,了解C語言C編程前的準備C常用開發(fā)環(huán)境開始C編程第1個C程序C程序的組成跟我上機,1.1了解C語言,1.1.1C的歷史1.1.2C的特點1.1.3為什么要用C,1.1了解C語言,C語言是一種計算機程序設計語言。它既有高級語言的特點,又具有低級匯編語言的特點。它可以作為系統(tǒng)設計語言,編寫工作系統(tǒng)應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬件的應用程序。正因為此,它的應用范圍廣泛。,1.1.1C的歷史,C語言的誕生及發(fā)展歷程如圖所示。,1.1.1C的歷史,第1階段:A語言C語言的發(fā)展頗為有趣,它的原型ALGOL60語言,也成A語言。ALGOL60是一種面向問題的高級語言,它離硬件比較遠,不適合編寫系統(tǒng)程序。ALGOL60也就是算法語言60,它是程序設計語言由技藝轉(zhuǎn)向科學的重要標志,其特點是局部性、動態(tài)性、遞歸性和嚴謹性。,1.1.1C的歷史,第2階段:CPL語言1963年,劍橋大學將ALGOL60語言發(fā)展成為CPL語言(CombinedProgrammingLanguage),CPL語言在ALGOL60的基礎上與硬件接近了一些,但規(guī)模仍然比較宏大,難于實現(xiàn)。,1.1.1C的歷史,第3階段:BCPL語言1967年,劍橋大學馬丁理察斯(MartinRichards)對CPL語言進行了簡化,推出了BCPL語言(BasicCombinedProgrammingLanguage)語言。BCPL語言是計算機軟件人員在開發(fā)系統(tǒng)軟件時作為記述語言使用的一種結構化程序設計語言,它能夠直接處理與機器本身數(shù)據(jù)類型相近的數(shù)據(jù),具有與內(nèi)存地址對應的指針處理方式。,1.1.1C的歷史,第4階段:B語言在1970年代初期,時任美國貝爾實驗室的肯湯普遜將BCPL進行了修改,設計出比較簡單而且很接近硬件的語言,取名B語言。B語言還包括了湯普遜的一些個人偏好比如在一些特定的程序中減少非空格字符的數(shù)量。和BCPL以及FORTH類似,B語言只有一種數(shù)據(jù)類型,計算機字。大部分操作將其作為整數(shù)對待,例如進行+、-、*、/操作,但其余操作將其作為一個復引用的內(nèi)存地址。在許多方面B語言更像是一個早期版本的C語言,它還包括了一些庫函數(shù),其作用類似于C語言中的標準輸入/輸出函數(shù)庫。,1.1.1C的歷史,第5階段:C語言但是由于B語言過于簡單,數(shù)據(jù)沒有類型,功能也有限,美國貝爾實驗室的丹尼斯里奇(DennisM.Ritchie)在B語言的基礎上最終設計出了一種新的語言,他取名C語言,并試著以C編寫Unix。1972年,丹尼斯里奇完成C的設計,并成功地利用C編寫操作系統(tǒng),降低了作業(yè)系統(tǒng)的修改難度。,1.1.1C的歷史,1978年,C語言先后移植到大、中、小、微型計算機上,風靡世界,成為最廣泛的幾種計算機語言之一。1983年,美國國家標準委員會(ANSI)對C語言進行了標準化,于1983年頒布了第一個C語言標準草案(83ANSIC),后來于1987年又頒布了另一個C語言標準草案(87ANSIC)。1994年,ISO修訂了C語言的標準。最新的C語言標準是在1999年頒布并在2000年3月被ANSI采用的C99,正式名稱是ISO/IEC9899:1999。,1.1.2C的特點,1.功能強大、適用范圍大、可移植性好許多著名的系統(tǒng)軟件都是由C語言編寫的。C語言可以像匯編語言一樣對位、字節(jié)和地址進行操作,而這三者是計算機最基本的工作單元。C語言適合于多種操作系統(tǒng),如DOS、UNIX等。對于操作系統(tǒng)、系統(tǒng)使用程序以及需要對硬件進行操作的場合,用C語言明顯優(yōu)于其它解釋型高級語言,一些大型應用軟件也是用C語言編寫的。,1.1.2C的特點,2.運算符豐富C語言的運算符包含的范圍很廣泛,共有34種運算符。C語言把括號、賦值、強制類型轉(zhuǎn)換等都作為運算符處理。從而使C語言的運算類型極其豐富,表達式類型多樣化。靈活使用各種運算符可以實現(xiàn)在其它高級語言中難以實現(xiàn)的運算。運算符的介紹見第4章中的相關內(nèi)容。,1.1.2C的特點,3.數(shù)據(jù)結構豐富C語言的數(shù)據(jù)類型有:整形、實型、字符型、數(shù)組類型、指針類型、結構體類型、共用體類型等。能用來實現(xiàn)各種復雜的數(shù)據(jù)結構的運算。并引入了指針概念,使程序效率更高。指針的介紹見第11、12兩章中的相關內(nèi)容。,1.1.2C的特點,4.C是結構化語言5.C語言允許直接訪問物理地址,可以直接對硬件進行操作6.其他特性,C語言語法限制不太嚴格,語法比較靈活,生成目標代碼質(zhì)量高,程序執(zhí)行效率高。,1.1.3為什么要用C,C語言相比其他高級語言如(C+,Java,C#)是低級語言,它可以讓更好的了解計算機是如何工作的。比如數(shù)據(jù)在內(nèi)存中是如何存儲的,如何直接訪問內(nèi)存中的數(shù)據(jù)等等。可以不夸張的說,C語言是其他任何高級語言的基礎,學好C語言,你就可以更容易掌握其他語言。語言都是相通的,C更專注于語言的實質(zhì),而不需要分散更多精力在集成開發(fā)環(huán)境的使用和抽象的數(shù)據(jù)概念上。C語言執(zhí)行效率高、速度快,這是毋庸置疑的最優(yōu)秀特性。,1.2C編程前的準備C常用開發(fā)環(huán)境,1.2.1認識VisualC+6.01.2.2認識TurboC2.0,1.2C編程前的準備C常用開發(fā)環(huán)境,C語言常用的集成開發(fā)環(huán)境主要有MicrosoftVisualC+6.0、MicrosoftVisualC+.NET、TurboC以及BorlandC+Builder等。,1.2C編程前的準備C常用開發(fā)環(huán)境,1.MicrosoftVisualC+6.0不僅是一個C+編譯器,而且是一個基于Windows操作系統(tǒng)的可視化集成開發(fā)環(huán)境。2.MicrosoftVisualC+.NET或MicrosoftVisualC+2005MicrosoftVisualStudio6.0的后續(xù)版本,是一套完整的開發(fā)工具集,在.NET平臺下,調(diào)用Framework的類庫,功能強大,其中包含了VisualC+開發(fā)組件。3.TurboC美國Borland公司的產(chǎn)品,目前的最常用的版本是TurboC2.0。4.BorlandC+BuilderBorland公司繼Delphi之后又推出的一款高性能集成開發(fā)工具,具有可視化的開發(fā)環(huán)境。,1.2.1認識VisualC+6.0,安裝MicrosoftVisualStudio6.0或單獨安裝VisualC+6.0之后,選擇【開始】【程序】【MicrosoftVisualStudio6.0】【MicrosoftVisualC+6.0】菜單命令,即可啟動VisualC+6.0。,1.2.1認識VisualC+6.0,1.2.1認識VisualC+6.0,1.菜單欄通過菜單欄中的菜單命令,你可以輕松地完成編輯程序和資源、編譯、鏈接及調(diào)試程序等各項工作。常用菜單如下?!綟ile】文件菜單:包含了各種對文件進行操作的選項,如加載、保存、打印和退出等。【Edit】編輯菜單:用來使用戶便捷地編輯文件內(nèi)容,如進行刪除、復制等操作,其中的大多數(shù)命令功能與Windows中的標準字處理程序的編輯命令一致。【View】查看菜單:主要用來改變窗口和工具欄的顯示方式,激活調(diào)試時所用的各個窗口等?!綢nsert】插入菜單:主要用于項目及資源的創(chuàng)建和添加?!綪roject】工程菜單:主要用于項目的操作,如項目中添加源文件等?!綛uild】編譯菜單:主要用來應用程序的編譯、連接、調(diào)試、運行?!綯ools】工具菜單:主要用于選擇或制定開發(fā)環(huán)境中的一些實用工具?!網(wǎng)indows】窗口菜單:主要用于文檔窗口的操作。如排列文檔、打開或關閉一個文檔窗口、重組或切分文檔窗口等?!綡elp】幫助菜單:提供了大量詳細的幫助信息,1.2.1認識VisualC+6.0,2.工具欄工具欄中提供了大部分常用的操作命令3.Workspace(工作區(qū))窗口工作區(qū)窗口共有以下3個標簽,分別代表3種視圖形式。【ClassView(類視圖)】:用以顯示項目中的所有的類信息?!綬esourceView(資源視圖)】:包含了項目中所有資源的層次列表。每一種資源都有自己的圖標。在字符界面或者控制臺界面中沒有該項,只有windows程序下才出現(xiàn)。【FileView(文件視圖)】:可將項目中的所有文件分類顯示,每一類文件在【FileView】頁面中都有自己的目錄項??梢栽谀夸涰椫幸苿游募?,還可以創(chuàng)建新的目錄項,以及將一些特殊類型的文件放在該目錄項中。4.Output(輸出)窗口顯示程序編譯和連接錯誤和警告。5.編輯窗口可進行輸入、修改以及刪除代碼等操作。,1.2.2認識TurboC2.0,1.啟動TurboC2.0命令行方式啟動選擇【開始】【程序】【附件】【命令提示符】,在打開的命令行中輸入TurboC2.0的路徑,如“C:TURBOC2TC”,按【Enter】鍵,即可進入TC集成環(huán)境的主菜單窗口。從Windows環(huán)境進入在WindowsXP環(huán)境中,如果本機中已安裝了TurboC,可以在桌面上建立一個快捷方式,雙擊該快捷方式即可進入C語言開發(fā)環(huán)境?;蛘哌x擇【開始】【運行】,在運行對話框中輸入程序的路徑,單擊【確定】按鈕即可。,1.2.2認識TurboC2.0,2.TurboC2.0開發(fā)環(huán)境介紹TurboC2.0的主界面可以分為四個部分,由上至下分別為:菜單欄、編輯區(qū)、信息區(qū)和功能鍵索引。,1.2.2認識TurboC2.0,1.2.2認識TurboC2.0,菜單欄:包括【File】(文件)菜單、【Edit】(編輯)菜單、【Run】(運行)菜單、【Compile】(編譯)菜單、【Project】(項目)菜單、【Options】(選擇)菜單、【Debug】(調(diào)試)菜單和【Break/watch】(斷點及監(jiān)視)菜單等。編輯區(qū):編輯區(qū)的第一行為編輯狀態(tài)行,用來指示游標所在位置、文件名稱以及編輯相關的狀態(tài)信息。其他為代碼編輯區(qū)域。信息區(qū):顯示程序編譯和連接錯誤和警告。功能鍵索引:TurboC2.0不支持鼠標操作,功能鍵索引給出了功能按鍵的索引號。,1.3了解C語言,1.3.1程序編寫及運行流程1.3.2在VisualC+6.0中開發(fā)C程序1.3.3在TurboC中開發(fā)C程序,1.3.1程序編寫及運行流程,要轉(zhuǎn)換C語言到可執(zhí)行文件,需要借助的工具是編譯器(Compiler),轉(zhuǎn)換的過程叫做編譯。經(jīng)過編譯,生成目標程序,目標文件是機器代碼,還是不能夠直接執(zhí)行的,它需要其他文件或者其他函數(shù)庫輔助,才能生成最終的可執(zhí)行文件,這個過程稱之為連接,使用的工具叫做連接器。,1.3.1程序編寫及運行流程,1.3.2在VisualC+6.0中開發(fā)C程序,【范例1-1】使用VisualC+6.0創(chuàng)建C程序并運行01#include/*包含標準輸入輸出頭文件*/02intmain(void)/*主函數(shù)*/03/*函數(shù)體開始*/04printf(“HelloC!n”);/*函數(shù)體*/05return0;/*返回值*/06/*函數(shù)體結束*/,1.4C程序的組成,1.4.1完整的C程序1.4.2#include的秘密1.4.3程序的入口main函數(shù)1.4.4數(shù)據(jù)集裝箱常量和變量1.4.5何以輸出程序結果輸出函數(shù)1.4.6注釋1.4.7代碼的規(guī)矩,1.4.1完整的C程序,【范例1-2】計算圓的周長。01/*內(nèi)容:計算圓周長02目的:了解C語法*/03#include/*包含標準輸入輸出頭文件*/04#include/*包含數(shù)學函數(shù)庫頭文件*/05#definePI3.14/*定義常量PI,它的值是3.14*/06intmain()/*主函數(shù)*/0708intradius;/*整型變量,存儲半徑值*/09floatcircum;/*浮點型變量,存儲周長值*/10radius=2;/*半徑賦值*/11circum=2*PI*radius;/*計算周長*/12printf(變量radius地址是%dn,/*返回值*/16/*函數(shù)體結束*/,1.4.2#include的秘密,一個C程序可以由有若干個源程序文件組成,每一個源文件可以有由若干個函數(shù)和預處理命令以及全局變量聲明部分組成,每一個函數(shù)有函數(shù)首部和函數(shù)體組成。C程序的結構如下圖所示。,1.4.2#include的秘密,1.4.3程序的入口main函數(shù),每個c程序必須有而且只有一個主函數(shù),也就是main函數(shù),它是程序的入口。使用main函數(shù)有時也作為一種驅(qū)動,按次序控制調(diào)用其他函數(shù),c程序是由函數(shù)構成的,這使得程序容易實現(xiàn)模塊化;main函數(shù)后的“()”不可省略,表示函數(shù)的參數(shù)列表;”“”和“”是函數(shù)開始和結束的標志,不可省略。,1.4.3程序的入口main函數(shù),1.4.3程序的入口main函數(shù),1.4.4數(shù)據(jù)集裝箱常量和變量,常量是不能變動的數(shù)據(jù),還可以理解它為字面值。如在范例1-2代碼的第5行中,定義了1個字符常量PI,并賦值為3.14,后面就可以使用PI來代替3.14。變量是可以改變的量。數(shù)學當中常用到變量x用來表示一個值,比如經(jīng)過計算x的值為2了,再計算y=x*x時,x就代表數(shù)值2,從而可以得到y(tǒng)的值4;又經(jīng)過計算x的值變?yōu)榱?,再進行其他含有x的算式時,x就表示5而不再是2了,像x這樣可以改變的量就稱為變量。如在范例1-2代碼的第8、9行中,定義了2個變量,分別用于存儲半徑和周長的值。關于常量和變量,在第2章中詳細介紹。,1.4.5何以輸出程序結果輸出函數(shù),因為C語言是跨平臺的,在不同的系統(tǒng)上輸入、輸出的處理是不同的,所以C語言不提供輸入/輸出,只是調(diào)用具體平臺操作系統(tǒng)的庫函數(shù)來實現(xiàn)輸入、輸出。在主函數(shù)當中包含了標準輸入輸出頭文件“stdio.h”后,調(diào)用了printf函數(shù),用來實現(xiàn)輸出“HelloC!”的功能。printf()函數(shù)功能是把數(shù)據(jù)發(fā)送到標準系統(tǒng)顯示設備上,并實現(xiàn)格式化輸出,把這樣的數(shù)據(jù)稱為字符串,字符串需要使用雙引號引起來。printf(“HelloC!n”);/*調(diào)用函數(shù)*/,1.4.5何以輸出程序結果輸出函數(shù),進一步對該函數(shù)做解釋需要注意的是有以下幾點:函數(shù)名稱后必須有小括號,不能省略,這是函數(shù)的特征;函數(shù)結束必須有分號,不能省略;字符串結尾有這樣的內(nèi)容“n”,它叫做轉(zhuǎn)義符,表示的含義是把光標移動到下一行的行首,也就是回車換行,因為無法直接通過鍵盤輸入換行的指令,所以需要使用轉(zhuǎn)移符;又比如輸出內(nèi)容后希望返回到該行的行首,重新輸出內(nèi)容,鍵盤上也沒有對應的功能鍵,就可以使用回車符轉(zhuǎn)義符“r“,來代替。當然義移還包含其他內(nèi)容,后續(xù)章節(jié)中會詳細講述。,1.4.6注釋,大家已經(jīng)注意到,很多語句后面都跟有“/*”和“*/”符號,它表示什么含義呢?在前文已經(jīng)說過,在編輯代碼的過程中,希望加上一些說明的文字,來表示代碼的含義,這是很有必要的。,1.4.6注釋,注釋的要求如下。使用“/*”和“*/”表示注釋的起止,注釋內(nèi)容寫在這兩個符號之間,注釋表示對某語句的說明,不屬于是程序的代碼的范疇,比如范例1-1和1-2代碼中“/*”和“*/”之間的內(nèi)容。“/”和“*”之間沒有空格。注釋可以注釋單行也可以注釋多行,而且注釋不允許嵌套,嵌套是會產(chǎn)生錯誤的,比如:/*這樣的注釋/*特別*/有用*/這段放在程序
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 產(chǎn)品好評與市場占有率分析
- 神木職業(yè)技術學院《成本會計》2023-2024學年第一學期期末試卷
- 九江職業(yè)大學《制藥分離工程A》2023-2024學年第一學期期末試卷
- 鄭州職業(yè)技術學院《學術英語寫作一》2023-2024學年第一學期期末試卷
- 家園互動活動方案
- 宴會第三季度活動方案
- 安排義診活動方案
- 小學勤勞活動方案
- 家務活動擺碗筷活動方案
- 家庭整治蟑螂活動方案
- 建筑工程管理考試模擬題及答案
- 浙江省“桐浦富興”教研聯(lián)盟2024-2025學年高一下學期6月學考模擬化學試卷(含答案)
- 北京市2025學年高二(上)第一次普通高中學業(yè)水平合格性考試物理試題(原卷版)
- 2025年浙江省學考歷史總復習模擬卷(二)(原卷版)
- 2025年高考河北卷物理高考真題+解析(參考版)
- 中醫(yī)老人保健講座課件
- -2024-2025學年統(tǒng)編版語文二年級下冊 期末復習練習題(含答案)
- 2025至2030中國室內(nèi)滑雪場行業(yè)項目調(diào)研及市場前景預測評估報告
- 2025四川綿陽市平武縣興幫農(nóng)業(yè)發(fā)展集團有限公司招聘10人筆試參考題庫附帶答案詳解
- 2025年中國融通農(nóng)業(yè)發(fā)展有限集團有限公司招聘筆試沖刺題(帶答案解析)
- 建筑施工內(nèi)審檢查表(各部門完整)(共13頁)
評論
0/150
提交評論