程序設(shè)計基礎(chǔ)第一章_第1頁
程序設(shè)計基礎(chǔ)第一章_第2頁
程序設(shè)計基礎(chǔ)第一章_第3頁
程序設(shè)計基礎(chǔ)第一章_第4頁
程序設(shè)計基礎(chǔ)第一章_第5頁
已閱讀5頁,還剩109頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

程序設(shè)計基礎(chǔ)第一章第1頁,課件共114頁,創(chuàng)作于2023年2月聯(lián)系方式cwy樓B1-513第2頁,課件共114頁,創(chuàng)作于2023年2月學(xué)時:24+24成績構(gòu)成:平時10,期中10分實驗20分,期末60分考試:閉卷、筆試第3頁,課件共114頁,創(chuàng)作于2023年2月教材:

C語言程序設(shè)計

黃迪明等電子科技大學(xué)出版社2008.7第4頁,課件共114頁,創(chuàng)作于2023年2月參考書BrianW.Kernighan,DemisRitchieTheCProgrammingLanguage2ndEd(英文影印版)清華大學(xué)出版社2000譚浩強

《C程序設(shè)計》(第3版)清華大學(xué)出版社2005第5頁,課件共114頁,創(chuàng)作于2023年2月程序設(shè)計Programming給出解決特定問題程序的方法和過程,是軟件構(gòu)造活動的重要組成部分專業(yè)的程序設(shè)計人員稱為程序員程序設(shè)計過程應(yīng)當(dāng)包括需求分析設(shè)計編碼測試維護五個階段,并生成各種文檔資料。第6頁,課件共114頁,創(chuàng)作于2023年2月程序設(shè)計程序設(shè)計需要以某種程序設(shè)計語言為工具:編寫出該語言的程序。第7頁,課件共114頁,創(chuàng)作于2023年2月問題什么是程序設(shè)計語言?什么是程序?什么是軟件?程序設(shè)計語言與程序的關(guān)系是什么?第8頁,課件共114頁,創(chuàng)作于2023年2月語言:一組規(guī)則的組合自然語言中的英語:1)字母表的定義;2)詞法規(guī)則:單詞符號的形成規(guī)則一個單詞對應(yīng)一條形成規(guī)則,規(guī)定了該單詞由哪些字母按照什么順序進行排列第9頁,課件共114頁,創(chuàng)作于2023年2月3)語法規(guī)則:語法單位的形成規(guī)則短語、從句、句子、段落、文章4)語義規(guī)則:單詞符號和語法單位的含義規(guī)則第10頁,課件共114頁,創(chuàng)作于2023年2月5)語用規(guī)則:語義規(guī)則的發(fā)展和延伸強調(diào)在一定的語境中使用單詞和語法單位時體現(xiàn)出來的具體意義需要根據(jù)上下文進行明確第11頁,課件共114頁,創(chuàng)作于2023年2月思考英語和英語文章的關(guān)系?第12頁,課件共114頁,創(chuàng)作于2023年2月程序設(shè)計語言:用于程序設(shè)計的人工語言第13頁,課件共114頁,創(chuàng)作于2023年2月程序設(shè)計語言機器語言:第一代程序設(shè)計語言字母表:{0,1}單詞符號:操作碼、地址語法單位:指令1011100010011110程序指令的組合第14頁,課件共114頁,創(chuàng)作于2023年2月機器語言編寫程序十分繁瑣和痛苦;程序不便于記憶、閱讀和書寫,容易出錯(查錯和改錯,十分困難);每類計算機的指令系統(tǒng)各不相同,可移植性很差,造成了重復(fù)工作。第15頁,課件共114頁,創(chuàng)作于2023年2月機器語言指令針對特定型號的計算機(與機器有關(guān),低級語言)運算效率很高第16頁,課件共114頁,創(chuàng)作于2023年2月匯編語言字母表:主要增加了英文字母單詞符號:操作碼、內(nèi)存符號、寄存器、數(shù)據(jù)語法單位:指令A(yù)DDA,R0程序指令的組合第17頁,課件共114頁,創(chuàng)作于2023年2月匯編語言:第二代計算機語言助記憶符:用與代碼指令含義相近的英文縮寫詞、字母和數(shù)字等符號取代指令代碼較容易理解程序,糾錯及維護變得較方便匯編語言仍然是面向機器的語言(低級語言),仍比較繁瑣,通用性也差。第18頁,課件共114頁,創(chuàng)作于2023年2月匯編語言需要將匯編語言指令翻譯成機器語言的指令:匯編匯編語言程序的目標(biāo)程序占用內(nèi)存空間少,運行速度快有著高級語言不可替代的用途

第19頁,課件共114頁,創(chuàng)作于2023年2月高級程序設(shè)計語言1)字母表的定義;2)詞法規(guī)則:一般有五類單詞符號3)語法規(guī)則:語法單位包括:表達式、語句、模塊、程序第20頁,課件共114頁,創(chuàng)作于2023年2月高級程序設(shè)計語言4)語義規(guī)則:5)語用規(guī)則:無二義的6)其他規(guī)則:如數(shù)據(jù)類型的定義、運算符優(yōu)先級的定義、參數(shù)的傳遞方式、作用域的規(guī)定等第21頁,課件共114頁,創(chuàng)作于2023年2月FORTRAN語言的一條語句:

if(num>0)

thenabs:=num

elseabs:=-num;第22頁,課件共114頁,創(chuàng)作于2023年2月高級程序設(shè)計語言獨立于計算機的硬件對具體的算法進行描述(算法語言)獨立性,通用性和可移植性好第23頁,課件共114頁,創(chuàng)作于2023年2月高級程序設(shè)計語言一般包含有以下四種成分:數(shù)據(jù)成分:描述程序所涉及的數(shù)據(jù)運算成分:描述運算控制成分:表達程序的控制結(jié)構(gòu)傳輸成分:表達數(shù)據(jù)的傳輸(輸入輸出、文件讀寫操作)第24頁,課件共114頁,創(chuàng)作于2023年2月高級程序設(shè)計語言高級語言的程序主要是描述計算機的解題過程,即描述復(fù)雜的加工處理過程,所以也稱高級語言為面向過程語言。計算機不能直接執(zhí)行高級語言的程序(源程序);通常有解釋方式和編譯方式兩種方法在計算機上執(zhí)行程序(目標(biāo)程序)。第25頁,課件共114頁,創(chuàng)作于2023年2月第26頁,課件共114頁,創(chuàng)作于2023年2月思考大量的程序設(shè)計語言被發(fā)明、被取代、被修改或組合在一起;盡管多次試圖創(chuàng)造一種通用的程序設(shè)計語言,卻沒有一次嘗試是成功的

WHY?第27頁,課件共114頁,創(chuàng)作于2023年2月高級語言的發(fā)展從早期語言到結(jié)構(gòu)化程序設(shè)計語言從面向過程到非過程化程序語言第28頁,課件共114頁,創(chuàng)作于2023年2月FORTRAN=FORmulaTRANslation

主要用于科學(xué)計算2.ALGOL60=ALGOrithmicLanguage60

采用BNF形式描述語法一.早期的高級語言(50年代)第29頁,課件共114頁,創(chuàng)作于2023年2月早期的高級語言

3.COBOL

COmmonBusinessOrientedLanguage.廣泛應(yīng)用于各種事務(wù)處理領(lǐng)域.引入了文件和數(shù)據(jù)描述第30頁,課件共114頁,創(chuàng)作于2023年2月基于數(shù)學(xué)原則的語言1.LISP.其基礎(chǔ)是函數(shù)和函數(shù)作用2.APL.支持函數(shù)式程序設(shè)計風(fēng)格.應(yīng)用于大量矩陣運算的科學(xué)計算二.早期的突破第31頁,課件共114頁,創(chuàng)作于2023年2月3.SNOBOL4.主要用于字符串處理

.與機器無關(guān)的宏功能,增加了程序的可移植性第32頁,課件共114頁,創(chuàng)作于2023年2月PL/1.希望將所有語言概念集成大全

.分程序概念和遞歸過程

.數(shù)據(jù)描述機能

.動態(tài)數(shù)據(jù)結(jié)構(gòu)

.異常處理

.多任務(wù)機能

.可用于科學(xué)數(shù)值計算,數(shù)據(jù)處理等

.難以得到廣泛的應(yīng)用三.概念的集成(64年)第33頁,課件共114頁,創(chuàng)作于2023年2月

引入了許多有趣的概念1.ALGOL68.以零型文法描述語法規(guī)則

.引入正交性和通用性原則四.再一次突破(60年代后期)第34頁,課件共114頁,創(chuàng)作于2023年2月2.SIMULA67.應(yīng)用于模擬領(lǐng)域

.協(xié)同程序

.引入了類的概念第35頁,課件共114頁,創(chuàng)作于2023年2月3.PASCAL.具有明顯的簡潔性

.體現(xiàn)結(jié)構(gòu)程序設(shè)計思想

.具有用戶自定義類型利用語法圖形式描述語法規(guī)則第36頁,課件共114頁,創(chuàng)作于2023年2月

4.BASICBeginner'sAll-purposeSymbolicInstructionCode.簡單易學(xué)

.交互式工作環(huán)境

.解釋執(zhí)行第37頁,課件共114頁,創(chuàng)作于2023年2月70年代,支持系統(tǒng)軟件開發(fā)1.語言研究涉及抽象數(shù)據(jù)類型,異常處理和并行處理機制

2.MODULA-2.支持模塊結(jié)構(gòu),模塊可以獨立編譯

.面向?qū)崟r系統(tǒng)和并行系統(tǒng)綜合功能五.大量的探索第38頁,課件共114頁,創(chuàng)作于2023年2月3.CCPL→BCPL→B→C.具有高級語言和低級語言的優(yōu)點

.應(yīng)用于各種領(lǐng)域第39頁,課件共114頁,創(chuàng)作于2023年2月70年代以后,注重可移植性

1.Ada.面向?qū)iT領(lǐng)域的特殊要求

.是在引入了一個不大的,容易理解的概念集合的基礎(chǔ)上開發(fā)的

.體現(xiàn)許多現(xiàn)代軟件設(shè)計方法學(xué)的語言

.提高程序的可讀性,可靠性,可維護性六.Ada和第四代語言第40頁,課件共114頁,創(chuàng)作于2023年2月2.第四代語言——超高級語言

面向問題

.表達力強,更接近于問題的描述

.著重關(guān)心的是:做什么第41頁,課件共114頁,創(chuàng)作于2023年2月

Java、HTMLJava是一種通用、并發(fā)、基于類的面向?qū)ο蟮某绦蛟O(shè)計語言。面向?qū)ο髮崿F(xiàn):編譯與解釋相結(jié)合分布性、安全性、并發(fā)性七.網(wǎng)絡(luò)時代的語言第42頁,課件共114頁,創(chuàng)作于2023年2月拋棄馮.諾依曼體系結(jié)構(gòu)包括函數(shù)式,邏輯式語言應(yīng)用于人工智能等領(lǐng)域八.新一代程序設(shè)計語言第43頁,課件共114頁,創(chuàng)作于2023年2月1.基礎(chǔ)存儲器,控制器,處理器,ip2.特點①數(shù)據(jù)或指令以二進制形式存儲;②存儲程序的工作方式;③程序順序執(zhí)行;可強制修改執(zhí)行順序④存儲器的內(nèi)容可以被修改。

馮.諾依曼體系結(jié)構(gòu)(模型)第44頁,課件共114頁,創(chuàng)作于2023年2月ip代碼存儲器(C)數(shù)據(jù)存儲器(D)第45頁,課件共114頁,創(chuàng)作于2023年2月一些高級語言的關(guān)系第46頁,課件共114頁,創(chuàng)作于2023年2月程序設(shè)計語言的發(fā)展小結(jié)

機器語言→匯編語言→高級語言用機器語言編寫的程序由二進制代碼組成,計算機可以直接執(zhí)行。將機器語言符號化,于是產(chǎn)生了匯編語言。機器語言和匯編語言都是與機器有關(guān)的語言,通常稱為低級語言。第47頁,課件共114頁,創(chuàng)作于2023年2月C語言的發(fā)展1963年,在ALGOL60的基礎(chǔ)上,英國劍橋大學(xué)推出了CPL(CombinedProgrammingLangurage)語言。1967年英國劍橋大學(xué)的MatinRichards對CPL語言做了簡化,推出了

BCPL

(BaseCPL)語言。1970年美國貝爾實驗室的KenThompson對BCPL進一步簡化,設(shè)計出了簡單的而且很接近硬件的B

語言,并用B語言寫出了第一個UNIX操作系統(tǒng)。第48頁,課件共114頁,創(chuàng)作于2023年2月1972年至1973年間,貝爾實驗室的戴尼斯·利奇(DemisRitchie)和布朗·卡尼漢(BrianKernighan)在B語言的基礎(chǔ)上設(shè)計出了C

語言(BCPL)。C語言即保持BCPL語言和B語言的優(yōu)點(精練、接近硬件),又克服了他們的缺點(過于簡單,數(shù)據(jù)無類型等)。1973年新的UNIX版本完全用C語言編寫第49頁,課件共114頁,創(chuàng)作于2023年2月1977年出現(xiàn)了可移植C語言的編譯程序

,推動了UNIX在各種機器上實現(xiàn),C語言也迅速得到推廣,其發(fā)展相輔相成。1978年以后,C語言先后移植到大、中、小、微型計算機上,成為最廣泛使用的計算機程序設(shè)計語言之一。第50頁,課件共114頁,創(chuàng)作于2023年2月1978年在BrianW.Kernighan和DennisM.Ritchie合著的《TheCProgrammingLanguage》成為C語言的標(biāo)準(zhǔn)。第51頁,課件共114頁,創(chuàng)作于2023年2月1983年,美國國家標(biāo)準(zhǔn)化協(xié)會(ANSI)根據(jù)C語言各種版本對C的發(fā)展和擴充,制定了新的標(biāo)準(zhǔn)ANSIC,比標(biāo)準(zhǔn)C有了很大的發(fā)展1987年,ANSI公布了新標(biāo)準(zhǔn):87ANSIC。1989年,公布了新的C語言標(biāo)準(zhǔn)—C891990年,ISO接受C89作為國際標(biāo)準(zhǔn),通常稱為C90第52頁,課件共114頁,創(chuàng)作于2023年2月1999年,ISO對C語言增加了一些面向?qū)ο蟮奶卣鳎喎Q為C99。目前流行的C語言編譯系統(tǒng)大多是以C89為基礎(chǔ)進行開發(fā)的。第53頁,課件共114頁,創(chuàng)作于2023年2月第一章C語言程序設(shè)計基礎(chǔ)知識C語言是一種通用的高級程序設(shè)計語言當(dāng)今世界上最流行的程序設(shè)計語言之一開發(fā)系統(tǒng)軟件和應(yīng)用軟件中得到廣泛應(yīng)用本章簡介C語言程序設(shè)計相關(guān)的基礎(chǔ)知識第54頁,課件共114頁,創(chuàng)作于2023年2月1.1引言1.1.1計算機與信息社會計算機定義:一種在事先存入程序的控制下,能夠接收數(shù)據(jù)、存儲數(shù)據(jù)、處理數(shù)據(jù)并提供處理結(jié)果的數(shù)字化電子設(shè)備。第55頁,課件共114頁,創(chuàng)作于2023年2月計算機工作流程圖輸入運算與控制存儲輸出數(shù)據(jù)計算機結(jié)果第56頁,課件共114頁,創(chuàng)作于2023年2月1.1.2計算機中信息的表示

1.計算機內(nèi)所有信息采用二進制表示

2.采用二進制的原因:

1)二進制只包含0和1,因此可用大量具有兩種不同穩(wěn)定狀態(tài)的元件來表示。

2)二進制數(shù)的運算規(guī)則簡單,使得計算機中的運算部件的結(jié)構(gòu)變得比較簡單。第57頁,課件共114頁,創(chuàng)作于2023年2月3.計算機中信息的表示數(shù)值直接轉(zhuǎn)換為二進制字符采用ASCII編碼(7位、美國標(biāo)準(zhǔn)信息交換碼)其它信息(漢字、圖形、圖象、聲音、表格)也有相應(yīng)的編碼標(biāo)準(zhǔn)和規(guī)則。第58頁,課件共114頁,創(chuàng)作于2023年2月計算機系統(tǒng)軟件系統(tǒng)硬件系統(tǒng)系統(tǒng)軟件(操作系統(tǒng)、編譯程序、診斷程序系統(tǒng)服務(wù)軟件等)應(yīng)用軟件(信息管理軟件、游戲等)CPU控制器運算器輸入設(shè)備(鼠標(biāo)、鍵盤、手寫筆、MIC等)輸出設(shè)備(顯示器、繪圖儀、打印機等)存儲器內(nèi)存儲器(RAM)外存儲器(軟盤、硬盤、光盤)1.1.3計算機系統(tǒng)的組成第59頁,課件共114頁,創(chuàng)作于2023年2月程序的靈魂—算法一個程序應(yīng)包括:對數(shù)據(jù)的描述:在程序中要指定數(shù)據(jù)的類型和數(shù)據(jù)的組織形式即數(shù)據(jù)結(jié)構(gòu)(datastructure)對數(shù)據(jù)進行操作的描述:即操作步驟,也就是算法(algorithm)第60頁,課件共114頁,創(chuàng)作于2023年2月NikiklausWirth提出的公式:

程序=數(shù)據(jù)結(jié)構(gòu)+算法目前程序=算法+數(shù)據(jù)結(jié)構(gòu)

+程序設(shè)計方法+語言工具和環(huán)境

第61頁,課件共114頁,創(chuàng)作于2023年2月算法及其表示算法:解決問題所采取的一系列步驟例,要求用一個給定的半徑計算圓的面積,計算機算法為:設(shè)置半徑值r;使用公式s=лr2;顯示S的值。第62頁,課件共114頁,創(chuàng)作于2023年2月算法的特點(1)有輸入算法可以有零個或多個輸入。輸入是用來在一個算法的執(zhí)行過程中,向它提供處理對象(數(shù)據(jù))或控制算法執(zhí)行過程的信息。(2)有輸出算法必須具有一個或多個執(zhí)行結(jié)果的輸出。沒有輸出的算法是一個無效的算法。第63頁,課件共114頁,創(chuàng)作于2023年2月算法的特點(3)有窮性任何算法都應(yīng)該在執(zhí)行有窮步驟之后結(jié)束。(4)確定性算法不能具有二義性。算法中每一步的語義都應(yīng)該清晰明了,明確指出應(yīng)該執(zhí)行什么操作,如何執(zhí)行操作。第64頁,課件共114頁,創(chuàng)作于2023年2月算法的特點(5)高效性根據(jù)算法編寫出來的程序應(yīng)具有較高的時空效率。執(zhí)行時間短不占用過多內(nèi)存。第65頁,課件共114頁,創(chuàng)作于2023年2月算法的表示(描述)自然語言表示易理解和交流,但易產(chǎn)生二義性。偽代碼表示偽代碼使用介于自然語言和計算機語言之間的文字和符號來描述算法(用形式化語言描述算法的邏輯過程)第66頁,課件共114頁,創(chuàng)作于2023年2月算法的表示(描述)程序流程圖用圖形符號和文字說明來表示數(shù)據(jù)處理的過程和步驟。N-S流程圖也稱方框圖;適于結(jié)構(gòu)化程序設(shè)計的算法描述工具。第67頁,課件共114頁,創(chuàng)作于2023年2月程序流程圖是描述算法的良好工具。由邏輯框和流向線組成。邏輯框是表示程序操作功能的圖形符號。流向線用來指示程序的邏輯處理順序。第68頁,課件共114頁,創(chuàng)作于2023年2月流程圖的邏輯框起止框表示程序的開始和結(jié)束。處理框表示一種處理功能或程序段,框內(nèi)用文字簡述其功能。第69頁,課件共114頁,創(chuàng)作于2023年2月邏輯框判斷框表示在此進行判斷以決定程序的流向,框內(nèi)注明判斷條件。連接框框內(nèi)注有字母,當(dāng)流程圖跨頁時,或者可能出現(xiàn)流向線交叉時,用它來表示彼此之間的關(guān)系,相同符號的連接框表示它們是相互連接的。第70頁,課件共114頁,創(chuàng)作于2023年2月流向線流向線表示程序處理的邏輯順序。以單向箭頭表示。第71頁,課件共114頁,創(chuàng)作于2023年2月邏輯框和流向線NY第72頁,課件共114頁,創(chuàng)作于2023年2月N-S流程圖1973年美國學(xué)者Nassi和Schneiderman提出N-S流程圖(也稱為方框圖),它是一種適于結(jié)構(gòu)化程序設(shè)計的算法描述工具。由于流程圖各步驟之間,一般總是按照從上到下順序執(zhí)行,N-S流程圖中取消了流向線。第73頁,課件共114頁,創(chuàng)作于2023年2月二選一結(jié)構(gòu)的表示ABYN滿足不滿足AB第74頁,課件共114頁,創(chuàng)作于2023年2月算法例子1輸入一個整數(shù),輸出其絕對值:自然語言描述:1輸入一個整數(shù);2若該數(shù)為正數(shù),則其絕對值取該數(shù)的值否則,其絕對值取該數(shù)的相反數(shù)值;3輸出其絕對值。第75頁,課件共114頁,創(chuàng)作于2023年2月偽碼表示BEGINREADnumbIFnumb>0abs=numbELSEabs=-numbPRINTabsEND第76頁,課件共114頁,創(chuàng)作于2023年2月程序流程圖BEGINREADnumbnumb>0abs=numbabs=-numbPRINTabsENDYN第77頁,課件共114頁,創(chuàng)作于2023年2月算法例子2從鍵盤讀入10個整數(shù)輸出其中正整數(shù)的和。第78頁,課件共114頁,創(chuàng)作于2023年2月BEGINSET0→sumSET0→countWHILEcount<10

BEGINREADaintegerdatatoxfromkeyboardIFx>0then

sum+x→sum ENDcount+1→count

END_WHILEPRINTsumEND算法例子2偽代碼第79頁,課件共114頁,創(chuàng)作于2023年2月程序流程圖描述算法第80頁,課件共114頁,創(chuàng)作于2023年2月

N-S流程圖算法第81頁,課件共114頁,創(chuàng)作于2023年2月編寫程序算法用C語言進行實現(xiàn),該過程也稱對算法進行編碼。按照算法的流程順序編寫程序編寫程序還必須進行語句執(zhí)行過程的控制。第82頁,課件共114頁,創(chuàng)作于2023年2月語言提供的控制結(jié)構(gòu)1.順序:定義了語句按順序執(zhí)行的次序。2.選擇:提供了根據(jù)某個條件的結(jié)果在不同的語句中選擇執(zhí)行某一條語句的能力。3.循環(huán)(重復(fù)):提供根據(jù)某個條件的結(jié)果重復(fù)地執(zhí)行某些語句的能力。4.調(diào)用:即在需要時運行指定的代碼段。第83頁,課件共114頁,創(chuàng)作于2023年2月C語言程序的基本結(jié)構(gòu)#include<stdio.h>void

main(){

數(shù)據(jù)定義;(變量說明語句);

數(shù)據(jù)處理;(執(zhí)行語句);}第84頁,課件共114頁,創(chuàng)作于2023年2月程序說明每個C程序必須有一個主函數(shù)main{}是函數(shù)開始和結(jié)束的標(biāo)志若需要輸入和輸出功能,程序開頭應(yīng)該為#include<stdio.h>第85頁,課件共114頁,創(chuàng)作于2023年2月

#include<stdio.h>

void

main(){

printf(“ThisisaCprogram.\n”);}

程序例1程序的作用是輸出一行信息:ThisisaCprogram.第86頁,課件共114頁,創(chuàng)作于2023年2月程序例2求絕對值#include<stdio.h>

void

main(){intnumb;/*代表某個整數(shù)*/

intabs;/*代表該整的絕對值*/scanf(“%d”,&numb);/*輸入該整數(shù)的值*//*求絕對值*/if(numb>0)abs=numb;

elseabs=-numb;

printf(“theabsofnumbis%d\n”,abs);/*輸出*/}第87頁,課件共114頁,創(chuàng)作于2023年2月注釋/*……*/表示注釋。注釋是對源程序進行的注解,增加程序的可讀性;對編譯和運行不起作用。第88頁,課件共114頁,創(chuàng)作于2023年2月程序例3求兩個實數(shù)之和#include<stdio.h>voidmain(){floata,b,sum;/*實型數(shù)據(jù)定義*/scanf(“%f

%f”,&a,&b);sum=a+b;printf(″sumis%f\n″,sum);}第89頁,課件共114頁,創(chuàng)作于2023年2月程序例4利用海倫公式計算邊長分別為3、4、5的三角形的面積第90頁,課件共114頁,創(chuàng)作于2023年2月#include<stdio.h>#include<math.h>voidmain(){ floata=3.0,b=4.0,c=5.0;floats,area; s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c));

printf(“area=%f\n”,area);}第91頁,課件共114頁,創(chuàng)作于2023年2月庫函數(shù)C語言(編譯器)提供了許多基本的、常用的功能;分別保存在不同的文件中;以函數(shù)形式提供給程序員使用;第92頁,課件共114頁,創(chuàng)作于2023年2月庫函數(shù)分類(1)I/O功能,需要的包含文件:stdio.h如:printf,scanf等。(2)字符(串)處理功能,string.h如:islower,strcat,strcmp,strlen等。(3)數(shù)學(xué)功能,math.h如:sin,cos,exp,log,sqrt等。第93頁,課件共114頁,創(chuàng)作于2023年2月庫函數(shù)分類(4)時間、日期功能,time.h

如:time()(5)圖形功能,包括各種繪制點、線、圓、方和填色等的函數(shù),graphics.h6)動態(tài)存儲分配,alloc.h…第94頁,課件共114頁,創(chuàng)作于2023年2月程序例5

求2個整數(shù)中較大者(通過函數(shù)實現(xiàn))

intmax(intx,inty)/*x,y:形參*/

{intz;if(x>y)z=x;elsez=y;

return(z);}第95頁,課件共114頁,創(chuàng)作于2023年2月main部分#include<stdio.h>

voidmain(){inta,b,max_num;scanf(″%d,%d″,&a,&b);/*調(diào)用max函數(shù),將得到的值賦給max_num*/max_num=max(a,b);printf(″max=%d\\n″,max_num);}第96頁,課件共114頁,創(chuàng)作于2023年2月程序例6

輸出華氏—攝氏溫度對照表。在華氏0~100。之間(間隔20。

);給出對應(yīng)的攝氏溫度第97頁,課件共114頁,創(chuàng)作于2023年2月#include<stdio.h>voidmain(){ intlower=0,upper=100,step=20; floatcs,fs; fs=lower; printf(“fahrCelsius\n”);第98頁,課件共114頁,創(chuàng)作于2023年2月

while(fs<=upper)

{cs=5.0/9.0*(fs-32.0); printf(“%5.1f%6.1f\n”,fs,cs); fs=fs+step;

}/*endofwhile*/}

/*endofmain*/第99頁,課件共114頁,創(chuàng)作于2023年2月程序執(zhí)行結(jié)果fahrCelsius0.0 -17.820.0-6.740.04.460.015.980.026.7100.037.8第100頁,課件共114頁,創(chuàng)作于2023年2月C程序的結(jié)構(gòu)特點

C程序由函數(shù)(模塊)構(gòu)成;C程序可由一個或多個函數(shù)組成,其中必須有且僅有一個main()函數(shù),C程序在執(zhí)行中可調(diào)用由C語言提供的各種標(biāo)準(zhǔn)庫函數(shù)和用戶自定義的函數(shù)。第101頁,課件共114頁,創(chuàng)作于2023年2月編程風(fēng)格1、通常使用小寫英文字母;2、充分利用注釋功能,增加可讀性;3、程序中的各種語句組按其功能和嵌套關(guān)系縮進編排,使程序的模塊和復(fù)合關(guān)系明顯;4、注意花括號對齊和配對;5、適當(dāng)空格和空行可使程序更加清晰第102頁,課件共114頁,創(chuàng)作于2023年2月

字母是程序中的最小單位,是構(gòu)成其他語法單位的基礎(chǔ)。C規(guī)定的合法字符集是ASCII碼字符集。C語言字母表(字符集)第103頁,課件共114頁,創(chuàng)作于2023年2月C語言單詞符號標(biāo)識符關(guān)鍵字運算符常

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論