




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1陳建海陳建海:浙江大學(xué)計(jì)算機(jī)學(xué)院浙江大學(xué)計(jì)算機(jī)學(xué)院2012年年2月月2 課程簡(jiǎn)介課程簡(jiǎn)介 大學(xué)計(jì)算機(jī)基礎(chǔ)大學(xué)計(jì)算機(jī)基礎(chǔ) C是程序設(shè)計(jì)語(yǔ)言是程序設(shè)計(jì)語(yǔ)言 教學(xué)目的教學(xué)目的 掌握程序設(shè)計(jì)語(yǔ)言的掌握程序設(shè)計(jì)語(yǔ)言的 初步的初步的程序設(shè)計(jì)能力程序設(shè)計(jì)能力3 四統(tǒng)一課程四統(tǒng)一課程 統(tǒng)一大綱,統(tǒng)一要求,統(tǒng)一教材和統(tǒng)一考試統(tǒng)一大綱,統(tǒng)一要求,統(tǒng)一教材和統(tǒng)一考試 考核要求:平時(shí)考核要求:平時(shí)25%+實(shí)驗(yàn)實(shí)驗(yàn)25%+理論理論50% 平時(shí)平時(shí)=課程作業(yè)課程作業(yè)(%7.5)+ 練習(xí)系統(tǒng)練習(xí)系統(tǒng)(%7.5) + 期中期中測(cè)驗(yàn)測(cè)驗(yàn)(5%) 實(shí)驗(yàn)實(shí)驗(yàn)=上機(jī)實(shí)驗(yàn)考試上機(jī)實(shí)驗(yàn)考試(%25) 理論理論=期終閉卷考試期終閉卷考試
2、(%55)4 作業(yè)要求(本學(xué)期完成量作業(yè)要求(本學(xué)期完成量120個(gè)程序)個(gè)程序) 編程實(shí)踐每周超過(guò)編程實(shí)踐每周超過(guò)5題題 課程作業(yè)電子版提交(課程作業(yè)電子版提交(23題)題) 上機(jī)練習(xí)約上機(jī)練習(xí)約4、5道題道題+課外補(bǔ)充;課外補(bǔ)充; 期中測(cè)驗(yàn)期中測(cè)驗(yàn):基礎(chǔ)部分基礎(chǔ)部分,夏季學(xué)期第夏季學(xué)期第2周周(實(shí)驗(yàn)課實(shí)驗(yàn)課)。 三個(gè)網(wǎng)站三個(gè)網(wǎng)站 作業(yè)網(wǎng)站:作業(yè)網(wǎng)站:00 編程練習(xí):編程練習(xí):0 第二周開(kāi)始第二周開(kāi)始 CC98答疑:答疑: 上機(jī)地點(diǎn):計(jì)算中心上機(jī)地點(diǎn):計(jì)算中心1樓樓11機(jī)房機(jī)房 上上100網(wǎng)站下
3、載作業(yè)說(shuō)明網(wǎng)站下載作業(yè)說(shuō)明,照文檔做照文檔做5 自主學(xué)習(xí),掌握知識(shí),領(lǐng)會(huì)思想自主學(xué)習(xí),掌握知識(shí),領(lǐng)會(huì)思想準(zhǔn)準(zhǔn)則則 總之:總之:Practice again again and again 通過(guò)不斷的編程實(shí)踐,逐步領(lǐng)會(huì)和掌握程序設(shè)計(jì)的基本通過(guò)不斷的編程實(shí)踐,逐步領(lǐng)會(huì)和掌握程序設(shè)計(jì)的基本思想和方法。最終具備用思想和方法。最終具備用C的編程能力。的編程能力。 教材和參考書(shū)教材和參考書(shū) C語(yǔ)言程序設(shè)計(jì),何欽銘、顏暉主編,浙江語(yǔ)言程序設(shè)計(jì),何欽銘、顏暉主編,浙江科技出版社,科技出版社,2008 The C Programming Languagem, Second Edition, Brian W.Ke
4、rnighan & Dennis M.Ritchie, 清華大學(xué)出版社,清華大學(xué)出版社,Prentice-Hall International, Inc. ,1997 C程序設(shè)計(jì)(第二版),潭浩強(qiáng)等,清華大程序設(shè)計(jì)(第二版),潭浩強(qiáng)等,清華大學(xué)出版社,學(xué)出版社,19997引言引言用用C編程編程流程控制流程控制基本輸入輸出scanf,printf簡(jiǎn)單條件判斷語(yǔ)句:if語(yǔ)句數(shù)據(jù)表達(dá)數(shù)據(jù)表達(dá)構(gòu)造類(lèi)型構(gòu)造類(lèi)型循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)分支結(jié)構(gòu)分支結(jié)構(gòu)if語(yǔ)句,switch語(yǔ)句For語(yǔ)句While語(yǔ)句Breakcontinue數(shù)據(jù)類(lèi)型和數(shù)據(jù)類(lèi)型和表達(dá)式表達(dá)式結(jié)構(gòu)結(jié)構(gòu)文件文件鏈表鏈表函數(shù)與程序結(jié)構(gòu)函數(shù)與程序
5、結(jié)構(gòu)變量作用域變量作用域宏定義宏定義編譯預(yù)處理編譯預(yù)處理自定義類(lèi)型自定義類(lèi)型8 一個(gè)一個(gè)C語(yǔ)言程序語(yǔ)言程序 程序與程序設(shè)計(jì)語(yǔ)言程序與程序設(shè)計(jì)語(yǔ)言 C語(yǔ)言的發(fā)展歷史與特點(diǎn)語(yǔ)言的發(fā)展歷史與特點(diǎn) 實(shí)現(xiàn)問(wèn)題求解的過(guò)程實(shí)現(xiàn)問(wèn)題求解的過(guò)程9輸入輸入 4輸出輸出 24C程序由函數(shù)組成程序由函數(shù)組成有且只有一個(gè)有且只有一個(gè)主函數(shù)主函數(shù)main()11 俄羅斯方塊俄羅斯方塊 五子棋五子棋 電子琴電子琴12 什么是程序什么是程序? ?人們?yōu)榻鉀Q某種問(wèn)題用計(jì)算機(jī)可以識(shí)別的代碼人們?yōu)榻鉀Q某種問(wèn)題用計(jì)算機(jī)可以識(shí)別的代碼編排的一系列加工步驟。編排的一系列加工步驟。程序的執(zhí)行過(guò)程實(shí)際上是對(duì)程序所表達(dá)的數(shù)據(jù)程序的執(zhí)行過(guò)程實(shí)際
6、上是對(duì)程序所表達(dá)的數(shù)據(jù)進(jìn)行處理的過(guò)程。進(jìn)行處理的過(guò)程。 什么是程序設(shè)計(jì)語(yǔ)言什么是程序設(shè)計(jì)語(yǔ)言? ?提供了一種表達(dá)數(shù)據(jù)與處理數(shù)據(jù)的功能提供了一種表達(dá)數(shù)據(jù)與處理數(shù)據(jù)的功能要求程序員按照語(yǔ)言的規(guī)范編程要求程序員按照語(yǔ)言的規(guī)范編程13 程序與指令程序與指令 程序設(shè)計(jì)語(yǔ)言的功能程序設(shè)計(jì)語(yǔ)言的功能 程序設(shè)計(jì)語(yǔ)言的語(yǔ)法程序設(shè)計(jì)語(yǔ)言的語(yǔ)法 程序的編譯與編程環(huán)境程序的編譯與編程環(huán)境14計(jì)算機(jī)(處理數(shù)據(jù))輸入數(shù)據(jù)輸出數(shù)據(jù)計(jì) 算 機(jī)( 處 理 數(shù) 據(jù) )輸 入 數(shù) 據(jù)輸 出 數(shù) 據(jù)程 序 計(jì)算機(jī)是數(shù)據(jù)處理機(jī)計(jì)算機(jī)是數(shù)據(jù)處理機(jī) 具有程序能力的數(shù)據(jù)處理機(jī)具有程序能力的數(shù)據(jù)處理機(jī)計(jì)算機(jī)是什么?能做什么?計(jì)算機(jī)是什么?能做
7、什么?15存儲(chǔ)器運(yùn)算器控制器輸入輸出馮諾依曼結(jié)構(gòu)計(jì)算機(jī)16MemoryInputOutput控制器ALUFor Example:2+3=5命令:輸入222命令:輸入333Write Write ReadRead235OutAdd+把輸入輸出計(jì)算的每一個(gè)步操作寫(xiě)成一個(gè)語(yǔ)句,把輸入輸出計(jì)算的每一個(gè)步操作寫(xiě)成一個(gè)語(yǔ)句,就得到一個(gè)程序就得到一個(gè)程序17 指令:計(jì)算機(jī)的一個(gè)最基本的功能指令:計(jì)算機(jī)的一個(gè)最基本的功能如實(shí)現(xiàn)一次加法運(yùn)算或?qū)崿F(xiàn)一次大小的判別如實(shí)現(xiàn)一次加法運(yùn)算或?qū)崿F(xiàn)一次大小的判別 計(jì)算機(jī)的指令系統(tǒng):計(jì)算機(jī)所能實(shí)現(xiàn)的指令計(jì)算機(jī)的指令系統(tǒng):計(jì)算機(jī)所能實(shí)現(xiàn)的指令的集合的集合 程序:一系列計(jì)算機(jī)指令的
8、有序組合程序:一系列計(jì)算機(jī)指令的有序組合18 機(jī)器語(yǔ)言程序(二進(jìn)制形式),由機(jī)器能機(jī)器語(yǔ)言程序(二進(jìn)制形式),由機(jī)器能直接執(zhí)行的指令組成;直接執(zhí)行的指令組成; 高級(jí)語(yǔ)言程序是為用戶(hù)自己能夠理解用自高級(jí)語(yǔ)言程序是為用戶(hù)自己能夠理解用自己語(yǔ)言寫(xiě)出的程序,必須要先己語(yǔ)言寫(xiě)出的程序,必須要先翻譯成機(jī)器翻譯成機(jī)器語(yǔ)言程序語(yǔ)言程序編譯編譯; C語(yǔ)言能做什么?語(yǔ)言能做什么?C是一種是一種語(yǔ)言工具,編寫(xiě)語(yǔ)言工具,編寫(xiě)高級(jí)語(yǔ)言程序高級(jí)語(yǔ)言程序,并可進(jìn)行,并可進(jìn)行編譯、連接,生編譯、連接,生成可被機(jī)器直接執(zhí)行的成可被機(jī)器直接執(zhí)行的程序程序軟件;軟件;19例例1-2 編寫(xiě)程序,分別求和與乘積編寫(xiě)程序,分別求和與乘積
9、 虛擬的計(jì)算機(jī)指令系統(tǒng)(虛擬的計(jì)算機(jī)指令系統(tǒng)(7條指令條指令 ) 指令指令1:Input X 將當(dāng)前輸入數(shù)據(jù)存儲(chǔ)到內(nèi)存的將當(dāng)前輸入數(shù)據(jù)存儲(chǔ)到內(nèi)存的X單元單元 指令指令2:Output X 將內(nèi)存將內(nèi)存X單元的數(shù)據(jù)輸出。單元的數(shù)據(jù)輸出。 指令指令3:Add X Y Z 將內(nèi)存將內(nèi)存X單元的數(shù)據(jù)與單元的數(shù)據(jù)與Y單元的數(shù)據(jù)單元的數(shù)據(jù)相加并將結(jié)果存儲(chǔ)到相加并將結(jié)果存儲(chǔ)到Z單元。單元。 指令指令4:Sub X Y Z 將內(nèi)存將內(nèi)存X單元的數(shù)據(jù)與單元的數(shù)據(jù)與Y單元的數(shù)據(jù)單元的數(shù)據(jù)相減并將結(jié)果存儲(chǔ)到相減并將結(jié)果存儲(chǔ)到Z單元。單元。 指令指令5:BranchEq X Y P 比較比較X與與Y,若相等則程序跳,
10、若相等則程序跳轉(zhuǎn)到轉(zhuǎn)到P處執(zhí)行,否則繼續(xù)執(zhí)行下一條指令。處執(zhí)行,否則繼續(xù)執(zhí)行下一條指令。 指令指令6:Jump P 程序跳轉(zhuǎn)到程序跳轉(zhuǎn)到P處執(zhí)行。處執(zhí)行。 指令指令7:Set X Y 將內(nèi)存將內(nèi)存Y單元的值設(shè)為單元的值設(shè)為X。 20 輸入輸入3個(gè)數(shù)個(gè)數(shù)A, B和和C,求,求A+B+C的結(jié)果的結(jié)果Input A; 輸入第輸入第1個(gè)數(shù)據(jù)到存儲(chǔ)單元個(gè)數(shù)據(jù)到存儲(chǔ)單元A中中Input B; 輸入第輸入第2個(gè)數(shù)據(jù)到存儲(chǔ)單元個(gè)數(shù)據(jù)到存儲(chǔ)單元B中中Input C; 輸入第輸入第3個(gè)數(shù)據(jù)到存儲(chǔ)單元個(gè)數(shù)據(jù)到存儲(chǔ)單元C中中Add A B D; 將將A、B相加并將結(jié)果存在相加并將結(jié)果存在D中中Add C D D; 將
11、將C、D相加并將結(jié)果存在相加并將結(jié)果存在D中中Output D; 輸出輸出D的內(nèi)容的內(nèi)容21 輸入輸入2個(gè)數(shù)個(gè)數(shù)A和和B,求,求A*B的結(jié)果的結(jié)果1Input A; 輸入第輸入第1個(gè)數(shù)據(jù)到存儲(chǔ)單元個(gè)數(shù)據(jù)到存儲(chǔ)單元A中中2Input B; 輸入第輸入第2個(gè)數(shù)據(jù)到存儲(chǔ)單元個(gè)數(shù)據(jù)到存儲(chǔ)單元B中中3Set 0 X; 將將X設(shè)為設(shè)為0,此處,此處X用以統(tǒng)計(jì)用以統(tǒng)計(jì)A累加的次數(shù)累加的次數(shù)4Set 0 Z; 將將Z設(shè)為設(shè)為0,此處,此處Z用以存放用以存放A*B的結(jié)果的結(jié)果5BranchEq X B 9; 判別判別X與與B是否相等;若相等說(shuō)明是否相等;若相等說(shuō)明A已累加了已累加了B次,程序跳轉(zhuǎn)到第次,程序跳轉(zhuǎn)
12、到第9條指令,輸出結(jié)果條指令,輸出結(jié)果6Add Z A Z; Z = Z + A7Add 1 X X; X = X + 18Jump 5; 程序跳轉(zhuǎn)到第程序跳轉(zhuǎn)到第5條指令,繼續(xù)循環(huán)執(zhí)行第條指令,繼續(xù)循環(huán)執(zhí)行第6條、條、7條指令條指令9Output Z; 輸出輸出Z的值,該值等于的值,該值等于A(yíng)*B22程序設(shè)計(jì)語(yǔ)言的功能程序設(shè)計(jì)語(yǔ)言的功能數(shù)據(jù)表達(dá):表達(dá)所要處理的數(shù)據(jù)數(shù)據(jù)表達(dá):表達(dá)所要處理的數(shù)據(jù)流程控制:表達(dá)數(shù)據(jù)處理的流程流程控制:表達(dá)數(shù)據(jù)處理的流程23一般將數(shù)據(jù)抽象為若干類(lèi)型對(duì)某些集合的總稱(chēng)代表的數(shù)據(jù)(數(shù)據(jù)類(lèi)型的定義域)在這些數(shù)據(jù)上做些什么(即操作或稱(chēng)運(yùn)算)例如:整數(shù)類(lèi)型包含的數(shù)據(jù):,-2,-
13、1,0,1,2, 作用在整數(shù)上的運(yùn)算:+ 、 - 、 * 、 /等24C語(yǔ)言提供的數(shù)據(jù)類(lèi)型程序設(shè)計(jì)語(yǔ)言事先定義好,供程序員直接使用,如整型、實(shí)型(浮點(diǎn)型)、字符型等。由程序員構(gòu)造,如數(shù)組、結(jié)構(gòu)、文件、指針等。各種數(shù)據(jù)類(lèi)型的常量與變量形式25結(jié)構(gòu)化程序設(shè)計(jì)方法將復(fù)雜程序劃分為若干個(gè)相互獨(dú)立的模塊模塊:一條語(yǔ)句(Statement)、一段程序或一個(gè)函數(shù)(子程序)等單入口、單出口單入口、單出口任何程序都可以將模塊通過(guò)3種基本的控制結(jié)構(gòu)進(jìn)行組合來(lái)實(shí)現(xiàn)順序結(jié)構(gòu)循環(huán)結(jié)構(gòu)分支結(jié)構(gòu)27 語(yǔ)句級(jí)控制:3種基本的控制結(jié)構(gòu)順序控制結(jié)構(gòu):自然順序執(zhí)行分支控制結(jié)構(gòu)(選擇結(jié)構(gòu)):根據(jù)不同的條件來(lái)選擇所要執(zhí)行的模塊循環(huán)控制
14、結(jié)構(gòu):重復(fù)執(zhí)行某個(gè)模塊 單位級(jí)控制:函數(shù)的定義與調(diào)用處理復(fù)雜問(wèn)題時(shí), 將程序分為若干個(gè)相對(duì)獨(dú)立的子程序(函數(shù)) 28用程序設(shè)計(jì)語(yǔ)言所寫(xiě)的程序必須符合相應(yīng)語(yǔ)言的語(yǔ)法用程序設(shè)計(jì)語(yǔ)言所寫(xiě)的程序必須符合相應(yīng)語(yǔ)言的語(yǔ)法(源代碼)是一個(gè)(源代碼)是一個(gè) 這些字符序列按順序組成了一系列這些字符序列按順序組成了一系列“” “單詞單詞”的組合就形成了語(yǔ)言有意義的的組合就形成了語(yǔ)言有意義的 一些簡(jiǎn)單語(yǔ)法單位的組合又形成一些簡(jiǎn)單語(yǔ)法單位的組合又形成 最后一系列語(yǔ)法單位組合成最后一系列語(yǔ)法單位組合成。29(1)標(biāo)識(shí)符: C語(yǔ)言的標(biāo)識(shí)符規(guī)定由字母、數(shù)字以及下劃線(xiàn)組成,且第一個(gè)字符必須是字母或下劃線(xiàn)。(2)保留字(關(guān)鍵字
15、): 它們是C語(yǔ)言規(guī)定的、賦予它們以特定含義、有專(zhuān)門(mén)用途的標(biāo)識(shí)符。(3)自定義標(biāo)識(shí)符: 包括在程序中定義的變量名、數(shù)據(jù)類(lèi)型名、函數(shù)名以及符號(hào)常量名。有意義的英文單詞(4)常量: 常量是有數(shù)據(jù)類(lèi)型的,如,123、12.34(5)運(yùn)算符。代表對(duì)各種數(shù)據(jù)類(lèi)型實(shí)際數(shù)據(jù)對(duì)象的運(yùn)算。如,+(加)、-(減)、*(乘)、/(除)、%(求余)、(大于)30(1)表達(dá)式表達(dá)式: : 運(yùn)算符與運(yùn)算對(duì)象組合就形成了表達(dá)試。如,2 + 3 * 4(2)變量定義變量定義: 變量也有數(shù)據(jù)類(lèi)型,所以在定義變量時(shí)要說(shuō)明相應(yīng)變量的類(lèi)型。如: int i;(3)語(yǔ)句語(yǔ)句: : 語(yǔ)句是程序最基本的執(zhí)行單位,程序的功能就是通過(guò)對(duì)一系列
16、語(yǔ)句的執(zhí)行來(lái)實(shí)現(xiàn)的。(4)函數(shù)定義與調(diào)用函數(shù)定義與調(diào)用 其中,其中,(3)語(yǔ)句:語(yǔ)句:表達(dá)式語(yǔ)句表達(dá)式語(yǔ)句:表達(dá)式加分號(hào):表達(dá)式加分號(hào)“;” 分支語(yǔ)句分支語(yǔ)句:實(shí)現(xiàn)分支控制過(guò)程:實(shí)現(xiàn)分支控制過(guò)程 if (a b) x = a;else x = b;循環(huán)語(yǔ)句循環(huán)語(yǔ)句:實(shí)現(xiàn)循環(huán)控制的過(guò)程:實(shí)現(xiàn)循環(huán)控制的過(guò)程 sum = 0; /* 初始化初始化sum和和i */i = 1; while (i = 100) /* while循環(huán)語(yǔ)句循環(huán)語(yǔ)句 */ sum = sum + i; i = i + 1;復(fù)合語(yǔ)句復(fù)合語(yǔ)句:用一對(duì)用一對(duì)“ ”,將若干語(yǔ)句順序組合在一起,將若干語(yǔ)句順序組合在一起就形成了一個(gè)程序
17、段。就形成了一個(gè)程序段。其中,(其中,(4)函數(shù)定義與調(diào)用)函數(shù)定義與調(diào)用 函數(shù)是完成特定任務(wù)的獨(dú)立模塊,函數(shù)的使用最函數(shù)是完成特定任務(wù)的獨(dú)立模塊,函數(shù)的使用最主要涉及到函數(shù)的定義與調(diào)用。主要涉及到函數(shù)的定義與調(diào)用。輸入輸出:輸入輸出:C語(yǔ)言沒(méi)有輸入輸出語(yǔ)句,用庫(kù)函數(shù)語(yǔ)言沒(méi)有輸入輸出語(yǔ)句,用庫(kù)函數(shù)printf()、scanf()等等實(shí)現(xiàn)。實(shí)現(xiàn)。33 程序的編譯程序的編譯 編譯器編譯器 ( (源源) )程序程序 計(jì)算機(jī)直接能理解的指令序列計(jì)算機(jī)直接能理解的指令序列編譯器:對(duì)源程序進(jìn)行詞法分析、語(yǔ)法與語(yǔ)義分析,生編譯器:對(duì)源程序進(jìn)行詞法分析、語(yǔ)法與語(yǔ)義分析,生成可執(zhí)行的代碼。成可執(zhí)行的代碼。直接指
18、出程序中的語(yǔ)法錯(cuò)誤直接指出程序中的語(yǔ)法錯(cuò)誤 編程環(huán)境編程環(huán)境包括編輯程序(包括編輯程序(EditEdit)、)、編譯(編譯(CompileCompile)、)、調(diào)試調(diào)試(DebugDebug)等過(guò)程。等過(guò)程。 掌握程序設(shè)計(jì)語(yǔ)言:根據(jù)語(yǔ)言的語(yǔ)法,用語(yǔ)言表達(dá)掌握程序設(shè)計(jì)語(yǔ)言:根據(jù)語(yǔ)言的語(yǔ)法,用語(yǔ)言表達(dá)數(shù)據(jù)、實(shí)現(xiàn)程序的控制,并會(huì)使用編程環(huán)境。數(shù)據(jù)、實(shí)現(xiàn)程序的控制,并會(huì)使用編程環(huán)境。34編譯連接 運(yùn)行35 歷史歷史 1972年:貝爾實(shí)驗(yàn)室的年:貝爾實(shí)驗(yàn)室的Dennis Ritchie在在B語(yǔ)言語(yǔ)言的基礎(chǔ)上設(shè)計(jì)并實(shí)現(xiàn)了的基礎(chǔ)上設(shè)計(jì)并實(shí)現(xiàn)了C語(yǔ)言。語(yǔ)言。 1978年:年:B.W.Kernighan和和D.
19、Ritchie(簡(jiǎn)稱(chēng)簡(jiǎn)稱(chēng)K & R) 合 著 的 合 著 的 The C Programming Language是各種是各種C語(yǔ)言版本的基礎(chǔ),稱(chēng)之為語(yǔ)言版本的基礎(chǔ),稱(chēng)之為舊標(biāo)準(zhǔn)舊標(biāo)準(zhǔn)C語(yǔ)言。語(yǔ)言。 1983年:美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì)(年:美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì)(ANSI)制定了制定了新的新的C語(yǔ)言標(biāo)準(zhǔn),稱(chēng)語(yǔ)言標(biāo)準(zhǔn),稱(chēng)ANSI C。361C語(yǔ)言是一種語(yǔ)言是一種結(jié)構(gòu)化結(jié)構(gòu)化語(yǔ)言語(yǔ)言2C語(yǔ)言語(yǔ)句簡(jiǎn)潔、緊湊,使用方便、靈活語(yǔ)言語(yǔ)句簡(jiǎn)潔、緊湊,使用方便、靈活32個(gè)關(guān)鍵字個(gè)關(guān)鍵字,9種控制語(yǔ)句,種控制語(yǔ)句,程序書(shū)寫(xiě)形式自由程序書(shū)寫(xiě)形式自由。3C語(yǔ)言程序語(yǔ)言程序易于移植易于移植C C語(yǔ)言將與硬件有關(guān)的因素
20、從語(yǔ)言主體中分離出來(lái),語(yǔ)言將與硬件有關(guān)的因素從語(yǔ)言主體中分離出來(lái),通過(guò)庫(kù)函數(shù)或其他實(shí)用程序?qū)崿F(xiàn)它們。通過(guò)庫(kù)函數(shù)或其他實(shí)用程序?qū)崿F(xiàn)它們。 4C語(yǔ)言有語(yǔ)言有強(qiáng)大的處理能力強(qiáng)大的處理能力5生成的生成的目標(biāo)代碼質(zhì)量高目標(biāo)代碼質(zhì)量高,運(yùn)行效率高運(yùn)行效率高6數(shù)據(jù)類(lèi)型檢查不嚴(yán)格數(shù)據(jù)類(lèi)型檢查不嚴(yán)格,表達(dá)式出現(xiàn)二義性,表達(dá)式出現(xiàn)二義性,不具備數(shù)據(jù)越界自動(dòng)檢查功能,不具備數(shù)據(jù)越界自動(dòng)檢查功能,。C 語(yǔ)言中語(yǔ)言中大小寫(xiě)字母大小寫(xiě)字母代表代表不同不同含義含義38 問(wèn)題:求問(wèn)題:求1 1100100間所有偶數(shù)的和。間所有偶數(shù)的和。1問(wèn)題分析與算法設(shè)計(jì)問(wèn)題分析與算法設(shè)計(jì) 求在一定范圍內(nèi)(求在一定范圍內(nèi)(1100)、滿(mǎn)足一
21、定條件)、滿(mǎn)足一定條件(偶數(shù)偶數(shù))的若干整的若干整數(shù)的和,數(shù)的和,求累加和求累加和。 思路思路:設(shè)置一個(gè)變量:設(shè)置一個(gè)變量(sum),其初值為其初值為0,然后在,然后在1100的的數(shù)中數(shù)中(i)尋找偶數(shù)尋找偶數(shù),將它們一個(gè)一個(gè)累加到將它們一個(gè)一個(gè)累加到sum中。中。 一步累加:一步累加:sum = sum + i; 重復(fù)累加,用循環(huán)語(yǔ)句實(shí)現(xiàn),在循環(huán)過(guò)程中:重復(fù)累加,用循環(huán)語(yǔ)句實(shí)現(xiàn),在循環(huán)過(guò)程中:(1) 判別判別 i 是不是偶數(shù):用分支控制語(yǔ)句來(lái)實(shí)現(xiàn)。是不是偶數(shù):用分支控制語(yǔ)句來(lái)實(shí)現(xiàn)。(2) 對(duì)循環(huán)次數(shù)進(jìn)行控制:通過(guò)對(duì)循環(huán)次數(shù)進(jìn)行控制:通過(guò) i 值的變化值的變化39思路思路 確定算法確定算法算法
22、算法:一組明確的解決問(wèn)題的步驟,它產(chǎn)生結(jié)果一組明確的解決問(wèn)題的步驟,它產(chǎn)生結(jié)果并可在有限的時(shí)間內(nèi)終止。并可在有限的時(shí)間內(nèi)終止。算法的描述:算法的描述: 自然語(yǔ)言自然語(yǔ)言 偽代碼偽代碼 流程圖:算法的圖形表示法流程圖:算法的圖形表示法 sum = 0i = 1i = 100i 是偶數(shù)?是偶數(shù)?sum=sum+ii=i+1輸出輸出sum真真真真假假假假END生成程序的源文件,生成程序的源文件,C語(yǔ)言源文件的后綴為語(yǔ)言源文件的后綴為#include void main( )int i, sum = 0; for(i = 1; i = 100; i+) if (i%2 = 0) sum = sum + i; printf(%d, sum); 編輯程序后,用編輯程序后,用對(duì)其進(jìn)行對(duì)其進(jìn)行,以生成,以生成表示的表示的( (.obj),與編程環(huán)境提供的庫(kù)函數(shù)進(jìn)行連接與
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 交通強(qiáng)國(guó)學(xué)習(xí)心得
- 2025至2030正畸遠(yuǎn)端切割器行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 研究生個(gè)人實(shí)踐總結(jié)
- 會(huì)計(jì)專(zhuān)業(yè)的畢業(yè)論文
- 小學(xué)生心理健康教育重點(diǎn)
- 2025-2030年中國(guó)鴨脖(中國(guó)小吃)行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030年中國(guó)食品服務(wù)一次性用品行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030年中國(guó)鋁蓋和蓋行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030年中國(guó)連續(xù)氣道正壓通氣機(jī)行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030年中國(guó)超市手推車(chē)行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 人工挖孔樁 安全技術(shù)交底
- (新版)供電可靠性理論考試題庫(kù)大全-下(填空題)
- 《護(hù)理人際溝通》全套教學(xué)課件
- 某冶金機(jī)械廠(chǎng)供配電系統(tǒng)設(shè)計(jì)
- 收費(fèi)站年度工作計(jì)劃
- xx縣精神病醫(yī)院建設(shè)項(xiàng)目可行性研究報(bào)告
- 《在中亞細(xì)亞草原上》賞析 課件
- 城市軌道交通供電技術(shù)442頁(yè)完整版教學(xué)課件匯總?cè)珪?shū)電子教案
- Q/GDW248-2008輸變電工程建設(shè)標(biāo)準(zhǔn)強(qiáng)制性條文實(shí)施管理規(guī)程第3部分:變電站建筑工程施工教程文件
- 班組會(huì)議運(yùn)作技巧ppt課件
- 技術(shù)比武理論復(fù)習(xí)題(繼電保護(hù))
評(píng)論
0/150
提交評(píng)論