《《c程序設(shè)計概述》PPT課件.ppt》由會員分享,可在線閱讀,更多相關(guān)《《c程序設(shè)計概述》PPT課件.ppt(15頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、第1章 c程序設(shè)計概述,1.1 程序和程序設(shè)計語言,1 程序 程序:按照一定的邏輯組合在一起,可以連續(xù)執(zhí)行的指令的集合。 程序設(shè)計語言:用于編寫程序,實現(xiàn)人與計算機“對話”的語言。 目前,人們使用的程序設(shè)計語言有上百種,常用的也有幾十種,如BASIC、FORTRAN、PASCAL,以及C語言等。這些語言的表達形式接近于人的自然語言,都是高級程序設(shè)計語言(簡稱“高級語言”)。,1.1 程序和程序設(shè)計語言,2 程序設(shè)計語言 程序設(shè)計語言按照書寫形式和思維方式的不同,可分為低級語言和高級語言兩大類。低級語言包括機器語言和匯編語言。 機器語言: 機器語言是以二進制代碼的形式來表示這些基本指令集合。它
2、是計算機系統(tǒng)唯一能夠直接識別和執(zhí)行的程序設(shè)計語言。它的優(yōu)點是運算速度快,每條指令均為由0和1組合起來的代碼串。由操作碼和操作對象兩部分組成。,1.1 程序和程序設(shè)計語言,匯編語言: 匯編語言實際上是由一組匯編指令構(gòu)成的語言,與機器語言相比,它可以用指令英文名稱的縮寫字符串來表示其所代表的操作,用標(biāo)號和符號來代表地址、常量和變量。 高級語言 高級程序設(shè)計語言(簡稱高級語言)是指用于描述計算機程序的類自然語言。它是程序設(shè)計發(fā)展的產(chǎn)物,它屏蔽了機器的細節(jié),提高了語言的抽象層次。高級語言采用接近自然語言和數(shù)學(xué)語言的語句,易學(xué)、易用、易維護,并且在一定程度上與機器無關(guān),給編程帶來了極大方便。,1.2 C
3、語言簡介,1 C語言的產(chǎn)生和發(fā)展 C語言是目前比較流行的高級程序設(shè)計語言之一。它不但具有一般高級語言的特點,又可象匯編語言一樣,對硬件內(nèi)存單元的位、字節(jié)直接進行操作,其程序運行效率高。 C語言的發(fā)展與中小型計算機上的操作系統(tǒng)UNIX密不可分,它是在B語言的基礎(chǔ)上發(fā)展起來的,其根源可以追溯到ALGOL 60。,1.2 C語言簡介,1960年出現(xiàn)的ALGOL60是一種面向問題的高級語言。 1963年英國的劍橋大學(xué)推出了CPL語言。 1967年英國劍橋大學(xué)的Matin Richards對CPL語言作了簡化,推出了BCPL語言。 1970年,UNIX的開發(fā)者美國貝爾實驗室以BCPL語言為基礎(chǔ)作進一
4、步簡化,設(shè)計出很接近硬件的B語言。 1972年,貝爾實驗室在B語言的基礎(chǔ)上設(shè)計出了語言。 1975年UNIX第6版公布后C語言突出優(yōu)點引起普遍注意。 1983年,美國國家標(biāo)準(zhǔn)化協(xié)會(ANSI)根據(jù)C語言各種版本對C發(fā)展和擴充,制定了新的標(biāo)準(zhǔn),稱為ANSI C。,1.2 C語言簡介,隨著面向?qū)ο缶幊碳夹g(shù)的出現(xiàn),在進一步擴充和完善了語言基礎(chǔ)上,又出現(xiàn)了C++。Java,C++等面向?qū)ο笳Z言(第四代語言)是C語言的發(fā)展。但是,C是C++的基礎(chǔ),C++語言和語言在很多方面是兼容的。在掌握了語言后,再進一步學(xué)習(xí)C++,就能以一種熟悉的語法來學(xué)習(xí)面向?qū)ο蟮恼Z言,可達到事半功倍的目的。,1.2 C語言簡介,
5、2 C語言的特點 C語言簡潔緊湊,使用方便靈活,運算符豐富 C語言表達能力強 C語言數(shù)據(jù)結(jié)構(gòu)豐富,具有現(xiàn)代化語言的各種數(shù)據(jù)結(jié)構(gòu) C語言是一種結(jié)構(gòu)化程序設(shè)計語言 C語言可直接對硬件進行操作 C語言生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高 用語言寫的程序可移植性好(與匯編語言比),1.3 C程序的組成與結(jié)構(gòu),C程序是由函數(shù)構(gòu)成的。一個C源程序有且僅有一個main函數(shù),但可以包含若干個其它函數(shù)。 一個函數(shù)由兩部分組成: 函數(shù)的首部,包括函數(shù)返回值類型、函數(shù)名、形式參數(shù)名和參數(shù)類型。 函數(shù)體。即函數(shù)首部下面的大括號 內(nèi)的部分。如果一個函數(shù)內(nèi)有多個大括號,則最外層的一對為函數(shù)體的范圍。函數(shù)體一般包括:聲明
6、部分和執(zhí)行部分。 一個C程序總是從main函數(shù)開始執(zhí)行的,而不論main函數(shù)在整個程序中的位置如何。,1.3 C程序的組成與結(jié)構(gòu),C程序書寫格式相對自由,一行內(nèi)可以寫幾個語句,一個語句可以分寫在多行上。C程序沒有行號,也不嚴格規(guī)定書寫格式。 每個語句的結(jié)尾必須有一個分號。分號是C語句的必要組成部分。即使是程序中最后一個語句也必須包含分號。 C語言本身沒有輸入輸出語句。輸入和輸出操作是由庫函數(shù)來完成。,1.4 C語言的字符集與標(biāo)識符,1 C語言的字符集 C語言的字符集是用來書寫源程序清單時允許出現(xiàn)的所有字符的集合,即:字符是組成語言的最基本的元素。語言字符集由字母(小寫字母az共26個,大寫字
7、母AZ共26個)、數(shù)字(09共10個)、空格、標(biāo)點和特殊字符組成。在字符常量,字符串常量和注釋中還可以使用漢字或其它可表示的圖形符號。,1.4 C語言的字符集與標(biāo)識符,2 C語言的標(biāo)識符 在C語言中,標(biāo)識符是用來標(biāo)識變量名、符號常量名、函數(shù)名、數(shù)組名、類型名、文件名的有效字符序列。簡單地說,標(biāo)識符就是一個名字。 C語言規(guī)定,所有的標(biāo)識符必須滿足以下規(guī)則: 所有的標(biāo)識符的第一個字符必須是字母或下劃線; 標(biāo)識符的其它部分的字符必須是字母、數(shù)字或下劃線; 在Turbo C中,標(biāo)識符只有前面32個字符有效,也就是說系統(tǒng)能識別的標(biāo)識符的最大長度是32。 大小寫字母表示不同的含義,即代表不同的標(biāo)識符;
8、標(biāo)識符不能使用C語言中的關(guān)鍵字。,1.4 C語言的字符集與標(biāo)識符,3 C語言的關(guān)鍵字 關(guān)鍵字又稱保留字,是一種預(yù)先定義的、具有特殊意義的標(biāo)識符。用戶不能重新定義關(guān)鍵字,也不能把關(guān)鍵字定義為一般的標(biāo)識符,如關(guān)鍵字不能作變量名、函數(shù)名等。C語言的關(guān)鍵字有類型標(biāo)識符、控制流標(biāo)識符、預(yù)處理標(biāo)識符等。所有的關(guān)鍵字均用小寫字母。,1.5 C程序的上機步驟,用高級語言或匯編語言編寫的程序稱為源程序。C程序源程序的擴展名為“.c”。因為計算機只能識別和執(zhí)行由0和1組成的二進制指令,所以源程序不能直接在計算機上執(zhí)行,需要用“編譯程序”將源程序翻譯為二進制形式的“目標(biāo)程序”。目標(biāo)程序的擴展名為“.obj”。目標(biāo)代碼盡管已經(jīng)是機器指令,但是還不能運行,因為目標(biāo)程序還沒有解決函數(shù)調(diào)用問題,需要將各個目標(biāo)程序與庫函數(shù)連接,才能形成完整的可在操作系統(tǒng)下獨立執(zhí)行的程序,稱為“可執(zhí)行程序”??蓤?zhí)行程序的擴展名為“.exe”。,1.5 C程序的上機步驟,在編寫好一個C程序后到完成運行,一般要經(jīng)過以下幾個步驟:上機,輸入與編輯源程序-對源程序進行編譯,產(chǎn)生目標(biāo)代碼-連接各個目標(biāo)代碼、庫函數(shù),產(chǎn)生可執(zhí)行程序-運行程序。,