C語言第二講 程序開發(fā)的基本概念.ppt_第1頁
C語言第二講 程序開發(fā)的基本概念.ppt_第2頁
C語言第二講 程序開發(fā)的基本概念.ppt_第3頁
C語言第二講 程序開發(fā)的基本概念.ppt_第4頁
C語言第二講 程序開發(fā)的基本概念.ppt_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1,第二講 程序開發(fā)的基本概念,-軟件工程的方法,2,主要內(nèi)容,體驗(yàn)軟件開發(fā)的過程 問題的定義 算法設(shè)計(jì) 編碼 測試 接觸C語法要素,3,分析問題,分析問題的方法 輸入 輸出 解決問題的基本方法,數(shù)學(xué)中解答應(yīng)用題 已知什么 求什么 解題思路,4,算法設(shè)計(jì),算法: 解決問題所需的具體步驟 自頂向下的設(shè)計(jì)方法,編程問題的基本算法 獲得數(shù)據(jù) 執(zhí)行計(jì)算 顯示結(jié)果,算法的描述方法,自然語言 流程圖 偽代碼,5,自然語言,三個(gè)數(shù)中的最大值的算法如下: 第1步:輸入三個(gè)正整數(shù)a,b,c; 第2步:如果a大于b,則將a的值賦給max,否則將b的值賦給max; 第3步:如果c大于max,則將c的值賦給max;

2、第4步:打印:“最大值為”max,6,流程圖,7,畫出以下問題處理的算法流程圖: 如果輸入一個(gè)整數(shù)1,則輸出“true”,輸入其它整數(shù)則輸出“false”,偽代碼,input three integer numbers print “請輸入三個(gè)整數(shù)” input a,b,c judge the max one from three numbers if a b then max=a else max=b if c max then max=c,output the result print: “最大數(shù)是”;max,8,9,編碼,編碼是將算法轉(zhuǎn)化為程序的過程 編碼的工作內(nèi)容 確定數(shù)據(jù)的存儲(chǔ)方式數(shù)

3、據(jù)類型 完成功能的實(shí)現(xiàn)語句,三個(gè)正整數(shù)中的最大值的編碼實(shí)現(xiàn),#include void main() int a,b,c,max; /輸入三個(gè)正整數(shù)a,b,c; printf(請輸入三個(gè)正整數(shù)a,b,c:); scanf(%d%d%d,/如果c大于max,則將c的值賦給max; if(cmax) max=c; /打?。骸白畲笾禐椤眒ax printf(最大值為:%dn,max); ,10,11,測試,正如前面介紹程序錯(cuò)誤時(shí)所提到的,可以運(yùn)行的程序并不是正確的程序,還要根據(jù)問題的實(shí)驗(yàn)?zāi)繕?biāo),設(shè)計(jì)測試用例來檢查所編寫的程序,是否還存在著錯(cuò)誤。 測試的過程就是查找錯(cuò)誤的過程。 測試用例的設(shè)計(jì)是測試程序

4、的核心。,邏輯錯(cuò)誤error1-3.cpp,#include void main(void) int x; scanf(%d, ,測試用例一: 輸入:1 輸出:true 測試用例二: 輸入:0 輸出:false 測試用例三: 輸入:10 輸出:false,12,C語言程序,void main(void) int a,b,c, max; printf(輸入三個(gè)整數(shù):); scanf(%d %d %d”, ,13,測試用例設(shè)計(jì): 測試用例一: 輸入:1 2 3 輸出:3 測試用例二: 輸入:3 2 1 輸出:3 測試用例三: 輸入:1 3 2 輸出:3,14,案例:磅到公斤的轉(zhuǎn)換,學(xué)生在做奶粉的市

5、場調(diào)查時(shí)發(fā)現(xiàn)國產(chǎn)奶粉使用公斤為單位,進(jìn)口奶粉使用磅為單位?,F(xiàn)在希望采用公斤統(tǒng)一計(jì)量,寫出實(shí)行轉(zhuǎn)換的程序。,15,案例分析,問題的輸入 pounds 問題的輸出 kgs 解決問題的方法 1公斤=0.453593磅,16,案例算法設(shè)計(jì),(1) 獲得以磅表示的重量 (2)將重量轉(zhuǎn)換成公斤 (3)顯示以公斤表示的重量,17,案例程序?qū)崿F(xiàn),數(shù)據(jù) 磅 公斤 數(shù)據(jù)類型選擇 浮點(diǎn)數(shù)據(jù),功能 獲得以磅表示的重量 將重量轉(zhuǎn)換成公斤 顯示以公斤表示的重量,18,磅到公斤的轉(zhuǎn)換:sample01_03.cpp,/*磅到公斤的轉(zhuǎn)換*/ #include #define kg_per_pound 0.453593 int

6、 main() /*小括號內(nèi)void可省*/ double pounds; double kgs; /獲得以磅表示的重量 printf(Enter the quantity in pounds:); scanf(%d,/將重量轉(zhuǎn)換成公斤 kgs=kg_per_pound*pounds; /顯示以公斤表示的重量 printf(that equals %f kilograms,kgs); return 0;,案例測試,測試用例: 輸入:10.0 輸出:4.53593,20,C語言要素解釋,注釋 預(yù)處理指令 用戶自定義標(biāo)識符 數(shù)據(jù)類型,常量和變量 語句 表達(dá)式 函數(shù),21,注釋,行注釋 /注釋內(nèi)容

7、多行注釋 /*注釋內(nèi)容 */,幫助理解程序 編譯程序忽略注釋內(nèi)容,將注釋替換為一個(gè)空格 注釋不能嵌套,22,注釋的功能,程序的開始 功能、版本、作者、修改時(shí)間、程序名 函數(shù)定義前 功能,參數(shù)、返回值、作者、修改時(shí)間 語句后 功能注釋,23,預(yù)處理指令,在編譯前執(zhí)行 # 例如: #include #define kg_per_pound 0.453593,24,頭文件包含(庫),#include 告訴編譯系統(tǒng)可被程序訪問的系統(tǒng)函數(shù)和符號的集合 stdio.h是標(biāo)準(zhǔn)輸入輸出系統(tǒng)函數(shù)庫 printf和scanf是標(biāo)準(zhǔn)輸入輸出系統(tǒng)函數(shù),屬于stdio.h,25,常量宏,#define kg_per_p

8、ound 0.453593 在編譯前以0.453593替代程序文本中每一個(gè)kg_per_pound #define PI 3.1415926,26,數(shù)據(jù)類型,C提供的簡單數(shù)據(jù)類型 int (整型) float (單精度浮點(diǎn)型) double (雙精度浮點(diǎn)型) char (字符型),數(shù)據(jù)類型是一組數(shù)據(jù)及在這組數(shù)據(jù)上的運(yùn)算 書寫方式 編碼方式 存儲(chǔ)字節(jié) 操作,27,數(shù)據(jù)類型的選擇,從水表讀出的用水量,以噸為單位 換算一張大額紙幣對應(yīng)的硬幣數(shù)目 每天通過ETC收費(fèi)口的汽車數(shù)量(每輛車通過需要6秒鐘,共10個(gè)收費(fèi)口) 表示一個(gè)人的性別 成績?yōu)?-100的整數(shù),成績的總分和平均分,28,變量,用于存放程

9、序的輸入數(shù)據(jù)和計(jì)算結(jié)果的存儲(chǔ)單元 程序運(yùn)行時(shí)存儲(chǔ)在變量中的數(shù)據(jù)可以改變,變量的屬性,名稱 類型 存儲(chǔ)位置 存儲(chǔ)的值,29,pounds,double,278.45,0 x0013ff7c,變量的定義,變量聲明 數(shù)據(jù)類型 變量表 double pounds;/以磅表示的重量 double kgs; /以公斤表示的重量,變量的初值 隨機(jī)值 變量的初始化 int i=1;,30,double pounds,kgs;,31,變量命名,用戶自定義標(biāo)識符 1.由字母、數(shù)字、下劃線(_)構(gòu)成 2.數(shù)字不能為首字符 3.不能是保留字 4.大小寫敏感 保留字 int char double if else fo

10、r while printf scanf main,32,常量,int 整數(shù)常量:23,0,-135 double 浮點(diǎn)數(shù)常量:0.263,123.8 float 浮點(diǎn)數(shù)常量:0.263f,123.8f char 字符常量: a, A, 0, n,33,語句,以;為C語句的結(jié)束符號,賦值語句,對一個(gè)變量賦值,以新的數(shù)值改寫變量中存放的內(nèi)容 變量=表達(dá)式; kgs=kg_per_pound*pounds;,隨機(jī)值,0.453593,10.0,kgs,kg_per_pound,pounds,賦值前,4.53593,0.453593,10.0,kgs,kg_per_pound,pounds,賦值后,

11、35,交換算法,int a,b,t a=10; b=20; 交換變量a和b中的值 必須借助第三方變量t,t=a; a=b; b=t; t=b; b=a; a=t;,36,交換的過程,10,20,隨機(jī)值,a,b,t,10,20,10,t=a;,20,20,10,a=b;,b=t;,20,10,10,交換前,37,算術(shù)運(yùn)算符,+、 -、 *、 / 單目運(yùn)算符和雙目運(yùn)算符 運(yùn)算順序: 從左至右 優(yōu)先級 括號,38,算術(shù)表達(dá)式,用算術(shù)運(yùn)算符將運(yùn)算對象連接起來的符合C語言語法規(guī)則的式子 數(shù)學(xué)式:(a+b)(a-c) C表達(dá)式:(a+b)* (a-c),函數(shù),main函數(shù) 系統(tǒng)函數(shù) 用戶自定義函數(shù),39,

12、40,main函數(shù),每一個(gè)C程序有且只有一個(gè)main函數(shù) 程序執(zhí)行自動(dòng)調(diào)用main函數(shù) 程序順次執(zhí)行每一條可執(zhí)行語句 形式: void main(void) int main(void) 聲明 聲明 可執(zhí)行語句序列 可執(zhí)行語句序列 return 0; ,void 可省,41,目前學(xué)習(xí)的C程序的一般形式,#include /#include int main() /變量定義 / 若干輸入數(shù)據(jù) /若干賦值和計(jì)算語句 /輸出結(jié)果 return 0; ,42,輸出語句,顯示雙引號之間的文字串到顯示屏幕 printf(Enter the quantity in pounds:n); 雙引號不輸出 雙引號之間的字符稱為字符串 n表示換行 輸出變量或表達(dá)式的值:格式控制符(%f,%d) printf(that equals %f kilograms, kgs); printf(最大數(shù)是: %d, max) ;,kg_per_pound*pounds,43,輸入語句,作用:接受鍵盤的輸入數(shù)據(jù),存儲(chǔ)到變量中。 scanf(“%lf”, %lf的作用:設(shè)定數(shù)據(jù)類型 鍵盤擊打字符無數(shù)據(jù)類型 變量接受數(shù)據(jù)-明確數(shù)據(jù)類型 例:鍵入:12 整

溫馨提示

  • 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)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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

提交評論