C語言程序設(shè)計課件 第1章_第1頁
C語言程序設(shè)計課件 第1章_第2頁
C語言程序設(shè)計課件 第1章_第3頁
C語言程序設(shè)計課件 第1章_第4頁
C語言程序設(shè)計課件 第1章_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第1章概述1.1程序設(shè)計語言1.2C語言的發(fā)展歷史和特點1.3簡單的C程序示例1.4C語言上機(jī)環(huán)境本章小結(jié)

1.1程序設(shè)計語言

1.機(jī)器語言

機(jī)器語言是計算機(jī)唯一能直接接收和執(zhí)行的語言,由二進(jìn)制碼組成。每一串二進(jìn)制碼稱為一條指令。一條指令規(guī)定了計算機(jī)執(zhí)行的一個動作。機(jī)器語言的主要優(yōu)點在于執(zhí)行速度極快,因為它不需要任何轉(zhuǎn)換即可直接由計算機(jī)執(zhí)行;缺點是其采用二進(jìn)制碼表示指令,人工記憶十分困難,另外,采用機(jī)器語言編寫的計算機(jī)程序具有不可移植性,即對某一種體系結(jié)構(gòu)的計算機(jī)編寫的計算機(jī)程序,在另一種體系結(jié)構(gòu)的計算機(jī)上不能運行。

2.匯編語言

機(jī)器語言難學(xué)、難記、難修改,僅適用于專業(yè)人員。為了簡化編程,計算機(jī)科學(xué)家們將機(jī)器語言的每一條指令采用助記符表示,即實現(xiàn)機(jī)器語言符號化。

采用匯編語言編寫的計算機(jī)程序必須翻譯為機(jī)器語言后,計算機(jī)才能識別運行,這些助記符經(jīng)過匯編器翻譯成機(jī)器語言,這種翻譯程序稱為匯編程序,對應(yīng)的過程稱為匯編過程。匯編語言的出現(xiàn)降低了編程難度,提高了編程效率。

3.高級語言

機(jī)器語言和匯編語言都是面向機(jī)器的語言,屬于低級語言。高級語言是一種接近于自然語言和數(shù)學(xué)公式的程序設(shè)計語言。它采用了完全符號化的描述形式,用類似自然語言的形式描述對問題的處理過程,用數(shù)學(xué)表達(dá)式的形式描述對數(shù)據(jù)的計算過程。高級語言的優(yōu)點是通用性強(qiáng),編程效率高。它使程序員可以不用與計算機(jī)的硬件打交道,可以不必了解機(jī)器語言的指令系統(tǒng),可集中精力解決問題,這極大地提高了編程效率。高級語言具有可移植性及易學(xué)、易記等特點。

1.2C語言的發(fā)展歷史和特點

1.2.1C語言的發(fā)展歷史20世紀(jì)70年代初,編寫計算機(jī)系統(tǒng)軟件時人們使用了一種符號法的自展組合編程語言BCPL。BCPL進(jìn)一步發(fā)展為一種系統(tǒng)軟件描述語言,即B語言。BCPL是在CPL(CombinedProgrammingLanguage)的基礎(chǔ)上開發(fā)的,而CPL可以追溯到最早的程序設(shè)計語言之一—ALGOL60語言。

1972年,美國貝爾實驗室的丹尼斯·里奇(DennisM.Ritchie)在B語言的基礎(chǔ)上設(shè)計出了C語言。

目前流行的C語言編譯系統(tǒng)大多是以89ANSIC為基礎(chǔ)進(jìn)行開發(fā)的,但不同版本的C編譯系統(tǒng)所實現(xiàn)的語言功能和語法規(guī)則又略有差別。不同的編譯器開發(fā)商在遵照C語言標(biāo)準(zhǔn)的基礎(chǔ)上,對標(biāo)準(zhǔn)新增了一些特性(如增加了圖形圖像處理能力)或增加了特定的庫函數(shù)。

1.2.2C語言的特點

(1)?C語言有豐富的運算符。

(2)?C語言有豐富的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型。

(3)?C語言是結(jié)構(gòu)化程序設(shè)計語言。

(4)?C語言是模塊化語言。

(5)任何一個C程序有且僅有一個稱為主函數(shù)的main()函數(shù)。

(6)?C語言有豐富的預(yù)處理功能。

(7)?C語言是面向過程的語言,其函數(shù)采用面向過程的思想進(jìn)行設(shè)計。

(8)?C程序具有可移植性。不同的程序員可以在不同的平臺上設(shè)計實現(xiàn)某一大型軟件中的子功能,然后在另一平臺上進(jìn)行組裝,構(gòu)成該大型軟件。

1.3簡單的C程序示例

1.3.1C程序的構(gòu)成與書寫格式1.C程序的構(gòu)成

2.C程序的書寫格式

在編輯C語言源程序時,需注意以下幾點。

(1)?C程序既可采用塊注釋方法,也可采用行注釋方法。塊注釋的書寫格式如下:

/*注釋部分*/

行注釋的書寫格式如下:

//從此處開始至行末尾,為行注釋內(nèi)容

注釋部分只為了提高程序的可讀性,不參與程序的編譯和運行。書寫時要注意“/”與“*”之間或“*”與“/”之間不能有空格。

(2)?C語言一般采用小寫字母作為標(biāo)識符。而BASIC語言中,一般采用大寫字母作為標(biāo)識符。

(3)?C語言是區(qū)分字母大小寫的。如“MAX”“max”和“Max”表示的是3個不同的標(biāo)識符。

(4)?C程序書寫格式靈活,一個語句可連續(xù)寫在多行上,一行也可以寫多個語句。如例1-2中的max函數(shù)可以寫成如下形式:

intmax(inta,intb){returna>b?a:b;}

(5)為了使書寫的程序結(jié)構(gòu)清晰、層次分明,建議采用“右縮進(jìn)對齊”的格式編輯C語言源程序,即同一結(jié)構(gòu)層次的語句左對齊,結(jié)構(gòu)下的語句相對于結(jié)構(gòu)本身而言向右縮進(jìn)。

1.3.2良好的編程風(fēng)格

關(guān)于良好的編程風(fēng)格,有以下幾點建議可供初學(xué)者參考:

(1)采用一致的命名規(guī)范。

(2)采用適當(dāng)?shù)目s進(jìn)和空格。

(3)添加注釋和文檔。

(4)使代碼模塊化和函數(shù)化。

(5)避免過長的函數(shù)和代碼行。

1.4C語言上機(jī)環(huán)境

1.4.1程序的編譯與編程環(huán)境1.程序的編譯利用C語言編寫的程序稱為源程序(.c),翻譯成的機(jī)器語言程序稱為目標(biāo)程序(.obj),將目標(biāo)程序鏈接后生成的程序稱為可執(zhí)行程序(.exe)??蓤?zhí)行程序是我們在使用計算機(jī)時能運行的程序。程序的鏈接要用到系統(tǒng)的庫函數(shù)(即編譯器廠商按C語言標(biāo)準(zhǔn)提供的事先編譯好的函數(shù),供用戶在編程時使用)。C語言的很多功能也是由庫函數(shù)完成的。

2.程序的編譯環(huán)境

“工欲善其事,必先利其器”,編程環(huán)境是開發(fā)人員用來編寫、調(diào)試和管理源代碼的工具集合,它提供了一個集成開發(fā)環(huán)境(IDE),以提高開發(fā)效率。用于C語言程序開發(fā)的工具軟件非常豐富,常用的有MicrosoftVisualC++(簡稱VisualC++)系列軟件、Code::Blocks、QtCreator、Dev-C++、Clang等。

1.4.2C語言程序的開發(fā)過程

開發(fā)C語言程序的步驟如下:

(1)在編輯窗口中錄入或修改C/C++源程序,其文件擴(kuò)展名為“.c”或“.cpp”。

(2)用編譯(Compile)命令對源程序文件進(jìn)行編譯,生成與源程序文件同名的二進(jìn)制目標(biāo)程序文件,其擴(kuò)展名為“.obj”。

(3)用組建(Build)命令對工程或解決方案進(jìn)行編譯與鏈接,為每個工程生成相應(yīng)的與工程同名的可執(zhí)行程序文件,其擴(kuò)展名為“.exe”。

(4)運行與調(diào)試。

上述步驟中,由于步驟(3)包含了步驟(2),所以一般不需要對步驟(2)進(jìn)行單獨操作。因此,用VisualC++2010Express開發(fā)C語言程序時,只要反復(fù)進(jìn)行步驟(1)、(3)和步驟(4)即可。C語言程序的開發(fā)過程如圖1-1所示。

圖1-1C語言程序的開發(fā)過程

1.4.3VisualC++2010Express上機(jī)操作

1.啟動VisualC++2010Express

如果Windows操作系統(tǒng)中已經(jīng)安裝好VisualC++2010Express,則可在Windows桌面雙擊該軟件圖標(biāo)或在“開始”菜單中選擇該軟件以啟動VisualC++2010Express,也可在Windows“開始”菜單的“運行”命令輸入框中輸入命令“VCExpress”以啟動VisualC++2010Express。VisualC++2010Express啟動后的主界面如圖1-2所示。

圖1-2VisualC++2010Express的主界面

2.新建Project與Solution

在VisualC++2010Express開發(fā)環(huán)境下,C程序按“解決方案(Solution)”→“工程(Project)”→“文件(File)”的層次結(jié)構(gòu)進(jìn)行組織。解決方案用于組織和管理一個或多個工程,每個工程由一個或多個源程序文件和頭文件所構(gòu)成。同一工程中,可以有多個源程序文件,但只能有一個main()函數(shù)。

在VisualC++2010Express起始頁(StartPage)中單擊“NewProject...”(如圖1-2所示),或在主菜單中單擊“File”→“New”→“Project...”(如圖1-3所示),打開如圖1-4所示的新建工程(NewProject)對話框。

圖1-3VisualC++2010Express新建工程的命令選項

圖1-4新建工程時設(shè)置工程名、存放位置、解決方案名

在圖1-4中完成設(shè)置后,單擊“OK”→“Next”,將彈出如圖1-5所示的應(yīng)用程序設(shè)置(ApplicationSettings)對話框。將應(yīng)用程序類型(Applicationtype)設(shè)置為控制臺應(yīng)用程序(Consoleapplication),并將附加選項(AdditionalOptions)設(shè)置為空工程(Emptyproject)。單擊“Finish”后將彈出如圖1-6所示的界面,在界面左邊的解決方案瀏覽器(SolutionExplorer)中可查看到剛剛新建的解決方案名及工程名。

圖1-5應(yīng)用程序設(shè)置(ApplicationSettings)對話框

圖1-6在解決方案瀏覽器(SolutionExplorer)中查看新建的解決方案名及工程名

3.在Project中添加并編輯源程序

如圖1-7所示,在解決方案瀏覽器(SolutionExplorer)中,若欲為工程添加新文件(C語言源程序、頭文件等),可依次單擊工程名(如圖1-7中的“myProject_1”)右鍵菜單中的子菜單項“Add”→“NewItem...”,打開添加C語言源程序等文件的設(shè)置對話框(如圖1-8所示)。在該對話框中,設(shè)置文件類型為“C++File”,文件名(Name)自定義(如圖1-8中命名為“myCode_1.c”),文件位置(Location)默認(rèn)為工程所在位置(如圖1-8中的“D:\mySolution\myProject_1\”,表示文件的存儲位置是之前新建的D盤根目錄下的解決方案文件夾mySolution下的工程文件夾myProject_1)。

圖1-7為工程添加新文件的命令項

圖1-8為工程添加C語言源程序的設(shè)置對話框

設(shè)置好后,單擊“Add”將出現(xiàn)如圖1-9所示的空白程序編輯窗口。接著,就可以在程序編輯窗口錄入自己編寫的C語言源程序了(示例如圖1-10所示)。

圖1-9C語言源程序的文件名及編輯窗口

圖1-10在編輯窗口中錄入C語言源程序的簡單示例

4.編譯(Compile)

編譯就是把文本形式的C語言源程序文件翻譯為機(jī)器語言形式的目標(biāo)程序文件的過程。

在C語言源程序文件(如myCode_1.c)的文件名上調(diào)出其右鍵菜單,單擊“Compile”;或在選中C語言源程序文件后,單擊主菜單項“Build”的下拉菜單項“Compile”;或在選中C語言源程序文件后,按快捷鍵“Ctrl+F7”,將生成與C語言源程序文件同名的目標(biāo)程序文件(擴(kuò)展名為“.obj”,默認(rèn)存放于所在工程文件夾的Debug子目錄中)。由于編譯操作是針對C語言源程序文件進(jìn)行的,且已經(jīng)包含在隨后介紹的組建(Build)操作中,所以編譯操作一般不必單獨使用。

5.組建(Build)

VisualC++2010Express中的組建操作,相當(dāng)于早期編譯器的編譯與鏈接的組合操作,即先將C語言源程序文件編譯生成目標(biāo)程序文件,然后將整個工程(或解決方案)的所有目標(biāo)程序文件和用到的相關(guān)庫函數(shù)文件進(jìn)行組裝,形成最終的可執(zhí)行程序文件。

在解決方案瀏覽器中,在所選的工程名(如myProject_1)上調(diào)出其右鍵菜單并單擊“Build”;或單擊主菜單項“Build”的下拉菜單項“Build”(后接工程名,如“BuildmyProject_1”),將生成與工程名同名的可執(zhí)行程序文件(擴(kuò)展名為“.exe”,默認(rèn)存放于所在解決方案文件夾的Debug子目錄中),如圖1-11所示。

圖1-11對工程進(jìn)行組建操作的命令項及其執(zhí)行結(jié)果

從圖1-11左邊窗口的解決方案瀏覽器中可以看出,解決方案mySolution中有兩個工程,分別是myProject_1和myProject_2。若想對解決方案中的所有工程進(jìn)行組建操作,則在解決方案瀏覽器的最頂端的解決方案名上調(diào)出其右鍵菜單,并單擊“BuildSolution”;或單擊主菜單項“Build”的下拉菜單項“BuildSolution”;或按快捷鍵“F7”,將生成與各工程名同名的可執(zhí)行程序文件(擴(kuò)展名為“.exe”,默認(rèn)存放于所在解決方案文件夾的Debug子目錄中),如圖1-12所示。

圖1-12對解決方案進(jìn)行組建操作的命令項及其執(zhí)行結(jié)果

6.運行程序

如圖1-13所示,選擇“Debug”→“StartWithoutDebugging”菜單項,或按快捷鍵“Ctrl+F5”,將運行生成的“.exe”文件。程序運行結(jié)果如圖1-14所示,按任意鍵即結(jié)束運行。

圖1-13運行程序的菜單項圖1-14在命令行窗口顯示的程序運行結(jié)果

7.調(diào)試程序

調(diào)試程序是程序設(shè)計過程中一個很重要的環(huán)節(jié)。C語言程序的錯誤主要包括兩大類,一類是語法錯誤,另一類是邏輯設(shè)計錯誤。語法錯誤是指違背了C語言語法規(guī)則而導(dǎo)致的錯誤。語法錯誤分為一般錯誤(error)和警告錯誤(warning)兩種。當(dāng)程序出現(xiàn)一般錯誤時,將不會產(chǎn)生可執(zhí)行程序。當(dāng)程序出現(xiàn)警告錯誤時,通常能夠生成可執(zhí)行程序,但程序運行時可能發(fā)生錯誤,嚴(yán)重的錯誤還會引起死機(jī)現(xiàn)象。所以,警告錯誤比一般錯誤更難修改,程序員應(yīng)該盡量消除警告錯誤。編譯器能找出源程序的語法錯誤,程序員可以根據(jù)錯誤提示信息進(jìn)行修改。

下面介紹VisualC++2010Express查錯方法。

1)利用編譯器查找語法錯誤

如果程序沒有違背C語言的語法規(guī)則,編譯器也沒有提示出錯,而且程序能夠成功運行,但程序執(zhí)行結(jié)果卻與原意不符,這類程序設(shè)計上的錯誤稱為邏輯設(shè)計錯誤或缺陷(Bug)。

如果程序有語法錯誤,則在編譯(Compile或Build)時,VisualC++2010Express的編譯器將在輸出窗口中給出語法錯誤提示信息。錯誤提示信息中一般指出錯誤發(fā)生所在位置的行號。用戶可以在輸出窗口中

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論