![]() 程序匠人 發(fā)表于 2005-10-20 20:29:00 閱讀全文(535) | 回復(fù)(0) | 引用(0) |
強(qiáng)大的語言——C入門 一、C語言的特點(diǎn) C 語言是美國的Dennis Ritchie在1972年設(shè)計(jì)發(fā)明的。它由早期的編程語言BCPL( Basic Combined Programming Language) 發(fā)展演變而來。C 語言之所以發(fā)展迅速,成為最受歡迎的語言之一,主要因?yàn)樗哂袕?qiáng)大的功能。歸納起來,C 語言具有下列特點(diǎn): 1.C語言是“中級(jí)語言” 它把高級(jí)語言的基本結(jié)構(gòu)和語句與低級(jí)語言的實(shí)用性結(jié)合起來。C 語言可以像匯編語言一樣對(duì)位、字節(jié)和地址進(jìn)行操作,而這三者是計(jì)算機(jī)最基本的工作單元。 2.C語言是結(jié)構(gòu)式語言 所謂結(jié)構(gòu)式語言的顯著特點(diǎn)是代碼及數(shù)據(jù)的分隔化,即程序的各個(gè)部分除了必要的信息交流外彼此獨(dú)立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦?,便于使用、維護(hù)以及調(diào)試。C 語言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便地調(diào)用,并具有多種循環(huán)、條件語句控制程序流向,從而使程序完全結(jié)構(gòu)化。 3.C語言功能齊全 C 語言具有各種各樣的數(shù)據(jù)類型,并引入了指針概念,可使程序效率更高。另外C 語言也具有強(qiáng)大的圖形功能,支持多種顯示器和驅(qū)動(dòng)器,而且計(jì)算功能、邏輯判斷功能也比較強(qiáng)大,可以實(shí)現(xiàn)決策目的。 4.C語言適用范圍廣 C 語言還有一個(gè)突出的優(yōu)點(diǎn)就是適合多種操作系統(tǒng),如DOS、Windows、UNIX,也適用于多種機(jī)型。 二、C語言基礎(chǔ)介紹 隨著微型計(jì)算機(jī)的日益普及,出現(xiàn)了許多C 語言版本。由于沒有統(tǒng)一的標(biāo)準(zhǔn),使得這些C 語言之間出現(xiàn)了一些不一致的地方。為了改變這種情況,美國國家標(biāo)準(zhǔn)研究所(ANSI)為C 語言制定了一套ANSI標(biāo)準(zhǔn),成為現(xiàn)行的C語言標(biāo)準(zhǔn)。而在這里我們將主要以美國Borland 公司的產(chǎn)品Turbo C2.0作為介紹對(duì)象,簡(jiǎn)要介紹一下C語言的基本知識(shí)。 1.數(shù)據(jù)類型 在C語言中,每個(gè)變量在使用之前必須定義其數(shù)據(jù)類型。Turbo C有以下幾種類型:整型(int)、浮點(diǎn)型(float)、字符型(char)、指針型(*)、無值型(void)以及結(jié)構(gòu)(struct)和聯(lián)合(union)。其中前五種是C語言的基本數(shù)據(jù)類型、后兩種數(shù)據(jù)類型(結(jié)構(gòu)和聯(lián)合)則是C語言的擴(kuò)展數(shù)據(jù)類型。 2.關(guān)鍵字和標(biāo)識(shí)符、運(yùn)算符 所謂關(guān)鍵字就是已被C語言本身使用、不能作其它用途的字。例如關(guān)鍵字else,就再不能用作變量名、函數(shù)名等。所謂標(biāo)識(shí)符是指常量、變量、語句標(biāo)號(hào)以及用戶自定義函數(shù)的名稱。C標(biāo)識(shí)符的定義十分靈活。 C的運(yùn)算符非常豐富,主要分為三大類:算術(shù)運(yùn)算符、關(guān)系與邏輯運(yùn)算符、按位運(yùn)算符。 3.變量 C規(guī)定所有變量在使用前都必須加以說明。一條變量說明語句由數(shù)據(jù)類型和其后的一個(gè)或多個(gè)變量名組成,例如“int x”。變量可以在程序中三個(gè)地方說明:函數(shù)內(nèi)部、函數(shù)的參數(shù)定義中或所有的函數(shù)外部。根據(jù)所定義位置的不同,變量可分為局部變量、形式參數(shù)和全程變量。C像其它高級(jí)語言一樣也使用數(shù)組變量。所謂數(shù)組就是指具有相同數(shù)據(jù)類型的變量集,并擁有共同的名字。數(shù)組中的每個(gè)特定元素都使用下標(biāo)來訪問。 4.控制流程語句 C提供了豐富、靈活的控制流程語句,主要有:條件語句、循環(huán)語句和開關(guān)語句。條件語句的一般形式為if-else。C提供三種基本的循環(huán)語句:for語句、while語句和do-while語句。而在編寫程序時(shí),經(jīng)常會(huì)碰到按不同情況分轉(zhuǎn)的多路問題, 這時(shí)可用嵌套if-else-if語句來實(shí)現(xiàn),但if-else-if語句使用不方便,并且容易出錯(cuò)。對(duì)這種情況,C提供了一個(gè)switch開關(guān)語句。
5.指針(point) 學(xué)習(xí)C語言,指針是較難理解的一個(gè)概念。我們知道變量在計(jì)算機(jī)內(nèi)占有一塊存貯區(qū)域(也就是有一個(gè)“地址”),變量的值就存放在這塊區(qū)域之中,在計(jì)算機(jī)內(nèi)部,通過訪問或修改這塊區(qū)域的內(nèi)容來訪問或修改相應(yīng)的變量。C語言中,對(duì)于變量的訪問形式之一,就是先求出變量的地址,然后再通過地址對(duì)它進(jìn)行訪問,這就是指針及指針變量。指針變量的一般定義為“類型標(biāo)識(shí)符?。獦?biāo)識(shí)符”,其中標(biāo)識(shí)符是指針變量的名字,標(biāo)識(shí)符前加了“*”號(hào), 表示該變量是指針變量,而最前面的“類型標(biāo)識(shí)符”表示該指針變量所指向的變量的類型。一個(gè)指針變量只能指向同一種類型的變量,也就是說,我們不能定義一個(gè)指針變量,既能指向一整型變量又能指向雙精度變量。 三、C程序設(shè)計(jì)初步 C語言是一種中級(jí)語言,用戶用C語言編寫的程序稱為源程序,源程序文件的后綴一般必須為“.c”。計(jì)算機(jī)硬件不能直接執(zhí)行源程序,必須將源程序翻譯成二進(jìn)制目標(biāo)程序。翻譯工作是由編譯程序完成的,翻譯的過程稱為編譯,編譯的結(jié)果稱為目標(biāo)程序,目標(biāo)程序文件后綴一般為“.OBJ”。程序翻譯成目標(biāo)程序后,便可進(jìn)行連接。“連接”的目的是使程序變成在計(jì)算機(jī)上可以執(zhí)行的最終形式。在這一階段,系統(tǒng)程序庫中的程序要與目標(biāo)程序連接,連接的結(jié)果稱為執(zhí)行程序,執(zhí)行程序文件名字一般以“.EXE”結(jié)尾。 正如所有利用計(jì)算機(jī)語言所編寫的的第一個(gè)程序一樣,下面,我們也試著建立一個(gè)名為“HELLO.C”的源程序,這個(gè)程序?qū)⒃谄聊簧厦娲蛴〕?#8220;你好,《電腦報(bào)》軟件世界!”這個(gè)短語。 通過鍵盤輸入程序: include main() { printf(″你好,《電腦報(bào)》軟件世界!\n″); } 這個(gè)最簡(jiǎn)單的程序,也包括了C語言的一些基本的內(nèi)容,它有一個(gè)主函數(shù)main(),使用到了標(biāo)準(zhǔn)的輸出函數(shù)printf(),同時(shí)為了能夠讓程序運(yùn)行時(shí)包含這個(gè)標(biāo)準(zhǔn)函數(shù),我們首先要在程序的最開始寫上include ,“stdio.h”是C語言提供的標(biāo)準(zhǔn)輸入輸出函數(shù)庫頭文件,我們可以直接引用里面的一些函數(shù),來完成我們所要實(shí)現(xiàn)的功能。 現(xiàn)在,讓我們來編譯、連接并運(yùn)行一下這個(gè)最簡(jiǎn)單的程序,我們將看到,在屏幕上打印出了“你好,《電腦報(bào)》軟件世界!” 四、參考資料 首先是一些C語言相關(guān)的書籍: 《C語言》譚浩強(qiáng),《C語言編程寶典》王大剛,《數(shù)據(jù)結(jié)構(gòu)與算法——面向?qū)ο蟮腃++設(shè)計(jì)模式》Bruno R. Preiss,《C/C++語言與研究開發(fā)實(shí)踐》伍曉宇、辛勇,《Borland C++ Builder 3.0/4.0類參考詳解》張濟(jì)、袁野、王秀娟,《Borland C++Builder 3.0/4.0高級(jí)類參考詳解》王秀娟、孫悅、黎華,《C++語言命令詳解(第二版)》Brian Overland,《C++程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)》錢能。 |
聯(lián)系客服