第1講程序設計的一般步驟ok_第1頁
第1講程序設計的一般步驟ok_第2頁
第1講程序設計的一般步驟ok_第3頁
第1講程序設計的一般步驟ok_第4頁
第1講程序設計的一般步驟ok_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第1講 C+語言入門學習目標1、了解計算機語言發(fā)展的3個階段。2、理解程序設計的一般步驟。3、掌握什么是算法。4、掌握對給定的問題進行算法描述。5、學會編寫簡單的程序。隨著科技的發(fā)展和社會的進步,計算機已經(jīng)走入尋常百姓家。人們可以使用同一臺計算機做不同的事,我們可以看到其他機器或設備做不到這點。計算機之所以能執(zhí)行不同的工作任務,是基于其硬件和軟件協(xié)同工作的工作機制。要使計算機按人們指定的步驟有效地工作,必須事先編制好一組讓計算機執(zhí)行的指令,這就是程序。隨著計算機軟件技術的發(fā)展,人們可以使用不同的計算機語言來編寫程序。一、計算機語言發(fā)展要使計算機按照人的規(guī)定完成一系列的工作,首先要解決一個 “語

2、言”溝通問題:在人和計算機之間找到一種兩者都能識別的特定的語言,使計算機具備理解并執(zhí)行人們給出的各種指令的能力。這種特定的語言稱為計算機語言,也叫程序設計語言,它是人和計算機溝通的橋梁。隨著計算機技術的迅速發(fā)展,程序設計語言經(jīng)歷了由低級向高級發(fā)展的多個階段,程序設計方法也得到不斷的發(fā)展和提高。計算機語言按其發(fā)展程度可以劃分為:機器語言、匯編語言和高級語言。1、機器語言計算機并不能理解和執(zhí)行人們使用的自然語言。計算機能夠直接識別的指令時由一連串的0和1組合起來的二進制編碼,稱為機器指令。每一條指令規(guī)定計算機要完成的某個操作。機器語言是計算機能夠直接識別的指令的集合,它是最早出現(xiàn)的計算機語言。例如

3、,下圖所示的是某一種型號計算機的一組二進制編碼機器指令,用來完成一個簡單加法操作。 10110000 00001001 00000100 00001000 11110100 顯然,用機器語言編寫的程序“難學、難記、難寫、難檢查、難調(diào)試”,給使用者帶來很大的不便。機器語言編寫的程序另一個缺點是完全依賴于機器硬件,不同型號的機器語言指令不相同,程序的可移植性差。其優(yōu)點是計算機能直接識別、執(zhí)行效率高。2 、匯編語言20世紀50年代初,為了克服機器語言的缺點,人們對機器語言進行了改進,用一些容易記憶和辨別的有意義的符號代替機器指令。用這樣一些符號代替機器指令所是產(chǎn)生的語言就稱為匯編語言,也稱為符號語言

4、。用匯編語言來實現(xiàn)9+8運算的由關指令如下圖: MOV AL,9 ADD AL,83、高級語言匯編語言雖然較機器語言有所改善,但并未從根本上擺脫指令系統(tǒng)的束縛,它的符號與機器語言指令仍然是一一對應,而且與自然語言相距甚遠。不符合人的表達習慣。為了從根本上改變語言體系,必須從兩個方面下功夫:一是力求接近于自然語言;二是力求脫離具體機器,使語言與機器指令系統(tǒng)無關,達到程序通用的目的。于是,高級語言應運而生。第一個高級語言是在20世紀50年代出現(xiàn)的Fortran語言,隨之相繼出現(xiàn)了許多種高級語言。目前常用的高級語言有Basic 、Pascal、logo、 cobal、C、 C+等。高級語言描述計算公

5、式于數(shù)學上表示大體一致,例如,前面計算9+8的問題,若用C+語言編程,只要用S=9+8一個語句就可完成,十分簡單,易于理解。顯然,計算機不能直接執(zhí)行高級語言程序,而必須先翻譯轉(zhuǎn)換成機器能夠識別的“目標程序”才能夠執(zhí)行,這種翻譯轉(zhuǎn)換工作由被稱為“翻譯器”的專門軟件來完成,每一種高級語言都有自己的編譯器。所以,在一臺計算機上運行某一種高級語言源程序的前提是:該計算機安裝了該語言的編譯程序。二、c+語言特點C+由美國AT&T貝爾實驗室的本賈尼·斯特勞斯特盧普博士在20世紀80年代初期發(fā)明并實現(xiàn)(最初這種語言被稱作“C with Classes”帶類的C)。開始,C+是作為C語言的增

6、強版出現(xiàn)的,從給C語言增加類開始,不斷的增加新特性。今天C+已成為世界主流編程語言之一。1、語言簡潔緊湊,使用靈活方便C+語言一共只有32個關鍵字和9種控制語句,程序書寫自由,主要用小寫字母表示。2、運算符豐富C+語言的運算符包含的范圍很廣泛,共有34個運算符。3、數(shù)據(jù)結構豐富C+語言的數(shù)據(jù)類型有:整型、實型、字符型、數(shù)組類型等等4、結構化語言結構化語言的顯著特點是代碼及數(shù)據(jù)的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。5、生成的代碼質(zhì)量高C+語言在代碼效率方面可以和匯編語言相媲美。6、可移植性強C+語言編寫的程序很容易進行移植,在一個環(huán)境下運行的程序不加修改或少許修改就可以在完全不

7、同的環(huán)境下運行。三、程序設計的基本方法學習計算機語言目的是利用該語言工具設計出可供計算機運行的程序。完整的程序設計應該是:數(shù)據(jù)結構+算法+程序設計方法+語言工具。一個程序應包括兩方面的內(nèi)容:1、對數(shù)據(jù)的描述:數(shù)據(jù)結構(data structure),簡單說如何存儲問題中的數(shù)據(jù)。2、對操作的描述:算法(algorithm),算法是指解決一個問題所采取的具體步驟和方法。也就是說給定初始狀態(tài)或輸入數(shù)據(jù),經(jīng)過計算機程序的有限次運算,能夠得出所要求或期望的終止狀態(tài),輸出結果數(shù)據(jù)。簡單說就是解決問題的方法和步驟。在拿到一個需要解決的實際問題之后,怎樣才能編寫出程序呢?一般步驟如圖:分析問 題確定數(shù)學模型與

8、數(shù)據(jù)結構設計算 法編寫程 序程序編譯調(diào)試并運行【實例1-1】已知圓半徑為5,求圓面積。1、分析問題:根據(jù)半徑求圓面積公式,可以借助數(shù)學公式完成。2、確定數(shù)據(jù)結構與數(shù)學模型:(1)數(shù)據(jù)結構:本問題可以設計一個變量空間r存儲半徑的值,一個變量空間S存儲面積的值。(2)數(shù)學模型:使用求面積公式S=r2(3)設計算法:求圓面積算法描述如下:輸入半徑r;依據(jù)圓面積公式求圓面積S;輸出圓面積S。(4)編寫程序:用計算機語言描述算法的過程,這一步稱為“編碼”,程序的質(zhì)量主要由算法決定?!境绦蛟O計】#include<cstdio> / cstdio是標準C+(STL),且cstdio中的函數(shù)都是定

9、義在一個名稱空間std里面的#include<cstlib> /Dev C+使用system( )調(diào)用cstdlib庫#include<iostream> /使用scanf,printf,須調(diào)用iostream 庫,否則編譯出錯using namespace std; /有調(diào)用cstdio這個名字空間的函數(shù),必須在文件中聲明using namespace std。int main() /函數(shù)的入口 int r=5; /已知圓的半徑,定義為整型數(shù)值int float S; /定義圓的面積S,定義為實型 S=3.14*r*r; /計算圓的面積公式 printf(“%fn”,

10、S); /輸出圓面積S的值,并換行。 system(“pause”); /暫停作用,使用system("pause")調(diào)用cstdlib庫 return 0; /結束整個程序(5)程序編譯調(diào)試運行:通過編譯調(diào)試和運行程序,獲得正確的編碼和正確的結果。任何程序設計語言都有一組自己的記號和規(guī)則,即語法。+語言同樣必須采用其本身所規(guī)定的記號和規(guī)則來編寫程序?,F(xiàn)對上例程序語法進行分析:預處理:+語言中預處理都是以號開頭的,它的作用是提供給編譯器足夠的信息以完成預編譯和連接。+語言中最常用的預處理器指令是:include指令。include指令包含文件命令,用于在編譯期間將指定文件的

11、內(nèi)容包含進當前文件中。常用的頭文件有cstdio、cstdlib、cmath等。編譯期間,include后面的參數(shù)文件將作為程序文件的一部分。格式為: include頭文件名 或include頭文件名 【include<iostream>】告訴編譯器的預處理將輸入輸出流的標準頭文件(iostream)包括在本程序中。這個頭文件包括了C+中定義的基本標準輸入輸出程序庫的聲明?!?include< cstdlib>】 使用system( ) 調(diào)用cstdlib。【#include< cstdio>】 標準輸入輸出的聲明?!緐sing namespace std】

12、使用std(標準)名字空間的意思。所謂的名字空間是標準C+中的一種機制,用來控制不同類庫的沖突問題。使用它可以在不同的空間內(nèi)使用相同名字的類或者函數(shù)。函數(shù)體:包含函數(shù)、變量、結構體等的聲明及定義等等。+程序就是若干個函數(shù)的集合。其中最重要的函數(shù)就是函數(shù), 是整個程序的入口,一個程序中只能有一個main函數(shù),當程序成功結束時會返回一個值。 函數(shù)體以“”開始,以“”結束。大括號之間的語句都屬于這個函數(shù),并且每一個語句都以“;”結束。 每個函數(shù)都有自己的特定功能。范例完成了對于已知圓的半徑,計算其對應圓面積, 輸出結果的操作。 注釋:除了上述基本組成部分, 程序中還可以添加注釋,并且注釋可以出現(xiàn)在程

13、序的任何置。雖然注釋是不參與編譯的,但是添加必要的程序注釋,是一個非常重要的編程習慣。 在+程序中可以有兩種方法添加注釋: 第一種方法,在*和*之間寫上要注釋的內(nèi)容。*必須以*結束,注釋內(nèi)容可以是多行。 第二種方法,以/引導的注釋內(nèi)容, 能寫在一行里。 在信息學競賽中,很多選手忽略注釋的編寫,這是一個很不好的習慣。編寫注釋不僅利于使別人讀懂你的程序, 且也可以使程序結構清晰,尤其是在一些需要高級數(shù)據(jù)結構或者混合幾種算法時,良好的注釋有助于你保持清醒的頭腦。三、利用Dev-C+編寫程序安裝完Dev-C+以后,雙擊Dev-C+.exe進入環(huán)境,如下圖1-1所示的界面。1、窗口組成 在Dev-C+環(huán)

14、境窗口中,主要有以下幾個組成部分。(1)代碼窗口:用于輸入和編寫程序(2)工程窗口:在調(diào)試程序時,打開“調(diào)試”選項卡,添加監(jiān)視,用于觀察程序運行時各個變量的變化,便于查錯。(3)報告窗口:打開“調(diào)試”選項卡,可以執(zhí)行很多調(diào)試動作。工程窗口代碼窗口報告窗口圖1-1 Dev-C+界面2、新建源代碼:單擊“文件”“新建”“源代碼”命令(Ctrl+N)(如下圖1-2所示),這樣就生成了一個空白的源文件。圖 1-2 新建源文件3、保存文件 編寫完一個程序后,單擊“文件”“保存”(Ctrl+S)(如圖1-3),可以選擇文件路徑,并對文件命名,達到保存文件的目的。 圖1-3 保存文件4、打開源文件 單擊“文

15、件”“打開工程或文件”(Ctrl+O),就可以選擇已保存的文件。5、個性化界面 單擊“工具”“編譯器選項”,彈出“編譯器屬性”對話框(如圖1-3),在“基本”選項卡里有各種編程風格的設置方案,可以選擇喜歡的方式;在“語法”選項卡(如圖1-4)可以設置不同數(shù)據(jù)類型、注釋、調(diào)試信息等的字體大小和顏色。 圖1-4 編譯器屬性圖1-5 語法選項卡6、編譯寫完一個程序,要進行編譯運行,以驗證算法是否正確,程序能否正常運行。單擊“運行”“編譯”,如圖16所示。圖16 編譯程序這時如果出現(xiàn)語法錯誤,將在窗口的下方顯示錯誤(如圖17)圖17 編譯錯誤7、運行在編譯成功之后,單擊“運行”“運行”命令,就可以運行

16、自己的程序了(如圖18所示)圖18 運行程序不過很多人會發(fā)現(xiàn)一個問題:程序運行界面一閃而過!對于DevC+來說,這里推薦給你兩種方法解決:(1)在main()函數(shù)的return語句前加函數(shù)getchar();(2)在main()函數(shù)的return語句前加系統(tǒng)命令system(“pause”);注意:在使用第二種方法的時候,要在預處理中處理中加上#include<cstdlib>,另外,提交程序之前一定要把這條語句刪除。8、調(diào)試DevC+提供了簡單的調(diào)試功能,大體上能夠滿足各位信息學競賽選手的要求,而且使用簡單,上手迅速。需要注意的是,調(diào)試只有在編譯之后才能執(zhí)行。下面介紹一種簡單的調(diào)

17、試方法。(1)斷點調(diào)試:在出現(xiàn)問題的語句之前設置好斷點(單擊行號左邊的空白),打開“報告窗口”的“調(diào)試”選項卡,單擊“調(diào)試”,程序就愛那個一直運行斷點的位置。(2)查看變量在程序的調(diào)試狀態(tài)下打開“工程窗口”中的“調(diào)試”選項卡,然后單擊鼠標右鍵,從快捷菜單中單擊“添加查看”命令,彈出“新變量”對話框,輸入要查看的變量名后,單擊“OK”按鈕后,要監(jiān)視的變量就出現(xiàn)在了左側的調(diào)試欄中。(3)跟蹤觀察單擊“報告窗口”中的下一步按鈕,則執(zhí)行下一條語句。單擊“單步進入”亦然,如遇到函數(shù),則會進入到函數(shù)內(nèi)部。單擊“跳過”會越過當前語句執(zhí)行下一語句,需要注意,這很有可能會造成程序的崩潰。在單步運行過程中,可以在

18、左側調(diào)試欄中及時觀察變量的變化,方便查錯。拓展材料:計算機工作原理一、計算機基本組成計算機室電子計算機的簡稱。自1946年第一臺電子計算機(ENIAC)誕生以來,計算機硬件技術與計算機應用技術飛速發(fā)展。計算機的速度、功能和用用范圍都發(fā)生了巨大的變化。但是,計算機的基本組成卻一直沿用著五大模塊的結構(如圖):1、運算器運算器主要完成各種算術運算和邏輯運算。運算器一次能運算多少位二進制及在單位時間內(nèi)能做多少次運算是計算機工作速度的重要指標。2、控制器控制器的作用是分析程序指令,控制計算機各部件按程序指令協(xié)調(diào)地工作。當讓計算機運行程序時,控制器自動從存儲器中取出一條條指令,并控制各部件協(xié)調(diào)工作。3、

19、內(nèi)存儲器內(nèi)存儲器是計算機的記憶部件,用于存放程序指令和數(shù)據(jù)。計算機內(nèi)存儲器如同一個大倉庫,包含許多存儲單元,為了便于管理,每個存儲單元都有一個編號,即地址。存儲器有一個特點,從某一存儲單元中“取”一個數(shù)據(jù)后,該單元中數(shù)據(jù)并不消失,除非向該單元送入一個新的數(shù)據(jù)后,此單元的內(nèi)容才會改變,因此把數(shù)據(jù)的“存”和“取”成為“寫入”和“讀出”?!緦嵗?-1】程序中:int r=5; /即在計算機存儲器中開辟一個存儲空間取名為r,并且r空間只能存放整數(shù),這里將整數(shù)5存放入存儲器r名字的空間中; float S; / 即在計算機存儲器中開辟一個存儲空間取名為S,并且S空間能夠存放實型數(shù)。位(Bit)是計算機存

20、儲器容量的最小單位,也是度量信息的最小單位。存儲器容量單位有:字節(jié)(Byte)、千字節(jié)(KB)、兆字節(jié)(MB)、千兆字節(jié)(GB)、太字節(jié)(TB).他們之間的換算關系如下:1Byte=8Bit;1KB=1024Byte;1MB=1024KB;1GB=1024MB;1TB=1024GB。4、輸入設備輸入設備的作用是將信息輸入計算機的內(nèi)存儲器,常見的輸入設備有:鍵盤、鼠標、掃描儀等。5、輸出設備輸出設備是將計算機內(nèi)的信息進行輸出的設備。常見的輸出設備有:顯示器、打印機、音箱等。輸入和輸出設備是計算機與外界交換信息的設備,通過I/O接口與計算機的主板連接。硬盤、U盤、軟盤等通常稱為計算機的外存儲器,屬

21、于輸入、輸出設備。二、計算機工作原理計算機的基本原理是存儲程序和程序控制。計算機工作流程為: 1、通過輸入設備將原始數(shù)據(jù)和程序存入存儲器中。2、控制器從存儲器中獲取程序指令,按照指令發(fā)出控制信息流,指揮計算機個部件協(xié)調(diào)工作。3、需要運算時,存儲器將數(shù)據(jù)傳輸至運算器,運算器運算后將結果傳回至存儲器;4、需要輸出時,存儲器將結果數(shù)據(jù)傳輸至輸出設備實現(xiàn)輸出。程序與數(shù)據(jù)在計算機內(nèi)部都是以二進制形式表示,這種“以二進制數(shù)的形式存儲程序與數(shù)據(jù),按順序執(zhí)行程序中的指令”的原理,是由匈牙利美籍科學家馮.諾依曼(VonNeumann,19031957年)提出來的,稱之為馮.諾依曼原理,也是存儲程序原理。三、計算

22、機軟件根據(jù)計算機工作原理,要使計算機有條不紊地工作,光有計算機硬件還不夠,還必須有計算機軟件,兩者配合共同完成信息處理的任務。計算機硬件本身只能完成一些很簡單的基本操作,如加法、減法、傳送數(shù)據(jù)、手發(fā)控制電壓脈沖等,這些簡單的基本操作有計算機指令完成。一臺計算機不過幾十條指令,它們的集合稱為計算機的指令系統(tǒng)。計算機無論做多么復雜和高級的工作,都是逐條執(zhí)行一個由指令序列,最后完成整個工作。這種排列成一定的執(zhí)行順序并能完成一定目標的指令序列,就叫做程序。軟件就是一大段程序,具有專門而完善的功能。例如,word字處理軟件有完善的文字編輯功能。軟件開發(fā)疏遠程序設計范疇。軟件包括系統(tǒng)軟件和應用軟件。為了方便用戶使用計算機,充分發(fā)揮計算機系統(tǒng)的效率,圍繞計算機系統(tǒng)本身開發(fā)的程序系統(tǒng)叫做系統(tǒng)軟件,例如,我們使用的操作系統(tǒng)(常用的有windows、unix等)、語言編譯程序、數(shù)據(jù)庫管理軟件系統(tǒng)等。應用軟件是專門為了某種使用目的而編寫的程序系統(tǒng),常用的有文字處理軟件、辦公軟件、專用的財務軟件、人事管理軟件、計算機輔助軟件、繪圖軟件、學校學生成績管理軟件等?!菊n堂練習】一、算法的描述,嘗試在右邊表格寫出代碼并計算機中進行編譯運行調(diào)試。(第1、2題左側表格為習題算法描述填空題,其他5題請按照第1題的格式完成)。1. 已經(jīng)圓的半徑為5,求圓面積、周長1、輸入半徑: 2、計算圓面積、周長(數(shù)學公式): 3、

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論