程序設(shè)計語言的發(fā)展.ppt
《程序設(shè)計語言的發(fā)展.ppt》由會員分享,可在線閱讀,更多相關(guān)《程序設(shè)計語言的發(fā)展.ppt(33頁珍藏版)》請在裝配圖網(wǎng)上搜索。
主要內(nèi)容,程序設(shè)計語言程序設(shè)計語言的發(fā)展程序設(shè)計的過程C語言的集成開發(fā)環(huán)境1個簡單C語言程序一般程序錯誤,2,程序設(shè)計語言——維基百科,程序設(shè)計語言(ProgramLanguage):是一組用來定義計算機程序的語法規(guī)則。它是一種被標(biāo)準(zhǔn)化的交流技巧,用來向計算機發(fā)出指令。程序(Program):指一組指示計算機每一步動作的指令,通常用某種程序設(shè)計語言編寫,運行于某種目標(biāo)體系結(jié)構(gòu)上。編程(Programming):程序設(shè)計是編寫解決特定問題程序的過程,是軟件構(gòu)造活動中的重要組成部分。程序設(shè)計往往以某種程序設(shè)計語言為工具,給出這種語言下的程序。程序設(shè)計過程:分析、設(shè)計、編碼、測試、排錯等階段。,3,程序設(shè)計語言的發(fā)展,機器語言匯編語言高級語言,CPU不能直接處理高級語言編寫的程序,它必須被翻譯為機器語言。,比較匯編語言和C語言ADD100,200,840z=x+y;,翻譯程序,高級語言不能被計算機直接執(zhí)行,必須先由一種翻譯程序?qū)⑦@些程序翻譯成等價的能被計算機識別和執(zhí)行的機器語言。翻譯程序的種類:解釋程序:將高級編程語言一行一行直接轉(zhuǎn)譯運行。解釋器不會一次把整個程序轉(zhuǎn)譯出來,只像一位“中間人”,每次運行程序時都要先轉(zhuǎn)成另一種語言再作運行,因此解釋器的程序運行速度比較緩慢。它每轉(zhuǎn)譯一行程序敘述就立刻運行,然后再轉(zhuǎn)譯下一行,再運行,如此不停地進(jìn)行下去。編譯(器)程序:將用某種編程語言寫成的源代碼(原始語言),轉(zhuǎn)換成另一種編程語言(目標(biāo)語言)。,4,編譯器,一個現(xiàn)代編譯器的主要工作流程如下:源代碼(sourcecode)→預(yù)處理器(preprocessor)→編譯器(compiler)→匯編程序(assembler)→目標(biāo)代碼(objectcode)→鏈接器(Linker)→可執(zhí)行文件(executables)P16,6,VC++6.0創(chuàng)天中文版,7,集成開發(fā)環(huán)境,VC++6.0集編輯(EDIT)、編譯(COMPILE)、連接(Link)、執(zhí)行(EXECUTE)與一體,并提供調(diào)試(debug)手段和幫助(help)的開發(fā)軟件。,8,程序編制的過程,編輯(EDIT)[‘?d?t]編譯(COMPILE)[k?m‘pa?l]連接(Link)[l??k]執(zhí)行(EXECUTE)[‘?ks?,kjut]調(diào)試(debug),9,編輯(EDIT),源文件用高級語言編寫的程序文件編輯器生成源文件的軟件C語言程序文件,例:hello.cpp文本文件,可用記事本編輯后綴名:c/cpp語法一種編程語言的規(guī)則,如:C程序設(shè)計語言,10,編譯(COMPILE),編譯器將高級語言翻譯成機器語言的軟件編譯的任務(wù)編譯器翻譯源文件事會檢查是否符合高級語言的語法規(guī)則生成機器語言指令構(gòu)成的目標(biāo)文件如源程序包含語法錯誤,列出錯誤,不產(chǎn)生目標(biāo)文件c目標(biāo)文件,例:hello.obj二進(jìn)制文件后綴名:obj,11,連接Link,連接的任務(wù)將預(yù)先開發(fā)好的程序模塊(例如系統(tǒng)函數(shù)或其他程序員開發(fā)的共同模塊)連接到當(dāng)前程序代碼中去生成可執(zhí)行文件:exe,例:hello.exe連接器完成連接的軟件,C語言程序的編輯、調(diào)試、運行步驟,調(diào)試程序P18-21,設(shè)置斷點開始調(diào)試單步運行自動查看變量,執(zhí)行(EXECUTE),C語言生成的可執(zhí)行文件(exe文件)是一個DOS程序——控制臺程序;可以通過開始菜單“運行”→“cmd”命令打開命令窗口,直接執(zhí)行文件名。,14,VC++操作新建編譯執(zhí)行語法錯誤關(guān)閉工作空間,15,創(chuàng)建一個C程序sample01_01.cpp,/*print“HelloWorld!”*/#includeintmain(void){printf("HelloWorld!\n");return0;},16,解讀第一個C程序--程序語法,(1)C程序必須由一個main函數(shù)構(gòu)成,系統(tǒng)自動執(zhí)行main函數(shù)。(2)程序的執(zhí)行從main函數(shù)的左{括號開始,順序執(zhí)行每一條語句,直到main函數(shù)的右}括號結(jié)束。{函數(shù)體}(3)printf是標(biāo)準(zhǔn)輸出函數(shù),輸出的字符串在一對半角雙引號之間,例如"HelloCWorld\n"。(4)C語句以分號結(jié)束。,解讀第一個C程序--程序語法,(5)控制臺輸出時,系統(tǒng)會緊跟著自動輸出“pressanykeytocontinue”,等待按任意鍵關(guān)閉控制臺窗口。(6)’\n’是一個轉(zhuǎn)義字符--換行。轉(zhuǎn)義字符是一些鍵盤不能輸入的控制字符,具有特殊功能。(7)#include是一個預(yù)編譯命令,表示要加入stdio.h文件(標(biāo)準(zhǔn)輸入輸出函數(shù)頭文件),要在程序中使用printf函數(shù)必須使用該命令。(8)Main函數(shù)執(zhí)行到“}”或“return0;”結(jié)束。return0;向系統(tǒng)返回整數(shù)0,表示程序運行正常。,17,Include[?n’klud]包含standard[‘stnd?d]標(biāo)準(zhǔn)head[h?d]頭部,解讀第1個C程序的相關(guān)文件,18,Debug文件夾中存放著生成的obj文件,exe文件及其它一些中間文件。,19,討論,輸出兩行問候語句HelloCWorld!HelloCWorld!,20,可能出現(xiàn)的答案,printf(“HelloCWorld”);printf(“HelloCWorld”);printf(“HelloCWorld\n”);printf(“HelloCWorld”);printf(“HelloCWorld\nHelloCWorld”);,程序錯誤,語法錯誤連接錯誤邏輯錯誤運行錯誤,語法錯誤,指不符合高級語言定義的語法書寫規(guī)則。編譯或解釋程序能自動檢查出語法錯誤,只需根據(jù)錯誤提示進(jìn)行修改。,22,23,改錯示例:,#includevoidmain(void){printf(WelcometoYou!\n")return0;},#includeintmain(void){printf("WelcometoYou!\n");return0;},C語言的錯誤信息的形式:,文件名行號錯誤編號錯誤信息↓↓↓↓D:\C教材\sample\hello.cpp(4):errorC2001:newlineinconstant,24,編譯錯誤修改提示(1),錯誤信息往往只能起提示作用,不是特別精確反映錯誤產(chǎn)生的原因,更不會告訴你如何修改。根據(jù)提示能快速反應(yīng)錯誤產(chǎn)生的原因需要經(jīng)驗的積累。,25,編譯錯誤修改提示(2),一條語句錯誤可能會產(chǎn)生若干條錯誤信息,只要修改了這條錯誤,其他錯誤會隨之消失。特別提示:一般情況下,第一條錯誤信息最能反映錯誤的位置和類型,所以調(diào)試程序時務(wù)必根據(jù)第一條錯誤信息進(jìn)行修改,修改后,立即重新編譯程序,如果還有很多錯誤,再一個一個地修改。即每修改一處錯誤要重新編譯一次程序。,26,連接錯誤,連接錯誤,是編譯成功后,連接器連接外部程序的時候產(chǎn)生的錯誤。例:main函數(shù)名寫錯了,27,連接錯誤修改提示,連接錯誤不提示出錯行數(shù),但小程序的定位也比較簡單,一般是函數(shù)和外部變量的名稱出錯,只需根據(jù)錯誤提示的字符串去尋找可能出現(xiàn)的位置。,28,29,連接錯誤信息顯示,--------------------Configuration:test-Win32Debug--------------------Compiling...:test.cppLinking...LIBCD.lib(crt0.obj):errorLNK2001:unresolvedexternalsymbol_main無法解析的外部符號_mainDebug/test.exe:fatalerrorLNK1120:1unresolvedexternals執(zhí)行l(wèi)ink.exe時出錯.test.exe-1error(s),0warning(s)錯誤警告,,30,常見編程錯誤:,字符串“”不完整()不匹配缺少;函數(shù)名寫錯……,邏輯錯誤,邏輯錯誤則是程序設(shè)計上或邏輯上的錯誤——指程序已生成可執(zhí)行文件,但運行出錯或不能得到正確的結(jié)果,這可能是由于算法中問題說明不足,解法不完整或不正確所造成的。邏輯錯誤的檢查需要事先設(shè)計的測試用例。邏輯錯誤出錯位置需要程序員對程序代碼進(jìn)行分析,一般會借助一些調(diào)試手段,如單步執(zhí)行,設(shè)斷點,watch窗口觀測等等,以后陸續(xù)介紹……,31,運行錯誤,運行錯誤是指程序經(jīng)編譯連接生成可執(zhí)行文件后,在運行的過程中系統(tǒng)報錯,沒有運行結(jié)果。常見的運行錯誤有:除數(shù)為0;死循環(huán);浮點指針出錯等等。運行錯誤往往是邏輯錯誤引起的。,32,第二講結(jié)構(gòu)化程序設(shè)計與C語言,- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 程序設(shè)計語言 發(fā)展
鏈接地址:http://m.appdesigncorp.com/p-3497739.html