版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語(yǔ)言課件第3章算法和基本程序設(shè)計(jì)Contents本章目錄C語(yǔ)言程序設(shè)計(jì)基礎(chǔ),從算法思維到結(jié)構(gòu)控制的完整脈絡(luò)。01算法的概念與描述02數(shù)據(jù)類型與運(yùn)算符03順序結(jié)構(gòu)程序設(shè)計(jì)04選擇結(jié)構(gòu)程序設(shè)計(jì)05循環(huán)結(jié)構(gòu)程序設(shè)計(jì)CHAPTER01算法的概念與描述理解程序靈魂——從問(wèn)題到解決方案的思維過(guò)程Fundamentals算法的定義與基本特性算法是為解決特定問(wèn)題而規(guī)定的有限步驟序列,是程序設(shè)計(jì)的靈魂。理解算法的五個(gè)基本特性是進(jìn)行評(píng)估的前提與基礎(chǔ)標(biāo)準(zhǔn)。有窮性算法必須在執(zhí)行有限步驟之后終止,不能陷入無(wú)限循環(huán),每一步都應(yīng)在有限時(shí)間內(nèi)完成。有限終止確定性每條指令的含義必須明確無(wú)歧義,在任何條件下對(duì)于相同輸入必須產(chǎn)生相同輸出。無(wú)歧義可行性每個(gè)操作都必須可以通過(guò)已實(shí)現(xiàn)的基本運(yùn)算在有限次數(shù)內(nèi)完成。可執(zhí)行輸入與輸出有零個(gè)或多個(gè)輸入量,至少產(chǎn)生一個(gè)輸出量,輸出與輸入之間存在確定的函數(shù)關(guān)系。I→OCHAPTER02數(shù)據(jù)類型與運(yùn)算符掌握C語(yǔ)言的數(shù)據(jù)存儲(chǔ)規(guī)則與運(yùn)算體系DataTypesC語(yǔ)言數(shù)據(jù)類型體系C語(yǔ)言數(shù)據(jù)類型體系以基本類型(整型、浮點(diǎn)型、字符型)為基礎(chǔ),通過(guò)構(gòu)造類型(數(shù)組、結(jié)構(gòu)體、共用體)實(shí)現(xiàn)復(fù)雜數(shù)據(jù)的組織。合理選擇數(shù)據(jù)類型不僅保證計(jì)算精度,還能優(yōu)化內(nèi)存分配效率,是編寫高質(zhì)量C程序的基本功。基本數(shù)據(jù)類型包括int(4字節(jié))、short(2字節(jié))、long(4/8字節(jié))等整型,以及float(4字節(jié))、double(8字節(jié))等浮點(diǎn)型,覆蓋整數(shù)與小數(shù)運(yùn)算場(chǎng)景。intfloatdouble4/8字節(jié)字符型char占1字節(jié),存儲(chǔ)字符的ASCII碼值(0-127),本質(zhì)上是一種特殊的整型數(shù)據(jù),可參與算術(shù)運(yùn)算。'A'=65'0'=48ASCII0–127構(gòu)造類型數(shù)組是同類型元素的有序集合;結(jié)構(gòu)體組合不同類型數(shù)據(jù);共用體讓多類型數(shù)據(jù)共享同一存儲(chǔ)空間。[]structunion數(shù)組·結(jié)構(gòu)體·共用體指針與void類型指針類型存儲(chǔ)內(nèi)存地址,是C語(yǔ)言的核心特性;void表示無(wú)類型,常用于函數(shù)返回值和通用指針聲明。int*pvoid*void*CLANGUAGE·OPERATORS算術(shù)運(yùn)算符與表達(dá)式C語(yǔ)言算術(shù)運(yùn)算符包括基本四則運(yùn)算和取余運(yùn)算,其中整數(shù)除法截?cái)嘈?shù)部分、取余運(yùn)算僅限整型是初學(xué)者最易出錯(cuò)的地方。基本算術(shù)運(yùn)算+、?、×、÷、%五種運(yùn)算符中,兩個(gè)整數(shù)相除結(jié)果自動(dòng)截?cái)嘈?shù)部分(如7/2=3),取余運(yùn)算%僅適用于整型操作數(shù)。7/2=3自增與自減前綴形式(++i)先增值后引用,后綴形式(i++)先引用后增值,在復(fù)雜表達(dá)式中求值順序截然不同。++i≠i++優(yōu)先級(jí)規(guī)則單目運(yùn)算符(++、--、負(fù)號(hào))高于雙目運(yùn)算符;*、/、%高于+、?;同級(jí)運(yùn)算從左到右依次結(jié)合。Unary→×÷→+?類型自動(dòng)提升混合運(yùn)算中不同類型數(shù)據(jù)自動(dòng)向高精度提升:char→int→long→float→double,結(jié)果取最高精度類型。char→doubleCSTANDARDLIBRARY·I/O格式化輸入輸出函數(shù)printf和scanf是C語(yǔ)言標(biāo)準(zhǔn)庫(kù)中最核心的輸入輸出函數(shù),通過(guò)格式控制字符串精確控制數(shù)據(jù)的顯示格式和讀取方式。01·PRINTFprintf格式控制%d%f%c%s%o%x%d整數(shù)%f浮點(diǎn)數(shù)(默認(rèn)6位小數(shù))%c字符%s字符串%o八進(jìn)制%x十六進(jìn)制格式控制+輸出列表02·WIDTHprintf寬度與精度%8d%-8d%08d%.2f%10.2f%8d右對(duì)齊8位·%-8d左對(duì)齊8位·%08d補(bǔ)零8位·%.2f保留2位小數(shù)·%10.2f總寬10含2位小數(shù)對(duì)齊·補(bǔ)零·精度03·SCANFscanf輸入讀取&變量前必須加&取地址符(%c和%s除外),多個(gè)輸入間用空格、Tab或回車分隔。格式控制+地址列表04·PITFALLS常見(jiàn)錯(cuò)誤與陷阱&%f%lfscanf忘記&導(dǎo)致段錯(cuò)誤;printf格式符與變量類型不匹配導(dǎo)致亂碼;%f與%lf在scanf中的區(qū)別。double需用%lfCHAPTER03順序結(jié)構(gòu)程序設(shè)計(jì)從輸入到計(jì)算再到輸出——最基本的程序執(zhí)行流程SequentialStructure順序結(jié)構(gòu)的設(shè)計(jì)范式順序結(jié)構(gòu)程序遵循"輸入→處理→輸出"的經(jīng)典三步范式,語(yǔ)句按書(shū)寫順序自上而下依次執(zhí)行,是所有程序結(jié)構(gòu)的基礎(chǔ)骨架。C語(yǔ)言順序結(jié)構(gòu)編程學(xué)習(xí)場(chǎng)景01輸入數(shù)據(jù)使用scanf函數(shù)從鍵盤讀取用戶輸入的原始數(shù)據(jù),存儲(chǔ)到預(yù)先聲明的變量中02處理數(shù)據(jù)對(duì)輸入的數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算、邏輯判斷等操作,完成核心業(yè)務(wù)邏輯的計(jì)算03輸出結(jié)果使用printf函數(shù)將計(jì)算結(jié)果按指定格式顯示在屏幕上,完成人機(jī)交互閉環(huán)04完整示例輸入圓半徑r,計(jì)算面積s=PI×r×r,輸出結(jié)果——三步清晰對(duì)應(yīng)順序執(zhí)行流程CHAPTER04選擇結(jié)構(gòu)程序設(shè)計(jì)讓程序?qū)W會(huì)判斷——條件分支與多路選擇CCONTROLFLOWif語(yǔ)句的三種形式if語(yǔ)句通過(guò)條件表達(dá)式的真假值控制程序執(zhí)行路徑,是選擇結(jié)構(gòu)的核心實(shí)現(xiàn)工具。SINGLEBRANCH單分支ifif(表達(dá)式)語(yǔ)句;表達(dá)式非零時(shí)執(zhí)行,為零時(shí)跳過(guò),適用于滿足條件才執(zhí)行的場(chǎng)景。if(expr)stmt;DUALBRANCH雙分支if-else二選一執(zhí)行,如判斷奇偶、正負(fù)等對(duì)立情況,兩條路徑必走其一。if(…){}else{}MULTIBRANCH多分支if-elseif依次判斷多個(gè)條件,匹配第一個(gè)為真的分支執(zhí)行后跳出,適用于成績(jī)分級(jí)等區(qū)間分類。≥90優(yōu)/≥80良/≥70中KEYDETAILS關(guān)鍵細(xì)節(jié)條件必須用()括起;多條語(yǔ)句用{}組成復(fù)合語(yǔ)句;else與最近的未匹配if配對(duì)。(){}else配對(duì)CHAPTER05循環(huán)結(jié)構(gòu)程序設(shè)計(jì)讓計(jì)算機(jī)高效處理重復(fù)任務(wù)——while、do-while與forProgrammingBasicswhile循環(huán)語(yǔ)句while循環(huán)采用'先判斷條件后執(zhí)行循環(huán)體'的當(dāng)型循環(huán)模式,適用于循環(huán)次數(shù)不確定但終止條件明確的場(chǎng)景。循環(huán)體內(nèi)必須包含使條件趨向?yàn)榧俚恼Z(yǔ)句(如計(jì)數(shù)器遞增),否則將導(dǎo)致死循環(huán),這是初學(xué)者最常見(jiàn)的編程錯(cuò)誤。01語(yǔ)法格式:while(條件表達(dá)式){循環(huán)體;}先判斷條件,為真則執(zhí)行循環(huán)體,再判斷,直到條件為假退出02經(jīng)典示例求1到100之和:intsum=0,i=1;while(i<=100){sum+=i;i++;}循環(huán)100次后sum=505003先判斷后執(zhí)行特性:若初始條件即為假(如while(0)),循環(huán)體一次都不執(zhí)行,適用于可能不需要循環(huán)的場(chǎng)景04防死循環(huán)三要素:初始化循環(huán)變量、循環(huán)體內(nèi)修改循環(huán)變量、條件表達(dá)式最終能變?yōu)榧伲呷币徊豢纱髮W(xué)生課堂編程練習(xí)場(chǎng)景CLANGUAGE·LOOPfor循環(huán)語(yǔ)句for循環(huán)將初始化、條件判斷和變量更新集中在一個(gè)語(yǔ)句中,結(jié)構(gòu)緊湊、邏輯清晰,是C語(yǔ)言使用頻率最高的循環(huán)語(yǔ)句。靈活省略機(jī)制使其適應(yīng)各種循環(huán)場(chǎng)景。語(yǔ)法格式for(表達(dá)式1初始化;表達(dá)式2條件判斷;表達(dá)式3變量更新){循環(huán)體;}三個(gè)表達(dá)式用分號(hào)分隔,形成緊湊的循環(huán)控制結(jié)構(gòu)Syntax執(zhí)行順序表達(dá)式1(僅一次)→判斷表達(dá)式2→為真執(zhí)行循環(huán)體→執(zhí)行表達(dá)式3→再判斷表達(dá)式2循環(huán)往復(fù),直到表達(dá)式2為假時(shí)退出循環(huán)結(jié)構(gòu)Execution省略機(jī)制表達(dá)式1可省略(for前初始化)、表達(dá)式2可省略(恒為真)、表達(dá)式3可省略(循環(huán)體內(nèi)更新)省略表達(dá)式2時(shí)需配合break語(yǔ)句避免死循環(huán)Omission經(jīng)典用法for(inti=1;i<=n;i++)sum+=i;求1到n的和for(i=0;i<len;i++)遍歷數(shù)組每個(gè)元素的標(biāo)準(zhǔn)寫法ClassicNESTEDLOOPS循環(huán)嵌套與經(jīng)典應(yīng)用循環(huán)嵌套通過(guò)在外層循環(huán)體內(nèi)嵌入內(nèi)層循環(huán)實(shí)現(xiàn)多維遍歷和組合計(jì)算,是處理矩陣、排列組合等問(wèn)題的基本手段。總執(zhí)行次數(shù)等于各層循環(huán)次數(shù)的乘積,層數(shù)越多性能開(kāi)銷越大,需在設(shè)計(jì)時(shí)權(quán)衡功能需求與計(jì)算效率。執(zhí)行機(jī)制外層循環(huán)每迭代一次,內(nèi)層循環(huán)完整執(zhí)行一輪;兩層嵌套總次數(shù)=n×m,三層=n×m×kn×m×k九九乘法表外層i控制行(1-9),內(nèi)層j控制列(1-i),printf輸出計(jì)算結(jié)果i×j矩陣遍歷外層i遍歷行,內(nèi)層j遍歷列,scanf/printf處理每個(gè)元素a[i][j]a[i][j]性能警示三層100次循環(huán)=100萬(wàn)次操作,應(yīng)減少嵌套層數(shù),考慮算法優(yōu)化降低時(shí)間復(fù)雜度1003Exercises課后編程練習(xí)以下五道練習(xí)題覆蓋本章所有核心知識(shí)點(diǎn),從基礎(chǔ)的順序計(jì)算到綜合的嵌套循環(huán),難度遞進(jìn)。建議每題都親手編寫代碼并在開(kāi)發(fā)環(huán)境中調(diào)試驗(yàn)證,通過(guò)實(shí)踐鞏固算法思維和編程技能。01順序結(jié)構(gòu)輸入三角形三邊長(zhǎng)a、b、c,用海倫公式計(jì)算面積,其中p=(a+b+c)/2Formula02選擇結(jié)構(gòu)輸入年份判斷閏年:能被4整除但不能被100整
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 活動(dòng)設(shè)計(jì):方寸彩布拒絕有“術(shù)”-人際邊界理論應(yīng)用于初二同伴交往心理課
- 某機(jī)械廠環(huán)保標(biāo)準(zhǔn)
- 水泥廠環(huán)境保護(hù)規(guī)范
- 某食品集團(tuán)公司采購(gòu)辦法
- 2026-2027學(xué)年人教版九年級(jí)英語(yǔ)上冊(cè)UNIT7 學(xué)情評(píng)估卷
- 類型16 單位制 超重與失重(解析版)
- 2026趨化因子口碑佳合作渠道大盤點(diǎn) 正規(guī)合規(guī)服務(wù)商選型指南-已洗稿
- 2025年高中語(yǔ)文必修下文言文挖空練習(xí)(解析版)
- 地名管理?xiàng)l例專項(xiàng)試題及答案呈現(xiàn)
- 自考網(wǎng)試題及參考答案
- 2026年安徽蕪湖繁昌區(qū)村級(jí)后備干部招聘考試試卷-含答案解析
- 人造草坪足球場(chǎng)施工方案
- 成都鐵中2026級(jí)新高一分班數(shù)學(xué)模擬卷(含答案解析)
- 新手必學(xué):CCC工廠檢查十大要素詳解與內(nèi)審實(shí)操指南
- JB 9010-1999 手拉葫蘆 安全規(guī)則
- CN109978549B 識(shí)別二次放號(hào)的方法和裝置、存儲(chǔ)介質(zhì) (北京三快在線科技有限公司)
- 2026年浙江省重點(diǎn)學(xué)校初一新生入學(xué)分班考試試題及答案
- 2026年中西醫(yī)結(jié)合執(zhí)業(yè)助理醫(yī)師考試備考沖刺模擬試卷含答案解析
- 老年綜合征多維度評(píng)估與精準(zhǔn)干預(yù)方案
- 同頻共振科普
- 重慶市2026年高二(上)期末聯(lián)合檢測(cè)(康德卷)數(shù)學(xué)+答案
評(píng)論
0/150
提交評(píng)論