![C語言程序設(shè)計(jì)課件 第1章_第1頁](http://file4.renrendoc.com/view7/M01/06/05/wKhkGWcM99aAFhqdAAD0Xd2vHhg478.jpg)
![C語言程序設(shè)計(jì)課件 第1章_第2頁](http://file4.renrendoc.com/view7/M01/06/05/wKhkGWcM99aAFhqdAAD0Xd2vHhg4782.jpg)
![C語言程序設(shè)計(jì)課件 第1章_第3頁](http://file4.renrendoc.com/view7/M01/06/05/wKhkGWcM99aAFhqdAAD0Xd2vHhg4783.jpg)
![C語言程序設(shè)計(jì)課件 第1章_第4頁](http://file4.renrendoc.com/view7/M01/06/05/wKhkGWcM99aAFhqdAAD0Xd2vHhg4784.jpg)
![C語言程序設(shè)計(jì)課件 第1章_第5頁](http://file4.renrendoc.com/view7/M01/06/05/wKhkGWcM99aAFhqdAAD0Xd2vHhg4785.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1章概述1.1程序設(shè)計(jì)語言1.2C語言的發(fā)展歷史和特點(diǎn)1.3簡(jiǎn)單的C程序示例1.4C語言上機(jī)環(huán)境本章小結(jié)
1.1程序設(shè)計(jì)語言
1.機(jī)器語言
機(jī)器語言是計(jì)算機(jī)唯一能直接接收和執(zhí)行的語言,由二進(jìn)制碼組成。每一串二進(jìn)制碼稱為一條指令。一條指令規(guī)定了計(jì)算機(jī)執(zhí)行的一個(gè)動(dòng)作。機(jī)器語言的主要優(yōu)點(diǎn)在于執(zhí)行速度極快,因?yàn)樗恍枰魏无D(zhuǎn)換即可直接由計(jì)算機(jī)執(zhí)行;缺點(diǎn)是其采用二進(jìn)制碼表示指令,人工記憶十分困難,另外,采用機(jī)器語言編寫的計(jì)算機(jī)程序具有不可移植性,即對(duì)某一種體系結(jié)構(gòu)的計(jì)算機(jī)編寫的計(jì)算機(jī)程序,在另一種體系結(jié)構(gòu)的計(jì)算機(jī)上不能運(yùn)行。
2.匯編語言
機(jī)器語言難學(xué)、難記、難修改,僅適用于專業(yè)人員。為了簡(jiǎn)化編程,計(jì)算機(jī)科學(xué)家們將機(jī)器語言的每一條指令采用助記符表示,即實(shí)現(xiàn)機(jī)器語言符號(hào)化。
采用匯編語言編寫的計(jì)算機(jī)程序必須翻譯為機(jī)器語言后,計(jì)算機(jī)才能識(shí)別運(yùn)行,這些助記符經(jīng)過匯編器翻譯成機(jī)器語言,這種翻譯程序稱為匯編程序,對(duì)應(yīng)的過程稱為匯編過程。匯編語言的出現(xiàn)降低了編程難度,提高了編程效率。
3.高級(jí)語言
機(jī)器語言和匯編語言都是面向機(jī)器的語言,屬于低級(jí)語言。高級(jí)語言是一種接近于自然語言和數(shù)學(xué)公式的程序設(shè)計(jì)語言。它采用了完全符號(hào)化的描述形式,用類似自然語言的形式描述對(duì)問題的處理過程,用數(shù)學(xué)表達(dá)式的形式描述對(duì)數(shù)據(jù)的計(jì)算過程。高級(jí)語言的優(yōu)點(diǎn)是通用性強(qiáng),編程效率高。它使程序員可以不用與計(jì)算機(jī)的硬件打交道,可以不必了解機(jī)器語言的指令系統(tǒng),可集中精力解決問題,這極大地提高了編程效率。高級(jí)語言具有可移植性及易學(xué)、易記等特點(diǎn)。
1.2C語言的發(fā)展歷史和特點(diǎn)
1.2.1C語言的發(fā)展歷史20世紀(jì)70年代初,編寫計(jì)算機(jī)系統(tǒng)軟件時(shí)人們使用了一種符號(hào)法的自展組合編程語言BCPL。BCPL進(jìn)一步發(fā)展為一種系統(tǒng)軟件描述語言,即B語言。BCPL是在CPL(CombinedProgrammingLanguage)的基礎(chǔ)上開發(fā)的,而CPL可以追溯到最早的程序設(shè)計(jì)語言之一—ALGOL60語言。
1972年,美國貝爾實(shí)驗(yàn)室的丹尼斯·里奇(DennisM.Ritchie)在B語言的基礎(chǔ)上設(shè)計(jì)出了C語言。
目前流行的C語言編譯系統(tǒng)大多是以89ANSIC為基礎(chǔ)進(jìn)行開發(fā)的,但不同版本的C編譯系統(tǒng)所實(shí)現(xiàn)的語言功能和語法規(guī)則又略有差別。不同的編譯器開發(fā)商在遵照C語言標(biāo)準(zhǔn)的基礎(chǔ)上,對(duì)標(biāo)準(zhǔn)新增了一些特性(如增加了圖形圖像處理能力)或增加了特定的庫函數(shù)。
1.2.2C語言的特點(diǎn)
(1)?C語言有豐富的運(yùn)算符。
(2)?C語言有豐富的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型。
(3)?C語言是結(jié)構(gòu)化程序設(shè)計(jì)語言。
(4)?C語言是模塊化語言。
(5)任何一個(gè)C程序有且僅有一個(gè)稱為主函數(shù)的main()函數(shù)。
(6)?C語言有豐富的預(yù)處理功能。
(7)?C語言是面向過程的語言,其函數(shù)采用面向過程的思想進(jìn)行設(shè)計(jì)。
(8)?C程序具有可移植性。不同的程序員可以在不同的平臺(tái)上設(shè)計(jì)實(shí)現(xiàn)某一大型軟件中的子功能,然后在另一平臺(tái)上進(jìn)行組裝,構(gòu)成該大型軟件。
1.3簡(jiǎn)單的C程序示例
1.3.1C程序的構(gòu)成與書寫格式1.C程序的構(gòu)成
2.C程序的書寫格式
在編輯C語言源程序時(shí),需注意以下幾點(diǎn)。
(1)?C程序既可采用塊注釋方法,也可采用行注釋方法。塊注釋的書寫格式如下:
/*注釋部分*/
行注釋的書寫格式如下:
//從此處開始至行末尾,為行注釋內(nèi)容
注釋部分只為了提高程序的可讀性,不參與程序的編譯和運(yùn)行。書寫時(shí)要注意“/”與“*”之間或“*”與“/”之間不能有空格。
(2)?C語言一般采用小寫字母作為標(biāo)識(shí)符。而BASIC語言中,一般采用大寫字母作為標(biāo)識(shí)符。
(3)?C語言是區(qū)分字母大小寫的。如“MAX”“max”和“Max”表示的是3個(gè)不同的標(biāo)識(shí)符。
(4)?C程序書寫格式靈活,一個(gè)語句可連續(xù)寫在多行上,一行也可以寫多個(gè)語句。如例1-2中的max函數(shù)可以寫成如下形式:
intmax(inta,intb){returna>b?a:b;}
(5)為了使書寫的程序結(jié)構(gòu)清晰、層次分明,建議采用“右縮進(jìn)對(duì)齊”的格式編輯C語言源程序,即同一結(jié)構(gòu)層次的語句左對(duì)齊,結(jié)構(gòu)下的語句相對(duì)于結(jié)構(gòu)本身而言向右縮進(jìn)。
1.3.2良好的編程風(fēng)格
關(guān)于良好的編程風(fēng)格,有以下幾點(diǎn)建議可供初學(xué)者參考:
(1)采用一致的命名規(guī)范。
(2)采用適當(dāng)?shù)目s進(jìn)和空格。
(3)添加注釋和文檔。
(4)使代碼模塊化和函數(shù)化。
(5)避免過長(zhǎng)的函數(shù)和代碼行。
1.4C語言上機(jī)環(huán)境
1.4.1程序的編譯與編程環(huán)境1.程序的編譯利用C語言編寫的程序稱為源程序(.c),翻譯成的機(jī)器語言程序稱為目標(biāo)程序(.obj),將目標(biāo)程序鏈接后生成的程序稱為可執(zhí)行程序(.exe)??蓤?zhí)行程序是我們?cè)谑褂糜?jì)算機(jī)時(shí)能運(yùn)行的程序。程序的鏈接要用到系統(tǒng)的庫函數(shù)(即編譯器廠商按C語言標(biāo)準(zhǔn)提供的事先編譯好的函數(shù),供用戶在編程時(shí)使用)。C語言的很多功能也是由庫函數(shù)完成的。
2.程序的編譯環(huán)境
“工欲善其事,必先利其器”,編程環(huán)境是開發(fā)人員用來編寫、調(diào)試和管理源代碼的工具集合,它提供了一個(gè)集成開發(fā)環(huán)境(IDE),以提高開發(fā)效率。用于C語言程序開發(fā)的工具軟件非常豐富,常用的有MicrosoftVisualC++(簡(jiǎn)稱VisualC++)系列軟件、Code::Blocks、QtCreator、Dev-C++、Clang等。
1.4.2C語言程序的開發(fā)過程
開發(fā)C語言程序的步驟如下:
(1)在編輯窗口中錄入或修改C/C++源程序,其文件擴(kuò)展名為“.c”或“.cpp”。
(2)用編譯(Compile)命令對(duì)源程序文件進(jìn)行編譯,生成與源程序文件同名的二進(jìn)制目標(biāo)程序文件,其擴(kuò)展名為“.obj”。
(3)用組建(Build)命令對(duì)工程或解決方案進(jìn)行編譯與鏈接,為每個(gè)工程生成相應(yīng)的與工程同名的可執(zhí)行程序文件,其擴(kuò)展名為“.exe”。
(4)運(yùn)行與調(diào)試。
上述步驟中,由于步驟(3)包含了步驟(2),所以一般不需要對(duì)步驟(2)進(jìn)行單獨(dú)操作。因此,用VisualC++2010Express開發(fā)C語言程序時(shí),只要反復(fù)進(jìn)行步驟(1)、(3)和步驟(4)即可。C語言程序的開發(fā)過程如圖1-1所示。
圖1-1C語言程序的開發(fā)過程
1.4.3VisualC++2010Express上機(jī)操作
1.啟動(dòng)VisualC++2010Express
如果Windows操作系統(tǒng)中已經(jīng)安裝好VisualC++2010Express,則可在Windows桌面雙擊該軟件圖標(biāo)或在“開始”菜單中選擇該軟件以啟動(dòng)VisualC++2010Express,也可在Windows“開始”菜單的“運(yùn)行”命令輸入框中輸入命令“VCExpress”以啟動(dòng)VisualC++2010Express。VisualC++2010Express啟動(dòng)后的主界面如圖1-2所示。
圖1-2VisualC++2010Express的主界面
2.新建Project與Solution
在VisualC++2010Express開發(fā)環(huán)境下,C程序按“解決方案(Solution)”→“工程(Project)”→“文件(File)”的層次結(jié)構(gòu)進(jìn)行組織。解決方案用于組織和管理一個(gè)或多個(gè)工程,每個(gè)工程由一個(gè)或多個(gè)源程序文件和頭文件所構(gòu)成。同一工程中,可以有多個(gè)源程序文件,但只能有一個(gè)main()函數(shù)。
在VisualC++2010Express起始頁(StartPage)中單擊“NewProject...”(如圖1-2所示),或在主菜單中單擊“File”→“New”→“Project...”(如圖1-3所示),打開如圖1-4所示的新建工程(NewProject)對(duì)話框。
圖1-3VisualC++2010Express新建工程的命令選項(xiàng)
圖1-4新建工程時(shí)設(shè)置工程名、存放位置、解決方案名
在圖1-4中完成設(shè)置后,單擊“OK”→“Next”,將彈出如圖1-5所示的應(yīng)用程序設(shè)置(ApplicationSettings)對(duì)話框。將應(yīng)用程序類型(Applicationtype)設(shè)置為控制臺(tái)應(yīng)用程序(Consoleapplication),并將附加選項(xiàng)(AdditionalOptions)設(shè)置為空工程(Emptyproject)。單擊“Finish”后將彈出如圖1-6所示的界面,在界面左邊的解決方案瀏覽器(SolutionExplorer)中可查看到剛剛新建的解決方案名及工程名。
圖1-5應(yīng)用程序設(shè)置(ApplicationSettings)對(duì)話框
圖1-6在解決方案瀏覽器(SolutionExplorer)中查看新建的解決方案名及工程名
3.在Project中添加并編輯源程序
如圖1-7所示,在解決方案瀏覽器(SolutionExplorer)中,若欲為工程添加新文件(C語言源程序、頭文件等),可依次單擊工程名(如圖1-7中的“myProject_1”)右鍵菜單中的子菜單項(xiàng)“Add”→“NewItem...”,打開添加C語言源程序等文件的設(shè)置對(duì)話框(如圖1-8所示)。在該對(duì)話框中,設(shè)置文件類型為“C++File”,文件名(Name)自定義(如圖1-8中命名為“myCode_1.c”),文件位置(Location)默認(rèn)為工程所在位置(如圖1-8中的“D:\mySolution\myProject_1\”,表示文件的存儲(chǔ)位置是之前新建的D盤根目錄下的解決方案文件夾mySolution下的工程文件夾myProject_1)。
圖1-7為工程添加新文件的命令項(xiàng)
圖1-8為工程添加C語言源程序的設(shè)置對(duì)話框
設(shè)置好后,單擊“Add”將出現(xiàn)如圖1-9所示的空白程序編輯窗口。接著,就可以在程序編輯窗口錄入自己編寫的C語言源程序了(示例如圖1-10所示)。
圖1-9C語言源程序的文件名及編輯窗口
圖1-10在編輯窗口中錄入C語言源程序的簡(jiǎn)單示例
4.編譯(Compile)
編譯就是把文本形式的C語言源程序文件翻譯為機(jī)器語言形式的目標(biāo)程序文件的過程。
在C語言源程序文件(如myCode_1.c)的文件名上調(diào)出其右鍵菜單,單擊“Compile”;或在選中C語言源程序文件后,單擊主菜單項(xiàng)“Build”的下拉菜單項(xiàng)“Compile”;或在選中C語言源程序文件后,按快捷鍵“Ctrl+F7”,將生成與C語言源程序文件同名的目標(biāo)程序文件(擴(kuò)展名為“.obj”,默認(rèn)存放于所在工程文件夾的Debug子目錄中)。由于編譯操作是針對(duì)C語言源程序文件進(jìn)行的,且已經(jīng)包含在隨后介紹的組建(Build)操作中,所以編譯操作一般不必單獨(dú)使用。
5.組建(Build)
VisualC++2010Express中的組建操作,相當(dāng)于早期編譯器的編譯與鏈接的組合操作,即先將C語言源程序文件編譯生成目標(biāo)程序文件,然后將整個(gè)工程(或解決方案)的所有目標(biāo)程序文件和用到的相關(guān)庫函數(shù)文件進(jìn)行組裝,形成最終的可執(zhí)行程序文件。
在解決方案瀏覽器中,在所選的工程名(如myProject_1)上調(diào)出其右鍵菜單并單擊“Build”;或單擊主菜單項(xiàng)“Build”的下拉菜單項(xiàng)“Build”(后接工程名,如“BuildmyProject_1”),將生成與工程名同名的可執(zhí)行程序文件(擴(kuò)展名為“.exe”,默認(rèn)存放于所在解決方案文件夾的Debug子目錄中),如圖1-11所示。
圖1-11對(duì)工程進(jìn)行組建操作的命令項(xiàng)及其執(zhí)行結(jié)果
從圖1-11左邊窗口的解決方案瀏覽器中可以看出,解決方案mySolution中有兩個(gè)工程,分別是myProject_1和myProject_2。若想對(duì)解決方案中的所有工程進(jìn)行組建操作,則在解決方案瀏覽器的最頂端的解決方案名上調(diào)出其右鍵菜單,并單擊“BuildSolution”;或單擊主菜單項(xiàng)“Build”的下拉菜單項(xiàng)“BuildSolution”;或按快捷鍵“F7”,將生成與各工程名同名的可執(zhí)行程序文件(擴(kuò)展名為“.exe”,默認(rèn)存放于所在解決方案文件夾的Debug子目錄中),如圖1-12所示。
圖1-12對(duì)解決方案進(jìn)行組建操作的命令項(xiàng)及其執(zhí)行結(jié)果
6.運(yùn)行程序
如圖1-13所示,選擇“Debug”→“StartWithoutDebugging”菜單項(xiàng),或按快捷鍵“Ctrl+F5”,將運(yùn)行生成的“.exe”文件。程序運(yùn)行結(jié)果如圖1-14所示,按任意鍵即結(jié)束運(yùn)行。
圖1-13運(yùn)行程序的菜單項(xiàng)圖1-14在命令行窗口顯示的程序運(yùn)行結(jié)果
7.調(diào)試程序
調(diào)試程序是程序設(shè)計(jì)過程中一個(gè)很重要的環(huán)節(jié)。C語言程序的錯(cuò)誤主要包括兩大類,一類是語法錯(cuò)誤,另一類是邏輯設(shè)計(jì)錯(cuò)誤。語法錯(cuò)誤是指違背了C語言語法規(guī)則而導(dǎo)致的錯(cuò)誤。語法錯(cuò)誤分為一般錯(cuò)誤(error)和警告錯(cuò)誤(warning)兩種。當(dāng)程序出現(xiàn)一般錯(cuò)誤時(shí),將不會(huì)產(chǎn)生可執(zhí)行程序。當(dāng)程序出現(xiàn)警告錯(cuò)誤時(shí),通常能夠生成可執(zhí)行程序,但程序運(yùn)行時(shí)可能發(fā)生錯(cuò)誤,嚴(yán)重的錯(cuò)誤還會(huì)引起死機(jī)現(xiàn)象。所以,警告錯(cuò)誤比一般錯(cuò)誤更難修改,程序員應(yīng)該盡量消除警告錯(cuò)誤。編譯器能找出源程序的語法錯(cuò)誤,程序員可以根據(jù)錯(cuò)誤提示信息進(jìn)行修改。
下面介紹VisualC++2010Express查錯(cuò)方法。
1)利用編譯器查找語法錯(cuò)誤
如果程序沒有違背C語言的語法規(guī)則,編譯器也沒有提示出錯(cuò),而且程序能夠成功運(yùn)行,但程序執(zhí)行結(jié)果卻與原意不符,這類程序設(shè)計(jì)上的錯(cuò)誤稱為邏輯設(shè)計(jì)錯(cuò)誤或缺陷(Bug)。
如果程序有語法錯(cuò)誤,則在編譯(Compile或Build)時(shí),VisualC++2010Express的編譯器將在輸出窗口中給出語法錯(cuò)誤提示信息。錯(cuò)誤提示信息中一般指出錯(cuò)誤發(fā)生所在位置的行號(hào)。用戶可以在輸出窗口中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 糧庫員工年終工作總結(jié)
- 員工感恩公司演講稿范文(7篇)
- 2025年軟件銷售中介服務(wù)合同樣本
- 2025年大型購物中心加盟合同模板
- 2025年防腐施工及后續(xù)保修合同示范文本
- 區(qū)域白酒代理業(yè)務(wù)2025年合作協(xié)議書
- 閥門產(chǎn)品購銷申請(qǐng)協(xié)議2025
- 2025年個(gè)人貸款購房合同
- 2025年網(wǎng)絡(luò)及通信協(xié)議處理軟件項(xiàng)目規(guī)劃申請(qǐng)報(bào)告模范
- 2025年特種用途鋼絲及鋼絲繩項(xiàng)目規(guī)劃申請(qǐng)報(bào)告
- 《數(shù)字經(jīng)濟(jì)學(xué)》 課件 賈利軍 專題3:數(shù)字時(shí)代下社會(huì)總資本再生產(chǎn)研究;專題4:數(shù)字貨幣與數(shù)字金融研究
- 中小學(xué)音樂課上的合唱訓(xùn)練
- 《國有企業(yè)采購操作規(guī)范》【2023修訂版】
- 基于大單元的小學(xué)數(shù)學(xué)“教學(xué)評(píng)”一體化內(nèi)涵及實(shí)踐
- 制程工程師年終總結(jié)匯報(bào)
- 第一章安培力與洛倫茲力單元教學(xué)設(shè)計(jì)課件-高二下學(xué)期物理人教版選擇性必修第二冊(cè)
- 碟式離心機(jī)安全操作及保養(yǎng)規(guī)程
- GB/T 27914-2023風(fēng)險(xiǎn)管理法律風(fēng)險(xiǎn)管理指南
- GB/T 16475-2023變形鋁及鋁合金產(chǎn)品狀態(tài)代號(hào)
- 跟崗學(xué)習(xí)匯報(bào)PPT演示課件
- 人口社會(huì)學(xué)PPT完整全套教學(xué)課件
評(píng)論
0/150
提交評(píng)論