版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
智能小車(chē)C語(yǔ)言程序控制第三章:初識(shí)C語(yǔ)言3.1PARTONE概述程序設(shè)計(jì)是開(kāi)發(fā)人員通過(guò)編寫(xiě)計(jì)算機(jī)軟件程序來(lái)解決某種特定問(wèn)題的過(guò)程,而程序設(shè)計(jì)語(yǔ)言就是開(kāi)發(fā)人員在編寫(xiě)程序時(shí)所使用的,用來(lái)描述程序執(zhí)行過(guò)程中的指令、規(guī)則的符號(hào)集合,通常包含語(yǔ)法、語(yǔ)義和語(yǔ)用等方面的內(nèi)容。自20世紀(jì)60年代以來(lái),程序設(shè)計(jì)語(yǔ)言一直在不斷地發(fā)展迭代,產(chǎn)生了第一代機(jī)器語(yǔ)言、第二代匯編語(yǔ)言、第三代高級(jí)語(yǔ)言等。其中,C語(yǔ)言作為第三代高級(jí)語(yǔ)言中應(yīng)用最廣泛的語(yǔ)言之一,具有功能豐富、表達(dá)能力強(qiáng)、有豐富的運(yùn)算符和數(shù)據(jù)類(lèi)型、使用靈活方便、應(yīng)用面廣、移植能力強(qiáng)、編譯質(zhì)量高、目標(biāo)程序執(zhí)行效率高等優(yōu)點(diǎn)。同時(shí),C語(yǔ)言還具有低級(jí)語(yǔ)言的許多特點(diǎn),如允許直接訪問(wèn)物理地址,能進(jìn)行位操作,能實(shí)現(xiàn)匯編語(yǔ)言的大部分功能,可以直接對(duì)硬件進(jìn)行操作等。用C語(yǔ)言編譯程序產(chǎn)生的目標(biāo)程序,其質(zhì)量可以與匯編語(yǔ)言產(chǎn)生的目標(biāo)程序相媲美,因此C語(yǔ)言具有“可移植的匯編語(yǔ)言”的美稱(chēng),成為編寫(xiě)應(yīng)用軟件、操作系統(tǒng)和編譯程序的重要語(yǔ)言之一。3.1概述3.2PARTTWOC語(yǔ)言的產(chǎn)生和發(fā)展C語(yǔ)言集高級(jí)語(yǔ)言和匯編語(yǔ)言的優(yōu)勢(shì)于一身,能夠滿足系統(tǒng)軟件和應(yīng)用軟件兩方面的應(yīng)用需求。C語(yǔ)言的原型是ALGOL60語(yǔ)言,即A語(yǔ)言。1963年,劍橋大學(xué)將ALGOL60語(yǔ)言發(fā)展成為組合程序設(shè)計(jì)語(yǔ)言(CombinedProgrammingLanguage,CPL),并于1967年對(duì)其進(jìn)行簡(jiǎn)化,形成了BCPL。接著,美國(guó)貝爾實(shí)驗(yàn)室的KenThompson在1970年對(duì)BCPL進(jìn)行了修改,將其命名為“B語(yǔ)言”,并用B語(yǔ)言寫(xiě)出了第一個(gè)UNIX操作系統(tǒng)。1973年,美國(guó)貝爾實(shí)驗(yàn)室的DennisM.Ritchie在B語(yǔ)言的基礎(chǔ)上設(shè)計(jì)出了一種新的語(yǔ)言,他將BCPL的第二個(gè)字母作為這種語(yǔ)言的名字,這就是C語(yǔ)言。為了推廣UNIX操作系統(tǒng),DennisM.Ritchie在1977年發(fā)表了不依賴(lài)具體機(jī)器系統(tǒng)的C語(yǔ)言編譯文本《可移植的C語(yǔ)言編譯程序》。1978年,BrianW.Kernighian和DennisM.Ritchie出版了著名的《C程序設(shè)計(jì)語(yǔ)言》(TheCProgrammingLanguage),奠定了C語(yǔ)言作為目前最高級(jí)的程序設(shè)計(jì)語(yǔ)言的地位。3.2C語(yǔ)言的產(chǎn)生和發(fā)展1987年,隨著微型計(jì)算機(jī)的日益普及,出現(xiàn)了多種C語(yǔ)言版本。由于沒(méi)有統(tǒng)一的標(biāo)準(zhǔn),各種版本之間存在很大差異。為了改變這種情況,美國(guó)國(guó)家標(biāo)準(zhǔn)研究所(ANSI)為C語(yǔ)言制定了一套ANSI標(biāo)準(zhǔn),后來(lái)成為現(xiàn)行的C語(yǔ)言標(biāo)準(zhǔn)。1990年,國(guó)際標(biāo)準(zhǔn)化組織(ISO)接受ANSIC為ISOC的標(biāo)準(zhǔn)(ISO9899—1990)。1994年,ISO修訂了C語(yǔ)言的標(biāo)準(zhǔn)。目前流行的C語(yǔ)言編譯系統(tǒng)大多是以ANSIC為基礎(chǔ)開(kāi)發(fā)的,但不同版本的C語(yǔ)言編譯系統(tǒng)所實(shí)現(xiàn)的語(yǔ)言功能和語(yǔ)法規(guī)則略有差別。C語(yǔ)言被稱(chēng)為“編程之本”,很多人的編程之路都是從C語(yǔ)言開(kāi)始的。C語(yǔ)言在現(xiàn)今社會(huì)的各個(gè)領(lǐng)域應(yīng)用十分廣泛,如大數(shù)據(jù)、云計(jì)算、人工智能等。C語(yǔ)言不僅適用于各大主流操作系統(tǒng)(如Windows、Linux、UNIX等),在一些主流開(kāi)發(fā)框架(如TensorFlow、Bitcoin和OpenGL等)和一些主流服務(wù)器(如Nginx、ApacheTomcat7等)中也有很廣泛的應(yīng)用。3.2C語(yǔ)言的產(chǎn)生和發(fā)展3.3PARTTHREEC語(yǔ)言的特點(diǎn)C語(yǔ)言作為目前最流行的編程語(yǔ)言之一,能夠滿足不同系統(tǒng)軟件與應(yīng)用軟件的要求。C語(yǔ)言有以下幾個(gè)特點(diǎn)。(1)C語(yǔ)言簡(jiǎn)潔、緊湊,使用靈活方便。C語(yǔ)言共有32個(gè)關(guān)鍵字和9種控制語(yǔ)句,程序書(shū)寫(xiě)自由,大部分用小寫(xiě)字母表示。它不僅能夠?qū)崿F(xiàn)高級(jí)語(yǔ)言的基本結(jié)構(gòu),也能達(dá)到低級(jí)語(yǔ)言對(duì)實(shí)用性的要求。(2)運(yùn)算符豐富。C語(yǔ)言共有34個(gè)運(yùn)算符,使得C語(yǔ)言中的運(yùn)算類(lèi)型豐富、表達(dá)形式多樣化,能夠完成各種復(fù)雜運(yùn)算。(3)數(shù)據(jù)類(lèi)型豐富。3.3C語(yǔ)言的特點(diǎn)C語(yǔ)言作為目前最流行的編程語(yǔ)言之一,能夠滿足不同系統(tǒng)軟件與應(yīng)用軟件的要求。C語(yǔ)言有以下幾個(gè)特點(diǎn)。(1)C語(yǔ)言簡(jiǎn)潔、緊湊,使用靈活方便。C語(yǔ)言共有32個(gè)關(guān)鍵字和9種控制語(yǔ)句,程序書(shū)寫(xiě)自由,大部分用小寫(xiě)字母表示。它不僅能夠?qū)崿F(xiàn)高級(jí)語(yǔ)言的基本結(jié)構(gòu),也能達(dá)到低級(jí)語(yǔ)言對(duì)實(shí)用性的要求。(2)運(yùn)算符豐富。C語(yǔ)言共有34個(gè)運(yùn)算符,使得C語(yǔ)言中的運(yùn)算類(lèi)型豐富、表達(dá)形式多樣化,能夠完成各種復(fù)雜運(yùn)算。(3)數(shù)據(jù)類(lèi)型豐富。C語(yǔ)言中的數(shù)據(jù)類(lèi)型有整型、實(shí)型、字符型、數(shù)組類(lèi)型、指針類(lèi)型、結(jié)構(gòu)體類(lèi)型、共用體類(lèi)型等,能實(shí)現(xiàn)各種復(fù)雜數(shù)據(jù)類(lèi)型的運(yùn)算。C語(yǔ)言引入了指針概念,使程序執(zhí)行效率更高。(4)C語(yǔ)言具有結(jié)構(gòu)化的控制語(yǔ)句,可實(shí)現(xiàn)程序設(shè)計(jì)結(jié)構(gòu)化、模塊化。C語(yǔ)言能夠做到代碼和數(shù)據(jù)分段隔離,程序的各個(gè)部分除必要的信息交換外彼此互不影響,使得程序?qū)哟吻逦阌谑褂谩⒕S護(hù)及調(diào)試。另外,C語(yǔ)言中提供了大量函數(shù),這些函數(shù)可方便地調(diào)用。C語(yǔ)言中還提供了多種循環(huán)、條件語(yǔ)句控制程序流向,可實(shí)現(xiàn)程序設(shè)計(jì)結(jié)構(gòu)化。3.3C語(yǔ)言的特點(diǎn)C語(yǔ)言作為目前最流行的編程語(yǔ)言之一,能夠滿足不同系統(tǒng)軟件與應(yīng)用軟件的要求。C語(yǔ)言有以下幾個(gè)特點(diǎn)。(5)C語(yǔ)言語(yǔ)法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大。一般的高級(jí)語(yǔ)言語(yǔ)法檢查比較嚴(yán)格,能夠檢查出幾乎所有的語(yǔ)法錯(cuò)誤。而C語(yǔ)言賦予程序編寫(xiě)者較大的自由度,一行可以寫(xiě)多條語(yǔ)句,變量類(lèi)型使用靈活。(6)C語(yǔ)言允許直接訪問(wèn)物理地址,可直接操作硬件。C語(yǔ)言既具有高級(jí)語(yǔ)言的功能,又具有低級(jí)語(yǔ)言的許多功能,能夠像匯編語(yǔ)言一樣對(duì)位、字節(jié)和地址進(jìn)行操作,而這三者是計(jì)算機(jī)最基本的工作單元,可以用來(lái)編寫(xiě)系統(tǒng)軟件。(7)目標(biāo)代碼質(zhì)量高,代碼量小。程序執(zhí)行效率高,執(zhí)行速度快,功能強(qiáng)大。(8)可移植性好??梢浦残允侵敢环N軟件在不同種類(lèi)的計(jì)算機(jī)系統(tǒng)上運(yùn)行的可能性,C語(yǔ)言適用于多種不同的操作系統(tǒng),如DOS、UNIX、Windows等??偠灾?,C語(yǔ)言既有高級(jí)語(yǔ)言的特點(diǎn),又有匯編語(yǔ)言的特點(diǎn);既是一個(gè)成功的系統(tǒng)設(shè)計(jì)語(yǔ)言,又是一個(gè)實(shí)用的程序設(shè)計(jì)語(yǔ)言;既能用來(lái)編寫(xiě)不依賴(lài)計(jì)算機(jī)硬件的應(yīng)用程序,又能用來(lái)編寫(xiě)各種系統(tǒng)程序。3.3C語(yǔ)言的特點(diǎn)3.4PARTFOURC語(yǔ)言的基本框架1.C語(yǔ)言的基本元素一個(gè)C語(yǔ)言程序是由若干語(yǔ)句構(gòu)成的,語(yǔ)句又是由若干字符構(gòu)成的,字符是C語(yǔ)言中最基本的元素。1)基本字符集字母:26個(gè)小寫(xiě)字母a~z,26個(gè)大寫(xiě)字母A~Z。數(shù)字:10個(gè)阿拉伯?dāng)?shù)字0~9??瞻追喊崭穹?、制表符、換行符等??瞻追挥迷谧址A亢妥址A恐?,目的是提高程序的可讀性。標(biāo)點(diǎn)符號(hào)和特殊字符:C語(yǔ)言中有28個(gè)標(biāo)點(diǎn)符號(hào)和特殊字符。2)標(biāo)識(shí)符標(biāo)識(shí)符是用來(lái)標(biāo)識(shí)常量名、變量名、函數(shù)名及文件名等的字符序列。使用時(shí)應(yīng)滿足以下條件:標(biāo)識(shí)符應(yīng)以字母或下畫(huà)線開(kāi)頭。標(biāo)識(shí)符只能由字母、數(shù)字、下畫(huà)線組成。3.4C語(yǔ)言的基本框架1.C語(yǔ)言的基本元素3)關(guān)鍵字關(guān)鍵字是C語(yǔ)言中有固定含義的標(biāo)識(shí)符,又稱(chēng)保留字,例如:數(shù)據(jù)類(lèi)型:int、double等。語(yǔ)句種類(lèi):if、for等。程序元素的其他性質(zhì):define、static等。注意:關(guān)鍵字必須小寫(xiě)。例如,else與ELSE代表不同含義,else是關(guān)鍵字,ELSE是普通標(biāo)識(shí)符。4)運(yùn)算符運(yùn)算符用于對(duì)對(duì)象進(jìn)行系統(tǒng)預(yù)定義的運(yùn)算,并得到運(yùn)算結(jié)果。運(yùn)算符通常由1個(gè)或2個(gè)字符組成,如“+”表示加法運(yùn)算,“=”表示賦值運(yùn)算,“==”表示相等的判斷等。5)分隔符分隔符用于表示程序中一個(gè)實(shí)體的結(jié)束和另一個(gè)實(shí)體的開(kāi)始。常用的分隔符有括號(hào)、逗號(hào)、分號(hào)等。分隔符沒(méi)有具體含義,只是對(duì)程序結(jié)構(gòu)進(jìn)行劃分。3.4C語(yǔ)言的基本框架1.C語(yǔ)言的基本元素6)注釋注釋用于對(duì)程序進(jìn)行說(shuō)明,注釋內(nèi)容可以有一行或多行,可以放在程序開(kāi)頭,也可以放在程序末尾。注釋的一般形式如下:/*注釋內(nèi)容*//*一行或多行注釋*///注釋當(dāng)前行7)標(biāo)準(zhǔn)標(biāo)識(shí)符標(biāo)準(zhǔn)標(biāo)識(shí)符是C語(yǔ)言中被賦予特定意義的標(biāo)識(shí)符。例如:printf:格式化輸出庫(kù)函數(shù)的函數(shù)名。scanf:格式化輸入庫(kù)函數(shù)的函數(shù)名。INT_MAX:整數(shù)類(lèi)型的最大數(shù)據(jù)。8)控制語(yǔ)句C語(yǔ)言中有9種控制語(yǔ)句,用小寫(xiě)字母書(shū)寫(xiě),作用是壓縮不必要的語(yǔ)句內(nèi)容。3.4C語(yǔ)言的基本框架1.C語(yǔ)言的基本元素6)注釋注釋用于對(duì)程序進(jìn)行說(shuō)明,注釋內(nèi)容可以有一行或多行,可以放在程序開(kāi)頭,也可以放在程序末尾。注釋的一般形式如下:/*注釋內(nèi)容*//*一行或多行注釋*///注釋當(dāng)前行7)標(biāo)準(zhǔn)標(biāo)識(shí)符標(biāo)準(zhǔn)標(biāo)識(shí)符是C語(yǔ)言中被賦予特定意義的標(biāo)識(shí)符。例如:printf:格式化輸出庫(kù)函數(shù)的函數(shù)名。scanf:格式化輸入庫(kù)函數(shù)的函數(shù)名。INT_MAX:整數(shù)類(lèi)型的最大數(shù)據(jù)。8)控制語(yǔ)句C語(yǔ)言中有9種控制語(yǔ)句,用小寫(xiě)字母書(shū)寫(xiě),作用是壓縮不必要的語(yǔ)句內(nèi)容。3.4C語(yǔ)言的基本框架2.C語(yǔ)言程序結(jié)構(gòu)C語(yǔ)言通過(guò)一個(gè)或多個(gè)函數(shù)來(lái)實(shí)現(xiàn)程序功能,函數(shù)是C語(yǔ)言的基本組成部分。C語(yǔ)言程序中必有一個(gè)主函數(shù)main(),它是每個(gè)程序執(zhí)行過(guò)程的起始位置。(1)C語(yǔ)言程序中包含3種函數(shù)。
main():主函數(shù),每個(gè)C語(yǔ)言程序有且僅有一個(gè)主函數(shù)。系統(tǒng)提供的庫(kù)函數(shù),如printf()、scanf()等。程序員自行設(shè)置的函數(shù),如max()。(2)一個(gè)完整的函數(shù)主要由以下兩部分組成。函數(shù)首部(函數(shù)頭),包括函數(shù)名、函數(shù)類(lèi)型(返回值類(lèi)型)、函數(shù)屬性、形式參數(shù)名、形式參數(shù)類(lèi)型等。函數(shù)體,即大括號(hào)中的部分。函數(shù)體中包含變量定義部分和執(zhí)行部分。3.4C語(yǔ)言的基本框架2.C語(yǔ)言程序結(jié)構(gòu)下面以主函數(shù)為例說(shuō)明函數(shù)的結(jié)構(gòu):main() //函數(shù)首部,指定函數(shù)名、函數(shù)參數(shù)等信息{ //函數(shù)體的開(kāi)始
//函數(shù)體內(nèi)的語(yǔ)句} //函數(shù)體的結(jié)束(3)程序中的每條語(yǔ)句均以分號(hào)結(jié)束。例如:c=a+b;(4)C語(yǔ)言程序書(shū)寫(xiě)格式自由,一條語(yǔ)句可以占多行,一行也可以有多條語(yǔ)句。(5)C語(yǔ)言程序從主函數(shù)開(kāi)始執(zhí)行,隨著主函數(shù)的結(jié)束而結(jié)束,其他函數(shù)通過(guò)函數(shù)嵌套來(lái)執(zhí)行。(6)C語(yǔ)言程序用函數(shù)進(jìn)行輸入和輸出。3.4C語(yǔ)言的基本框架3.5PARTFIVEC語(yǔ)言程序設(shè)計(jì)過(guò)程C語(yǔ)言程序設(shè)計(jì)過(guò)程主要包含以下幾個(gè)步驟。(1)需求分析:通過(guò)分析用戶(hù)的特定需求,找到解決問(wèn)題的方法。(2)算法設(shè)計(jì):給出解決問(wèn)題的具體算法與實(shí)施步驟。(3)編寫(xiě)程序:將算法翻譯成計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,對(duì)源程序進(jìn)行編輯、編譯和鏈接。(4)運(yùn)行和調(diào)試程序:運(yùn)行可執(zhí)行程序,得到運(yùn)行結(jié)果,并對(duì)運(yùn)行結(jié)果進(jìn)行分析。若結(jié)果不合理,則需要對(duì)程序進(jìn)行調(diào)試,以排除程序中的錯(cuò)誤。(5)編寫(xiě)程序文檔:程序調(diào)試完成后,須向用戶(hù)提供程序說(shuō)明書(shū),包括程序名稱(chēng)、程序功能、執(zhí)行環(huán)境、注意事項(xiàng)等。3.5C語(yǔ)言程序設(shè)計(jì)過(guò)程C語(yǔ)言程序要經(jīng)過(guò)編輯、編譯、鏈接和運(yùn)行等環(huán)節(jié)才能實(shí)現(xiàn)具體功能。具體實(shí)現(xiàn)過(guò)程如圖所示。3.5C語(yǔ)言程序設(shè)計(jì)過(guò)程(1)編輯源程序。在IDE的相關(guān)程序編輯器中完成對(duì)原始代碼的編輯,輸入的語(yǔ)句一般以文本形式存儲(chǔ)在計(jì)算機(jī)中,文件擴(kuò)展名為.c。其中,編輯器可以是ArduinoIDE和Dev-C++等自帶的文本編輯器,也可以是Windows操作系統(tǒng)提供的“寫(xiě)字板”或各種字符處理軟件等。(2)編譯源程序。寫(xiě)好的原始代碼是無(wú)法直接被計(jì)算機(jī)執(zhí)行的,計(jì)算機(jī)只能執(zhí)行0和1的機(jī)器指令,因此需要將源程序翻譯成機(jī)器指令,這個(gè)過(guò)程稱(chēng)為源程序的編譯過(guò)程。源程序編譯之后生成的機(jī)器指令程序稱(chēng)為目標(biāo)程序,其文件擴(kuò)展名為.obj。(3)鏈接程序。在源程序中使用的標(biāo)準(zhǔn)函數(shù),如scanf()、printf()等,是從系統(tǒng)函數(shù)庫(kù)中調(diào)用的庫(kù)函數(shù)。因此,必須將目標(biāo)程序與庫(kù)函數(shù)進(jìn)行鏈接,才能生成擴(kuò)展名為.exe的可執(zhí)行程序文件。(4)運(yùn)行程序。執(zhí)行.exe文件,得到最終結(jié)果。3.5C語(yǔ)言程序設(shè)計(jì)過(guò)程3.6PARTSIX編寫(xiě)簡(jiǎn)單的C語(yǔ)言程序【例3-6-1】第一個(gè)程序“Hello,World!”行業(yè)PPT模板/hangye/#include<stdio.h>intmain(){printf("Hello,World!\n");}程序運(yùn)行結(jié)果如圖所示。行業(yè)PPT模板/hangye/
小貼士(1)C程序一般用小寫(xiě)字母書(shū)寫(xiě)。(2)每個(gè)C程序有且僅有一個(gè)主函數(shù)。(3)程序體必須放在一對(duì)大括號(hào)中。(4)每條語(yǔ)句的結(jié)尾處必須有分號(hào)。(5)printf()函數(shù)的功能是顯示程序運(yùn)行結(jié)果。(6)“\n”是換行符,即回車(chē)換行。(7)“#include”是文件包含命令,屬于預(yù)處理命令,通常放在主函數(shù)之前,用于將有關(guān)的頭文件包含到用戶(hù)源文件中。被包含的文件通常是由系統(tǒng)提供的,其擴(kuò)展名為.h?!皊tdio.h”為標(biāo)準(zhǔn)輸入/輸出庫(kù)文件,其內(nèi)定義了printf()函數(shù)的原型?!纠?-6-2】求兩個(gè)整數(shù)中的大數(shù)行業(yè)PPT模板/hangye/#include<stdio.h>intmax(intx,inty){ intz; if(x>y)z=x;elsez=y; return(z);}main(){ inta,b,c; printf("請(qǐng)輸入兩個(gè)整數(shù):");scanf("%d,%d",&a,&b); c=max(a,b); printf("%d,%d中的大數(shù)為:%d\n\n\n",a,b,c);}程序運(yùn)行結(jié)果如圖所示。行業(yè)PPT模板/hangye/
小貼士(1)本程序的功能是輸入兩個(gè)整數(shù),輸出其中較大的數(shù)。(2)本程序由兩個(gè)函數(shù)模塊組成:主函數(shù)main()和子函數(shù)max()。子函數(shù)max()是一個(gè)用戶(hù)自定義函數(shù),功能是比較兩個(gè)數(shù)的大小,然后把較大的數(shù)返回給主函數(shù)。(3)標(biāo)準(zhǔn)庫(kù)函數(shù)由系統(tǒng)定義,用戶(hù)在程序中直接調(diào)用即可,比如程序中的輸入/輸出函數(shù)scanf()和printf()。與標(biāo)準(zhǔn)庫(kù)函數(shù)不同,自定義函數(shù)由用戶(hù)定義,定義好后就可以像標(biāo)準(zhǔn)庫(kù)函數(shù)一樣使用。(4)本程序從main()函數(shù)開(kāi)始執(zhí)行,執(zhí)行到語(yǔ)句“c=max(a,b);”時(shí)轉(zhuǎn)到max()函數(shù),遇到return語(yǔ)句返回主函數(shù)繼續(xù)執(zhí)行,直到程序結(jié)束。(5)本程序的執(zhí)行過(guò)程如下:首先在屏幕上顯示提示字符串,請(qǐng)用戶(hù)輸入兩個(gè)數(shù),回車(chē)后由scanf()函數(shù)語(yǔ)句接收這兩個(gè)數(shù),并送入變量a和b中,然后調(diào)用max()函數(shù),把a(bǔ)和b的值傳給max()函數(shù)的參數(shù)x和y,在max()函數(shù)中比較x和y的大小,把大者通過(guò)中間變量返回給主函數(shù)中的變量c,最后在屏幕上輸出c的值。【例3-6-3】計(jì)算并輸出一個(gè)數(shù)的平方行業(yè)PPT模板/hangye/#include<stdio.h>main(){ floata,b; a=2.8; b=a*a; printf("%f\n",b);}程序運(yùn)行結(jié)果如圖所示。行業(yè)PPT模板/hangye/小貼士(1)本程序由一個(gè)主函數(shù)main()構(gòu)成,包含4條語(yǔ)句。程序的功能是計(jì)算一個(gè)數(shù)的平方,并輸出結(jié)果。(2)C語(yǔ)言用函數(shù)進(jìn)行輸入和輸出,如printf()、scanf()。(3)每條語(yǔ)句必須以分號(hào)結(jié)尾,但預(yù)處理命令、函數(shù)頭和大括號(hào)后不能加分號(hào)。練一練1.運(yùn)行下面的程序,記錄運(yùn)行結(jié)果,并保存程序。#include"stdio.h"main(){inta,b,sum;floataver;a=12;b=25; sum=a+b; aver=sum/2.0; printf("sumis%d\n",sum); printf("averis%f\n",aver);}練一練2.調(diào)試下面的程序,并改正其中的錯(cuò)誤,使之順利運(yùn)行。#include<stdio.h>;main(){floata,b;a=2.8b=4.5;print("a=%f,b=%f\n",a,b);}練一練參照例3-6-1,編寫(xiě)自己的第一個(gè)程序,程序運(yùn)行結(jié)果如圖所示。講解完畢,謝謝觀看!智能小車(chē)C語(yǔ)言程序控制第四章:點(diǎn)亮一個(gè)LED
為響應(yīng)節(jié)能減排號(hào)召,某企業(yè)調(diào)研普通家庭用戶(hù)中冰箱、洗衣機(jī)、電視機(jī)和空調(diào)四件家電的能效情況,測(cè)試每件家電的功率后,如何計(jì)算總功率呢?【案例導(dǎo)入】【案例導(dǎo)入】:案例源代碼行業(yè)PPT模板/hangye/#include<stdio.h>intmain() //主函數(shù) { inta,b,c,d; //用整型定義四件家電各自的功率 longp; //用長(zhǎng)整型定義總功率 printf("請(qǐng)分別輸入四件家電的功率:"); scanf("%d%d%d%d",&a,&b,&c,&d); //輸入各個(gè)功率值 p=a+b+c+d; //求總功率 printf("總功率為:"); printf("%ld\n",p); //輸出總功率的值return0;}【案例導(dǎo)入】:案例運(yùn)行結(jié)果行業(yè)PPT模板/hangye/思考:數(shù)據(jù)類(lèi)型有什么意義?4.1PARTONEC語(yǔ)言數(shù)據(jù)類(lèi)型4.1.1常量常量是指程序運(yùn)行過(guò)程中其值不發(fā)生變化的量。C語(yǔ)言中的常量有整型常量、實(shí)型常量、字符常量、字符串常量和符號(hào)常量等。1.整型常量整型常量就是整常數(shù),有以下三種表示形式。(1)十進(jìn)制數(shù):以非0數(shù)字開(kāi)頭的數(shù),如123、-123等,其每個(gè)數(shù)字位可以是0~9。(2)八進(jìn)制數(shù):以數(shù)字0開(kāi)頭的數(shù),如0123、-0123等,其每個(gè)數(shù)字位可以是0~7。(3)十六進(jìn)制數(shù):以0x(或0X)開(kāi)頭的數(shù),如0xffff、0x1111、-0x123等,其每個(gè)數(shù)字位可以是0~9、A~F(或a~f)。2.實(shí)型常量
實(shí)型常量在C語(yǔ)言中又被稱(chēng)為實(shí)數(shù)或浮點(diǎn)數(shù)。在C語(yǔ)言中,實(shí)數(shù)只采用十進(jìn)制表示。它有兩種表示形式。(1)普通十進(jìn)制形式。這種形式的數(shù)由整數(shù)部分、小數(shù)點(diǎn)和小數(shù)部分組成(注意:必須有小數(shù)點(diǎn)),如3.14、0.618、.520、1314.、234.0、0.0等。(2)指數(shù)形式。這種形式的數(shù)由三部分組成:實(shí)數(shù)部分、字母E或e和整數(shù)部分。例如,1.23×104可以表示為1.23E4或1.23e4。3.字符常量C語(yǔ)言中的字符常量是用單引號(hào)(')括起來(lái)的一個(gè)字符。如'A'、'x'、'D'、'?'、'3'、'X'等都是字符常量。它有以下特點(diǎn):(1)字符常量只能用單引號(hào)括起來(lái)。(2)字符常量只能是單個(gè)字符,不能是字符串。(3)字符可以是計(jì)算機(jī)系統(tǒng)所采用的字符集中的任意字符。字符在計(jì)算機(jī)內(nèi)是用二進(jìn)制代碼來(lái)表示的,大多數(shù)計(jì)算機(jī)系統(tǒng)采用ASCII碼?!纠?-1-1】分析以下程序,思考程序運(yùn)行結(jié)果是否符合所學(xué)知識(shí)。行業(yè)PPT模板/hangye/#include<stdio.h>intmain() //主函數(shù){ inta=123,b=-0x123; //整型常量實(shí)例 floatc=3.14,d=.520,e=1.23e4; //實(shí)型常量實(shí)例 charf='A',g='?'; //字符常量實(shí)例 printf("%d %d\n",a,b); //輸出整型數(shù)據(jù) printf("%f %f %f\n",c,d,e); //輸出實(shí)型數(shù)據(jù) printf("%c %c\n",f,g); //輸出字符型數(shù)據(jù)return0;}程序運(yùn)行結(jié)果如圖所示。4.字符串常量字符串常量是用雙引號(hào)括起來(lái)的字符序列,如"string"、"Thisismyfirstprogram!"。C語(yǔ)言規(guī)定字符串的存儲(chǔ)方式如下:字符串中的每個(gè)字符(轉(zhuǎn)義字符只能被看成一個(gè)字符)按照它們的ASCII碼的二進(jìn)制形式存儲(chǔ)在內(nèi)存中,并在存放字符串中最后一個(gè)字符的位置后面再存入一個(gè)字符'\0'(ASCII碼為0的字符),這是字符串結(jié)束標(biāo)志。5.符號(hào)常量C語(yǔ)言允許將程序中的常量定義為一個(gè)標(biāo)識(shí)符,稱(chēng)為符號(hào)常量。符號(hào)常量一般使用大寫(xiě)英文字母表示,以區(qū)別于用小寫(xiě)英文字母表示的變量。符號(hào)常量在使用前必須先定義,定義的形式如下:#define標(biāo)識(shí)符常量其中,#define是宏定義命令的專(zhuān)用定義符,標(biāo)識(shí)符是符號(hào)常量的名稱(chēng),常量可以是前面介紹的幾種類(lèi)型中的任何一種。4.1.2變量
在程序運(yùn)行過(guò)程中,其值能被改變的量稱(chēng)為變量。
C語(yǔ)言中變量的名稱(chēng)用標(biāo)識(shí)符來(lái)表示。所謂標(biāo)識(shí)符,是指用來(lái)標(biāo)識(shí)程序中用到的變量名、函數(shù)名、類(lèi)型名、數(shù)組名、文件名及符號(hào)常量名等的有效字符序列。
合法的標(biāo)識(shí)符行業(yè)PPT模板/hangye/
C語(yǔ)言規(guī)定標(biāo)識(shí)符只能由字母、數(shù)字和下畫(huà)線三種字符組成,且第一個(gè)字符必須為字母或下畫(huà)線。例如:
year、sum、student_name、_above、lotus_1_2_3是合法的標(biāo)識(shí)符。
M.D.john、$123、#33、3d64、a>b是不合法的標(biāo)識(shí)符。變量的命名規(guī)則行業(yè)PPT模板/hangye/小貼士變量的命名規(guī)則如下:(1)變量名只能由字母、數(shù)字和下畫(huà)線組成,且第一個(gè)字符不能為數(shù)字。(2)變量名應(yīng)做到望文知意,便于記憶和閱讀,最好采用英文單詞或其組合,不要使用漢語(yǔ)拼音。(3)變量名要符合言簡(jiǎn)意賅的原則。例如,變量名MaxVal就比MaxValueUntilOverflow好用。(4)當(dāng)變量名由多個(gè)單詞組成時(shí),每個(gè)單詞的第一個(gè)字母大寫(xiě),其余字母全部小寫(xiě)。(5)盡量避免變量名中出現(xiàn)數(shù)字編號(hào),如Value1、Value2等。(6)變量名不能與系統(tǒng)中的關(guān)鍵字或特定字相同,也要避免相似。1.整型變量
整型變量可分為基本型、短整型、長(zhǎng)整型和無(wú)符號(hào)型。無(wú)符號(hào)型又分為無(wú)符號(hào)整型、無(wú)符號(hào)短整型和無(wú)符號(hào)長(zhǎng)整型?;拘鸵詉nt表示。短整型以shortint表示,或以short表示。長(zhǎng)整型以longint表示,或以long表示。無(wú)符號(hào)整型以u(píng)nsignedint表示。無(wú)符號(hào)短整型以u(píng)nsignedshort表示。無(wú)符號(hào)長(zhǎng)整型以u(píng)nsignedlong表示。整型數(shù)據(jù)所占內(nèi)存及數(shù)值范圍
以IBMPC和TurboC語(yǔ)言為例,整型數(shù)據(jù)所占內(nèi)存及數(shù)值范圍見(jiàn)表2-4-1,表中方括號(hào)表示內(nèi)容可選。整型數(shù)據(jù)所占內(nèi)存及數(shù)值范圍
以IBMPC和TurboC語(yǔ)言為例,整型數(shù)據(jù)所占內(nèi)存及數(shù)值范圍見(jiàn)表2-4-1,表中方括號(hào)表示內(nèi)容可選。整型變量的定義整型變量的定義如下所示:【例4-1-2】企業(yè)調(diào)研中需計(jì)算兩個(gè)統(tǒng)計(jì)a、b數(shù)據(jù)的和,試編程解決。行業(yè)PPT模板/hangye/#include<stdio.h>intmain(){ inta,b,c; //定義a、b、c為整型變量
a=3276; b=3; c=a+b; printf("c=%d",c); //按整型格式輸出變量c的值return0;}程序運(yùn)行結(jié)果如圖所示:2.實(shí)型變量C語(yǔ)言中的實(shí)型變量分為單精度(float型)和雙精度(double型)兩類(lèi)。實(shí)型變量必須在使用前加以定義。例如:floatx,y; /*指定x、y為單精度實(shí)數(shù)*/doublez; /*指定z為雙精度實(shí)數(shù)*/
通常,一個(gè)單精度實(shí)數(shù)在內(nèi)存中占4字節(jié)(32位),一個(gè)雙精度實(shí)數(shù)在內(nèi)存中占8字節(jié)。單精度實(shí)數(shù)提供6位或7位有效數(shù)字,雙精度實(shí)數(shù)提供15位或16位有效數(shù)字,數(shù)值范圍隨計(jì)算機(jī)系統(tǒng)而異。【例4-1-3】某企業(yè)工程應(yīng)用中經(jīng)常需要根據(jù)圓的半徑,計(jì)算圓的周長(zhǎng)和面積,試編程解決。行業(yè)PPT模板/hangye/#include<stdio.h>#definePI3.1416 /*定義符號(hào)常量PI*/main(){ floatr,c,s; printf("請(qǐng)輸入半徑的值:
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 換熱機(jī)組招標(biāo)項(xiàng)目報(bào)名服務(wù)指南3篇
- 招標(biāo)邀請(qǐng)書(shū)的制作技巧指南3篇
- 文化生活意向房屋租賃合同3篇
- 撤訴委托書(shū)格式與范本3篇
- 新版薪酬補(bǔ)充合同3篇
- 工業(yè)電氣安裝合同模板3篇
- 數(shù)據(jù)服務(wù)合作協(xié)議3篇
- 文員的勞動(dòng)合同范本3篇
- 校園公園綠化養(yǎng)護(hù)協(xié)議
- 中央空調(diào)安裝合同
- 公寓de全人物攻略本為個(gè)人愛(ài)好而制成如需轉(zhuǎn)載注明信息
- 減少巡回護(hù)士手術(shù)中外出次數(shù)品管圈匯報(bào)書(shū)模板課件
- 5分鐘安全五人小品劇本
- 售后服務(wù)人員培訓(xùn)課件
- 福建省福州市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名明細(xì)及行政區(qū)劃代碼
- 《高中語(yǔ)文文言斷句》一等獎(jiǎng)優(yōu)秀課件
- 大學(xué)生創(chuàng)新思維教學(xué)課件全套教學(xué)課件
- 教育研究導(dǎo)論首都師范
- 象棋比賽積分編排表
- 工會(huì)新聞的寫(xiě)作培訓(xùn)講義(共36頁(yè)).ppt
- [爆笑小品校園劇本7人]爆笑小品校園劇本
評(píng)論
0/150
提交評(píng)論