版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1,第二講 程序開(kāi)發(fā)的基本概念,-軟件工程的方法,2,主要內(nèi)容,體驗(yàn)軟件開(kāi)發(fā)的過(guò)程 問(wèn)題的定義 算法設(shè)計(jì) 編碼 測(cè)試 接觸C語(yǔ)法要素,3,分析問(wèn)題,分析問(wèn)題的方法 輸入 輸出 解決問(wèn)題的基本方法,數(shù)學(xué)中解答應(yīng)用題 已知什么 求什么 解題思路,4,算法設(shè)計(jì),算法: 解決問(wèn)題所需的具體步驟 自頂向下的設(shè)計(jì)方法,編程問(wèn)題的基本算法 獲得數(shù)據(jù) 執(zhí)行計(jì)算 顯示結(jié)果,算法的描述方法,自然語(yǔ)言 流程圖 偽代碼,5,自然語(yǔ)言,三個(gè)數(shù)中的最大值的算法如下: 第1步:輸入三個(gè)正整數(shù)a,b,c; 第2步:如果a大于b,則將a的值賦給max,否則將b的值賦給max; 第3步:如果c大于max,則將c的值賦給max;
2、第4步:打?。骸白畲笾禐椤眒ax,6,流程圖,7,畫(huà)出以下問(wèn)題處理的算法流程圖: 如果輸入一個(gè)整數(shù)1,則輸出“true”,輸入其它整數(shù)則輸出“false”,偽代碼,input three integer numbers print “請(qǐng)輸入三個(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)化為程序的過(guò)程 編碼的工作內(nèi)容 確定數(shù)據(jù)的存儲(chǔ)方式數(shù)
3、據(jù)類(lèi)型 完成功能的實(shí)現(xiàn)語(yǔ)句,三個(gè)正整數(shù)中的最大值的編碼實(shí)現(xiàn),#include void main() int a,b,c,max; /輸入三個(gè)正整數(shù)a,b,c; printf(請(qǐng)輸入三個(gè)正整數(shù)a,b,c:); scanf(%d%d%d,/如果c大于max,則將c的值賦給max; if(cmax) max=c; /打印:“最大值為”max printf(最大值為:%dn,max); ,10,11,測(cè)試,正如前面介紹程序錯(cuò)誤時(shí)所提到的,可以運(yùn)行的程序并不是正確的程序,還要根據(jù)問(wèn)題的實(shí)驗(yàn)?zāi)繕?biāo),設(shè)計(jì)測(cè)試用例來(lái)檢查所編寫(xiě)的程序,是否還存在著錯(cuò)誤。 測(cè)試的過(guò)程就是查找錯(cuò)誤的過(guò)程。 測(cè)試用例的設(shè)計(jì)是測(cè)試程序
4、的核心。,邏輯錯(cuò)誤error1-3.cpp,#include void main(void) int x; scanf(%d, ,測(cè)試用例一: 輸入:1 輸出:true 測(cè)試用例二: 輸入:0 輸出:false 測(cè)試用例三: 輸入:10 輸出:false,12,C語(yǔ)言程序,void main(void) int a,b,c, max; printf(輸入三個(gè)整數(shù):); scanf(%d %d %d”, ,13,測(cè)試用例設(shè)計(jì): 測(cè)試用例一: 輸入:1 2 3 輸出:3 測(cè)試用例二: 輸入:3 2 1 輸出:3 測(cè)試用例三: 輸入:1 3 2 輸出:3,14,案例:磅到公斤的轉(zhuǎn)換,學(xué)生在做奶粉的市
5、場(chǎng)調(diào)查時(shí)發(fā)現(xiàn)國(guó)產(chǎn)奶粉使用公斤為單位,進(jìn)口奶粉使用磅為單位?,F(xiàn)在希望采用公斤統(tǒng)一計(jì)量,寫(xiě)出實(shí)行轉(zhuǎn)換的程序。,15,案例分析,問(wèn)題的輸入 pounds 問(wèn)題的輸出 kgs 解決問(wèn)題的方法 1公斤=0.453593磅,16,案例算法設(shè)計(jì),(1) 獲得以磅表示的重量 (2)將重量轉(zhuǎn)換成公斤 (3)顯示以公斤表示的重量,17,案例程序?qū)崿F(xiàn),數(shù)據(jù) 磅 公斤 數(shù)據(jù)類(lèi)型選擇 浮點(diǎn)數(shù)據(jù),功能 獲得以磅表示的重量 將重量轉(zhuǎn)換成公斤 顯示以公斤表示的重量,18,磅到公斤的轉(zhuǎn)換:sample01_03.cpp,/*磅到公斤的轉(zhuǎn)換*/ #include #define kg_per_pound 0.453593 int
6、 main() /*小括號(hào)內(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;,案例測(cè)試,測(cè)試用例: 輸入:10.0 輸出:4.53593,20,C語(yǔ)言要素解釋,注釋 預(yù)處理指令 用戶自定義標(biāo)識(shí)符 數(shù)據(jù)類(lèi)型,常量和變量 語(yǔ)句 表達(dá)式 函數(shù),21,注釋,行注釋 /注釋內(nèi)容
7、多行注釋 /*注釋內(nèi)容 */,幫助理解程序 編譯程序忽略注釋內(nèi)容,將注釋替換為一個(gè)空格 注釋不能嵌套,22,注釋的功能,程序的開(kāi)始 功能、版本、作者、修改時(shí)間、程序名 函數(shù)定義前 功能,參數(shù)、返回值、作者、修改時(shí)間 語(yǔ)句后 功能注釋,23,預(yù)處理指令,在編譯前執(zhí)行 # 例如: #include #define kg_per_pound 0.453593,24,頭文件包含(庫(kù)),#include 告訴編譯系統(tǒng)可被程序訪問(wèn)的系統(tǒng)函數(shù)和符號(hào)的集合 stdio.h是標(biāo)準(zhǔn)輸入輸出系統(tǒng)函數(shù)庫(kù) 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ù)類(lèi)型,C提供的簡(jiǎn)單數(shù)據(jù)類(lèi)型 int (整型) float (單精度浮點(diǎn)型) double (雙精度浮點(diǎn)型) char (字符型),數(shù)據(jù)類(lèi)型是一組數(shù)據(jù)及在這組數(shù)據(jù)上的運(yùn)算 書(shū)寫(xiě)方式 編碼方式 存儲(chǔ)字節(jié) 操作,27,數(shù)據(jù)類(lèi)型的選擇,從水表讀出的用水量,以噸為單位 換算一張大額紙幣對(duì)應(yīng)的硬幣數(shù)目 每天通過(guò)ETC收費(fèi)口的汽車(chē)數(shù)量(每輛車(chē)通過(guò)需要6秒鐘,共10個(gè)收費(fèi)口) 表示一個(gè)人的性別 成績(jī)?yōu)?-100的整數(shù),成績(jī)的總分和平均分,28,變量,用于存放程
9、序的輸入數(shù)據(jù)和計(jì)算結(jié)果的存儲(chǔ)單元 程序運(yùn)行時(shí)存儲(chǔ)在變量中的數(shù)據(jù)可以改變,變量的屬性,名稱 類(lèi)型 存儲(chǔ)位置 存儲(chǔ)的值,29,pounds,double,278.45,0 x0013ff7c,變量的定義,變量聲明 數(shù)據(jù)類(lèi)型 變量表 double pounds;/以磅表示的重量 double kgs; /以公斤表示的重量,變量的初值 隨機(jī)值 變量的初始化 int i=1;,30,double pounds,kgs;,31,變量命名,用戶自定義標(biāo)識(shí)符 1.由字母、數(shù)字、下劃線(_)構(gòu)成 2.數(shù)字不能為首字符 3.不能是保留字 4.大小寫(xiě)敏感 保留字 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,語(yǔ)句,以;為C語(yǔ)句的結(jié)束符號(hào),賦值語(yǔ)句,對(duì)一個(gè)變量賦值,以新的數(shù)值改寫(xiě)變量中存放的內(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,交換的過(guò)程,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)先級(jí) 括號(hào),38,算術(shù)表達(dá)式,用算術(shù)運(yùn)算符將運(yùn)算對(duì)象連接起來(lái)的符合C語(yǔ)言語(yǔ)法規(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í)行語(yǔ)句 形式: void main(void) int main(void) 聲明 聲明 可執(zhí)行語(yǔ)句序列 可執(zhí)行語(yǔ)句序列 return 0; ,void 可省,41,目前學(xué)習(xí)的C程序的一般形式,#include /#include int main() /變量定義 / 若干輸入數(shù)據(jù) /若干賦值和計(jì)算語(yǔ)句 /輸出結(jié)果 return 0; ,42,輸出語(yǔ)句,顯示雙引號(hào)之間的文字串到顯示屏幕 printf(Enter the quantity in pounds:n); 雙引號(hào)不輸出 雙引號(hào)之間的字符稱為字符串 n表示換行 輸出變量或表達(dá)式的值:格式控制符(%f,%d) printf(that equals %f kilograms, kgs); printf(最大數(shù)是: %d, max) ;,kg_per_pound*pounds,43,輸入語(yǔ)句,作用:接受鍵盤(pán)的輸入數(shù)據(jù),存儲(chǔ)到變量中。 scanf(“%lf”, %lf的作用:設(shè)定數(shù)據(jù)類(lèi)型 鍵盤(pán)擊打字符無(wú)數(shù)據(jù)類(lèi)型 變量接受數(shù)據(jù)-明確數(shù)據(jù)類(lèi)型 例:鍵入:12 整
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026中證中小投資者服務(wù)中心招聘考試備考題庫(kù)及答案解析
- 2025年榆林市住房公積金管理中心招聘(19人)備考筆試試題及答案解析
- 2025年甘肅省新華書(shū)店招聘考試備考資料包(公共基礎(chǔ)知識(shí))備考考試試題及答案解析
- 2025四川廣安岳池縣婦幼保健院招聘護(hù)士2人備考筆試試題及答案解析
- 深度解析(2026)《GBT 25979-2010道路車(chē)輛 重型商用汽車(chē)列車(chē)和鉸接客車(chē) 橫向穩(wěn)定性試驗(yàn)方法》
- 深度解析(2026)《GBT 25928-2010過(guò)程工業(yè)自動(dòng)化系統(tǒng)出廠驗(yàn)收測(cè)試(FAT)、現(xiàn)場(chǎng)驗(yàn)收測(cè)試(SAT)、現(xiàn)場(chǎng)綜合測(cè)試(SIT)規(guī)范》
- 深度解析(2026)《GBT 25848-2010耐酸陶瓷球拱》(2026年)深度解析
- 2025年哈爾濱市南崗區(qū)殘疾人聯(lián)合會(huì)補(bǔ)充招聘殘疾人專職委員2人參考筆試題庫(kù)附答案解析
- 深度解析(2026)《GBT 25732-2010糧油機(jī)械 液壓榨油機(jī)》(2026年)深度解析
- 2025重慶市長(zhǎng)壽區(qū)城市管理服務(wù)中心招聘數(shù)字城管工作人員3人參考考試試題及答案解析
- 2025秋蘇教版(新教材)小學(xué)科學(xué)三年級(jí)上冊(cè)知識(shí)點(diǎn)及期末測(cè)試卷及答案
- 2025年高職現(xiàn)代水產(chǎn)養(yǎng)殖技術(shù)(生態(tài)養(yǎng)殖模式)試題及答案
- 2025年陽(yáng)江輔警招聘考試真題附答案
- 心臟手術(shù)體外循環(huán)的無(wú)菌管理策略
- 2025年洗衣房年終工作總結(jié)樣本(四篇)
- 糖尿病合并腎病綜合治療方案
- 消除母嬰三病傳播知識(shí)培訓(xùn)
- 智慧水務(wù)系統(tǒng)建設(shè)方案與應(yīng)用案例
- GB/T 39368.1-2025皮革耐折牢度的測(cè)定第1部分:撓度儀法
- 尾礦砂購(gòu)銷(xiāo)合同范本
- DB15∕T 3434-2024 沙質(zhì)草甸草原風(fēng)蝕區(qū)植被修復(fù)技術(shù)規(guī)程
評(píng)論
0/150
提交評(píng)論