您的位置:首頁 > 熱點(diǎn) >

c語言入門教程

導(dǎo)讀:隨著微型計(jì)算機(jī)的日益普及,C語言成為世界上最流行、使用最廣泛的高級(jí)程序設(shè)計(jì)語言之一。下面我們就一起來了解一下C語言的世界是什么樣子的吧。

1.c語言入門教程--簡介

C語言是一種計(jì)算機(jī)程序設(shè)計(jì)語言,它既具有高級(jí)語言的特點(diǎn),又具有匯編語言的特點(diǎn)。它由美國貝爾研究所的D.M.Ritchie于1972年推出,它可以作為工作系統(tǒng)設(shè)計(jì)語言,編寫系統(tǒng)應(yīng)用程序。它的應(yīng)用范圍廣泛,具備很強(qiáng)的數(shù)據(jù)處理能力,不僅僅是在軟件開發(fā)上,而且各類科研都需要用到C語言,適于編寫系統(tǒng)軟件,三維,二維圖形和動(dòng)畫,具體應(yīng)用比如單片機(jī)以及嵌入式系統(tǒng)開發(fā)。

2.c語言入門教程--發(fā)展

C語言之所以命名為C,是因?yàn)?C語言源自Ken Thompson發(fā)明的B語言,而 B語言則源自BCPL語言。

1967年,劍橋大學(xué)的Martin Richards對(duì)CPL語言進(jìn)行了簡化,于是產(chǎn)生了BCPL(Basic Combined Programming Language)語言。

1970年,美國貝爾實(shí)驗(yàn)室的 Ken Thompson,以BCPL語言為基礎(chǔ),設(shè)計(jì)出很簡單且很接近硬件的B語言(取BCPL的首字母)。并且他用B語言寫了第一個(gè)UNIX操作系統(tǒng)。

1972年,美國貝爾實(shí)驗(yàn)室的 D.M.Ritchie 在B語言的基礎(chǔ)上最終設(shè)計(jì)出了一種新的語言,他取了BCPL的第二個(gè)字母作為這種語言的名字,這就是C語言。

1977年,Dennis M.Ritchie發(fā)表了不依賴于具體機(jī)器系統(tǒng)的C語言編譯文本《可移植的C語言編譯程序》。

1978年由美國電話電報(bào)公司(AT&T)貝爾實(shí)驗(yàn)室正式發(fā)表了C語言。Brian Kernighan 和 Dennis Ritchie 出版了一本書,名叫《The C Programming Language》。這本書被 C語言開發(fā)者們稱為"K&R",很多年來被當(dāng)作 C語言的非正式的標(biāo)準(zhǔn)說明。人們稱這個(gè)版本的 C語言為"K&R C"。

c語言宣傳圖1970到80年代,C語言被廣泛應(yīng)用,從大型主機(jī)到小型微機(jī),也衍生了C語言的很多不同版本。

1983年美國國家標(biāo)準(zhǔn)局 (American National Standards Institute,簡稱ANSI)成立了一個(gè)委員會(huì),來制定 C語言標(biāo)準(zhǔn)。

1989年 C語言標(biāo)準(zhǔn)被批準(zhǔn),被稱為 ANSI X3.159-1989 "Programming Language C"。這個(gè)版本的C語言標(biāo)準(zhǔn)通常被稱為ANSI C。

1990年,國際標(biāo)準(zhǔn)化組織ISO(International Organization for Standards)接受了89 ANSI C 為I SO C 的標(biāo)準(zhǔn)(ISO9899-1990)。1994年,ISO修訂了C語言的標(biāo)準(zhǔn)。

1999年,ISO又對(duì)C語言標(biāo)準(zhǔn)進(jìn)行修訂,在基本保留原來C語言特征的基礎(chǔ)上,針對(duì)應(yīng)該的需要,增加了一些功能,命名為ISO/IEC9899:1999。

在ANSI標(biāo)準(zhǔn)化后,C語言的標(biāo)準(zhǔn)在一段相當(dāng)?shù)臅r(shí)間內(nèi)都保持不變,盡管C繼續(xù)在改進(jìn)。它被ANSI于2000年3月采用。

2001年和2004年先后進(jìn)行了兩次技術(shù)修正。2011年12月8日,ISO正式公布C語言新的國際標(biāo)準(zhǔn)草案:ISO/IEC 9899:2011,即C11。

3.c語言入門教程--特性

C語言是世界上最流行、使用最廣泛的高級(jí)程序設(shè)計(jì)語言之一。在操作系統(tǒng)和系統(tǒng)使用程序以及需要對(duì)硬件進(jìn)行操作的場合,用C語言明顯優(yōu)于其它高級(jí)語言,許多大型應(yīng)用軟件都是用C語言編寫的。C語言的主要特性有以下幾種:

1.C是高級(jí)語言:它把高級(jí)語言的基本結(jié)構(gòu)和語句與低級(jí)語言的實(shí)用性結(jié)合起來。

2.C是結(jié)構(gòu)式語言:結(jié)構(gòu)式語言的顯著特點(diǎn)是代碼及數(shù)據(jù)的分隔化,即程序的各個(gè)部分除了必要的信息交流外彼此獨(dú)立。

3.C語言功能齊全:具有各種各樣的數(shù)據(jù)類型,并引入了指針概念,可使程序效率更高。而且計(jì)算功能、邏輯判斷功能也比較強(qiáng)大,可以實(shí)現(xiàn)決策目的的游戲。

4.C語言適用范圍大:適合于多種操作系統(tǒng),如Windows、DOS、UNIX等等;也適用于多種機(jī)型。

5.C語言應(yīng)用指針:可以直接進(jìn)行靠近硬件的操作,但是C的指針操作不做保護(hù),也給它帶來了很多不安全的因素。C++在這方面做了改進(jìn),在保留了指針操作的同時(shí)又增強(qiáng)了安全性。

6.C語言創(chuàng)始人D.M.Ritchie6、C語言文件由數(shù)據(jù)序列組成:可以構(gòu)成二進(jìn)制文件或文本文件常用的C語言IDE有Microsoft Visual C++,Dev-C++,Code::Blocks,Borland C++,Watcom C++,Borland C++ Builder,GNU DJGPP C++,Lccwin32 C Compiler 3.1,High C,Turbo C,C-Free,win-tc,xcode等。

4.c語言入門教程--基礎(chǔ)知識(shí)

數(shù)據(jù)類型----C的數(shù)據(jù)類型包括:整型、字符型、實(shí)型或浮點(diǎn)型、枚舉類型、數(shù)組類型、結(jié)構(gòu)體類型、共用體類型、指針類型和空類型。

常量與變量----常量其值不可改變,符號(hào)常量名通常用大寫。變量是以某標(biāo)識(shí)符為名字,其值可以改變的量。變量在編譯時(shí)為其分配相應(yīng)存儲(chǔ)單元。

數(shù)組----C++語言代碼如果一個(gè)變量名后面跟著一個(gè)有數(shù)字的中括號(hào),這個(gè)聲明就是數(shù)組聲明。字符串也是一種數(shù)組。

指針----如果一個(gè)變量聲明時(shí)在前面使用 * 號(hào),表明這是個(gè)指針型變量。換句話說,該變量存儲(chǔ)一個(gè)地址,指針不僅可以是變量的地址,還可以是數(shù)組、數(shù)組元素、函數(shù)的地址。

字符串----C語言的字符串其實(shí)就是char型數(shù)組,使用字符型并不需要引用庫,但是使用字符串就就需要C標(biāo)準(zhǔn)庫里面的一些用于對(duì)字符串進(jìn)行操作的函數(shù)。它們不同于字符數(shù)組。

文件輸入/輸出----在C語言中,輸入和輸出是經(jīng)由標(biāo)準(zhǔn)庫中的一組函數(shù)來實(shí)現(xiàn)的。標(biāo)準(zhǔn)輸入/輸出有三個(gè)標(biāo)準(zhǔn)輸入/輸出是標(biāo)準(zhǔn)I/O庫預(yù)先定義的:stdin標(biāo)準(zhǔn)輸入、stdout標(biāo)準(zhǔn)輸出、stderr輸入輸出錯(cuò)誤。

運(yùn)算----C語言的運(yùn)算非常靈活,功能十分豐富,運(yùn)算種類遠(yuǎn)多于其它程序設(shè)計(jì)語言。

關(guān)鍵字----又稱為保留字,就是已被C語言本身使用,不能作其它用途使用的字。例如關(guān)鍵字不能用作變量名、函數(shù)名等標(biāo)識(shí)符。由ANSI標(biāo)準(zhǔn)定義的C語言關(guān)鍵字共32個(gè):

auto double int struct break else long switch

case enum register typedef char extern return union

const float short unsigned continue for signed void

default goto sizeof volatile do if while static inline

restrict _Bool _Complex _Imaginary _Generic

5.c語言入門教程--語法結(jié)構(gòu)

順序結(jié)構(gòu)

順序結(jié)構(gòu)的程序設(shè)計(jì)是最簡單的,只要按照解決問題的順序?qū)懗鱿鄳?yīng)的語句就行,它的執(zhí)行順序是自上而下,依次執(zhí)行。順序結(jié)構(gòu)可以獨(dú)立使用構(gòu)成一個(gè)簡單的完整程序,常見的輸入、計(jì)算,輸出三步曲的程序就是順序結(jié)構(gòu)。

選擇結(jié)構(gòu)

選擇結(jié)構(gòu)的執(zhí)行是依據(jù)一定的條件選擇執(zhí)行路徑,而不是嚴(yán)格按照語句出現(xiàn)的物理順序。選擇結(jié)構(gòu)的程序設(shè)計(jì)方法的關(guān)鍵在于構(gòu)造合適的分支條件和分析程序流程,根據(jù)不同的程序流程選擇適當(dāng)?shù)倪x擇語句。

循環(huán)結(jié)構(gòu)

循環(huán)結(jié)構(gòu)可以減少源程序重復(fù)書寫的工作量,用來描述重復(fù)執(zhí)行某段算法的問題,這是程序設(shè)計(jì)中最能發(fā)揮計(jì)算機(jī)特長的程序結(jié)構(gòu),C語言中提供四種循環(huán),即goto循環(huán)、while循環(huán)、do while循環(huán)和for循環(huán)。

模塊化程序結(jié)構(gòu)

C語言的模塊化程序結(jié)構(gòu)用函數(shù)來實(shí)現(xiàn),即將復(fù)雜的C程序分為若干模塊,每個(gè)模塊都編寫成一個(gè)C函數(shù),然后通過主函數(shù)調(diào)用函數(shù)及函數(shù)調(diào)用函數(shù)來實(shí)現(xiàn)一大型問題的C程序編寫,因此常說:C程序=主函數(shù)+子函數(shù)。因此,對(duì)函數(shù)的定義、調(diào)用、值的返回等中要尤其注重理解和應(yīng)用,并通過上機(jī)調(diào)試加以鞏固。

拓展閱讀:

1.單片機(jī)C語言入門教程

2.單片機(jī)C語言教程-基礎(chǔ)語句

3.單片機(jī)C語言的好處

標(biāo)簽: C語言 c語言入門教程

相關(guān)閱讀