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