C程序設(shè)計(jì)概述_第1頁
C程序設(shè)計(jì)概述_第2頁
C程序設(shè)計(jì)概述_第3頁
C程序設(shè)計(jì)概述_第4頁
C程序設(shè)計(jì)概述_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、本章要求:了解C語言的特點(diǎn),正確使用C語言中的標(biāo)識符;掌握C程序的基本組成結(jié)構(gòu);掌握開發(fā)和運(yùn)行一個C程序的過程。本章難點(diǎn): 正確使用C語言中的標(biāo)識符本章重點(diǎn): C程序的基本組成結(jié)構(gòu)C程序設(shè)計(jì)概述 第1章 C程序設(shè)計(jì)概述 1.1 計(jì)算機(jī)程序設(shè)計(jì)概述1.2 語言簡介1.3 語言的字符集與標(biāo)識符1.4 C語言的程序結(jié)構(gòu)1.5 運(yùn)行一個C程序 1.1 計(jì)算機(jī)程序設(shè)計(jì)概述1.1.1 程序設(shè)計(jì)語言的發(fā)展 1機(jī)器語言(Machine Language) 2匯編語言(Assemble Language) 匯編語言程序的執(zhí)行過程 匯編語言和機(jī)器語言都是面向機(jī)器的程序設(shè)計(jì)語言,一般稱為低級語言。 1.1 計(jì)算機(jī)程

2、序設(shè)計(jì)概述1.1.1 程序設(shè)計(jì)語言的發(fā)展 3高級語言(High Level Language) 高級語言是一種與硬件結(jié)構(gòu)及指令系統(tǒng)無關(guān),表達(dá)方式比較接近自然語言和數(shù)學(xué)表達(dá)式的一種計(jì)算機(jī)程序設(shè)計(jì)語言。 優(yōu)點(diǎn): 描述問題能力強(qiáng),通用性、可讀性、可維護(hù)性都較好 缺點(diǎn): 執(zhí)行速度較慢,編制訪問硬件資源的系統(tǒng)軟件較難。 用高級語言編寫的程序稱為“源程序”,計(jì)算機(jī)不能直接識別和執(zhí)行,高級語言程序有編譯和解釋兩種執(zhí)行方式。1.1 計(jì)算機(jī)程序設(shè)計(jì)概述高級語言程序的編譯執(zhí)行: 是將源程序整個編譯成等價的,獨(dú)立的目標(biāo)程序,然后通過鏈接程序?qū)⒛繕?biāo)程序鏈接成可執(zhí)行程序。高級語言編譯執(zhí)行過程 1.1 計(jì)算機(jī)程序設(shè)計(jì)概述

3、高級語言程序的解釋執(zhí)行: 解釋方式是將源程序逐句翻譯,翻譯一句執(zhí)行一句,邊翻譯邊執(zhí)行,不產(chǎn)生目標(biāo)程序。整個執(zhí)行過程,解釋程序都一直在內(nèi)存中 。高級語言解釋執(zhí)行過程 1.1 計(jì)算機(jī)程序設(shè)計(jì)概述1.1.2 程序設(shè)計(jì)方法概述 程序設(shè)計(jì)方法的發(fā)展可以劃分以下三個階段:1早期的程序設(shè)計(jì)2結(jié)構(gòu)化程序設(shè)計(jì)3面向?qū)ο蟮某绦蛟O(shè)計(jì) 1.2 語言簡介1.2.1 語言的發(fā)展 語言是在70 年代初問世的。1973年由美國電話電報公司(AT&T)貝爾實(shí)驗(yàn)室正式發(fā)表了語言。 同時由B.W.Kernighan和D.M.Ritchit合著了著名的“The C Programming Language”一書。 1.2 語言簡介1

4、.2.1 語言的發(fā)展 60年 ALGOL語言63年 CPL67年 BCPL70年 B語言73年 C語言90年 Borland公司推出BC+92年 Microsoft公司推出MS C+93年 Microsoft公司推出VC+83年 制定了ANSI C85年 AT&T公司推出C+1.2 語言簡介1.2.2 C語言的特點(diǎn)語言簡潔、緊湊、使用方便、靈活VB語言Dim a As IntegerDim b As Integer if (表達(dá)式)then 語句 End ifC語言int a,b; if (表達(dá)式)語句; 2. 豐富的運(yùn)算符和數(shù)據(jù)類型 1.2.2 C語言的特點(diǎn)4. 直接訪問內(nèi)存的物理地址 由于

5、能進(jìn)行位(bit)一級的操作。實(shí)現(xiàn)了對硬件的編程操作,因此語言集高級語言和低級語言的功能于一體。既可用于系統(tǒng)軟件的開發(fā),也適合于應(yīng)用軟件的開發(fā)。3. 語言是一種結(jié)構(gòu)化語言 它層次清晰,便于按模塊化方式組織程序,易于調(diào)試和維護(hù)。 語言還具有效率高,可移植性強(qiáng)等特點(diǎn)1.3 語言的字符集與標(biāo)識符 1.3.1 語言的字符集 字符是組成語言的最基本的元素。語言字符集由字母,數(shù)字,空格,標(biāo)點(diǎn)和特殊字符組成。 (1)字母 小寫字母az共26個,大寫字母AZ共26個(C語言中區(qū)分字母大小寫) (2)數(shù)字 09共10個 (3)空白符 空格符、制表符、換行符等統(tǒng)稱為空白符??瞻追辉谧址⒊A亢妥址A恐衅鹱饔?/p>

6、。在其它地方出現(xiàn)時,只起間隔作用。(4)標(biāo)點(diǎn)和特殊字符 1.3.1 語言的字符集 (4)標(biāo)點(diǎn)和特殊字符 1.3.2 語言標(biāo)識符 1.3 語言的字符集與標(biāo)識符 1保留字符 C語言的保留字符(也稱關(guān)鍵字)共有32個,根據(jù)關(guān)鍵字的作用,可分其為數(shù)據(jù)類型關(guān)鍵字、控制語句關(guān)鍵字、存儲類型關(guān)鍵字和其它關(guān)鍵字四類。 (1)數(shù)據(jù)類型關(guān)鍵字(12個):char, double, enum, float, int, long, short, signed, struct, union, unsigned, void (2)控制語句關(guān)鍵字(12個):break, case, continue, default, d

7、o, else, for, goto, if, return, switch, while (3)存儲類型關(guān)鍵字(4個):auto, extern, register, static (4)其它關(guān)鍵字(4個):const, sizeof, typedef, volatile1.3.2 語言標(biāo)識符 2預(yù)定義標(biāo)識符 C語言中除了上述保留字符外,還有一類具有特殊含義的標(biāo)識符,它們被C系統(tǒng)用作庫函數(shù)名、預(yù)編譯命令,這類標(biāo)識符稱為系統(tǒng)預(yù)定義標(biāo)識符。例如: 系統(tǒng)庫數(shù)sin,printf,scanf等 預(yù)編譯命令define,include,undef,ifdef,endif等 一般來說,用戶在編寫C程序時

8、,不要把這些標(biāo)識再定義為其它用途的標(biāo)識符(用戶自定義標(biāo)識符)。1.3.2 語言標(biāo)識符 3用戶定自義標(biāo)識符 用戶自定義標(biāo)識符是用戶根據(jù)編程的需要而定義的標(biāo)識符,用于標(biāo)識變量、符號常量、用戶自定義函數(shù)、類型名等。 C 規(guī)定,標(biāo)識符只能是字母(AZ,az)、數(shù)字(09)、下劃線(_)組成的字符串,并且其第一個字符必須是字母或下劃線。例如,以下標(biāo)識符是合法的: a, x, x3, BOOK1,sum5,mysin 以下標(biāo)識符是非法的: 3s 以數(shù)字開頭 s*T 出現(xiàn)非法字符* -3x 以減號開頭 bowy-1 出現(xiàn)非法字符-(減號) 1.3.2 語言標(biāo)識符 使用自定義標(biāo)識符的幾點(diǎn)說明:(1)標(biāo)準(zhǔn)C不限

9、制標(biāo)識符的長度,但它受各種版本的C 語言編譯系統(tǒng)限制,同時也受到具體機(jī)器的限制。(2)標(biāo)識符中,大小寫是有區(qū)別的。(3)標(biāo)識符雖然可由程序員隨意定義,建議命名應(yīng)盡量有相應(yīng)的意義,以便閱讀理解,作到“顧名思義”。例如:可用sum 表示求和的量,name 表示姓名等。(4)不使用C語言的關(guān)鍵字:類型說明符、語句定義符、預(yù)處理命令。(5)標(biāo)識符不能和用戶已編制的函數(shù)或C語言庫函數(shù)同名。否則程序中調(diào)用庫函數(shù)就會出錯。1.4 C語言的程序結(jié)構(gòu)1.4.1 幾個簡單的C程序?qū)嵗?例1-1 在屏幕輸出一行文字信息。具體程序如下:#include main() printf(Hello C!n); 其執(zhí)行結(jié)果是

10、在屏幕上輸出一行信息: Hello C! 1.4.1 幾個簡單的C程序?qū)嵗?例1-2 輸入2個數(shù)據(jù),計(jì)算它們的和,并打印輸出在屏幕上。main() int a,b,s; /* 定義變量 */ printf( Enter two number a,b=?n);scanf(%d%d, &a,&b); /*調(diào)用標(biāo)準(zhǔn)函數(shù),要求用戶輸入2個數(shù)據(jù)*/ s =a+b; printf(s=%dn,s); 程序運(yùn)行結(jié)果如下: 1.4.1 幾個簡單的C程序?qū)嵗?例1-3 將例1-2中的求2個數(shù)的和編寫成獨(dú)立的函數(shù),在主函數(shù)中調(diào)用實(shí)現(xiàn)。main() /*主函數(shù)*/ int fsum(int,int); /*用戶自定

11、義函數(shù)聲明*/ void prn(); /*用戶自定義函數(shù)聲明*/ int a,b,t; /*定義a,b,t為整數(shù)*/ printf( Enter two number a,b=?n); scanf( %d%d,&a,&b); prn(); /*調(diào)用函數(shù)prn,無返回*/ t=fsum(a,b); /*調(diào)用函數(shù)fsum,結(jié)果返回給t */ printf( %d+%d=%dn,a,b,t); /*打印輸入 */ prn(); void prn() printf(-n); int fsum(int x,int y) int z; z=x+y; return(z); /*返回變量z的值*/ 1.4.

12、1 幾個簡單的C程序?qū)嵗?本程序除main函數(shù),還有2個功能簡單的用戶自定義函數(shù)prn()和fsum(),程序的執(zhí)行過程是:(1)程序從main()處開始。(2)為聲明的整型變量a,b,t分配存儲單元。(3)要求用戶輸入為變量a,b輸入數(shù)據(jù);(如輸入 38 78)(4)執(zhí)行程序(函數(shù))prn);屏幕輸出“-”,并換行。(5)執(zhí)行程序(函數(shù))func();將變量a,b的值傳遞到函數(shù)func()中分別給x,y,并將計(jì)算結(jié)果返回賦值給變量t,此時,t的值為a+b的值。(7)在屏幕打印輸出計(jì)算機(jī)結(jié)果。(8)再一次執(zhí)行程序(函數(shù))prn);屏幕輸出“-”,并換行。程序執(zhí)行的結(jié)果如下:1.4.2 C程序的

13、結(jié)構(gòu)特點(diǎn) C程序函數(shù)組成由若干函數(shù)說明部分函數(shù)體函數(shù)類型說明函數(shù)名函數(shù)形參形參類型說明變量定義部分執(zhí)行部分 int fsum(x, y) int x, y; int fsum(int x, int y)例如:等價(函數(shù)首部)1.4 C語言的程序結(jié)構(gòu)1.4 C語言的程序結(jié)構(gòu)C程序的基本結(jié)構(gòu)的特點(diǎn): (1)C程序?yàn)楹瘮?shù)模塊結(jié)構(gòu),C程序由一個或多個函數(shù)構(gòu)成,其中必須,且只能有一個主函數(shù)main()。 (2)C程序從main()函數(shù)開始執(zhí)行,在main()中結(jié)束。 (3)C程序的函數(shù)是系統(tǒng)提供的標(biāo)準(zhǔn)函數(shù)(如printf、scanf等)和用戶自己定義的函數(shù)(如prn、fsum等)。 (4)每一個說明,每

14、一個語句都必須以分號結(jié)尾。但預(yù)處理命令,函數(shù)頭和花括號“”之后不能加分號。 (5)C 語言的注釋符是以“/*”開頭并以“*/”結(jié)尾的串。在“/*”和“*/”之間的即為注釋。 在TC+中,注釋符以“/” 開始,到本行結(jié)束。 例如: int a ,b; / 定義2個整型變量 1.4 C語言的程序結(jié)構(gòu)1.4.3 C函數(shù)的結(jié)構(gòu) 函數(shù)是語言程序的基本單位。任何函數(shù)(包括主函數(shù)main())都是由函數(shù)說明和函數(shù)體兩部分組成,其一般結(jié)構(gòu)如下:函數(shù)類型 函數(shù)名(形式參數(shù)說明)數(shù)據(jù)說明部分;語句部分;例: int fsum(int x, int y) int z; z=x+y; return(z); /*返回變

15、量z的值*/ 1.4 C語言的程序結(jié)構(gòu)1.4.4 C程序的書寫風(fēng)格 (1)一個說明或一個語句占一行(2)函數(shù)與函數(shù)之間加空行, 以清楚的分出程序中有幾個函數(shù)。(3)用括起來的部分,通常表示了程序的某一層次結(jié)構(gòu)。一般與該結(jié)構(gòu)語句的第一個字母對齊,并單獨(dú)占一行。(4)低一層次的語句或說明可比高一層次的語句或說明縮進(jìn)若干格后書寫,同一個層次的語句左對齊。(5)對數(shù)據(jù)的輸入,運(yùn)行時最好要出現(xiàn)輸入提示,對于數(shù)據(jù)輸出,也要有一定的提示和格式。(6)程序中適當(dāng)加上一些注釋。 1.5 運(yùn)行一個C程序1.5.1 C程序運(yùn)行的一般步驟1源程序編輯2程序編譯3鏈接程序4程序運(yùn)行 大部分C語言系統(tǒng)都提供一個獨(dú)立的集成開發(fā)環(huán)境,它可將上述四步連貫在一個程序之中。 1.5 運(yùn)行一個C程序1.5.2 在TC中運(yùn)行一個C程序 在Turbo C集成開發(fā)環(huán)境中建立運(yùn)行一個新程序通常有以下幾個步驟:(1)運(yùn)行啟動Turbo C集成開發(fā)環(huán)境;(2)在編輯器中編寫源文件;(3)保存源文件;(4)調(diào)試修改程序,直到程序編譯無語法錯誤;(5)編譯連接生成可執(zhí)行文件,運(yùn)行程序,輸入上些數(shù)據(jù),驗(yàn)證程序運(yùn)行輸出結(jié)果的全理性; (6)最后將調(diào)試通過運(yùn)行正確的程序保存在磁盤中。 1.5

溫馨提示

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

最新文檔

評論

0/150

提交評論