国语精品91自产拍在线观看二区_色偷偷五月天_天天射夜夜爽_99久久免费国产特黄_1717国产精品久久

UNIX/Linux下C語言的學(xué)習(xí)路線

時(shí)間:2022-07-09 22:22:25 求職 我要投稿
  • 相關(guān)推薦

UNIX/Linux下C語言的學(xué)習(xí)路線

UNIX/Linux下C語言的學(xué)習(xí)路線。一、工具篇“公欲善其事,必先利其器”。編程是一門實(shí)踐性很強(qiáng)的工作,在你以后的學(xué)習(xí)或工作中,你將常常會(huì)與以下工具打交道, 下面列出學(xué)習(xí)C語言編程常常用到的軟件和工具。

UNIX/Linux下C語言的學(xué)習(xí)路線

1、操作系統(tǒng)

在UNIX或Linux系統(tǒng)中學(xué)習(xí)C很方便,所以在開始您的學(xué)習(xí)旅程前請(qǐng)先選擇一個(gè)UNIX或Linux操作系統(tǒng),目前可供個(gè)人免費(fèi)使用的UNIX或Linux系統(tǒng)有FreeBSD、RedHat Linux、SUSE Linux等,而且在安裝包中還提供很多實(shí)用的工具,如:gcc, make等。

如果您一直使用Windows,身邊又沒有多余的機(jī)器安裝UNIX,則可以使用VMware,通過VMware安裝虛擬系統(tǒng)。

2、編譯工具

目前絕大多數(shù)Unix或Lnux系統(tǒng)都提供CC或GCC編譯器,最簡(jiǎn)單的cc命令格式如下:

cc -o hello hello.c

在unix shell環(huán)境中敲入上面的代碼會(huì)將hello.c程序編譯成可執(zhí)行文件hello。

3、make工具

如 GNU make、System V make 和 Berkeley make 是用來組織應(yīng)用程序編譯過程的基本工具,但是每個(gè) make 工具之間又有所不同。

大部分UNIX和Linux程序都是通過運(yùn)行make來編譯的。

make工具會(huì)讀取一個(gè)包含指令的文件(這個(gè)文件的名字通常都是 makefile 或 Makefile,不過后文中我們統(tǒng)一稱之為 “makefile”),并執(zhí)行各種操作來編譯程序。

4、調(diào)試工具

最簡(jiǎn)單的調(diào)試工具:為你的程序添加打印語句,在你對(duì)程序的運(yùn)行機(jī)制有了一定的了解后,你可以實(shí)用一些工具幫助你進(jìn)行調(diào)試,當(dāng)然你得學(xué)習(xí)一下這些工具得使用,如:dbx,gdb等。

還有一些內(nèi)存工具可以幫你查找內(nèi)存泄漏或緩沖區(qū)溢出等一些問題,如:memwatch,yamd等。

5、其他工具 1)vi或vim

Unix下文本編輯器。主要靠一堆命令來編輯文本文件,學(xué)Unix編程最好熟悉并熟練使用vi編輯器。

當(dāng)然在實(shí)際工作中,你可能需要一個(gè)集成編碼環(huán)境或一個(gè)功能強(qiáng)大的圖形化編輯工具。

提供一個(gè)中文的vim在線手冊(cè):http://vcd.gro.clinux.org/

2)Secure shell/putty一個(gè)支持ssh協(xié)議得客戶端工具,多數(shù)情況下用來連接linux系統(tǒng)。二、書籍篇

“書是人類進(jìn)步得階梯”。學(xué)習(xí)一門新的知識(shí),當(dāng)然要選擇幾本適合自己得書籍,下面介紹一些我自己學(xué)習(xí)C語言使用過的書籍:1.《C primer plus》推薦理由:適合作為入門書和基本函數(shù)查詢得參考資料。本書最新版為第五版,以ANSI C99為標(biāo)準(zhǔn)詳細(xì)介紹了C語言。

2.《The C programming_Language》推薦理由:C語言之父得作品權(quán)威性毋庸置疑。雖然書籍出版時(shí)間比較老,好像也沒更新,不過仍不失為經(jīng)典書籍,網(wǎng)上有這本書得英文電子版提供下載。3.《C 專家編程》推薦理由:本書可以幫助有一定文章的C程序員成為C編程方面的專家,最關(guān)鍵的是本書寓教于樂,讓你充分享受編程的樂趣。4.《C缺陷與陷阱》推薦理由:書中所揭示的知識(shí)能幫助您繞過C語言自身得陷阱和缺陷,減少代碼中許多常見的Bug。5.《unix環(huán)境高級(jí)編程》

推薦理由:既然是UNIX環(huán)境下C編程,就不得不說說UNIX編程書籍。

Stevens先生的《unix環(huán)境高級(jí)編程》是我竭力推薦的,也是我的案頭必備(如果對(duì)網(wǎng)絡(luò)編程有興趣的,可以學(xué)習(xí)一下Stevens先生的《UNIX網(wǎng)絡(luò)編程》兩卷,如果覺得還不過癮,可以再看看《TCP/IP詳解》三卷)。6.《計(jì)算機(jī)編程藝術(shù)》推薦理由:算法大師得嘔心瀝血之作。計(jì)劃出版五卷書,目前好像已出版3卷。對(duì)算法有興趣得可以研究一下。三、過程篇

1.學(xué)習(xí)C語法

語法的學(xué)習(xí)對(duì)于一個(gè)具有編程底子的來說,就很輕松了;即使你以前沒有學(xué)習(xí)過其他編程語言,我相信有2個(gè)星期,你也能輕松搞定。

需要注意的是,不要太糾纏于語言的細(xì)節(jié),比如:運(yùn)算符優(yōu)先級(jí)與結(jié)合性的問題等。2.學(xué)習(xí)C標(biāo)準(zhǔn)庫

ANSI C庫把函數(shù)分為不同的組,每個(gè)組都具有與之相關(guān)的頭文件。C語言標(biāo)準(zhǔn)庫相對(duì)于其他語言,比如C++,Java來說是非常短小精悍的,但首先應(yīng)著重對(duì)以下庫進(jìn)行學(xué)習(xí):

ctype.h:字符處理

math.h:數(shù)學(xué)庫

stdio.h:標(biāo)準(zhǔn)I/O庫

stdlib.h:通用工具庫

string.h:字符串處理

time.h:時(shí)間和日期

如果想了解完成的ANSI C庫,你可以購買相關(guān)的書籍,這些書籍一般會(huì)詳細(xì)介紹每個(gè)函數(shù)的用戶和一些注意點(diǎn);當(dāng)然你也可以登陸http://www.dinkumware.com/manual ... amp;page=index.html獲取ANSI C庫詳細(xì)信息。3.攻克C的難點(diǎn)1)C語言聲明:C語言的聲明確實(shí)讓我覺得恐怖,比較晦澀難懂,而且聲明的形式和使用的形式還類似。比如如下的聲明恐怕就連很多熟悉C多年的程序員也不是一眼就能看出來的: char * const * (*next)(); 那么有沒有一種好的記憶方法或規(guī)則來搞清楚呢,好像沒有,如果有的話也不是這樣折磨人了。不過可以看看《C專家編程》第三章的內(nèi)容,或許你會(huì)有所收獲。 也只能多學(xué)多練了,所謂熟能生巧嘛,希望這個(gè)問題不要在你的心靈上留下陰影。

2)數(shù)組與指針:

數(shù)組與指針的關(guān)系,在標(biāo)準(zhǔn)中并沒有作很詳細(xì)的規(guī)定,而且好多C入門的書籍在這個(gè)問題上并沒有給出很詳細(xì)的說明,所以會(huì)給人造成很多誤解。

對(duì)于這個(gè)問題,你可以參考《C缺陷與陷阱》4.5節(jié)和《C專家編程》第4,9,10章,相信你這里面的內(nèi)容搞透徹,以后就不會(huì)再被這個(gè)問題搞迷惑。

3)指針與內(nèi)存:

如果你以后編寫規(guī)模較大的程序,你可能發(fā)現(xiàn)這個(gè)問題可能會(huì)是你最大的煩惱,而且可能會(huì)是你消耗最多調(diào)試時(shí)間的事項(xiàng)。

4)C版本的問題:

你得特別小心該問題,最好不要在你的程序中混合使用不同版本C的特性,否則會(huì)給你帶來很迷惑的問題。如果一定要用,你最好清楚自己在做什么。

還有一些其他C中的難點(diǎn)和容易錯(cuò)誤的地方,可以學(xué)習(xí)前人的一些文章。以下是一個(gè)c FAQ的鏈接地址,相信在這篇文檔中有你需要的大部分問題的解決方法。

4. UNIX環(huán)境編程

學(xué)習(xí)了以上內(nèi)容之后,我相信,你就可以進(jìn)行unix環(huán)境編程了。不過你可能需要對(duì)操作系統(tǒng)理論有一點(diǎn)點(diǎn)的了解,這樣學(xué)起來會(huì)比較輕松一些。

Unix環(huán)境編程,你應(yīng)該著重IO和進(jìn)程兩大塊內(nèi)容。

《Unix環(huán)境高級(jí)編程》中對(duì)Unix環(huán)境編程有著非常詳細(xì)且深入的論述,而且書中有大量實(shí)用性例子程序,不過可能得花上幾個(gè)月得時(shí)間,好好啃一啃了。 在扎實(shí)掌握以上內(nèi)容,不代表你得C語言學(xué)習(xí)支路已經(jīng)完成,相反,才剛剛開始。以后你需要用學(xué)到得知識(shí)去解決大量不同實(shí)際問題,在不斷得實(shí)踐過程中,你會(huì)近一步加深對(duì)C的理解。有了以上基礎(chǔ)之后,你會(huì)發(fā)現(xiàn),在實(shí)踐過程中需要的其他知識(shí),你會(huì)非常快速的掌握。


【UNIX/Linux下C語言的學(xué)習(xí)路線】相關(guān)文章:

c語言的學(xué)習(xí)心得體會(huì)04-24

c語言學(xué)習(xí)心得體會(huì)06-18

大學(xué)c語言學(xué)習(xí)心得體會(huì)03-21

c語言實(shí)踐報(bào)告01-17

c語言學(xué)習(xí)心得體會(huì)10篇03-11

c語言學(xué)習(xí)心得體會(huì)7篇05-02

c語言學(xué)習(xí)心得體會(huì)8篇04-24

c語言課程設(shè)計(jì)心得06-16

c語言程序設(shè)計(jì)心得05-19

C語言上機(jī)實(shí)驗(yàn)心得(通用10篇)10-28