C語(yǔ)言電子教案課件_第1頁(yè)
C語(yǔ)言電子教案課件_第2頁(yè)
C語(yǔ)言電子教案課件_第3頁(yè)
C語(yǔ)言電子教案課件_第4頁(yè)
C語(yǔ)言電子教案課件_第5頁(yè)
已閱讀5頁(yè),還剩47頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

C語(yǔ)言程序設(shè)計(jì)7/24/20231《C語(yǔ)言程序設(shè)計(jì)》-第一章一、課程安排理論課:46學(xué)時(shí)第一章

C語(yǔ)言概述

2個(gè)學(xué)時(shí)第二章數(shù)據(jù)2個(gè)學(xué)時(shí)第三章順序結(jié)構(gòu)的程序設(shè)計(jì)2個(gè)學(xué)時(shí)第四章選擇結(jié)構(gòu)的程序設(shè)計(jì)6個(gè)學(xué)時(shí)第五章循環(huán)控制語(yǔ)句6個(gè)學(xué)時(shí)第六章數(shù)組

6個(gè)學(xué)時(shí)第七章函數(shù)

4個(gè)學(xué)時(shí)第八章指針6個(gè)學(xué)時(shí)第九章結(jié)構(gòu)體、共用體和枚舉類(lèi)型6個(gè)學(xué)時(shí)第十章編譯預(yù)處理2個(gè)學(xué)時(shí)第十一章位運(yùn)算2個(gè)學(xué)時(shí)第十二章文件2個(gè)學(xué)時(shí)實(shí)驗(yàn)課:30學(xué)時(shí)7/24/20232《C語(yǔ)言程序設(shè)計(jì)》-第一章

二、課程性質(zhì)與任務(wù)

《大學(xué)計(jì)算機(jī)技術(shù)基礎(chǔ)(C語(yǔ)言程序設(shè)計(jì))》課程是面向全校的理工科類(lèi)非計(jì)算機(jī)專(zhuān)業(yè)學(xué)生開(kāi)設(shè)的計(jì)算機(jī)基礎(chǔ)教學(xué)的公共課程之一。本課程的任務(wù)是結(jié)合一般數(shù)值計(jì)算向?qū)W生介紹計(jì)算機(jī)程序設(shè)計(jì)的基本知識(shí),使學(xué)生掌握C語(yǔ)言的基本內(nèi)容及程序設(shè)計(jì)的基本方法與編程技巧,了解進(jìn)行科學(xué)計(jì)算的一般思路,培養(yǎng)學(xué)生應(yīng)用計(jì)算機(jī)解決和處理實(shí)際問(wèn)題的思維方法與基本能力,為進(jìn)一步學(xué)習(xí)和應(yīng)用計(jì)算機(jī)知識(shí)打下基礎(chǔ)。

7/24/20233《C語(yǔ)言程序設(shè)計(jì)》-第一章四、教學(xué)要求掌握C程序設(shè)計(jì)的基礎(chǔ)知識(shí),包括數(shù)據(jù)類(lèi)型、輸入輸出的基本操作以及簡(jiǎn)單程序設(shè)計(jì)技巧;(理解)掌握順序、選擇、循環(huán)三大結(jié)構(gòu)的編程技術(shù);(重點(diǎn))掌握函數(shù)的定義與調(diào)用;(重點(diǎn),難點(diǎn))掌握數(shù)組、指針的應(yīng)用;(重點(diǎn),難點(diǎn))掌握結(jié)構(gòu)體、鏈表等操作;(難點(diǎn))學(xué)會(huì)進(jìn)行綜合程序設(shè)計(jì)。(難點(diǎn))7/24/20234《C語(yǔ)言程序設(shè)計(jì)》-第一章

五、教學(xué)方法和教學(xué)形式建議

《C程序設(shè)計(jì)》是一門(mén)應(yīng)用性很強(qiáng)的課程,它所涉及的內(nèi)容也十分廣泛。整個(gè)教學(xué)過(guò)程由授課、實(shí)驗(yàn)、作業(yè)和自學(xué)四個(gè)環(huán)節(jié)組成。授課盡可能采用現(xiàn)代教學(xué)手段——多媒體教學(xué)形式。作業(yè)未完成者不得參加考試。7/24/20235《C語(yǔ)言程序設(shè)計(jì)》-第一章六、考核方式

考核方式:考試成績(jī)?cè)u(píng)定:本課程考試形式為機(jī)考題庫(kù)考試,考試內(nèi)容在要求“了解”的教學(xué)層次上占20%左右,在要求“理解”和“會(huì)”的教學(xué)層次上占30%左右,在要求“掌握”和“熟練”的教學(xué)層次上不得少于50%。本課程考試題的題型主要有選擇題、判斷題、程序改錯(cuò)題、程序填空題和程序設(shè)計(jì)題等。學(xué)生成績(jī)由期末成績(jī)、平時(shí)成績(jī)和實(shí)訓(xùn)成績(jī)?nèi)糠謽?gòu)成,平時(shí)成績(jī)根據(jù)學(xué)生的平時(shí)表現(xiàn)、作業(yè)完成情況和上機(jī)實(shí)踐情況確定,占學(xué)期總成績(jī)的20%,實(shí)訓(xùn)成績(jī)根據(jù)學(xué)生的實(shí)訓(xùn)綜合測(cè)試情況確定,占總成績(jī)的20%,期末成績(jī)占學(xué)期總成績(jī)的60%。7/24/20236《C語(yǔ)言程序設(shè)計(jì)》-第一章課外自學(xué)要求

定時(shí),定點(diǎn)完成不少于30學(xué)時(shí)的課外上機(jī)操作實(shí)踐,練習(xí)實(shí)訓(xùn)題目,提交課外實(shí)踐作業(yè)。7/24/20237《C語(yǔ)言程序設(shè)計(jì)》-第一章學(xué)習(xí)方法認(rèn)真聽(tīng)講,積極思考,提高上課效率主動(dòng)上機(jī),多多實(shí)踐,提高動(dòng)手能力學(xué)會(huì)自學(xué),加強(qiáng)交流,及時(shí)答疑解惑開(kāi)闊眼界,打開(kāi)思路,多看幾本書(shū)初學(xué)時(shí)掌握語(yǔ)言語(yǔ)法和規(guī)定后期重點(diǎn)掌握編程思路和基本算法7/24/20238《C語(yǔ)言程序設(shè)計(jì)》-第一章課程要求課前請(qǐng)做好預(yù)習(xí),保持課堂安靜,頭腦清醒,思維活躍,做好課堂筆記認(rèn)真、獨(dú)立、按時(shí)完成并提交作業(yè)重視上機(jī)實(shí)踐,有效利用寶貴的上機(jī)時(shí)間7/24/20239《C語(yǔ)言程序設(shè)計(jì)》-第一章對(duì)同學(xué)的要求上課不遲到課上不影響其他同學(xué)按時(shí)交作業(yè)先編好程序再上機(jī)鼓勵(lì)自學(xué)7/24/202310《C語(yǔ)言程序設(shè)計(jì)》-第一章C語(yǔ)言程序設(shè)計(jì)第一章概述7/24/202311《C語(yǔ)言程序設(shè)計(jì)》-第一章第1章概述1.1C語(yǔ)言的發(fā)展歷程1.2算法1.3簡(jiǎn)單的C程序1.4結(jié)構(gòu)化程序設(shè)計(jì)程序設(shè)計(jì)1.5C語(yǔ)言的運(yùn)行環(huán)境7/24/202312《C語(yǔ)言程序設(shè)計(jì)》-第一章背景計(jì)算機(jī)已經(jīng)成為人類(lèi)必不可少的工具,應(yīng)用領(lǐng)域極廣:航空航天、兵器、艦船、機(jī)床、儀器儀表、管理、財(cái)務(wù)、媒體、建筑計(jì)算機(jī)本身不能進(jìn)行獨(dú)立的思維,它是靠執(zhí)行預(yù)先編制好的程序而實(shí)現(xiàn)一定功能的。目前人類(lèi)和計(jì)算機(jī)之間還不能像人和人之間那樣完全用自然語(yǔ)言進(jìn)行交流,計(jì)算機(jī)和人類(lèi)之間的交流需要借助于“計(jì)算機(jī)語(yǔ)言”。7/24/202313《C語(yǔ)言程序設(shè)計(jì)》-第一章程序與程序設(shè)計(jì)程序計(jì)算機(jī)最本質(zhì)的使命就是執(zhí)行指令所規(guī)定的操作,可以被連續(xù)執(zhí)行的一條條指令的集合,即計(jì)算機(jī)指令的序列,稱(chēng)為程序。所謂編程就是為計(jì)算機(jī)安排指令序列,一個(gè)計(jì)算機(jī)程序總是采用某種程序語(yǔ)言來(lái)編寫(xiě)。軟件與一系統(tǒng)有關(guān)的程序、步驟和有關(guān)文件編制的完整集合,特指計(jì)算機(jī)所使用的程序的集合。軟件由語(yǔ)言編制而成,是解決某類(lèi)問(wèn)題的,具有確定的、有限的功能。7/24/202314《C語(yǔ)言程序設(shè)計(jì)》-第一章計(jì)算機(jī)語(yǔ)言計(jì)算機(jī)語(yǔ)言是根據(jù)計(jì)算機(jī)工作特點(diǎn)而編制的,是規(guī)則和符號(hào)的集合,是與計(jì)算機(jī)交流的工具。7/24/202315《C語(yǔ)言程序設(shè)計(jì)》-第一章1.1C語(yǔ)言的發(fā)展歷程1.1.1

程序設(shè)計(jì)語(yǔ)言

1.1.2C語(yǔ)言的發(fā)展7/24/202316《C語(yǔ)言程序設(shè)計(jì)》-第一章第一代:機(jī)器語(yǔ)言(低級(jí)語(yǔ)言):面向機(jī)器、可移植性差、效率高、不方便編程第二代:匯編語(yǔ)言第三代:高級(jí)語(yǔ)言:面向程序員、可移植性好、執(zhí)行效率低、便于編程第四代:面向?qū)ο笫秸Z(yǔ)言第五代:智能語(yǔ)言1.1.1程序設(shè)計(jì)語(yǔ)言7/24/202317《C語(yǔ)言程序設(shè)計(jì)》-第一章計(jì)算機(jī)語(yǔ)言人和計(jì)算機(jī)交流所用的語(yǔ)言高級(jí)語(yǔ)言(面向過(guò)程語(yǔ)言)告訴計(jì)算機(jī)怎么做。

計(jì)算機(jī)語(yǔ)言的發(fā)展機(jī)器語(yǔ)言(計(jì)算機(jī)指令的集合)匯編語(yǔ)言(用符號(hào)表示計(jì)算機(jī)指令)第一代第二代第三代非過(guò)程化語(yǔ)言(面向?qū)ο笳Z(yǔ)言)

告訴計(jì)算機(jī)做什么

第四代7/24/202318《C語(yǔ)言程序設(shè)計(jì)》-第一章10R=520L=2*3.14*R30S=3.14*R*R40PRINTR,L,S50END軟件程序語(yǔ)言語(yǔ)言規(guī)則計(jì)算機(jī)語(yǔ)言是編寫(xiě)程序、制作軟件的工具7/24/202319《C語(yǔ)言程序設(shè)計(jì)》-第一章面向過(guò)程語(yǔ)言面向?qū)ο笳Z(yǔ)言FORTRANBASICCPASCALCOBOLLISPC++TurboPASCALVisualBASICVisualJ++VisualFoxPro區(qū)別?系統(tǒng)軟件設(shè)計(jì)具有圖形功能科學(xué)計(jì)算商用人工智能計(jì)算機(jī)語(yǔ)言分類(lèi)7/24/202320《C語(yǔ)言程序設(shè)計(jì)》-第一章C語(yǔ)言發(fā)展簡(jiǎn)介ALGOL語(yǔ)言:1960,面向問(wèn)題高級(jí)語(yǔ)言,不宜寫(xiě)系統(tǒng)程序CPL語(yǔ)言:1963,英劍橋,能夠作較低層次的操作,但規(guī)模較大,難以實(shí)現(xiàn)BCPL語(yǔ)言:(Basiccombinedprogramminglanguage)1967,英劍橋MartinRichards改進(jìn)CPLB語(yǔ)言:1970,美貝爾實(shí)驗(yàn)室Thompson簡(jiǎn)化BCPL,用B寫(xiě)UNIX操作系統(tǒng)C語(yǔ)言:1972,貝爾實(shí)驗(yàn)室,Ritchie和Kernighan設(shè)計(jì),保持B和BCPL的精煉與接近硬件,克服其簡(jiǎn)單和數(shù)據(jù)無(wú)類(lèi)型的缺點(diǎn)。描述和實(shí)現(xiàn)UNIX的工具語(yǔ)言1977,《可移植C語(yǔ)言編譯程序》,C與UNIX相輔相成1978,Kernighan和Richie,《TheCProgrammingLanguage》,標(biāo)準(zhǔn)C語(yǔ)言1983,美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì)(ANSI),ANSIC1990,國(guó)際標(biāo)準(zhǔn)化組織(ISO)通過(guò)

7/24/202321《C語(yǔ)言程序設(shè)計(jì)》-第一章C語(yǔ)言特點(diǎn)

(1)較低級(jí)語(yǔ)言(中級(jí)語(yǔ)言)(2)結(jié)構(gòu)化語(yǔ)言(3)運(yùn)算能力強(qiáng)(4)數(shù)據(jù)類(lèi)型多(5)有預(yù)處理能力(6)可移植性好(7)語(yǔ)法不嚴(yán)格7/24/202322《C語(yǔ)言程序設(shè)計(jì)》-第一章C語(yǔ)言與其他高級(jí)語(yǔ)言的對(duì)比:C語(yǔ)言:系統(tǒng)軟件和應(yīng)用軟件BASIC:初學(xué)者入門(mén)FORTRAN或PL/I:科學(xué)計(jì)算COBOL:商業(yè)和管理等數(shù)據(jù)處理領(lǐng)域PASCAL:教學(xué),第一個(gè)結(jié)構(gòu)化語(yǔ)言

7/24/202323《C語(yǔ)言程序設(shè)計(jì)》-第一章1.2算法1.2.1算法的概念1.2.2算法的特性1.2.2算法的描述方法7/24/202324《C語(yǔ)言程序設(shè)計(jì)》-第一章1.2.1算法的概念

算法就是為解決一個(gè)具體問(wèn)題而采取的確定的有限操作步驟。這里的算法指的是計(jì)算機(jī)算法。編寫(xiě)一個(gè)程序,首先要設(shè)計(jì)算法,依據(jù)此算法進(jìn)行編程。那么,什么是算法呢?著名計(jì)算機(jī)科學(xué)家沃思(N.Wirth)對(duì)程序有如下的描述:

程序=數(shù)據(jù)結(jié)構(gòu)+算法說(shuō)明一個(gè)程序由兩部分組成:(1)對(duì)數(shù)據(jù)的描述和組織形式,即數(shù)據(jù)結(jié)構(gòu)(DataStructure)。(2)對(duì)操作或行為的描述,即操作步驟,也就是算法(Algorithm)。1.算法7/24/202325《C語(yǔ)言程序設(shè)計(jì)》-第一章(1)有窮性(2)確定性(3)有效性(4)輸入(5)輸出1.2.2.算法的特性7/24/202326《C語(yǔ)言程序設(shè)計(jì)》-第一章3.算法的組成要素

一是操作。每個(gè)操作的確定不僅取決于問(wèn)題的需求,還取決于它們?nèi)∽阅膫€(gè)操作集,它與使用的工具系統(tǒng)有關(guān)。二是控制結(jié)構(gòu)。每一個(gè)算法都是由一系列的操作組成。同一操作序列,不同的執(zhí)行順序,就會(huì)得出不同的結(jié)果。7/24/202327《C語(yǔ)言程序設(shè)計(jì)》-第一章1.2.3算法的描述方法進(jìn)行算法設(shè)計(jì)時(shí),可以用不同的算法描述工具。常用的有自然語(yǔ)言、傳統(tǒng)流程圖、N-S結(jié)構(gòu)化流程圖等等。

1.自然語(yǔ)言表示自然語(yǔ)言就是人們?nèi)粘I钪惺褂玫恼Z(yǔ)言,可以用漢語(yǔ)、英語(yǔ)和數(shù)學(xué)符號(hào)等,它比較符合人們?nèi)粘5乃季S習(xí)慣,通俗易懂,但文字冗長(zhǎng),不易直接轉(zhuǎn)化為程序,易產(chǎn)生歧義性。2.流程圖表示流程圖是一個(gè)描述程序的控制流程和指令執(zhí)行情況的有向圖,它是程序的一種比較直觀的表示形式,美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì)(ANSI)規(guī)了如圖1.1所示的符號(hào)作為常流程圖符號(hào)。7/24/202328《C語(yǔ)言程序設(shè)計(jì)》-第一章三種基本控制結(jié)構(gòu)如下:(1)順序結(jié)構(gòu)。順序結(jié)構(gòu)中的語(yǔ)句是按書(shū)寫(xiě)的順序執(zhí)行的,即語(yǔ)句執(zhí)行順與書(shū)寫(xiě)順序一致。這是一種最簡(jiǎn)單的結(jié)構(gòu),不能處理復(fù)雜問(wèn)題。(2)選擇結(jié)構(gòu)。最基本的選擇結(jié)構(gòu)是當(dāng)程序執(zhí)行到某一語(yǔ)句時(shí),要進(jìn)行一下判斷,從兩種路徑中選擇一條。計(jì)算機(jī)的判斷能力就是通過(guò)選擇結(jié)構(gòu)實(shí)現(xiàn)的。(3)循環(huán)結(jié)構(gòu)。這種結(jié)構(gòu)是將一條或多條語(yǔ)句重復(fù)地執(zhí)行若干次。這種結(jié)構(gòu)充分利用了計(jì)算機(jī)速度快的優(yōu)勢(shì),將復(fù)雜問(wèn)題用循環(huán)結(jié)構(gòu)來(lái)實(shí)現(xiàn)。7/24/202329《C語(yǔ)言程序設(shè)計(jì)》-第一章【例】用自然語(yǔ)言描述求n!的算法。問(wèn)題分析:考慮n!=1×2×3×4×…×n,因此計(jì)算n!可用n次乘法運(yùn)算來(lái)實(shí)現(xiàn),每次在原有結(jié)果的基礎(chǔ)上乘上一個(gè)數(shù),而這個(gè)數(shù)是從1變化到n的,用自然語(yǔ)言描述該算法如下:S1:輸入n的值;S2:如果n<0,則打印“輸入錯(cuò)”提示信息,轉(zhuǎn)去執(zhí)行S4;S3:如果n≥0,則S3.1:給存放結(jié)果的變量fact置初值1;S3.2:給代表乘數(shù)的變量i置初值1;S3.3:進(jìn)行累乘運(yùn)算fact=fact*i;S3.4:乘數(shù)變量i增1,得到下一個(gè)乘數(shù)的值,i=i+1;S3.5:如果i未超過(guò)n,則重復(fù)執(zhí)行步驟S3.3和S3.4,否則執(zhí)行步驟S3.6;S3.6:輸出fact的值;S4:結(jié)束算法。7/24/202330《C語(yǔ)言程序設(shè)計(jì)》-第一章判斷框起止框處理框輸入輸出框圖判斷框流程線(xiàn)連接符圖1.1傳統(tǒng)流程圖常符號(hào)7/24/202331《C語(yǔ)言程序設(shè)計(jì)》-第一章PAB真假(b)選擇結(jié)構(gòu)AB(a)順序結(jié)構(gòu)A真P假(c)循環(huán)結(jié)構(gòu)圖三種基本控制結(jié)構(gòu)流程圖7/24/202332《C語(yǔ)言程序設(shè)計(jì)》-第一章圖計(jì)算n!的傳統(tǒng)流程圖開(kāi)始讀入nn<0fact=1,i=1fact=fact*i,i=i+1輸出fact結(jié)束打印出錯(cuò)信息YYNNi>n7/24/202333《C語(yǔ)言程序設(shè)計(jì)》-第一章3.N-S結(jié)構(gòu)化流程圖表示

N-S結(jié)構(gòu)化流程圖是1973年美國(guó)學(xué)者I.Nassi和B.Schneiderman提出的一種新的流程圖形式。N-S圖是以?xún)晌粚W(xué)者名字的首字母命名的。它的最重要的特點(diǎn)就是完全取消了流程線(xiàn),全部算法在一個(gè)矩形框內(nèi),這樣算法只能從上到下順序執(zhí)行,從而避免了算法流程的任意轉(zhuǎn)向,保證了程序的質(zhì)量。另外N-S圖形象直觀,節(jié)省篇幅,尤其適于結(jié)構(gòu)化程序的設(shè)計(jì)。用N-S圖表示三種基本控制結(jié)構(gòu)如教材圖1.4所示。7/24/202334《C語(yǔ)言程序設(shè)計(jì)》-第一章1.3簡(jiǎn)單的C程序【例1.1】C語(yǔ)言程序的組成和結(jié)構(gòu)。main()/*主函數(shù)*/{inta,b,sum;/*定義a、b和sum三個(gè)變量*/a=3;b=4;/*為a,b賦值*/sum=add(a,b);/*調(diào)用函數(shù)add,將得到的值賦給變量sum*/printf("sum=a+b=%d\n",sum);/*屏幕輸出sum變量的值*/}intadd(intx,inty)/*定義add函數(shù)和形式參數(shù)x,y*/{intz;/*定義z變量*/z=x+y;/*變量x與y相加的和送給z*/return(z);/*返回z的值送給add*/}運(yùn)行結(jié)果:sum=a+b=77/24/202335《C語(yǔ)言程序設(shè)計(jì)》-第一章1.函數(shù)型語(yǔ)言,函數(shù)是C程序的基本單位。2.函數(shù)由說(shuō)明部分和函數(shù)體兩部分組成函數(shù)的組成:

說(shuō)明部分:函數(shù)類(lèi)型函數(shù)名(參數(shù)類(lèi)型參數(shù)名,……)例:intadd(intx,inty)或intadd(x,y)intx,y;

函數(shù)體:{變量定義;執(zhí)行語(yǔ)句;}3.主函數(shù)main():程序中有且只有一個(gè)main()函數(shù),可在任意位置,是程序運(yùn)行開(kāi)始和結(jié)束。4.書(shū)寫(xiě)格式自由:一行內(nèi)可多條語(yǔ)句,空格和回車(chē)符不計(jì)。一個(gè)語(yǔ)句可多行,用“\”續(xù)行。5.每個(gè)語(yǔ)句后有“;”,函數(shù)說(shuō)明部分除外。6.C語(yǔ)言本身沒(méi)有輸入輸入語(yǔ)句,輸入輸出用庫(kù)函數(shù)scanf()、printf()、getchar()、putchar()實(shí)現(xiàn)。7.可在任意位置加注釋/*……*/,可多行,不可嵌套。7/24/202336《C語(yǔ)言程序設(shè)計(jì)》-第一章【例】最小的C程序例。main(){}這是一個(gè)最小的C程序,什么也不做,但這是符合C語(yǔ)言函數(shù)規(guī)定的程序,有main()組成的函數(shù)的首部和兩個(gè)大括號(hào)中無(wú)任何內(nèi)容的函數(shù)體,在計(jì)算機(jī)上運(yùn)行時(shí)沒(méi)有錯(cuò)誤,因?yàn)楹瘮?shù)體是空的,這個(gè)C程序什么也不做。7/24/202337《C語(yǔ)言程序設(shè)計(jì)》-第一章【例】函數(shù)C程序例。main()/*主函數(shù)*/{printf("ThisisaCprogram.");}程序的運(yùn)行結(jié)果:ThisisaCprogram.7/24/202338《C語(yǔ)言程序設(shè)計(jì)》-第一章【例】編寫(xiě)C語(yǔ)言程序求鍵盤(pán)輸入的兩個(gè)數(shù)中較小的數(shù),并且將其輸出到屏幕上。main()/*主函數(shù)*/{inta,b,c;/*說(shuō)明三個(gè)變量a,b和c*/printf("Inputtwointegers:");/*輸出一行提示信息*/scanf("%d,%d",&a,&b);/*鍵盤(pán)輸入兩個(gè)數(shù)值送給a和b變量*/c=min(a,b);/*調(diào)用min函數(shù),運(yùn)行結(jié)果送給c變量*/printf("min=%d",c);/*輸出c變量的值*/}intmin(intx,inty)/*定義min函數(shù),x,y為形參*/{intz;if(x<y)z=x;/*條件語(yǔ)句:如果x小于y成立z=x,否則z=y*/elsez=y;return(z);/*將z的值返回,通過(guò)min帶回調(diào)用處*/}7/24/202339《C語(yǔ)言程序設(shè)計(jì)》-第一章?什么是數(shù)據(jù)結(jié)構(gòu)計(jì)算機(jī)的別名:數(shù)據(jù)處理機(jī)數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)元素的組織形式數(shù)據(jù)元素:數(shù)據(jù)的最小單位程序設(shè)計(jì)=數(shù)據(jù)結(jié)構(gòu)+算法+方法+工具程序設(shè)計(jì)=編程數(shù)據(jù)結(jié)構(gòu)的優(yōu)劣決定了軟件或程序的復(fù)雜程度和面貌數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)類(lèi)型對(duì)求解問(wèn)題的數(shù)據(jù)描述:數(shù)據(jù)結(jié)構(gòu)對(duì)求解問(wèn)題的過(guò)程的描述:算法程序設(shè)計(jì)7/24/202340《C語(yǔ)言程序設(shè)計(jì)》-第一章第1章C語(yǔ)言概述數(shù)據(jù)的確定:確定數(shù)據(jù)的類(lèi)型和數(shù)據(jù)的存放方式。高級(jí)語(yǔ)言中用變量定義來(lái)實(shí)現(xiàn)。操作步驟(也即算法)的確定:用語(yǔ)句來(lái)實(shí)現(xiàn)。程序設(shè)計(jì)1.4結(jié)構(gòu)化程序設(shè)計(jì)7/24/202341《C語(yǔ)言程序設(shè)計(jì)》-第一章1.結(jié)構(gòu)化程序設(shè)計(jì)結(jié)構(gòu)化程序設(shè)計(jì)(StructuredProgramming,簡(jiǎn)稱(chēng)SP)的概念最早是由荷蘭學(xué)者E.W.Dijkstra提出來(lái)的,目的是提高程序設(shè)計(jì)的質(zhì)量。一個(gè)比較流行的定義是:結(jié)構(gòu)化程序設(shè)計(jì)是一種進(jìn)行程序設(shè)計(jì)的原則和方法,按照這種原則和方法設(shè)計(jì)出的程序的特點(diǎn)是結(jié)構(gòu)清晰,容易閱讀,容易修改,容易驗(yàn)證。按照結(jié)構(gòu)化程序設(shè)計(jì)方法的要求,結(jié)構(gòu)化的程序由三種基本控制結(jié)構(gòu)組成:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。7/24/202342《C語(yǔ)言程序設(shè)計(jì)》-第一章2.結(jié)構(gòu)化程序設(shè)計(jì)的基本思想(1)采用順序、選擇和循環(huán)三種基本結(jié)構(gòu)作為程序設(shè)計(jì)的基本單元,避免無(wú)限制地使用goto語(yǔ)句而使流程任意轉(zhuǎn)向。(2)三種基本結(jié)構(gòu)就具有如下良好特性:①只有一個(gè)入口;②只有一個(gè)出口;③無(wú)死語(yǔ)句,即不存在永遠(yuǎn)都執(zhí)行不到的語(yǔ)句;④無(wú)死循環(huán),即不存在永遠(yuǎn)都執(zhí)行不完的循環(huán)。(3)程序設(shè)計(jì)采用“自頂向下,逐步求精,模塊化設(shè)計(jì),結(jié)構(gòu)化編碼”的方法。7/24/202343《C語(yǔ)言程序設(shè)計(jì)》-第一章3.設(shè)計(jì)程序的過(guò)程下面舉例說(shuō)明用結(jié)構(gòu)化程序設(shè)計(jì)方法設(shè)計(jì)程序的過(guò)程?!纠?.6】求三個(gè)數(shù)中的最大數(shù)。(1)首先很容易給出程序的總體設(shè)計(jì)算法:s1:給定或輸入三個(gè)數(shù)a,b,c;s2:在a,b,c中找出大數(shù)賦給max;s3:輸出max。s1,s2,s3表示第1步,第2步,第3步。(2)對(duì)s2需進(jìn)一步細(xì)化,即求出最大數(shù)的方法,算法設(shè)計(jì):s21:從a,b中取大數(shù)賦給max中;s22:再用max與c進(jìn)行比較,取大的賦給max。將(1)、(2)用流程圖描述如教材圖1.6所示。7/24/202344《C語(yǔ)言程序設(shè)計(jì)》-第一章(3)用計(jì)算機(jī)語(yǔ)言實(shí)現(xiàn)算法。main(){inta,b,c,max;a=3;b=7;c=5;/*s1,也可以使用scanf()對(duì)a,b,c賦值*/if(a>b)/*s21*/max=a;elsemax=b;if(max<c)/*s22*/max=c;printf(”max=%d\n”,max);/*s3*/}7/24/202345《C語(yǔ)言程序設(shè)計(jì)》-第一章小結(jié)1.C語(yǔ)言程序的組成特點(diǎn)C語(yǔ)言程序的組成特點(diǎn)如下:(1)一個(gè)C源程序由函數(shù)構(gòu)成,其中至少包括一個(gè)主函數(shù)(main()函數(shù))。(2)C程序總是由main()函數(shù)開(kāi)始執(zhí)行。(3)分號(hào)“;”是C語(yǔ)句的一部分。(4)一行內(nèi)可寫(xiě)多條語(yǔ)句,且語(yǔ)句中的空格和回車(chē)符均可忽略不計(jì)。(5)程序的注釋部分在/*……*/之間,/和*之間不允許留有空格。注釋允許出現(xiàn)在程序中的任何位置上。7/24/202346《C語(yǔ)言程序設(shè)計(jì)》-第一章2.標(biāo)識(shí)符

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論