C語言ppt課件(PPT 51頁)_第1頁
C語言ppt課件(PPT 51頁)_第2頁
C語言ppt課件(PPT 51頁)_第3頁
C語言ppt課件(PPT 51頁)_第4頁
C語言ppt課件(PPT 51頁)_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第1章 程序設計概述第1頁,共51頁。 第1章 程序設計概述1.1 程序的概念1.2程序設計語言1.3 初識C程序1.4 C程序的基本語法1.5 C程序設計方法1.6常見C程序的錯誤第2頁,共51頁。1.1 程序的概念程序(program):是用某種程序設計語言編寫指示計算機完成特定功能的命令序列的集合,如:IE瀏覽器iexplore.exe程序網(wǎng)絡聊天qq.exe程序洗衣機洗衣程序程序是人類駕馭計算機的手段谷歌圍棋人工智能程序AlphaGoMobike &OFO第3頁,共51頁。1.2程序設計語言程序設計語言是計算機能夠理解和識別的一種語言體系,用于描述程序中操作過程的命令、規(guī)則的符號集合,

2、是進行程序設計的工具。編程設計一組控制計算機的命令集的過程,需要人們事先經(jīng)過縝密的思考和設計,程序強調(diào)嚴謹?shù)倪壿嫼徒Y(jié)構(gòu)。第4頁,共51頁。1.2程序設計語言程序設計語言的發(fā)展機器語言匯編語言高級語言例:要使兩個存儲單元中的數(shù)的相加,最后結(jié)果存放在其中一個單元中MOV SI,10HMOV AL,SIINC SIADD AL,SIMOV SI,ALint x=6,y=7;y=x+y;第5頁,共51頁。1.2程序設計語言高級語言:獨立于機器,表達方式更接近于被描述的問題,而不需要去關心與機器相關的實現(xiàn)細節(jié)第一個高級語言1954年,F(xiàn)ORTRAN影響較大的高級語言FORTRAN、ALGOL、COBOL

3、、BASIC、LISP、Pascal、VB、C、C+、C#、Delphi、JAVA、Python、PHP 等第6頁,共51頁。1.2程序設計語言面向過程程序設計語言以函數(shù)為基本程序結(jié)構(gòu)單位,程序的設計以過程為核心。先用函數(shù)實現(xiàn)解決問題所需要的每個步驟, 再根據(jù)既定的功能依次調(diào)用函數(shù)。程序=算法+數(shù)據(jù)結(jié)構(gòu)+程序設計語言+語言環(huán)境如:C、Pascal等第7頁,共51頁。1.2程序設計語言面向?qū)ο蟪绦蛟O計語言以類為基本程序結(jié)構(gòu)單位,程序的設計以類為核心,數(shù)據(jù)及操作封裝在類中。程序=類+類+類類=數(shù)據(jù)結(jié)構(gòu)+算法+程序設計語言+語言環(huán)境如:C+、JAVA、Python等第8頁,共51頁。1.2程序設計語

4、言高級語言的翻譯高級語言不能被計算機直接執(zhí)行,必須先由一種翻譯程序?qū)⑦@些程序翻譯成能被計算機識別和執(zhí)行的機器語言翻譯程序的種類編譯程序解釋程序第9頁,共51頁。1.3 初始C程序1.3.1 C語言概述1.3.2 數(shù)值計算的C程序1.3.3簡單游戲的C程序1.3.4 C程序的實現(xiàn)過程第10頁,共51頁。1.3.1 C語言概述C語言演變BCPL=B = C = C+C可作為系統(tǒng)程序的設計語言如編寫Windows、Linux、嵌入式等操作系統(tǒng)C可作為應用程序的設計語言如編寫計算器、游戲、圖像處理等第11頁,共51頁。1.3.1 C語言概述C 是最受歡迎的、應用最廣泛的編程語言之一 2017年2月TI

5、OBE編程語言排行榜第12頁,共51頁。1.3.2 數(shù)值計算的C程序?qū)崿F(xiàn)“雞兔同籠”問題窮舉法的C程序/* 功能:已知雞兔的總頭數(shù)和總腳數(shù),求解雞兔的數(shù)量各有多少*/#includeint main()/主函數(shù) int head,feet; /head 為雞兔頭的總數(shù)、feet為雞兔腳的總數(shù) int chicken, rabbit; /chicken為雞的數(shù)量、rabbit為兔的數(shù)量 scanf(%d %d,&head,&feet); /獲取鍵盤輸入的頭數(shù)與腳數(shù) /*反復窮舉可能符合條件的解法,直到獲得求解結(jié)果結(jié)束*/ for(chicken=1;chicken=head;chicken+)

6、rabbit=head-chicken;if(chicken*2+rabbit*4=feet) break; printf(nchicken=%d,rabbit=%d,chicken,rabbit);/屏幕輸出雞兔的數(shù)量 return 0;執(zhí)行結(jié)果第13頁,共51頁。1.3.3 簡單游戲的C程序簡單的“走迷宮”小游戲的C程序功能是:已知一個6*6階的迷宮、實現(xiàn)讓小球從起點走出迷宮*/#include #include #include #include move.h int main() /迷宮圖,大寫字母O為小球起始位置,#字符為迷宮柵欄 char m67=#, #O # , # # #,

7、# # #, # #, #; int i,x,y,exitX,exitY; char ch; x=1,y=1,exitX=1,exitY=5;/x,y為小球初始位置,exitX,exitY為迷宮出口位置第14頁,共51頁。1.3.3 簡單游戲的C程序簡單的“走迷宮”小游戲的C程序 for(i=0;i6;i+) puts(mi);/初始迷宮圖輸出到屏幕 /小球沒走到迷宮出口,根據(jù)迷宮狀態(tài)選擇一個方向移動while(x!=exitX | y!=exitY) ch=getch();move(m,ch,&x,&y);/小球在用戶指定方向移動一步system(cls);/清屏for(i=0;i6;i+)

8、 puts(mi);/小球移動一步后的迷宮圖輸出到屏幕 printf(Congratulations on winning the maze !);Sleep(5000);/暫停5秒鐘左右return 0;第15頁,共51頁。1.3.3 簡單游戲的C程序簡單的“走迷宮”小游戲的執(zhí)行結(jié)果第16頁,共51頁。1.3.4 C程序的實現(xiàn)過程C程序?qū)崿F(xiàn)的4個過程:編輯(EDIT)編譯(COMPILE)連接(Link)執(zhí)行(EXECUTE)第17頁,共51頁。1.3.4 C程序的實現(xiàn)過程C程序的集成開發(fā)環(huán)境 集編輯(EDIT)、編譯(COMPILE)、 連接(Link)、執(zhí)行(EXECUTE)與一體,并提

9、供調(diào)試(debug)手段和幫助(help)的開發(fā)軟件。第18頁,共51頁。1.3.4 C程序的實現(xiàn)過程幾種常用的C語言集成開發(fā)工具開 發(fā) 工 具運 行 環(huán) 境各工具的差異基 本 特 點Turbo CDOS不能開發(fā)C+語言程序(1)符合標準C(2)各系統(tǒng)具有一些擴充內(nèi)容(3)能開發(fā)C語言程序(集程序編輯、編譯、連接、調(diào)試、運行于一體)Borland CDOSMicrsoft CDOSVisual C+Windows能開發(fā)C+語言程序(集程序編輯、編譯、連接、調(diào)試、運行于一體)Dev C+WindowsBorland C+DOS、WindowsVisual StudioWindowsCodeBlo

10、cksWindows、Mac第19頁,共51頁。1.4 C程序的基本語法1.4.1 C程序的基本結(jié)構(gòu)1.4.2 C程序的基本元素1.4.3 C程序的編程風格第20頁,共51頁。1.4.1 C程序的基本結(jié)構(gòu)/*功能:已知x與y的值,把x除以y的結(jié)果放到z中,并在屏幕上打印輸出*/#include int main()int x,y; double z; x=20; y=5; z=(double)x/y;printf(z=%.1fn,z); /輸出兩個整數(shù)相除的結(jié)果return 0;從宏觀上講,C程序的基本結(jié)構(gòu)包括:編譯預處理命令、函數(shù)定義。main函數(shù)定義編譯預處理命令第21頁,共51頁。從微觀

11、上看,一個C程序也可以被看成是由若干行組成的,而每一行由字符的序列構(gòu)成的。1. 基本字符集:大寫英文字母:AZ小寫英文字母:az阿拉伯數(shù)字:0928個標點符號和運算符下劃線(_)、空格符、制表符和換行符1.4.2 C程序的基本元素第22頁,共51頁。1.4.2 C程序的基本元素2. 標識符 用來命名如語句的種類、變量的名稱、函數(shù)的名稱等的各種程序元素,應滿足以下規(guī)則:以字母(不論大小寫)或下劃線(_)開頭;隨后可以跟若干個(包括0個)字母、數(shù)字、下劃線。第23頁,共51頁。1.4.2 C程序的基本元素2. 標識符關鍵字:C語言的編譯系統(tǒng)已經(jīng)給予固定意義的標識符.數(shù)據(jù)類型名:int 、doubl

12、e語句的種類:if、 for程序元素的其他性質(zhì):define、static標準標識符:C語言的程序設計環(huán)境中,已經(jīng)被給予指定意義的標識符printf 格式化輸出庫函數(shù)的函數(shù)名scanf 格式化輸入庫函數(shù)的函數(shù)名INT_MAX 整數(shù)類型的最大數(shù)據(jù)第24頁,共51頁。1.4.2 C程序的基本元素2. 標識符用戶定義的標識符除了關鍵字和標準標識符之外的其他標識符。在不混淆的情況下,把“用戶定義的標識符”簡單地說成“標識符”。通常用來命名程序中的變量、函數(shù)或其他程序元素。合法的用戶定義標識符如:x y2 _imax ELSE X A_to_B 非法的用戶定義標識符如:5x else #No sum t

13、wo re-input main第25頁,共51頁。1.4.2 C程序的基本元素3. 注釋 注釋的一般形式是: /* 一行或多行注釋 */ / 當前行注釋第26頁,共51頁。1.4.3 C程序編程風格良好的編程風格(1)代碼形成鋸齒形書寫格式。(2)為增加程序的可讀性,程序的主要語句要有適當注釋。(3)標識符命名盡量做到“見名知意”的原則。(4)一行只寫一個語句。(5)為使程序的結(jié)構(gòu)更清晰,可使用空行或空格。(6)輸入數(shù)據(jù)前要有適當?shù)奶崾?,輸出結(jié)果時要有說明。第27頁,共51頁。1.5 C程序設計方法1.5.1問題分析1.5.2算法設計1.5.3程序編寫1.5.4運行調(diào)試第28頁,共51頁。1

14、.5 C程序設計方法編程工具確定后,程序設計的四個步驟:第29頁,共51頁。1.5.1 問題分析問題分析的過程包括問題的定義明確解決問題需要考慮的已知信息,和需要達到的目標。(1)已知什么(2)求什么。如:已知同籠中雞兔的頭數(shù)與腳數(shù),求雞兔各有多少只問題的解決方案。根據(jù)已知條件,尋求結(jié)果的方法和途徑如:雞兔同籠問題的“窮舉法”第30頁,共51頁。1.5.2 算法設計算法:解決問題所需的有限步驟算法設計:就是設計程序執(zhí)行步驟,這些步驟都應該是明確定義、可以執(zhí)行的,而且每個步驟的執(zhí)行順序是確定的,并且能夠在有限步驟內(nèi)執(zhí)行完畢。第31頁,共51頁。1.5.2 算法設計求三個整數(shù)中的最大值的算法舉例:

15、第1步:輸入三個正整數(shù)a,b,c;第2步:如果a大于b,則將a的值賦給max, 否則將b的值賦給max;第3步:如果c大于max,則將c的值賦給max;第4步:打?。骸白畲笾禐椤眒ax第32頁,共51頁。1.5.2 算法設計編程問題的最基本的算法設計可歸結(jié)為以下三步:(1)獲得數(shù)據(jù)(2)執(zhí)行計算(3)顯示結(jié)果第33頁,共51頁。1.5.2 算法設計算法的描述:自然語言偽代碼流程圖第34頁,共51頁。1.5.2 算法設計流程圖幾種基本圖形C語言的三種控制結(jié)構(gòu)用流程圖第35頁,共51頁。1.5.2 算法設計求三個數(shù)中的最大值問題的流程圖第36頁,共51頁。1.5.3 程序編寫C程序=數(shù)據(jù)+操作數(shù)據(jù)

16、:即確定數(shù)據(jù)的存儲方式已知信息的數(shù)據(jù)計算過程產(chǎn)生中間數(shù)據(jù)待求結(jié)果的數(shù)據(jù)操作:即算法,用語句實現(xiàn)符合程序語言的語法規(guī)則第37頁,共51頁。1.5.4 運行調(diào)試發(fā)現(xiàn)錯誤設計測試用例錯誤的定位設置斷點單步跟蹤觀察變量的值第38頁,共51頁。1.6 常見C程序的錯誤1.6.1語法錯誤編譯錯誤1.6.2語法錯誤連接錯誤1.6.3邏輯錯誤結(jié)果不正確1.6.4邏輯錯誤運行時錯誤第39頁,共51頁。1.6 常見C程序的錯誤認識程序錯誤語法錯誤編譯錯誤連接錯誤邏輯錯誤運行結(jié)果不正確運行時錯誤第40頁,共51頁。1.6.1語法錯誤編譯錯誤是指不符合C語言定義的語法書寫規(guī)則編譯時能自動檢查出語法錯誤,只需根據(jù)錯誤提

17、示進行修改程序語句末缺少分號“;”的編譯錯誤示例缺少分號“輸出”窗口第41頁,共51頁。1.6.1語法錯誤編譯錯誤C語言的錯誤信息的形式雙擊上述錯誤信息,修改第42頁,共51頁。1.6.1語法錯誤編譯錯誤編譯錯誤修改提示:錯誤信息往往只能起提示作用,不是特別精確反映錯誤產(chǎn)生的原因,更不會告訴你如何修改。根據(jù)提示能快速反應錯誤產(chǎn)生的原因需要經(jīng)驗的積累。一條語句錯誤可能會產(chǎn)生若干條錯誤信息,只要修改了這條錯誤,其他錯誤會隨之消失。特別提示:一般情況下,第一條錯誤信息最能反映錯誤的位置和類型,所以調(diào)試程序時務必根據(jù)第一條錯誤信息進行修改,修改后,立即重新編譯程序,如果還有很多錯誤,再一個一個地修改。

18、即每修改一處錯誤要重新編譯一次程序。第43頁,共51頁。1.6.2語法錯誤連接錯誤連接錯誤,是編譯成功后,連接器連接外部程序的時候產(chǎn)生的錯誤。系統(tǒng)函數(shù)printf錯寫成print后的連接錯誤示例第44頁,共51頁。1.6.2語法錯誤連接錯誤連接錯誤修改提示:連接錯誤不提示出錯行數(shù),但小程序的定位也比較簡單,一般是函數(shù)和外部變量的名稱出錯,只需根據(jù)錯誤提示的字符串去尋找可能出現(xiàn)的位置 。第45頁,共51頁。1.6.2語法錯誤連接錯誤常見語法錯誤字符串“ ”不完整()不匹配缺少;函數(shù)名寫錯第46頁,共51頁。1.6.3邏輯錯誤結(jié)果不正確邏輯錯誤是程序設計上或邏輯上的錯誤指程序已生成可執(zhí)行文件,但運行出錯或不能得到正確的結(jié)果,這可能是由于算法中問題說明不足,解法不完整或不正確所造成的。邏輯錯誤的檢查需要事先設計的測試用例。邏輯錯誤出錯位置需要程序員對程序代碼進行分析,一般會借助一些調(diào)試手段,如單步跟蹤,設置斷點,監(jiān)視窗口觀測變量等第47頁

溫馨提示

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

評論

0/150

提交評論