奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

C語(yǔ)言

Linux下如何學(xué)習(xí)C語(yǔ)言

時(shí)間:2024-10-05 08:32:31 C語(yǔ)言 我要投稿
  • 相關(guān)推薦

Linux下如何學(xué)習(xí)C語(yǔ)言

  盡管C 語(yǔ)言問(wèn)世已近 0 年,但它的魅力仍未減退。C 語(yǔ)言繼續(xù)吸引著眾多的開(kāi)發(fā)者,他們?yōu)榱司帉?xiě)、移植或維護(hù)應(yīng)用程序而必須學(xué)習(xí)新技能。下面是小編為大家?guī)?lái)的關(guān)于Linux下如何學(xué)習(xí)C語(yǔ)言的知識(shí),歡迎閱讀。

Linux下如何學(xué)習(xí)C語(yǔ)言

  引言

  盡管 C 語(yǔ)言問(wèn)世已近 30 年,但它的魅力仍未減退。C 語(yǔ)言繼續(xù)吸引著眾多的開(kāi)發(fā)者,他們?yōu)榱司帉?xiě)、移植或維護(hù)應(yīng)用程序而必須學(xué)習(xí)新技能。

  本文是為了滿(mǎn)足對(duì)C語(yǔ)言初學(xué)者或想提高自身C語(yǔ)言修為的開(kāi)發(fā)人員的需要而寫(xiě)的。希望對(duì)您的學(xué)習(xí)和工作有所幫助。您也許不贊同其中的某些方法,但我們希望您會(huì)喜歡其中的一些。

  本文不介紹作為一個(gè)程序員應(yīng)掌握得語(yǔ)言細(xì)節(jié),而是與初學(xué)者分享自己的UNIX 下C語(yǔ)言編程學(xué)習(xí)經(jīng)驗(yàn);也不說(shuō)明一個(gè)合格的編程人員應(yīng)該掌握的計(jì)算機(jī)知識(shí),比如:操作系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)與算法、數(shù)據(jù)庫(kù)等等。

  不管您出于什么目的,希望您閱讀完本文后能留下您的批評(píng)或建議。您的中肯的批評(píng)會(huì)成為作者前進(jìn)的動(dòng)力。

  工具篇

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

  (一) 操作系統(tǒng)

  在UNIX或Linux系統(tǒng)中學(xué)習(xí)C很方便,所以在開(kāi)始您的學(xué)習(xí)旅程前請(qǐng)先選擇一個(gè)UNIX或Linux操作系統(tǒng)。

  目前可供個(gè)人免費(fèi)使用的UNIX或Linux系統(tǒng)有FreeBSD、CentOS、Ubuntu、SUSE Linux等,如果你以前沒(méi)有接觸過(guò)UNIX或Linux選擇Ubuntu還是比較好,因?yàn)樗能浖浅XS富,當(dāng)然了如果你想以后一直在Linux工作學(xué)習(xí)建議選擇CentOS,而且在安裝包中還提供很多實(shí)用的工具,如:gcc, make等。

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

  (二) 編譯工具

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

  cc -o hello hello.c

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

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

  大部分UNIX和Linux程序都是通過(guò)運(yùn)行make來(lái)編譯的。make工具會(huì)讀取一個(gè)包含指令的文件(這個(gè)文件的名字通常都是 makefile 或 Makefile,不過(guò)后文中我們統(tǒng)一稱(chēng)之為 “makefile”),并執(zhí)行各種操作來(lái)編譯程序

  (三) 調(diào)試工具

  最簡(jiǎn)單的調(diào)試工具:為你的程序添加打印語(yǔ)句

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

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

  (四) 其他工具

  1.vi或vim(vim是vi的升級(jí)版)

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

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

  2.netterm

  最著名的網(wǎng)絡(luò)終端軟件之一,可以使用它方便的連接到主機(jī)系統(tǒng)中。

  3.Secure shell

  一個(gè)支持ssh協(xié)議得客戶(hù)端工具,多數(shù)情況下用來(lái)連接linux系統(tǒng)。

  書(shū)籍篇

  “書(shū)是人類(lèi)進(jìn)步得階梯”。學(xué)習(xí)一門(mén)新的知識(shí),當(dāng)然要選擇幾本適合自己得書(shū)籍,下面介紹一些我自己學(xué)習(xí)C語(yǔ)言使用過(guò)的書(shū)籍:

  1.《C primer plus》

  推薦理由:適合作為入門(mén)書(shū)和基本函數(shù)查詢(xún)得參考資料。本書(shū)最新版為第五版,以ANSI C99為標(biāo)準(zhǔn)詳細(xì)介紹了C語(yǔ)言。

  2.《The C programming_Language》

  推薦理由:C語(yǔ)言之父得作品權(quán)威性毋庸置疑。雖然書(shū)籍出版時(shí)間比較老,好像也沒(méi)更新,不過(guò)仍不失為經(jīng)典書(shū)籍,網(wǎng)上有這本書(shū)得英文電子版提供下載。

  3.《C 專(zhuān)家編程》

  推薦理由:本書(shū)可以幫助有一定經(jīng)驗(yàn)的C程序員成為C編程方面的專(zhuān)家,最關(guān)鍵的是本書(shū)寓教于樂(lè),讓你充分享受編程的樂(lè)趣。

  4.《C缺陷與陷阱》

  推薦理由:書(shū)中所揭示的知識(shí)能幫助您繞過(guò)C語(yǔ)言自身得陷阱和缺陷,減少代碼中許多常見(jiàn)的Bug。

  5.《unix環(huán)境高級(jí)編程》

  推薦理由:既然是UNIX環(huán)境下C編程,就不得不說(shuō)說(shuō)UNIX編程書(shū)籍。Stevens先生的《unix環(huán)境高級(jí)編程》是我竭力推薦的,也是我的案頭必備(如果對(duì)網(wǎng)絡(luò)編程有興趣的,可以學(xué)習(xí)一下Stevens先生的《UNIX網(wǎng)絡(luò)編程》兩卷,如果覺(jué)得還不過(guò)癮,可以再看看《TCP/IP詳解》三卷)。

  6.《計(jì)算機(jī)編程藝術(shù)》

  推薦理由:算法大師得嘔心瀝血之作。計(jì)劃出版五卷書(shū),目前好像已出版3卷。對(duì)算法有興趣得可以研究一下。

  過(guò)程篇

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

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

  需要注意的是,不要太糾纏于語(yǔ)言的細(xì)節(jié),比如:運(yùn)算符優(yōu)先級(jí)與結(jié)合性的問(wèn)題等。

  2. 學(xué)習(xí)C標(biāo)準(zhǔn)庫(kù)

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

  ctype.h:字符處理

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

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

  stdlib.h:通用工具庫(kù)

  string.h:字符串處理

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

  如果想了解完成的ANSI C庫(kù),你可以購(gòu)買(mǎi)相關(guān)的書(shū)籍,這些書(shū)籍一般會(huì)詳細(xì)介紹每個(gè)函數(shù)的用戶(hù)和一些注意點(diǎn)。

  3.攻克C的難點(diǎn)

  C語(yǔ)言聲明:

  C語(yǔ)言的聲明確實(shí)讓我覺(jué)得恐怖,比較晦澀難懂,而且聲明的形式和使用的形式還類(lèi)似。比如如下的聲明恐怕就連很多熟悉C多年的程序員也不是一眼就能看出來(lái)的:

  char * const * (*next)();

  那么有沒(méi)有一種好的記憶方法或規(guī)則來(lái)搞清楚呢,好像沒(méi)有,如果有的話(huà)也不是這樣折磨人了。不過(guò)可以看看《C專(zhuān)家編程》第三章的內(nèi)容,或許你會(huì)有所收獲。也只能多學(xué)多練了,所謂熟能生巧嘛,希望這個(gè)問(wèn)題不要在你的心靈上留下陰影。

  數(shù)組與指針:

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

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

  指針與內(nèi)存:

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

  C版本的問(wèn)題:

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

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

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

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

  Unix環(huán)境編程,你應(yīng)該著重IO和進(jìn)程兩大塊內(nèi)容。《Unix環(huán)境高級(jí)編程》中對(duì)Unix環(huán)境編程有著非常詳細(xì)且深入的論述,而且書(shū)中有大量實(shí)用性例子程序,不過(guò)可能得花上幾個(gè)月得時(shí)間,好好啃一啃了。

  在扎實(shí)掌握以上內(nèi)容,不代表你得C語(yǔ)言學(xué)習(xí)支路已經(jīng)完成,相反,才剛剛開(kāi)始。以后你需要用學(xué)到得知識(shí)去解決大量不同實(shí)際問(wèn)題,在不斷得實(shí)踐過(guò)程中,你會(huì)近一步加深對(duì)C的理解。有了以上基礎(chǔ)之后,你會(huì)發(fā)現(xiàn),在實(shí)踐過(guò)程中需要的其他知識(shí),你會(huì)非常快速的掌握。

  方法篇

  編程是一個(gè)實(shí)踐性很強(qiáng)的工作,最好的學(xué)習(xí)方法就是邊看書(shū)邊調(diào)試代碼,把書(shū)上的例子程序反復(fù)的修改調(diào)試運(yùn)行,從中得到自己的體會(huì)。 在自己的學(xué)習(xí)或工作中寫(xiě)的一些測(cè)試的程序,要分門(mén)別類(lèi)的保存下來(lái),在以后的實(shí)際工作中不斷的整理,日積月累就是一個(gè)很好資源庫(kù)了。

  有時(shí)候,可能會(huì)覺(jué)得書(shū)上的例子作為理解概念時(shí)比較通俗易懂,但實(shí)用價(jià)值不高。所以要提高自己的編程能力,你還需要學(xué)習(xí)別人的代碼,我認(rèn)為研究別人的代碼是提高自己實(shí)際編程能力最好且最快的途徑,現(xiàn)在網(wǎng)絡(luò)上有很多價(jià)值很高的開(kāi)源代碼可供你選擇學(xué)習(xí)。

  最后,不得不提到的一個(gè)問(wèn)題就是,千萬(wàn)不要讓自己淹沒(méi)在各種技術(shù)細(xì)節(jié)的海洋中,比如前綴++運(yùn)算符問(wèn)題,表達(dá)式計(jì)算優(yōu)先級(jí)問(wèn)題等。

  學(xué)習(xí)UNIX下C編程也好,還是其他編程語(yǔ)言,我們最后的目標(biāo)都是為了使用計(jì)算機(jī)解決現(xiàn)實(shí)中的問(wèn)題,所以積累日常工作中常見(jiàn)問(wèn)題的解決方法,并形成一定的范式,做一些提煉才是最重要的。說(shuō)到底,設(shè)計(jì)和編程所做的事情,就是方法論,不管你是無(wú)意識(shí)還是有意識(shí)的,所以一定要注重積累。

  補(bǔ)充說(shuō)明

  1. 對(duì)于有人問(wèn)是否需要一份ANSI C99標(biāo)準(zhǔn),對(duì)于一般開(kāi)發(fā)人員,并沒(méi)有必要,且不說(shuō)其語(yǔ)言晦澀難懂,即使你能從頭到尾學(xué)習(xí)一遍,我想對(duì)你的編程也沒(méi)有什么提高。

  2.目前多數(shù)UNIX操作系統(tǒng)所帶的cc、gcc等編譯器好像并不支持C99的所有新特性,不過(guò)現(xiàn)在已經(jīng)有足夠多的新特性普遍可用,因此有理由開(kāi)始認(rèn)真考慮在新的開(kāi)發(fā)中采用C99特性,尤其是用在它們使得效率或清晰度本質(zhì)上發(fā)生變化的那些地方(比如以?xún)?nèi)聯(lián)函數(shù)代替宏替換)。

  3.編程規(guī)范的問(wèn)題:一般較為正規(guī)的軟件公司都會(huì)有自己的一套完成的編程規(guī)范,那么你遵守就好;如果你是自己學(xué)習(xí)的話(huà),可以選擇一個(gè)較為通用的規(guī)范,最好的方法就是看別人是怎么寫(xiě)代碼的。


【Linux下如何學(xué)習(xí)C語(yǔ)言】相關(guān)文章:

怎么在Linux下運(yùn)行C語(yǔ)言程序12-04

如何學(xué)習(xí)c語(yǔ)言最好?03-31

如何學(xué)習(xí)C語(yǔ)言編程11-27

零基礎(chǔ)如何學(xué)習(xí)C語(yǔ)言11-25

初學(xué)者如何學(xué)習(xí)c語(yǔ)言04-10

window下如何安裝linux雙系統(tǒng)02-25

如何理解C語(yǔ)言指針03-27

如何搭建C語(yǔ)言環(huán)境12-03

C語(yǔ)言如何輸出菱形11-08

主站蜘蛛池模板: 沁阳市| 陆川县| 北宁市| 锡林郭勒盟| 丰都县| 高邮市| 旬阳县| 高邑县| 上林县| 普洱| 灵武市| 金溪县| 姚安县| 开鲁县| 微山县| 拉萨市| 玉田县| 乐清市| 乌什县| 北票市| 鄂州市| 旬邑县| 达尔| 桦甸市| 绥滨县| 南安市| 罗山县| 九台市| 高雄县| 元朗区| 吉林市| 正宁县| 尼勒克县| 遵化市| 华亭县| 石河子市| 唐海县| 都匀市| 色达县| 广东省| 滁州市|