![C語言程序設(shè)計課件 第1章_第1頁](http://file4.renrendoc.com/view7/M01/06/05/wKhkGWcM99aAFhqdAAD0Xd2vHhg478.jpg)
![C語言程序設(shè)計課件 第1章_第2頁](http://file4.renrendoc.com/view7/M01/06/05/wKhkGWcM99aAFhqdAAD0Xd2vHhg4782.jpg)
![C語言程序設(shè)計課件 第1章_第3頁](http://file4.renrendoc.com/view7/M01/06/05/wKhkGWcM99aAFhqdAAD0Xd2vHhg4783.jpg)
![C語言程序設(shè)計課件 第1章_第4頁](http://file4.renrendoc.com/view7/M01/06/05/wKhkGWcM99aAFhqdAAD0Xd2vHhg4784.jpg)
![C語言程序設(shè)計課件 第1章_第5頁](http://file4.renrendoc.com/view7/M01/06/05/wKhkGWcM99aAFhqdAAD0Xd2vHhg4785.jpg)
版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 用戶體驗在醫(yī)療設(shè)備設(shè)計中的關(guān)鍵性
- 現(xiàn)代技術(shù)助力辦公效率提升的實踐
- 環(huán)保法規(guī)對醫(yī)療垃圾處理的影響與實施
- 物流業(yè)數(shù)字化轉(zhuǎn)型路徑與實踐
- 環(huán)境設(shè)計與智能控制的完美結(jié)合
- 電商平臺商業(yè)模型的創(chuàng)新與發(fā)展
- 用藥指導(dǎo)在康復(fù)醫(yī)學(xué)中的關(guān)鍵作用
- 現(xiàn)代辦公樓裝飾裝修施工中的智能化應(yīng)用
- 未來社區(qū)安保系統(tǒng)的戰(zhàn)略策劃
- 電力設(shè)備定期檢查與隱患排除方法
- 2025江蘇鹽城市交通投資建設(shè)控股集團(tuán)限公司招聘19人高頻重點提升(共500題)附帶答案詳解
- 2024托管班二人合伙的協(xié)議書
- 《輸電線路金具識別》課件
- 基于PLC的豬場智能液態(tài)飼喂系統(tǒng)的設(shè)計與研究
- 企業(yè)內(nèi)部管理流程優(yōu)化方案
- 2023-2024學(xué)年浙江省金華市武義縣七年級(上)期末英語試卷
- 任務(wù)型閱讀 -2024年浙江中考英語試題專項復(fù)習(xí)(解析版)
- DB3209T 1171-2019 響水西蘭花規(guī)范
- 世界職業(yè)院校技能大賽中職組“嬰幼兒保育組”賽項考試題及答案
- 教育網(wǎng)絡(luò)設(shè)施搭建:機(jī)房施工合同
- 江蘇揚州市2025屆高一物理第一學(xué)期期末學(xué)業(yè)水平測試試題含解析
評論
0/150
提交評論