C語言第二章解析_第1頁
C語言第二章解析_第2頁
C語言第二章解析_第3頁
C語言第二章解析_第4頁
C語言第二章解析_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

其次講編輯、編譯、連接、運(yùn)行及TurboC環(huán)境C語言程序的編輯、編譯、連接、運(yùn)行1、根本概念〔回憶〕。 程序:為了使計(jì)算機(jī)能依據(jù)人們的意志工作,就要依據(jù)問題的要求,編寫相應(yīng)的程序。程序是一組計(jì)算機(jī)可以識別和執(zhí)行的指令,每一條指令使計(jì)算機(jī)執(zhí)行特定的操作。 源程序:程序可以用高級語言或匯編語言編寫,用高級語言或匯編語言編寫的程序稱為源程序。C程序源程序的擴(kuò)展名為“.c”。C語言程序的編輯、編譯、連接、運(yùn)行 目標(biāo)程序:源程序經(jīng)過“編譯程序”翻譯所得到的二進(jìn)制代碼稱為目標(biāo)程序。目標(biāo)程序的擴(kuò)展名為“.obj”。 可執(zhí)行程序:目標(biāo)程序與庫函數(shù)連接,形成的完整的可在操作系統(tǒng)下獨(dú)立執(zhí)行的程序稱為可執(zhí)行程序。可執(zhí)行程序的擴(kuò)展名為“.exe”(在dos/windows環(huán)境下)。

C語言程序的編輯、編譯、運(yùn)行2、C語言程序的上機(jī)步驟 輸入與編輯源程序->編譯源程序,產(chǎn)生目標(biāo)代碼->連接各個(gè)目標(biāo)代碼、庫函數(shù),產(chǎn)生可執(zhí)行程序->運(yùn)行程序。編輯鏈接編譯執(zhí)行file.exe程序代碼的錄入,生成源程序*.c語法分析查錯(cuò),翻譯生成目標(biāo)程序*.obj與其它目標(biāo)程序或庫鏈接裝配,生成可執(zhí)行程序*.exe

C程序上機(jī)過程

C程序上機(jī)執(zhí)行過程執(zhí)行編輯編譯連接編輯程序C源程序·C文件編譯程序連接程序目標(biāo)程序·obj文件可執(zhí)行·exe文件C編譯系統(tǒng)庫函數(shù)其它目標(biāo)文件TurboC集成開發(fā)環(huán)境TurboC是美國Borland公司推出的集程序編輯、編譯、連接和調(diào)試于一體特點(diǎn)是快速、高效、使用靈敏、便利演示先將TurboC編譯程序安裝在硬盤上,名目名由用戶自己建立,只要在Options中將路徑設(shè)置好即可,在所安裝的名目下鍵入:TC↙屏幕上消逝TurboC的窗口,在窗口的頂部消逝一排命令菜單,其中:1、File:文件菜單項(xiàng)主要是對文件的操作。各命令的功能如下:〔1〕Load:裝入程序文件。從磁盤上調(diào)出一個(gè)程序文件并裝入內(nèi)存。〔2〕Pick:選取程序文件。從以前裝入的最多8~9個(gè)程序文件中選取一個(gè)并裝入內(nèi)存?!?〕New:新文件。進(jìn)入編輯窗口編輯新的文件?!?〕Save:保存文件。將編輯窗口中的文件保存到磁盤上?!?〕Writeto:換名保存。將正在編輯的文件以另一個(gè)名字存盤?!?〕Directory:顯示名目。顯示名目及所需的文件?!?〕Changedir:轉(zhuǎn)變名目。顯示當(dāng)前名目并允許用戶將其轉(zhuǎn)變?yōu)樗付ǖ谋P符和名目?!?〕Osshell:進(jìn)入Dos狀態(tài)。臨時(shí)退出TurboC環(huán)境并進(jìn)入Dos狀態(tài)。用Exit又可返回到TurboC窗口?!?〕Quit:退出。退出TurboC集成環(huán)境,返回Dos狀態(tài)。2、Edit:編輯菜單項(xiàng)對源程序進(jìn)展錄入、編輯、修改。如對光標(biāo)進(jìn)展移動(dòng),定義、移動(dòng)、復(fù)制、刪除文本塊,從磁盤上讀程序塊到正在編輯的文件中,或把程序塊寫到磁盤上,在源程序中進(jìn)展查找、替換等操作,此菜單項(xiàng)無子菜單,用Alt+E或F10鍵調(diào)出,常用命令如下:〔1〕Ctrl+K+B:定義塊首〔2〕Ctrl+K+K:定義塊尾〔3〕Ctrl+K+C:塊拷貝〔4〕Ctrl+K+V:塊移動(dòng)〔5〕Ctrl+K+R:從磁盤上讀文件到編輯窗口〔6〕Ctrl+K+W:將塊寫到磁盤上3、Run:運(yùn)行菜單項(xiàng)對源程序進(jìn)展編譯、鏈接、運(yùn)行等,用Alt+R或F10鍵調(diào)出,各命令功能如下:〔1〕Run:運(yùn)行命令。運(yùn)行當(dāng)前正在編輯的程序?!?〕Programreset:程序復(fù)位命令,在程序單步運(yùn)行時(shí),選用此項(xiàng)將終止正在單步運(yùn)行的程序,返回編輯狀態(tài)?!?〕GotoCursor:編譯運(yùn)行到光標(biāo)所在的位置。〔4〕Trace:跟蹤運(yùn)行,并可進(jìn)入被調(diào)用的函數(shù)?!?〕StepOver:步進(jìn)運(yùn)行,不能進(jìn)入被調(diào)用的函數(shù)?!?〕UserScrren:用戶屏幕。查看用戶程序運(yùn)行的結(jié)果。4、Compile:編譯菜單項(xiàng)對源程序文件進(jìn)展編譯、鏈接,生成OBJ和EXE文件,可用Alt+C或F10鍵調(diào)出?!?〕CompiletoOBJ:編譯產(chǎn)生.OBJ文件?!?〕LinkEXEFile:連接并生成.EXE文件〔3〕PrimaryCFile:指定初始C文件。5、Project:工程菜單項(xiàng)定義工程文件名,對工程文件中包含的各函數(shù)進(jìn)展編譯、鏈接運(yùn)行。用Alt+P或F10鍵調(diào)出,主要命令有:Projectname:定義工程文件名,該文件內(nèi)容包含一個(gè)程序的各函數(shù)文件名,工程文件名以.PRJ作擴(kuò)展名。6、Options:選擇菜單項(xiàng)設(shè)置環(huán)境〔編譯自動(dòng)存盤〕和名目〔編譯系統(tǒng)在磁盤上的路徑〕保存配置值到配置文件Tcconfig.Tc中,可用Alt+O或F10鍵調(diào)出,其中的Directories:名目子菜單的功能是:通知TurboC如何查找要編輯、連接的文件、設(shè)置輸入文件所在的路徑:〔1〕Includedirectories:頭文件名目?!?〕Librarydirectory:庫文件名目〔3〕Outputdirectories:輸出文件名目〔4〕TurboCdirectory:TurboC名目〔5〕Pickfilename:選取文件名〔6〕CurrentPickfile:當(dāng)前選取文件名7.Debug:調(diào)試菜單項(xiàng)

程序運(yùn)行過程中,用來計(jì)算、顯示表達(dá)式的值,可用Alt+D或F10鍵調(diào)出。8.Break/Watch:斷點(diǎn)/監(jiān)視菜單項(xiàng)

用來增加,刪除監(jiān)視表達(dá)式,可動(dòng)態(tài)的檢查調(diào)試程序。根本操作:F10-----調(diào)用主菜單F2------存盤F3------翻開Alt+F9------CompileCtrl+F9------RunAlt+F5------UserScreen常用熱鍵文本編輯:

-------移動(dòng)光標(biāo)PgUp,PgDn------上下翻頁Ctrl+PgUp,Ctrl+PgDn------文件首尾HomeEndDdeleteInsertBkspace塊操作:Ctrl+KB-------塊開頭標(biāo)記Ctrl+KK--------塊完畢標(biāo)記Ctrl+KC-------塊拷貝Ctrl+KV--------塊移動(dòng)Ctrl+KY-------塊刪除Ctrl+KH--------塊隱蔽程序調(diào)試:F8-----StepoverF7-------TraceintoF4-----GotoCursorCtrl+F7--------AddWatchCtrl+F8------ToggleBreakpointCtrl+F2--------ProgramReset窗口操作:F5-----窗口縮放F6-----窗口切換作業(yè)及預(yù)報(bào)作業(yè):1.5、1.63、參照本章例題,編寫一個(gè)C程序,輸出以下信息:

&&&&&&&&&&&&&&&&&

HOWAREYOU

&&&&&&&&&&&&&&&&&預(yù)報(bào):數(shù)據(jù)、數(shù)據(jù)構(gòu)造、算法、構(gòu)造化程序設(shè)計(jì)方法程序的靈魂——算法先來兩個(gè)根本概念1.數(shù)據(jù)是計(jì)算機(jī)程序處理的對象,可以是整數(shù)、實(shí)數(shù)、字符,也可以是圖像、聲音等的編碼表示。2.數(shù)據(jù)構(gòu)造指的是數(shù)據(jù)與數(shù)據(jù)間存在一種或多種特定關(guān)系。在程序設(shè)計(jì)語言中,與數(shù)據(jù)構(gòu)造親切相關(guān)的便是數(shù)據(jù)的類型和數(shù)據(jù)的存放。數(shù)據(jù)構(gòu)造:數(shù)據(jù)類型+數(shù)據(jù)的組織形式〔即數(shù)據(jù)的描述〕武漢大學(xué)2023年新生入學(xué)須知

一、新生按《錄用通知書》規(guī)定的時(shí)間來校報(bào)到。報(bào)到地點(diǎn):武漢大學(xué)小操場。因故不能按時(shí)報(bào)到者,必需事先以書面形式向所在學(xué)院請假,請假的時(shí)間不得超過兩周。未經(jīng)準(zhǔn)假或逾期未報(bào)到者,取消其入學(xué)資格。二、新生報(bào)到時(shí)須交正面免冠一寸登記照12張。自帶戶口遷移證和黨、團(tuán)組織關(guān)系介紹信。三、依據(jù)鐵道部規(guī)定,新生來校時(shí)可持《錄用通知書》購置一張從家庭所在地到武昌或漢口火車站的半價(jià)硬座客票。四、新生托運(yùn)行李,應(yīng)在行李的惹眼位置標(biāo)明“武漢大學(xué)”字樣,并務(wù)必注明學(xué)生的姓名、所在學(xué)院、專業(yè)。凡托運(yùn)至武昌火車站或漢口火車站的行李,由學(xué)校統(tǒng)一取回后,學(xué)生憑行李托運(yùn)單在報(bào)到地點(diǎn)〔小操場〕領(lǐng)??;通過其他交通工具托運(yùn)或郵寄的行李由學(xué)生自行領(lǐng)取。五、在規(guī)定的新生報(bào)到日期內(nèi),學(xué)校在武昌火車站〔每天7:00-22:00〕、漢口火車站〔每天8:00-22:00〕、付家坡長途汽車站〔每天7:00-17:00〕、宏基長途汽車站〔每天7:00-17:00〕設(shè)有迎新接待站,免費(fèi)接送新生。新生假設(shè)自行到校,在武昌火車站、宏基長途汽車站下車后可乘564路公共汽車直達(dá)學(xué)校;在漢口火車站和漢口新華路汽車總站下車后乘519路公共汽車直達(dá)學(xué)校;在付家坡長途汽車站下車后可乘564路、519路、413路公共汽車直達(dá)學(xué)校;假設(shè)乘飛機(jī)到達(dá)武漢天河機(jī)場,可乘機(jī)場大巴進(jìn)入市內(nèi),然后轉(zhuǎn)乘公共汽車或出租車直達(dá)學(xué)校。六、學(xué)校不統(tǒng)一配備日常生活用品、床上用品等,請新生自備。床鋪的尺寸約為190CM×90CM。七、請留意旅途安全,預(yù)防意外事故。八、入學(xué)后,學(xué)校將在三個(gè)月內(nèi)依據(jù)有關(guān)規(guī)定對新生進(jìn)展全面復(fù)查。復(fù)查合格者予以注冊取得學(xué)籍。復(fù)查確認(rèn)不符合招生錄用條件者,取消入學(xué)資格,退回原戶籍所在地。程序的靈魂——算法程序內(nèi)容:〔1〕數(shù)據(jù)描述;〔數(shù)據(jù)構(gòu)造〕〔2〕對操作的描述;〔算法〕算法(algorithm):為了解決一個(gè)問題而實(shí)行的有限步驟。計(jì)算機(jī)算法:如何使計(jì)算機(jī)一步一步地工作的具體過程。即要利用計(jì)算機(jī)處理問題,首先要設(shè)計(jì)好算法——算法設(shè)計(jì);然后用計(jì)算機(jī)語言實(shí)現(xiàn)算法——程序設(shè)計(jì)。(數(shù)據(jù)構(gòu)造+算法=程序〕算法必需是“有效”的。算法設(shè)計(jì)還要充分考慮算法的好壞。衡量算法好壞的主要標(biāo)準(zhǔn):①程序簡練;②執(zhí)行速度快;③占空間少;求解問題的步驟〔1〕分析問題?!?〕算法分析。〔3〕程序設(shè)計(jì)?!?〕程序調(diào)試?!?〕運(yùn)行與維護(hù)。算法①:直接表達(dá)。直接用語句s=1+2+3+4+5+6+7+8+9+10算法②:迭代法〔累加求和法〕算法思想:s=1+2+3+4+5+6+7+8+9+10算法步驟:①使s=0②使i=1③s+i→s④i+1→i⑤假設(shè)i≤10轉(zhuǎn)③,否則轉(zhuǎn)⑥⑥輸出s累加器計(jì)數(shù)器si+簡潔算法舉例例:考慮的算法。2.3算法的特性有窮性:一個(gè)算法應(yīng)包含有限的操作步驟。確定性:算法中的每一步驟都應(yīng)當(dāng)是確定的,不能含有“歧義性”。有零個(gè)或多個(gè)輸入:應(yīng)當(dāng)可以從外界取得必要的信息。有一個(gè)或多個(gè)輸出:將“解”放入需要的地方。有效性:算法的每一個(gè)步驟都應(yīng)當(dāng)能有效地執(zhí)行,并得到結(jié)果。程序的封裝:算法,取最大值輸入1輸入n….輸出舉例求三個(gè)數(shù)的平均值〔想想上節(jié)課的課堂演練〕算法:1、輸入a,b,c的值2、求和sum=a+b+c3、求平均值av=sum/34、輸出平均值5、完畢對應(yīng)的程序main{inta,b,c,sum,av;scanf(“%d,%d,%d”,&a,&b,&c);sum=a+b+c;av=sum/3;printf(“av=%f”,av);}算法是給人看的還是給計(jì)算機(jī)看的?常用的表示方法有:自然語言、流程圖、構(gòu)造化流程圖、N-S流程圖.1、

自然語言對于計(jì)算s=1+2+3+4+5+6+7+8+9+10用自然語言表示為:①

使s=0〔s為累加器〕②

使i=1〔i為計(jì)數(shù)器〕③

s+i→s〔累加求和公式〕④

i+1→i〔計(jì)數(shù)器加1〕⑤

假設(shè)i≤10轉(zhuǎn)③,否則轉(zhuǎn)⑥⑥

輸出s的值怎樣表示一個(gè)算法通俗易懂、文字冗長、含義不嚴(yán)格

2、流程圖用流程圖符號表示算法。常用的流程圖符號:

起止框處理框

判斷框輸入輸出框流程線n連接點(diǎn)注釋注釋框?qū)τ谟?jì)算s=1+2+3+4+5+6+7+8+9+10用流程圖表示為:0→S1→

iS+i→Si+1→i

i≤10輸出SYN直觀形象、易于理解、次序清晰;占用篇幅大;不符合構(gòu)造化設(shè)計(jì)要求。應(yīng)用廣泛。

3、構(gòu)造化流程圖傳統(tǒng)的流程圖有一個(gè)弊端:對流程線沒有嚴(yán)格的限制,對于較簡潔的算法可能會(huì)變成亂麻一般〔BS型算法〕。(abowlofspaghetti)為抑制這一弊端,BohroandJacopini提出了由三個(gè)根本構(gòu)造組成算法流程圖的思想———構(gòu)造化流程圖。三個(gè)根本構(gòu)造:①

挨次構(gòu)造按固定挨次〔從上到下或從左到右〕執(zhí)行的構(gòu)造。bABa②選擇構(gòu)造(分支構(gòu)造〕依據(jù)條件P選擇執(zhí)行哪一個(gè)分支。aABP成立b不成立P必需有;A或B可以有一個(gè)為空語句〔即可以不畫出來〕;例:計(jì)算當(dāng)x≠0時(shí)y=1/x當(dāng)x=0時(shí)y=10000的算法流程圖圖:

輸入xX=0?是否10000→y1/x→y輸出y選擇結(jié)構(gòu)③

循環(huán)構(gòu)造〔重復(fù)構(gòu)造〕重復(fù)執(zhí)行某些操作的構(gòu)造。分為兩種:當(dāng)型循環(huán)和直到型循環(huán)?!睞的執(zhí)行區(qū)分〕aP1abA成立A成立不成立bP2當(dāng)型循環(huán)直到型循環(huán)不成立可以看出,每個(gè)根本構(gòu)造都只有一個(gè)入口和一個(gè)出口,因此,用三個(gè)根本構(gòu)造構(gòu)成的流程圖不會(huì)象亂麻一般,用三個(gè)基本構(gòu)造構(gòu)成的流程圖就成為構(gòu)造化流程圖,用構(gòu)造化流程圖描述的算法稱為構(gòu)造化算法,相應(yīng)的程序設(shè)計(jì)就稱為構(gòu)造化程序設(shè)計(jì)。0→s1→iS+i→si+1→ii>10輸出sNY循環(huán)構(gòu)造挨次構(gòu)造思考,這是什么循環(huán)?

4、N-S流程圖〔I.NassiandB.Shneiderman)N-S流程圖的三個(gè)根本構(gòu)造:成立AB不成

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論