freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c程序設(shè)計實例教程上ppt(已修改)

2025-01-04 12:46 本頁面
 

【正文】 《 C程序設(shè)計實例教程 》上 梁立 第 1章 概述 第 2章 用 C語言表達(dá)程序 第 3章 控制結(jié)構(gòu) 第 1章 概述 主要內(nèi)容 ——程序化 ——程序 ——算法 學(xué)習(xí)目標(biāo) 本章重點: 理解算法和程序的概念 掌握 C程序的基本結(jié)構(gòu) 本章難點: C程序的上機操作 計算機完成任務(wù) ——程序化 用計算機完成任務(wù),需要把完成任務(wù)的步驟告訴計算機,計算機將按照步驟做事。 【 例 11】 畢業(yè)典禮的“程序” 步驟: 1. 主持人宣布開始; 2. 校長致辭; 3. 頒發(fā)畢業(yè)證書; 4. 會議結(jié)束。 問題: 該“程序”完善嗎 ?如果校長不能到場怎么辦? “頒發(fā)畢業(yè)證書”這個任務(wù)能一次完成嗎 ? 計算機完成任務(wù) ——程序化 認(rèn)真考慮存在的問題,修改工作程序 步驟: 1. 主持人宣布開始; 2. 如果校長到場,則校長致辭,否則教務(wù)長 致辭; 3. 逐個頒發(fā)畢業(yè)證書,直到全部頒發(fā)結(jié)束; 4. 會議結(jié)束。 注意: 計算機按照工作程序從上到下一步一步地順序執(zhí) 行。步驟中的每一步必須保證是計算機力所能及的。 【 例 12】 求兩個數(shù)中最大數(shù) 步驟: 1. 從鍵盤輸入兩個數(shù)存于變量 a和 b中; 2. 如果 ab則 max← a,否則 max← b; 3. 輸出 max; 4. 結(jié)束。 小結(jié): 工作“程序”實際是一個解決問題的方法和步驟,嚴(yán)格說叫 “算法” 計算機完成任務(wù) ——程序化 解決問題的方法和步驟 ——算法 算法 計算機解決問題的方法和步驟 ,是解決問題的核心。 算法概括為以下三大步 輸入 處理 輸出 變量 可以改變的量,在計算機里,實際上是存儲數(shù)據(jù)的 (內(nèi)存 )空間單元。 NS流程圖 省略了流程圖中的流程線,適于結(jié)構(gòu)化程序設(shè)計 算法的表示 (附錄 E) 自然語言 通俗易懂,容易產(chǎn)生歧義 流程圖 標(biāo)準(zhǔn)符號 三種基本結(jié)構(gòu)(順序、選擇、循環(huán)) 偽代碼 介于自然語言和計算機語言之間,混合使用文字和符號 PAD圖 用計算機語言表達(dá)算法 ——程序 根據(jù)算法描述,用計算機程序設(shè)計語言來實現(xiàn)。 程序是算法的具體實現(xiàn) 標(biāo)準(zhǔn)輸入輸出 預(yù)處理 include void main() { int a, b, max。 scanf(%d,%d, amp。a, amp。b)。 if(ab) max=a。 else max=b。 printf ( %d\n , max)。 } 格式字符, 表示以十進(jìn)制輸出變量 max的值 定義變量 從鍵盤輸入兩 個整數(shù),給變 量賦值 主函數(shù)。 程序的入口 換行符 【 例 13】 求最大數(shù)的 C程序 用計算機語言表達(dá)算法 ——程序 【 例 13】 的流程圖與 PAD圖 開始 輸入兩個數(shù)存于變量 a,b a b? max ← a max ← b 輸出變量 max 圖 “求最大數(shù)”的流程圖 結(jié)束 a b 嗎 ? max ← a max ← b 圖 “求最大數(shù)”的 PAD圖 輸入兩個數(shù)存于變量 a, b 輸出變量 max C程序設(shè)計的基本思路 了解 C程序結(jié)構(gòu) 熟悉 C提供的基本功能 掌握分析問題的方法 1. 了解 C程序結(jié)構(gòu) 框架結(jié)構(gòu) include void main() { // 定義變量 // 程序主體,三個部分:輸入、處理、輸出 } 程序需要標(biāo)準(zhǔn)輸入 輸出函數(shù) 主函數(shù)。程序的入口 牢記! 1. 了解 C程序結(jié)構(gòu) 程序由若干函數(shù)組成,其中函數(shù)是完成一個任務(wù)的子任務(wù) 程序有且只有一個主函數(shù) main(),它決定了程序的入口 程序從 main()開始執(zhí)行,在 main()中結(jié)束,其他函數(shù)通過調(diào)用得以執(zhí)行 2. 熟悉 C提供的基本功能 用高級語言寫的程序為 “ 源程序 ” ,如 C語言源程序的文件名形式為 *.C 把用 C語言寫的源代碼轉(zhuǎn)換為可被計算機理解的機器代碼(二進(jìn)制代碼)。這種把源程序翻譯成機器碼的過程稱為“ 編譯 ” ,這個翻譯叫 “ 編譯程序(編譯器) ” 源程序經(jīng)編譯程序編譯生成目標(biāo)程序,文件名形式為 *.OBJ 把通用的一些子程序 (庫函數(shù) )鏈接到目標(biāo)程序中,形成可執(zhí)行文件,文件名形式為 *.EXE 源程序 目標(biāo)程序 可執(zhí)行程序內(nèi)容 程序設(shè)計語言 機器語言 機器語言可執(zhí)行 不可以 不可以 可以文件名后綴 .c . o b j . e x e3. 掌握分析問題的方法 基本方法: 結(jié)構(gòu)化程序設(shè)計方法 自頂向下,逐步細(xì)化。把一個較大的不易解決的 問題分解成幾個子問題,每一個子問題又如法炮 制,進(jìn)一步分解,直到都容易寫出程序為止。 基本策略: 3. 掌握分析問題的方法 【 例 14】 輸入三個正數(shù),判斷它們能組成什么樣的三角形。 分析: 對一個基本問題,按照 “輸入 處理 輸出” 模 式。首先得到以下算法: 步 1:輸入三個正數(shù); 步 2:判斷這三個數(shù)可以組成哪種三角形; 步 3:輸出結(jié)論; 步 4:結(jié)束。 程序執(zhí)行時,用戶輸入三個數(shù),如果輸入 非正數(shù),怎么辦? 3. 掌握分析問題的方法 解決: 判斷輸入的三個數(shù),只要有一個不是正數(shù), 則要求用戶重新輸入。 繼續(xù)修改上面的算法,進(jìn)一步細(xì)化。 步 1:輸入三個正數(shù); 步 2:如果某個數(shù)為非正數(shù),則轉(zhuǎn)第 1步; 步 3:判斷是何種三角形; 步 4:輸出結(jié)論; 步 5:結(jié)束。 如果兩數(shù)之和不大于第三個數(shù)(考慮形成三角形的條件),怎么辦? 3. 掌握分析問題的方法 解決: 如果兩數(shù)之和不大于第三個數(shù),則不可能構(gòu) 成三角形,結(jié)束。 繼續(xù)修改上面的算法,進(jìn)一步細(xì)化。 步 1:輸入三個正數(shù); 步 2:如果某個數(shù)為非正數(shù),則轉(zhuǎn)第 1步; 步 3:如果其中滿足兩數(shù)之和不大于第三個數(shù),則轉(zhuǎn)第 5步; 否則,判斷是何種三角形 步 4:輸出結(jié)論 步 5:結(jié)束 算法是否完善?如果不完善,還需進(jìn)一步細(xì)化。 調(diào)試程序的基本操作步驟 程序的開發(fā)過程 編輯源程序 編譯生成目標(biāo)程序 鏈接生成可執(zhí)行文件 運行程序 直接面對的程序文本 開發(fā)平臺自動生成 上機操作流程 有錯嗎? 生成目標(biāo)文件 有錯嗎? 生成可執(zhí)行文件 運行程序 編輯源程序 編譯 否 鏈接 是 否 是 本章小結(jié) 算法是解決問題的方法和步驟,與程序設(shè)計語言無關(guān) 程序是算法的具體實現(xiàn) ,比如把某個算法寫成 C語言程序 結(jié)構(gòu)化程序設(shè)計方法 ——自頂向下逐步細(xì)化 每個程序都是由輸入、處理和輸出三個部分組成。 C程序的最基本的結(jié)構(gòu) 謝謝 THE END 第二章 用 C語言表達(dá)程序 主要內(nèi)容 、變量與賦值 學(xué)習(xí)目標(biāo) 本章重點: 理解并記住簡單問題的解決方法、 C程序的表達(dá) 本章難點: 數(shù)據(jù)在內(nèi)存中的存儲和變化 C程序的結(jié)構(gòu) C程序由若干函數(shù)組成,但其中只有一個主函數(shù)main()。主函數(shù)是程序的入口,主函數(shù)調(diào)用其他函數(shù)完成任務(wù),相當(dāng)于把一個大任務(wù)分成若干小任務(wù)逐塊完成。 一個程序的整體思路是 “輸入 —處理 —輸出” 的模式,可能輸入、處理、輸出的每一個環(huán)節(jié)都需要做很多事。把這 3個環(huán)節(jié)理解為每一個環(huán)節(jié)都是為下一個環(huán)節(jié)做準(zhǔn)備。 C程序的結(jié)構(gòu) 程序總的執(zhí)行順序是自上而下逐句執(zhí)行。在程序中需要用到像變量一類的標(biāo)識符,必須先定義后使用。 程序中通常需要用到輸入輸出函數(shù),例如鍵盤輸入、屏幕輸出,因此,希望每一個程序的第一行都加上“ include” 簡單結(jié)構(gòu) [例 21] 輸入兩個整數(shù),輸出其和。 [分析 ] ( 1)輸入: ( 2)處理: ( 3)輸出: 從鍵盤輸入兩個數(shù)存入變量 a, b; 用函數(shù) scanf實現(xiàn)。 用加法運算 a+b,結(jié)果存入變量 c; “存入”用 C語言的賦值操作實現(xiàn)。 用函數(shù) printf向屏幕輸出。 【 說明 】 ① include相當(dāng)于把系統(tǒng)中的 容插入到程序中,叫做 “ 包含標(biāo)準(zhǔn)輸入輸出頭文件 ” 。 *.h文件通常放在程序的開頭,被稱為頭文件。 ② C語言規(guī)定,所有標(biāo)識符都必須先定義(即規(guī)定標(biāo)識符的名稱和其他屬性),后使用,如變量名、符號常量名、函數(shù)名。 【 說明 】 ③ 標(biāo)識符只能由 字母、數(shù)字和下劃線 組成,且 不能以數(shù)字開頭 。 ④ 不能將關(guān)鍵字作為標(biāo)識符。 ⑤ C語言區(qū)別標(biāo)識符的大小寫字母, 大小寫不同的標(biāo)識符是不同的 。 ⑥ 標(biāo)識符盡量取成有意義的名字,以便閱讀程序方便。 【 說明 】 ⑦ 一對花括號表示了一段語義的開始與結(jié)束。 ⑧ 程序中給出適當(dāng)?shù)淖⑨?,可以使閱讀程序更容易。標(biāo)準(zhǔn) C語言的注釋是 “ /*…… */” ,而且可以跨行,其中 “ …… ” 部分為注釋內(nèi)容,注釋部分的內(nèi)容在編譯時將被忽略,只起到方便閱讀和備忘的作用。 C99標(biāo)準(zhǔn)中還提供 “ //”引導(dǎo)的行內(nèi)注釋,也被 VC++所支持。 簡單結(jié)構(gòu) [例 22] 輸入兩個整數(shù),輸出它們的平方和。 [分析 ] ( 1)輸入: ( 2)處理: ( 3)輸出: 用函數(shù) scanf實現(xiàn)從鍵盤輸入兩個整 數(shù),存入變量 a, b。 計算 a2+b2,在 C語言中用 a*a+b*b 表達(dá),將計算結(jié)果存于變量 square中。 把第( 2)步的計算結(jié)果 square輸出, 用函數(shù) printf實現(xiàn)。 【 說明 】 ① 本例多用了一個 printf,目的是在程序運行時屏幕上出現(xiàn)需要輸入數(shù)據(jù)的提示。 ② 變量名 square比變量名 c更有意義,增加了程序的可讀性。 ③ 本程序仍用 “ 輸入 —處理 —輸出 ” 的思維模式,初學(xué)者切記此法。 簡單函數(shù)構(gòu)造與調(diào)用 很多常用的功能放到了 “函數(shù)庫” 中,開發(fā)平臺會將其連接到可執(zhí)行文件中,如經(jīng)常用到的函數(shù)scanf和 printf。 一個問題可以分解為更容易解決的小問題,把每一個小問題構(gòu)造成一個函數(shù),使程序結(jié)構(gòu)更清晰。另外,有一些問題可能會反復(fù)用到某一個小問題,寫程序時只需要構(gòu)造一個函數(shù)而反復(fù)使用。 簡單函數(shù)構(gòu)造與調(diào)用 [例 23] 計算圓的周長與面積。 [分析 ] ( 1)輸入: ( 2)處理: ( 3)輸出: 用函數(shù) scanf實現(xiàn)鍵盤輸入圓的半徑 r。 用求圓的周長和面積的公式 c=2πr, s=πr2,計算周長 c、面積 s。 把上面的計算結(jié)果 c和 s用函數(shù) printf 向屏幕輸出。 [例 23] 計算圓的周長與面積 include void main( ) { float r, c, s 。 scanf(“%f”,amp。r)。 c=2**r。 s=*r*r。 printf(“周長為 :%f, 面積為 :%f\n, c, s)。 } 【 說明 】 ① 如果程序運行時,用戶輸入的半徑是一個負(fù)數(shù),計算還有意義嗎?為了避免這樣的情況發(fā)生需要在程序中做 “ 判斷 ” 。 ② 這里用到實數(shù)類型 float,對應(yīng)的輸入輸出函數(shù)中有變化。輸入輸出格式控制字符對應(yīng)輸入輸出數(shù)據(jù)的類型。 【 說明 】 ③ 在某些問題中需要反復(fù)計算不同半徑的周長和面積,可以把這兩個計算專門拿出來。把計算周長和面積單獨定義成函數(shù) c和函數(shù) s,這兩個函數(shù)只要有一個半徑給它,它就能返回一個值( 用return語句返回函數(shù)值 )。 求兩個數(shù)的和 include float c( float r ) { return 2**r。 } float s( float r ) { return *r*r。
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1