




已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1 第3章C程序設(shè)計 順序程序設(shè)計 2 3 1程序的控制結(jié)構(gòu) 3 1 1算法的基本概念程序 算法 數(shù)據(jù)結(jié)構(gòu) 程序設(shè)計方法 語言工具和環(huán)境3 1 2算法的特性有窮性 一個算法應(yīng)包含有限的操作步驟而不能是無限的 確定性 算法中每一個步驟應(yīng)當(dāng)是確定的 而不能是含糊的 模棱兩可的 有零個或多個輸入 有一個或多個輸出 有效性 算法中每一個步驟應(yīng)當(dāng)能有效地執(zhí)行 并得到確定的結(jié)果 3 3 1 3算法的表示 1 用自然語言表示算法2 用流程圖表示算法圖3 1流程圖符號 4 例3 1 求5 的算法流程圖表示 圖3 2沒有打印功能圖3 3帶有打印功能 5 例3 2 判定閏年的算法用流程圖表示 6 三種基本結(jié)構(gòu)和改進的流程圖 順序結(jié)構(gòu) 選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu) 7 三種基本結(jié)構(gòu)的共同特點 只有一個入口 只有一個出口 結(jié)構(gòu)內(nèi)的每一部分都有機會被執(zhí)行到 結(jié)構(gòu)內(nèi)不存在 死循環(huán) 8 3 1 4用N S流程圖表示算法 1 順序結(jié)構(gòu) 2 選擇結(jié)構(gòu) 3 循環(huán)結(jié)構(gòu) 9 3 1 5用計算機語言表示算法 例3 3 用C語言求5 includevoidmain inti t t 1 i 2 while i 5 循環(huán)結(jié)構(gòu) 判斷下循環(huán)條件是否為真 t t i i i 1 printf d t 10 3 1 6結(jié)構(gòu)化程序設(shè)計方法 結(jié)構(gòu)化程序設(shè)計所遵循的原則 自頂向下 逐步細化 模塊化設(shè)計 結(jié)構(gòu)化編碼 11 3 2 語句概述 圖3 5 程序的結(jié)構(gòu)圖 12 C語句可分為以下五類 表達式語句函數(shù)調(diào)用語句控制語句復(fù)合語句空語句 13 3 3數(shù)據(jù)輸入輸出的概念及在C語言中的實現(xiàn) 在使用 語言庫函數(shù)時 要用預(yù)編譯命令 include將有關(guān) 頭文件 包括到源文件中 使用標(biāo)準輸入輸出庫函數(shù)時要用到 stdio h 文件 stdio是standardinputandoutupt的意思 因此源文件開頭應(yīng)有以下預(yù)編譯命令 include或 include stdio h 14 3 4字符數(shù)據(jù)的輸入與輸出 3 4 1putchar函數(shù) 字符輸出函數(shù) putchar函數(shù)是字符輸出函數(shù) 其功能是在顯示器上輸出單個字符 其一般形式為 putchar 字符型量 例如 putchar A 輸出大寫字母A putchar x 輸出字符變量x的值 putchar 101 也是輸出字符A putchar n 換行 例3 4 輸出單個字符 includevoidmain chara G b o c o d d putchar a putchar b putchar c putchar d putchar t 15 3 4 2getchar函數(shù) 鍵盤輸入函數(shù) getchar函數(shù)的功能是從鍵盤上輸入一個字符 其一般形式為 getchar 例4 2 輸入單個字符 includevoidmain charc printf inputacharacter n c getchar putchar c putchar getchar 或printf c getchar 16 3 5printf函數(shù) 格式輸出函數(shù) 3 5 1printf函數(shù)調(diào)用的一般形式printf函數(shù)是一個標(biāo)準庫函數(shù) 它的函數(shù)原型在頭文件 stdio h 中 printf 格式控制字符串 輸出表列 格式控制字符串 標(biāo)志 輸出最小寬度 精度 長度 類型 printf函數(shù)調(diào)用的一般形式為 輸出最小寬度 用十進制整數(shù)來表示輸出的最少位數(shù) 若實際位數(shù)多于定義的寬度 則按實際位數(shù)輸出 保證不因為輸出而使數(shù)據(jù)發(fā)生截斷誤差 若實際位數(shù)少于定義的寬度則按表3 2補以空格或0 精度 精度格式符以 開頭 后跟十進制整數(shù) 本項的意義是 如果輸出數(shù)值 則表示小數(shù)的位數(shù) 如果輸出的是字符 則表示輸出字符的個數(shù) 若實際位數(shù)大于所定義的精度數(shù) 則四舍五入截去超過的部分 長度 長度格式符為h l兩種 h表示按短整型 short 量輸出 l表示按長整型 long 量輸出 17 例3 6 輸出整數(shù) includevoidmain inta 88 b 89 printf 4d 4o n a b printf 4ld 4d n a b printf 04d 04d n a b printf a d b d n a b 18 例3 4 按格式控制字符串要求輸出浮點型小數(shù)和字符型數(shù)據(jù) includevoidmain inta 15 floatb 123 1234567f doublec 12345678 1234567 chard p printf a d 5d o X n a a a a printf b f lf 5 4lf e n b b b b printf c lf f 8 4lf n c c c printf d c 8c n d d 19 3 5使用printf函數(shù)注意事項 1 如果想輸出 則應(yīng)該在 格式控制 字符串中用連續(xù)兩個 表示 2 輸出最小寬度 精度 僅用于輸出浮點型小數(shù)和字符串時的格式控制 輸出浮點型小數(shù) 形如 m nf f是一個浮點型變量 當(dāng)按此格式輸出時 包括小數(shù)點共m列寬 按照對齊方式補齊 取n位小數(shù) 當(dāng)f的實際寬度大于m時 則按實際寬度輸出 輸出字符串 形如 m ns s是一個字符串 當(dāng)按此格式輸出時 按照對齊方式用空格補齊m列 取n個字符 當(dāng)s的實際寬度大于m時 則按實際寬度輸出 3 printf 函數(shù)格式控制字符串可以包含轉(zhuǎn)移字符 floatf 3 14587f printf 10 2f f 輸出數(shù)據(jù)占10列寬 取2位小數(shù) 左對齊printf 5 2f f 輸出數(shù)據(jù)占5列寬 取2位小數(shù)printf 8 2f f 輸出數(shù)據(jù)占8列寬 取2位小數(shù) 右對齊printf 3 2f n f 輸出數(shù)據(jù)占3列寬 取2位小數(shù)f的實際 寬度大于3時 按實際寬度輸出 printf 3s 7 2s 4s 5 3s n CHINA CHINA CHINA CHINA 輸出為 CHINA CH CHIN CHI 20 3 6scanf函數(shù) 格式輸入函數(shù) scanf函數(shù)的一般形式 scanf 格式控制字符串 地址表列 例3 8 scanf函數(shù)的使用 includevoidmain inta b c printf inputa b c n scanf d d d 在scanf語句的格式串中由于沒有非格式字符在 d d d 之間作輸入時的間隔 因此在輸入時要用一個或一個以上的空格 回車鍵 Tab鍵作為每兩個輸入數(shù)之間的間隔 21 格式字符串 輸入數(shù)據(jù)寬度 長度 類型 類型 表示輸入數(shù)據(jù)的類型 其格式符和意義如下表 2 抑制符 用以表示輸入的數(shù)據(jù)不賦值給相應(yīng)的變量 即跳過該輸入值 如 scanf d d d 當(dāng)輸入為 123時 把1賦予a 2被跳過 3賦予b 3 寬度 用十進制整數(shù)指定輸入的寬度 即字符數(shù) 遇空格或不可轉(zhuǎn)換字符則結(jié)束 4 長度 長度格式符為l和h l表示輸入長整型數(shù)據(jù) 如 ld 和雙精度浮點數(shù) 如 lf h表示輸入短整型數(shù)據(jù) 22 使用scanf函數(shù)還必須注意以下幾點 1 scanf函數(shù)中沒有精度控制 如 scanf 5 2f 才是合法的 3 在輸入多個數(shù)值數(shù)據(jù)時 若格式控制串中沒有非格式字符作輸入數(shù)據(jù)之間的間隔則可用空格 TAB或回車符作間隔 C編譯在碰到空格 TAB 回車或非法數(shù)據(jù) 如對 d 輸入 12A 時 A即為非法數(shù)據(jù) 時即認為該數(shù)據(jù)結(jié)束 4 在輸入字符數(shù)據(jù)時 特別需要注意空格符 回車符均作為有效字符使用 若格式控制串中無非格式字符 則認為所有輸入的字符均為有效字符 23 例3 6 數(shù)據(jù)的格式化輸入輸出 輸入一學(xué)生的學(xué)號 8位數(shù)字 生日 年 月 日 性別 M 男 F 女 及三門功課 語文 數(shù)學(xué) 英語 的成績 現(xiàn)要求計算該學(xué)生的總分和平均分 并將該學(xué)生的全部信息輸出 包括總分 平均分 includevoidmain unsignedlongno 學(xué)號unsignedintyear month day 生日unsignedcharsex 性別floatchinese math english floattotal average printf inputthestudent sNO scanf 8ld 24 3 7順序結(jié)構(gòu)程序設(shè)計舉例 例3 10 輸入三角形的三邊長 求三角形面積 include includevoidmain floata b c s area scanf f f f 例3 11 求ax2 bx c 0方程的根 a b c由鍵盤輸入 設(shè)b2 4a
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 巨人的花園繪本解析
- 171年倫敦協(xié)議書
- 通江人才引進協(xié)議書
- 集體買賣樹木協(xié)議書
- 車位長期出租協(xié)議書
- 項目申報代理協(xié)議書
- 東營區(qū)供熱合作協(xié)議書
- 銷售總監(jiān)任務(wù)協(xié)議書
- 鞋子材料購銷協(xié)議書
- 餐飲合同扣款協(xié)議書
- 2025-2030年中國磷酸行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 分居協(xié)議(模版)
- 經(jīng)鼻高流量吸氧在五官科麻醉氣道管理中應(yīng)用專家共識(2025版)解讀
- 養(yǎng)老護理員考試模擬題與答案(附解析)
- 2025屆湖北省新八校協(xié)作體高三下學(xué)期5月壯行考化學(xué)試題及答案
- 2025江蘇中考:物理高頻考點
- 日料店空間設(shè)計
- 2025年武漢鐵路局集團招聘(180人)筆試參考題庫附帶答案詳解
- 深圳市住房公積金管理中心員額人員招聘真題2024
- 2024年高級審計師試題及答案解析
- 2025年中考數(shù)學(xué)模擬考試卷(附帶答案)
評論
0/150
提交評論