




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、程序設(shè)計(jì)基礎(chǔ)教師:教師:葉曉霞葉曉霞: : 1330250403213302504032本課程的內(nèi)容第一部分第一部分基基 礎(chǔ)礎(chǔ)第二部分第二部分簡(jiǎn)單程序設(shè)計(jì)簡(jiǎn)單程序設(shè)計(jì)第三部分第三部分高級(jí)程序設(shè)計(jì)高級(jí)程序設(shè)計(jì)算法概念、編程原理、編程風(fēng)格、算法概念、編程原理、編程風(fēng)格、基本數(shù)據(jù)類型定義、算術(shù)運(yùn)算符及基本數(shù)據(jù)類型定義、算術(shù)運(yùn)算符及表達(dá)式表達(dá)式順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、數(shù)組的定義及應(yīng)用、程序設(shè)計(jì)過(guò)程數(shù)組的定義及應(yīng)用、程序設(shè)計(jì)過(guò)程函數(shù)、變量的存儲(chǔ)類別、指針、結(jié)函數(shù)、變量的存儲(chǔ)類別、指針、結(jié)構(gòu)體與共用體、文件構(gòu)體與共用體、文件課程的要求、課時(shí)安排與考核側(cè)重學(xué)習(xí)一個(gè)具體問(wèn)題
2、的算法化的過(guò)程,掌握基側(cè)重學(xué)習(xí)一個(gè)具體問(wèn)題的算法化的過(guò)程,掌握基本編程技巧以及本編程技巧以及C C編程的風(fēng)格和藝術(shù)。編程的風(fēng)格和藝術(shù)。上機(jī)時(shí)間安排:上機(jī)時(shí)間安排: 周五晚上(第周五晚上(第7 7周開(kāi)始)周開(kāi)始) 周二上午(第周二上午(第9 9周開(kāi)始)周開(kāi)始)考勤(考勤(10%10%)+ +作業(yè)和實(shí)驗(yàn)(作業(yè)和實(shí)驗(yàn)(20%20%)+ +考試(考試(70%70%)第第1 1 章章 計(jì)算機(jī)及程序設(shè)計(jì)概述計(jì)算機(jī)及程序設(shè)計(jì)概述計(jì)算機(jī)和計(jì)算機(jī)程序計(jì)算機(jī)和計(jì)算機(jī)程序計(jì)算機(jī)的基本工作原理馮馮諾依曼體系結(jié)構(gòu)諾依曼體系結(jié)構(gòu)計(jì)算機(jī)硬件和計(jì)算機(jī)軟件v計(jì)算機(jī)硬件 主機(jī):CPU+主存 外部設(shè)備v計(jì)算機(jī)軟件 裸機(jī) 要使計(jì)算機(jī)
3、解決各種實(shí)際問(wèn)題,必須有軟件的支持,計(jì)算機(jī)軟件著重研究如何管理計(jì)算機(jī)和使用計(jì)算機(jī)的問(wèn)題 ,沒(méi)有軟件支持的計(jì)算機(jī)就是一堆廢鐵指令與程序指令與程序v指令 指令就是計(jì)算機(jī)執(zhí)行某種操作的命令,是硬件能理解并能執(zhí)行的語(yǔ)言,是機(jī)器語(yǔ)言的一個(gè)語(yǔ)句,是程序員進(jìn)行程序設(shè)計(jì)的最小語(yǔ)言單位。 v指令的組成 指令由操作碼和操作數(shù)構(gòu)成 Mov 3,reg1 Mov 5,reg2 Add reg1,reg2 End指令與程序v程序 程序(program)是為實(shí)現(xiàn)特定目標(biāo)或解決特定問(wèn)題而用計(jì)算機(jī)語(yǔ)言編寫(xiě)的、可以連續(xù)執(zhí)行并能夠完成一定任務(wù)的指令序列的集合。 v程序的開(kāi)發(fā) 描述問(wèn)題(算法) 程序設(shè)計(jì)語(yǔ)言v計(jì)算機(jī)軟件指令與程序指
4、令與程序 是計(jì)算機(jī)完成某一任務(wù)的是計(jì)算機(jī)完成某一任務(wù)的或或的有的有序集合序集合( (由某種語(yǔ)言來(lái)完成由某種語(yǔ)言來(lái)完成) ),由數(shù)據(jù)和處理數(shù)據(jù)的,由數(shù)據(jù)和處理數(shù)據(jù)的操作組成的。數(shù)據(jù)是被操作的對(duì)象,操作的目的是操作組成的。數(shù)據(jù)是被操作的對(duì)象,操作的目的是對(duì)數(shù)據(jù)進(jìn)行加工處理,以得到期望的結(jié)果。對(duì)數(shù)據(jù)進(jìn)行加工處理,以得到期望的結(jié)果。也就是也就是,即求解問(wèn)題的方法和步驟。我們編,即求解問(wèn)題的方法和步驟。我們編寫(xiě)程序的過(guò)程就是寫(xiě)程序的過(guò)程就是。 計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言: : 簡(jiǎn)稱為編程語(yǔ)言,簡(jiǎn)稱為編程語(yǔ)言,是人與計(jì)是人與計(jì)算機(jī)之間傳遞信息的媒介,具有特定的詞法和語(yǔ)法算機(jī)之間傳遞信息的媒介,具
5、有特定的詞法和語(yǔ)法規(guī)則,用于描述解決問(wèn)題的方法,共計(jì)算機(jī)閱讀和規(guī)則,用于描述解決問(wèn)題的方法,共計(jì)算機(jī)閱讀和執(zhí)行。執(zhí)行。 CPU指令系統(tǒng),由指令系統(tǒng),由0、1序列構(gòu)成的指令碼組成序列構(gòu)成的指令碼組成如:如:10000000 加加 10010000 減減用助記符號(hào)描述的指令系統(tǒng)用助記符號(hào)描述的指令系統(tǒng)如如 ADD A, B面向機(jī)器的語(yǔ)言面向機(jī)器的語(yǔ)言程序設(shè)計(jì)是數(shù)據(jù)被加工的過(guò)程程序設(shè)計(jì)是數(shù)據(jù)被加工的過(guò)程客觀世界可以分類,對(duì)象是類的實(shí)例客觀世界可以分類,對(duì)象是類的實(shí)例對(duì)象是數(shù)據(jù)和方法的封裝對(duì)象是數(shù)據(jù)和方法的封裝對(duì)象間通過(guò)發(fā)送和接受消息發(fā)生聯(lián)系對(duì)象間通過(guò)發(fā)送和接受消息發(fā)生聯(lián)系程序設(shè)計(jì)關(guān)鍵是定義類,并由類
6、派生對(duì)象程序設(shè)計(jì)關(guān)鍵是定義類,并由類派生對(duì)象 程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì)語(yǔ)言計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言的發(fā)展計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言的發(fā)展程序設(shè)計(jì)語(yǔ)言v高級(jí)語(yǔ)言 與具體的計(jì)算機(jī)指令系統(tǒng)無(wú)關(guān)的計(jì)算機(jī)語(yǔ)言與具體的計(jì)算機(jī)指令系統(tǒng)無(wú)關(guān)的計(jì)算機(jī)語(yǔ)言v高級(jí)語(yǔ)言的分類高級(jí)語(yǔ)言的分類 面向過(guò)程的語(yǔ)言面向過(guò)程的語(yǔ)言 C C、PascalPascal 面向?qū)ο蟮恼Z(yǔ)言面向?qū)ο蟮恼Z(yǔ)言 C+C+、JavaJava、.Net.Net 面向特定應(yīng)用的語(yǔ)言面向特定應(yīng)用的語(yǔ)言 SQLSQL翻翻譯譯程程序序 編譯方式編譯方式: : 是指利用事先編好的一個(gè)稱為編譯程序是指利用事先編好的一個(gè)稱為編譯程序的機(jī)器語(yǔ)言程序,作為系統(tǒng)軟件存放在計(jì)算機(jī)內(nèi),的機(jī)器
7、語(yǔ)言程序,作為系統(tǒng)軟件存放在計(jì)算機(jī)內(nèi),當(dāng)用戶將高級(jí)語(yǔ)言源程序輸入計(jì)算機(jī)后,編譯程序當(dāng)用戶將高級(jí)語(yǔ)言源程序輸入計(jì)算機(jī)后,編譯程序便把源程序整個(gè)地翻譯成用機(jī)器語(yǔ)言表示的與之等便把源程序整個(gè)地翻譯成用機(jī)器語(yǔ)言表示的與之等價(jià)的目標(biāo)程序,然后計(jì)算機(jī)再執(zhí)行該目標(biāo)程序,以價(jià)的目標(biāo)程序,然后計(jì)算機(jī)再執(zhí)行該目標(biāo)程序,以完成源程序要處理的運(yùn)算并取得結(jié)果。完成源程序要處理的運(yùn)算并取得結(jié)果。 解釋方式解釋方式: : 是指源程序輸入計(jì)算機(jī)后,解釋程序?qū)κ侵冈闯绦蜉斎胗?jì)算機(jī)后,解釋程序?qū)υ闯绦蜻厭呙柽吔忉?,解釋一句,?jì)算機(jī)執(zhí)行一句,源程序邊掃描邊解釋,解釋一句,計(jì)算機(jī)執(zhí)行一句,并不產(chǎn)生目標(biāo)程序。并不產(chǎn)生目標(biāo)程序。 程序設(shè)
8、計(jì)語(yǔ)言為什么學(xué)習(xí)C語(yǔ)言?v C語(yǔ)言是目前實(shí)際程序設(shè)計(jì)工作中使用最廣泛的語(yǔ)言之一 它包含了程序設(shè)計(jì)需要理解和使用的基本程序機(jī)理和主要機(jī)制 掌握這些機(jī)制就可以理解程序與程序設(shè)計(jì)的主要問(wèn)題。v 目前有許多軟件系統(tǒng)是用C編寫(xiě)的,或基本上是用C編寫(xiě)的 學(xué)習(xí)程序設(shè)計(jì)的同時(shí)也能掌握一種實(shí)用的程序設(shè)計(jì)工具v C語(yǔ)言是一種很靈活的語(yǔ)言 既可以在較高層次上做,也可以在較低級(jí)的層次上做v 很多新型的語(yǔ)言都是衍生自C語(yǔ)言 有些本身就是C語(yǔ)言的擴(kuò)充和發(fā)展v 程序設(shè)計(jì)是計(jì)算機(jī)領(lǐng)域的基礎(chǔ)課程 C語(yǔ)言適合作為計(jì)算機(jī)領(lǐng)域許多后續(xù)課程的教學(xué)語(yǔ)言程序設(shè)計(jì)程序設(shè)計(jì)v什么是程序設(shè)計(jì)? 使用某種程序語(yǔ)言編寫(xiě)程序的過(guò)程,就是用計(jì)算機(jī)語(yǔ)言對(duì)
9、所要解決的問(wèn)題中的數(shù)據(jù)以及處理問(wèn)題的方法和步驟所做的完整而準(zhǔn)確的描述的過(guò)程v怎樣進(jìn)行程序設(shè)計(jì)? 分析問(wèn)題:對(duì)數(shù)據(jù)的描述(數(shù)據(jù)流)。指定數(shù)據(jù)類型和數(shù)據(jù)結(jié)構(gòu) 確定算法:對(duì)操作的描述(控制流)。指定操作的步驟 編制程序:使用某種程序語(yǔ)言描述算法。 調(diào)試程序:通過(guò)某個(gè)軟件運(yùn)行程序。算法算法v什么是算法(Algorithm)? 就是為了解決一個(gè)特定的問(wèn)題而采取的確定的、有限的、按照一定次序進(jìn)行的、缺一不可的執(zhí)行步驟。 注意 為了有效地利用計(jì)算機(jī)解決實(shí)際問(wèn)題,在設(shè)計(jì)算法時(shí)不僅要保證計(jì)算機(jī)執(zhí)行算法的正確性,還要考慮算法的質(zhì)量,選擇適合于具體問(wèn)題的算法。算法v通常計(jì)算機(jī)算法分為兩大類:數(shù)值運(yùn)算算法和非通常計(jì)算
10、機(jī)算法分為兩大類:數(shù)值運(yùn)算算法和非數(shù)值運(yùn)算算法數(shù)值運(yùn)算算法 數(shù)值運(yùn)算是指對(duì)問(wèn)題求數(shù)值解數(shù)值運(yùn)算是指對(duì)問(wèn)題求數(shù)值解 有確定的數(shù)學(xué)模型有確定的數(shù)學(xué)模型 非數(shù)值運(yùn)算是指事務(wù)處理過(guò)程非數(shù)值運(yùn)算是指事務(wù)處理過(guò)程 種類繁多,很難提供統(tǒng)一規(guī)范的算法種類繁多,很難提供統(tǒng)一規(guī)范的算法 更多的是需要用戶設(shè)計(jì)其算法的更多的是需要用戶設(shè)計(jì)其算法的算法的特性v 有窮性有窮性 應(yīng)含有有限的操作步驟,不能是無(wú)限的。有窮性指在 “合理的限度之內(nèi)”v 唯一性唯一性 每一個(gè)步驟都是確定的,只有一個(gè)涵義,不可以為二義性v 有零個(gè)或多個(gè)輸入有零個(gè)或多個(gè)輸入 在執(zhí)行算法時(shí)需要從外界獲取必要的信息v 有一個(gè)或多個(gè)輸出有一個(gè)或多個(gè)輸出 算
11、法執(zhí)行的目的就是為了求解,“解”就是輸出的信息 沒(méi)有輸出的算法是沒(méi)有意義的v 正確性正確性 每一個(gè)步驟應(yīng)當(dāng)被有效的執(zhí)行,并得到確定的結(jié)果算法舉例v 例1:猴子吃桃問(wèn)題。有一堆桃子不知數(shù)目,猴子第一天吃掉一半,又多吃了一個(gè),第二天照此方法,吃掉剩下桃子的一半又多一個(gè),天天如此,到第11天早上,猴子發(fā)現(xiàn)只剩一只桃子了,問(wèn)這堆桃子原來(lái)有多少個(gè)? 數(shù)學(xué)模型:數(shù)學(xué)模型:a ai i=2=2* *(a ai+1i+1+1+1) i=9,8,7,1i=9,8,7,1;Step1:peach1=1;i=10; Step2:peach0=2*(peach1+1);); Step3:peach1=peach0;
12、Step4:i=i-1; Step5:若:若i=1,繼續(xù)循環(huán)執(zhí)行,繼續(xù)循環(huán)執(zhí)行Step2;Step6:輸出:輸出peach0的值。的值。 算法舉例v 例2:輸入三個(gè)數(shù),然后輸出最大的數(shù)。v 算法的兩個(gè)要素 基本功能操作基本功能操作 數(shù)據(jù)運(yùn)算和傳輸 控制結(jié)構(gòu)控制結(jié)構(gòu) 順序、選擇和循環(huán)三種基本控制流程 算法可以寫(xiě)成:算法可以寫(xiě)成:(1)輸入)輸入A,B,C;(2)若)若AB,則,則A-MAX;若;若AMAX。(3)若)若CMAX,則,則C-MAX。(4)輸出)輸出MAX,MAX是最大數(shù)。是最大數(shù)。 算法的表示算法的表示v流程圖流程圖端點(diǎn):表示程序的轉(zhuǎn)向,常用端點(diǎn):表示程序的轉(zhuǎn)向,常用來(lái)表示程序的開(kāi)
13、始和結(jié)束。來(lái)表示程序的開(kāi)始和結(jié)束。處理:操作的功能處理:操作的功能判斷:?jiǎn)稳肟谂袛啵簡(jiǎn)稳肟诙喑隹?,表明判斷的條件多出口,表明判斷的條件流線:表示程序流線:表示程序的執(zhí)行方向和順序。的執(zhí)行方向和順序。輸入輸入/ /輸出:表示數(shù)據(jù)的名稱、類型和用途等。輸出:表示數(shù)據(jù)的名稱、類型和用途等。算法的表示v流程圖開(kāi)始開(kāi)始輸入輸入A,B,CAB?TNMAX=AMAX=BCMAX?NTMAX=C輸出輸出MAX結(jié)束結(jié)束算法的表示vN-S圖 是適合結(jié)構(gòu)化程序設(shè)計(jì)方法的圖形工具 N-S流程圖無(wú)法表示非結(jié)構(gòu)化的程序T TN N當(dāng)條件滿足當(dāng)條件滿足a1=1a1=1i=10i=10當(dāng)當(dāng)i=1i=1時(shí),循環(huán)時(shí),循環(huán)a0=2
14、a0=2* *(a1+1a1+1)a1=a0a1=a0i=i-1i=i-1輸出輸出a0a0算法的表示vUML 面向?qū)ο蟮姆治雠c設(shè)計(jì)工具 適合于描述復(fù)雜系統(tǒng)元素之間的關(guān)系,不關(guān)注具體算法程序設(shè)計(jì)基本步驟 v確定數(shù)學(xué)模型 實(shí)際問(wèn)題的準(zhǔn)確描述v算法描述 解決問(wèn)題的具體步驟v編寫(xiě)程序 將已設(shè)計(jì)好的算法表達(dá)出來(lái) v程序測(cè)試 保證程序的正確性 程序設(shè)計(jì)方法v面向過(guò)程程序設(shè)計(jì)方法面向過(guò)程程序設(shè)計(jì)方法v面向?qū)ο蟪绦蛟O(shè)計(jì)方法面向?qū)ο蟪绦蛟O(shè)計(jì)方法1.自頂向下、逐步求精:自頂向下、逐步求精:結(jié)構(gòu)化程序設(shè)計(jì)的主要思想是功能分解并逐步求精。當(dāng)一些任務(wù)復(fù)雜以至無(wú)法描述時(shí),可以將它拆分為一系列較小的功能部件,直到這些完備的
15、子任務(wù)小到易于理解的程度。這種方法叫“自頂向下,逐步求精”。2.模塊化設(shè)計(jì):模塊化設(shè)計(jì):在拿到一個(gè)程序模塊(實(shí)際上是程序模塊的任務(wù)書(shū))以后,根據(jù)程序模塊的功能將它劃分為若干個(gè)子模塊。這個(gè)過(guò)程采用自頂向下方法來(lái)實(shí)現(xiàn)。3.結(jié)構(gòu)化編碼結(jié)構(gòu)化編碼:在設(shè)計(jì)好一個(gè)結(jié)構(gòu)化的算法之后,還要善于進(jìn)行結(jié)構(gòu)化編碼。即用高級(jí)語(yǔ)言語(yǔ)句正確地實(shí)現(xiàn)順序、選擇、循環(huán)三種基本結(jié)構(gòu)。結(jié)構(gòu)化程序設(shè)計(jì)結(jié)構(gòu)化程序設(shè)計(jì)結(jié)構(gòu)化程序設(shè)計(jì)中的程序結(jié)構(gòu)結(jié)構(gòu)化程序設(shè)計(jì)中的程序結(jié)構(gòu) 結(jié)構(gòu)化的程序設(shè)計(jì)方法v程序的三種基本結(jié)構(gòu) 順序結(jié)構(gòu)順序結(jié)構(gòu),順序結(jié)構(gòu)表示程序中的各操作是按照它們出現(xiàn)的先后順序執(zhí)行的 選擇結(jié)構(gòu)選擇結(jié)構(gòu),表示程序的處理出現(xiàn)了分支,它需要
16、根據(jù)某一特定的條件選擇其中的一個(gè)分支執(zhí)行 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu),程序反復(fù)執(zhí)行某個(gè)或某些操作,直到某條件為假(或?yàn)檎妫r(shí)才可終止循環(huán) 面向?qū)ο蟪绦蛟O(shè)計(jì)將數(shù)據(jù)及對(duì)數(shù)據(jù)的操作放在一起,作為一個(gè)相互依存、不可分割的整體來(lái)處理,它采用了數(shù)據(jù)抽象和信息隱藏技術(shù)。在面向?qū)ο蟪绦蛟O(shè)計(jì)中可以用下面的式子表示程序:程序=對(duì)象+對(duì)象+對(duì)象對(duì)象=算法+數(shù)據(jù)結(jié)構(gòu)+程序設(shè)計(jì)語(yǔ)言+語(yǔ)言環(huán)境面向?qū)ο蟪绦蛟O(shè)計(jì)面向?qū)ο蟪绦蛟O(shè)計(jì)面向?qū)ο蟪绦蛟O(shè)計(jì)中的程序結(jié)構(gòu)面向?qū)ο蟪绦蛟O(shè)計(jì)中的程序結(jié)構(gòu) C C語(yǔ)言語(yǔ)言vC語(yǔ)言的特點(diǎn) 適合開(kāi)發(fā)系統(tǒng)軟件 結(jié)構(gòu)化的程序設(shè)計(jì)語(yǔ)言 豐富的數(shù)據(jù)類型和數(shù)據(jù)結(jié)構(gòu) 運(yùn)算符多樣化 可移植性好 語(yǔ)句簡(jiǎn)潔緊湊 編程風(fēng)格靈活,語(yǔ)
17、法限制少,使用靈活 具有預(yù)處理功能 面向?qū)ο蟪绦蛟O(shè)計(jì)的基礎(chǔ)例例1.1】編寫(xiě)程序,輸出】編寫(xiě)程序,輸出“Hello World!”字符串。字符串。#include /* 編譯預(yù)處理命令編譯預(yù)處理命令*/void main()/*主函數(shù)主函數(shù)*/printf(“Hello World!n”);C程序的結(jié)構(gòu) 以以“#”號(hào)開(kāi)頭的行都是編譯預(yù)處理行,且在號(hào)開(kāi)頭的行都是編譯預(yù)處理行,且在一行中,只能寫(xiě)一行編譯預(yù)處理指令。編譯預(yù)處理命令不是一行中,只能寫(xiě)一行編譯預(yù)處理指令。編譯預(yù)處理命令不是C C語(yǔ)句,不能以分號(hào)結(jié)尾,而是以換行結(jié)尾。語(yǔ)句,不能以分號(hào)結(jié)尾,而是以換行結(jié)尾。#include#includest
18、dio.hstdio.hvoid mainvoid main()() int a int a,b b;/ /* *定義兩個(gè)整形變量定義兩個(gè)整形變量* */ / a=1 a=1;b=5b=5;/ /* *給兩個(gè)變量賦值給兩個(gè)變量賦值* */ / printf printf(“%d+%d=%dn”,a,b,a+b%d+%d=%dn”,a,b,a+b); ; / /* *打印打印a a和和b b之和之和* */ / C C語(yǔ)言嚴(yán)格區(qū)分大、小寫(xiě)語(yǔ)言嚴(yán)格區(qū)分大、小寫(xiě) 英文字母。英文字母。什么是C語(yǔ)言? C C語(yǔ)言程序是由一個(gè)個(gè)的語(yǔ)言程序是由一個(gè)個(gè)的 語(yǔ)句組成。語(yǔ)句組成。 C C語(yǔ)言程序使用語(yǔ)言程序使用“
19、;”作為作為 語(yǔ)句的終止符和分隔符。語(yǔ)句的終止符和分隔符??梢匀我鈺?shū)寫(xiě),即一行中可以書(shū)寫(xiě)多可以任意書(shū)寫(xiě),即一行中可以書(shū)寫(xiě)多個(gè)語(yǔ)句,一個(gè)語(yǔ)句也可以占用任意多個(gè)語(yǔ)句,一個(gè)語(yǔ)句也可以占用任意多行,語(yǔ)句之間必須用行,語(yǔ)句之間必須用“;”分隔。初分隔。初學(xué)時(shí)建議在一行內(nèi)書(shū)寫(xiě)一條語(yǔ)句。學(xué)時(shí)建議在一行內(nèi)書(shū)寫(xiě)一條語(yǔ)句。編寫(xiě)一個(gè)加法運(yùn)算程序編寫(xiě)一個(gè)加法運(yùn)算程序#include#includestdio.hstdio.hmainmain()() int a int a,b b;/ /* *定義兩個(gè)整形變量定義兩個(gè)整形變量* */ / a=1 a=1;b=5b=5;/ /* *給兩個(gè)變量賦值給兩個(gè)變量賦值* */
20、/ printf printf(“%d+%d=%dn”,a,b,a+b%d+%d=%dn”,a,b,a+b); ; / /* *打印打印a a和和b b之和之和* */ / C C語(yǔ)言嚴(yán)格區(qū)分大、小寫(xiě)語(yǔ)言嚴(yán)格區(qū)分大、小寫(xiě) 英文字母。英文字母。什么是C語(yǔ)言? C C語(yǔ)言程序是由一個(gè)個(gè)的語(yǔ)言程序是由一個(gè)個(gè)的 語(yǔ)句組成。語(yǔ)句組成。 C C語(yǔ)言程序使用語(yǔ)言程序使用“;”作為作為 語(yǔ)句的終止符和分隔符。語(yǔ)句的終止符和分隔符。 C C語(yǔ)言程序中用大括號(hào)對(duì)語(yǔ)言程序中用大括號(hào)對(duì) “ ” “ ”表示程序的結(jié)構(gòu)層表示程序的結(jié)構(gòu)層 次范圍。次范圍。一個(gè)完整的程序模塊要用一對(duì)花括號(hào)括起一個(gè)完整的程序模塊要用一對(duì)花括號(hào)
21、括起來(lái),用以表示模塊的范圍。為了清晰地表來(lái),用以表示模塊的范圍。為了清晰地表現(xiàn)出程序的結(jié)構(gòu),建議使用右縮進(jìn)鋸齒型現(xiàn)出程序的結(jié)構(gòu),建議使用右縮進(jìn)鋸齒型程序書(shū)寫(xiě)格式。程序書(shū)寫(xiě)格式。編寫(xiě)一個(gè)加法運(yùn)算程序編寫(xiě)一個(gè)加法運(yùn)算程序#include#includestdio.hstdio.hmainmain()() int a int a,b b;/ /* *定義兩個(gè)整形變量定義兩個(gè)整形變量* */ / a=1 a=1;b=5b=5;/ /* *給兩個(gè)變量賦值給兩個(gè)變量賦值* */ / printf printf(“%d+%d=%dn”,a,b,a+b%d+%d=%dn”,a,b,a+b); ; / /* *
22、打印打印a a和和b b之和之和* */ / C C語(yǔ)言嚴(yán)格區(qū)分大、小寫(xiě)語(yǔ)言嚴(yán)格區(qū)分大、小寫(xiě) 英文字母。英文字母。什么是C語(yǔ)言? C C語(yǔ)言程序是由一個(gè)個(gè)的語(yǔ)言程序是由一個(gè)個(gè)的 語(yǔ)句組成。語(yǔ)句組成。 C C語(yǔ)言程序使用語(yǔ)言程序使用“;”作為作為 語(yǔ)句的終止符和分隔符。語(yǔ)句的終止符和分隔符。 C C語(yǔ)言程序中用大括號(hào)對(duì)語(yǔ)言程序中用大括號(hào)對(duì) “ ” “ ”表示程序的結(jié)構(gòu)層表示程序的結(jié)構(gòu)層 次范圍。次范圍。語(yǔ)言程序可以使用注釋。語(yǔ)言程序可以使用注釋。 注釋部分的格式是:注釋部分的格式是:注釋內(nèi)容注釋部分不參與注釋內(nèi)容注釋部分不參與程序的執(zhí)行,對(duì)程序的運(yùn)行結(jié)果沒(méi)程序的執(zhí)行,對(duì)程序的運(yùn)行結(jié)果沒(méi)有影響,只
23、是用來(lái)提示或助記。有影響,只是用來(lái)提示或助記。編寫(xiě)一個(gè)加法運(yùn)算程序編寫(xiě)一個(gè)加法運(yùn)算程序函數(shù) C程序?yàn)楹瘮?shù)模塊結(jié)構(gòu),整個(gè)程序都是由一個(gè)或多個(gè)函數(shù)組成.函數(shù)是函數(shù)是C程序的基本單位。程序的基本單位。 函數(shù)是由函數(shù)說(shuō)明和函數(shù)體兩部分組成 一個(gè)C程序總是從main()函數(shù)開(kāi)始執(zhí)行.有且僅有一個(gè)主函數(shù)有且僅有一個(gè)主函數(shù)main(), 被調(diào)用的函數(shù)可以是系統(tǒng)提供的庫(kù)函數(shù),也可以是用戶根據(jù)需要自己編制設(shè)計(jì)的函數(shù)(用戶自定義函數(shù)) 一個(gè)C 程序可以由一個(gè)文件組成,也可以由若干個(gè)文件組成#include#include void main void main ()() int a=1,b=5,c; int a=
24、1,b=5,c; c=add(a,b); c=add(a,b); printf(“c=%dn”,c); printf(“c=%dn”,c); int add(int x int add(int x,int y)int y) return(x+y); return(x+y); C C程序程序源程序文件源程序文件1 1源程序文件源程序文件i i源程序文件源程序文件n n預(yù)編譯命令預(yù)編譯命令函數(shù)函數(shù)1 1函數(shù)函數(shù)n n函數(shù)體函數(shù)體函數(shù)首部函數(shù)首部C語(yǔ)言1.C1.C程序的書(shū)寫(xiě)格式比較自由,一般程序的書(shū)寫(xiě)格式比較自由,一般語(yǔ)句。對(duì)于語(yǔ)句。對(duì)于短短語(yǔ)句語(yǔ)句也可也可,中間用,中間用“”分隔。對(duì)于分隔。對(duì)于長(zhǎng)語(yǔ)句長(zhǎng)語(yǔ)句也也可將一條語(yǔ)句分寫(xiě)在多行上,可將一條語(yǔ)句分寫(xiě)在多行上,是不能將一個(gè)是不能將一個(gè)分開(kāi),也不要將雙撇號(hào)引用的一個(gè)分開(kāi),也不要將雙撇號(hào)引用的一個(gè)分開(kāi)。分開(kāi)。2.2.為了程序書(shū)寫(xiě)得清晰,提高程序的可讀性,一般采用為了程序書(shū)寫(xiě)得清晰,提高程序的可讀性,一般采用。即同一層次語(yǔ)句要對(duì)齊,不同層次語(yǔ)句要縮進(jìn)若干。即同一層次語(yǔ)句要對(duì)齊,不同層次語(yǔ)句要縮進(jìn)若干個(gè)字符個(gè)字符( (2424個(gè)個(gè)) )。例如循環(huán)體中的語(yǔ)句和選擇體中的語(yǔ)句要。例如循環(huán)體中的語(yǔ)句和選擇體中的語(yǔ)句要縮進(jìn)對(duì)齊??s進(jìn)對(duì)齊。 3.3.花括號(hào)的書(shū)寫(xiě)方法較多
溫馨提示
- 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è)備貸款協(xié)議
- 《網(wǎng)絡(luò)廣告互動(dòng)性研究》課件
- 雙語(yǔ)列車長(zhǎng)車票的發(fā)售規(guī)定課件
- 雙語(yǔ)列車長(zhǎng)火災(zāi)爆炸事故的應(yīng)急處理課件
- 中醫(yī)與傳統(tǒng)文化課件
- 家居設(shè)計(jì)合同范本
- 版?zhèn)€人房產(chǎn)轉(zhuǎn)讓合同樣本
- 四位創(chuàng)始股東合作合同書(shū)
- 【課件】電荷+課件+-高二上學(xué)期物理人教版(2019)必修第三冊(cè)+
- 景德鎮(zhèn)藝術(shù)職業(yè)大學(xué)《中醫(yī)養(yǎng)生與康復(fù)學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 《大數(shù)據(jù)導(dǎo)論(第2版)》全套教學(xué)課件
- 新疆能源(集團(tuán))有限責(zé)任公司招聘筆試題庫(kù)2024
- AECOPD合并呼吸衰竭護(hù)理查房
- 2024年全國(guó)高中數(shù)學(xué)聯(lián)賽北京賽區(qū)預(yù)賽一試試題(解析版)
- 2025屆新高考化學(xué)熱點(diǎn)精準(zhǔn)復(fù)習(xí) 高三化學(xué)復(fù)習(xí)備考的方法與策略
- 新高考II卷01(含聽(tīng)力)2024年高考英語(yǔ)一輪復(fù)習(xí)測(cè)試卷(考試版)
- 西游記閱讀指導(dǎo)課評(píng)課
- 2024年鄭州信息科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)學(xué)生專用
- 2023-2024學(xué)年安徽省合肥八中高一(下)期中數(shù)學(xué)試卷(含解析)
- CHT 9008.2-2010 基礎(chǔ)地理信息數(shù)字成果1:500 1:1 000 1:2 000數(shù)字高程模型
- 測(cè)量學(xué)-第五版-配套課件
評(píng)論
0/150
提交評(píng)論