亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Linux服務器 > 正文

新手看招 Unix和Linux下C語言學習指南

2024-09-05 23:01:50
字體:
來源:轉載
供稿:網友
引言
  盡管 C 語言問世已近 30 年,但它的魅力仍未減退。C 語言繼續吸引著眾多的開發者,他們為了編寫、移植或維護應用程序而必須學習新技能。
  本文是為了滿足對C語言初學者或想提高自身C語言修為的開發人員的需要而寫的。希望對您的學習和工作有所幫助。您也許不贊同其中的某些方法,但我們希望您會喜歡其中的一些。
  本文不介紹作為一個程序員應掌握得語言細節,而是與初學者分享自己的UNIX  下C語言編程學習經驗;也不說明一個合格的編程人員應該掌握的計算機知識,比如:操作系統、數據結構與算法、數據庫等等。
  不管您出于什么目的,希望您閱讀完本文后能留下您的批評或建議。您的中肯的批評會成為作者前進的動力。
  工具篇
  “公欲善其事,必先利其器”。編程是一門實踐性很強的工作,在你以后的學習或工作中,你將常常會與以下工具打交道, 下面列出學習C語言編程常常用到的軟件和工具。
  (一) 操作系統
  在UNIX或Linux系統中學習C很方便,所以在開始您的學習旅程前請先選擇一個UNIX或Linux操作系統。
  目前可供個人免費使用的UNIX或Linux系統有FreeBSD、RedHat Linux、SUSE Linux等,而且在安裝包中還提供很多實用的工具,如:gcc, make等。
  如果您一直使用Windows,身邊又沒有多余的機器安裝UNIX,則可以使用VMware,通過VMware安裝虛擬系統。
  (二) 編譯工具
  目前絕大多數Unix或Lnux系統都提供CC或GCC編譯器,最簡單的cc命令格式如下:
  cc -o hello hello.c
  在unix shell環境中敲入上面的代碼會將hello.c程序編譯成可執行文件hello。
  make 工具如 GNU make、System V make 和 Berkeley make 是用來組織應用程序編譯過程的基本工具,但是每個 make 工具之間又有所不同。
  大部分UNIX和Linux程序都是通過運行make來編譯的。make工具會讀取一個包含指令的文件(這個文件的名字通常都是 makefile 或 Makefile,不過后文中我們統一稱之為 “makefile”),并執行各種操作來編譯程序
  (三) 調試工具
  最簡單的調試工具:為你的程序添加打印語句
  在你對程序的運行機制有了一定的了解后,你可以實用一些工具幫助你進行調試,當然你得學習一下這些工具得使用,如:dbx,gdb等。
  還有一些內存工具可以幫你查找內存泄漏或緩沖區溢出等一些問題,如:memwatch,yamd等
  (四) 其他工具
  1.vi或vim
  Unix下文本編輯器。主要靠一堆命令來編輯文本文件,學Unix編程最好熟悉并熟練使用vi編輯器。
  當然在實際工作中,你可能需要一個集成編碼環境或一個功能強大的圖形化編輯工具。
  提供一個中文的vim在線手冊:http://vcd.gro.clinux.org/
  2.netterm
  最著名的網絡終端軟件之一,可以使用它方便的連接到主機系統中。
  3.Secure shell
  一個支持ssh協議得客戶端工具,多數情況下用來連接linux系統。
  書籍
  “書是人類進步得階梯”。學習一門新的知識,當然要選擇幾本適合自己得書籍,下面介紹一些我自己學習C語言使用過的書籍:
  1.《C primer plus》
  推薦理由:適合作為入門書和基本函數查詢得參考資料。本書最新版為第五版,以ANSI C99為標準詳細介紹了C語言。
  2.《The C programming_Language》
  推薦理由:C語言之父得作品權威性毋庸置疑。雖然書籍出版時間比較老,好像也沒更新,不過仍不失為經典書籍,網上有這本書得英文電子版提供下載。
  3.《C 專家編程》
  推薦理由:本書可以幫助有一定經驗的C程序員成為C編程方面的專家,最關鍵的是本書寓教于樂,讓你充分享受編程的樂趣。
  4.《C缺陷與陷阱》
  推薦理由:書中所揭示的知識能幫助您繞過C語言自身得陷阱和缺陷,減少代碼中許多常見的Bug。
  5.《unix環境高級編程》
  推薦理由:既然是UNIX環境下C編程,過程篇
  1. 學習C語法
  語法的學習對于一個具有編程底子的來說,就很輕松了;即使你以前沒有學習過其他編程語言,我相信有2個星期,你也能輕松搞定。
  需要注意的是,不要太糾纏于語言的細節,比如:運算符優先級與結合性的問題等。
  2. 學習C標準庫
  ANSI C庫把函數分為不同的組,每個組都具有與之相關的頭文件。C語言標準庫相對于其他語言,比如C++,Java來說是非常短小精悍的,但首先應著重對以下庫進行學習:
  ctype.h:字符處理
  math.h:數學庫
  stdio.h:標準I/O庫
  stdlib.h:通用工具庫
  string.h:字符串處理
  time.h:時間和日期
  如果想了解完成的ANSI C庫,你可以購買相關的書籍,這些書籍一般會詳細介紹每個函數的用戶和一些注意點;當然你也可以登陸http://www.dinkumware.com/manual …… amp;page=index.html獲取ANSI C庫詳細信息。
  3.攻克C的難點
  C語言聲明:
  C語言的聲明確實讓我覺得恐怖,比較晦澀難懂,而且聲明的形式和使用的形式還類似。比如如下的聲明恐怕就連很多熟悉C多年的程序員也不是一眼就能看出來的:
  char * const * (*next)();
  那么有沒有一種好的記憶方法或規則來搞清楚呢,好像沒有,如果有的話也不是這樣折磨人了。不過可以看看《C專家編程》第三章的內容,或許你會有所收獲。也只能多學多練了,所謂熟能生巧嘛,希望這個問題不要在你的心靈上留下陰影。
  數組與指針:
  數組與指針的關系,在標準中并沒有作很詳細的規定,而且好多C入門的書籍在這個問題上并沒有給出很詳細的說明,所以會給人造成很多誤解。
  對于這個問題,你可以參考《C缺陷與陷阱》4.5節和《C專家編程》第4,9,10章,相信你這里面的內容搞透徹,以后就不會再被這個問題搞迷惑。
  指針與內存:
  如果你以后編寫規模較大的程序,你可能發現這個問題可能會是你最大的煩惱,而且可能會是你消耗最多調試時間的事項。
  C版本的問題:
  你得特別小心該問題,最好不要在你的程序中混合使用不同版本C的特性,否則會給你帶來很迷惑的問題。如果一定要用,你最好清楚自己在做什么。
  還有一些其他C中的難點和容易錯誤的地方,可以學習前人的一些經驗。以下是一個c FAQ的鏈接地址,相信在這篇文檔中有你需要的大部分問題的解決方法。
  http://c-faq-chn.sourceforge.net/
  4.UNIX環境編程
  學習了以上內容之后,我相信,你就可以進行unix環境編程了。不過你可能需要對操作系統理論有一點點的了解,這樣學起來會比較輕松一些。
  Unix環境編程,你應該著重IO和進程兩大塊內容?!禪nix環境高級編程》中對Unix環境編程有著非常詳細且深入的論述,而且書中有大量實用性例子程序,不過可能得花上幾個月得時間,好好啃一啃了。
  在扎實掌握以上內容,不代表你得C語言學習支路已經完成,相反,才剛剛開始。以后你需要用學到得知識去解決大量不同實際問題,在不斷得實踐過程中,你會近一步加深對C的理解。有了以上基礎之后,你會發現,在實踐過程中需要的其他知識,你會非??焖俚恼莆?。
  方法篇
  編程是一個實踐性很強的工作,最好的學習方法就是邊看書邊調試代碼,把書上的例子程序反復的修改調試運行,從中得到自己的體會。 在自己的學習或工作中寫的一些測試的程序,要分門別類的保存下來,在以后的實際工作中不斷的整理,日積月累就是一個很好資源庫了。
  有時候,可能會覺得書上的例子作為理解概念時比較通俗易懂,但實用價值不高。所以要提高自己的編程能力,你還需要學習別人的代碼,我認為研究別人的代碼是提高自己實際編程能力最好且最快的途徑,現在網絡上有很多價值很高的開源代碼可供你選擇學習。
  最后,不得不提到的一個問題就是,千萬不要讓自己淹沒在各種技術細節的海洋中,比如前綴++運算符問題,表達式計算優先級問題等。
  學習UNIX下C編程也好,還是其他編程語言,我們最后的目標都是為了使用計算機解決現實中的問題,所以積累日常工作中常見問題的解決方法,并形成一定的范式,做一些提煉才是最重要的。說到底,設計和編程所做的事情,就是方法論,不管你是無意識還是有意識的,所以一定要注重積累。
  補充說明
  1. 對于有人問是否需要一份ANSI C99標準,對于一般開發人員,并沒有必要,且不說其語言晦澀難懂,即使你能從頭到尾學習一遍,我想對你的編程也沒有什么提高。
  2. 目前多數UNIX操作系統所帶的cc、gcc等編譯器好像并不支持 C99 的所有新特性,不過現在已經有足夠多的新特性普遍可用,因此有理由開始認真考慮在新的開發中采用 C99 特性,尤其是用在它們使得效率或清晰度本質上發生變化的那些地方(比如以內聯函數代替宏替換)。
  3. 編程規范的問題:一般較為正規的軟件公司都會有自己的一套完成的編程規范,那么你遵守就好;如果你是自己學習的話,可以選擇一個較為通用的規范,最好的方法就是看別人是怎么寫代碼的。
就不得不說說UNIX編程書籍。Stevens先生的《unix環境高級編程》是我竭力推薦的,也是我的案頭必備(如果對網絡編程有興趣的,可以學習一下Stevens先生的《UNIX網絡編程》兩卷,如果覺得還不過癮,可以再看看《TCP/IP詳解》三卷)。
  6.《計算機編程藝術》
  推薦理由:算法大師得嘔心瀝血之作。計劃出版五卷書,目前好像已出版3卷。對算法有興趣得可以研究一下。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
不卡毛片在线看| 亚洲xxx大片| 久久久免费精品视频| 欧美极品少妇xxxxⅹ裸体艺术| 日韩中文字幕在线| 国产一区av在线| 亚洲国产精品成人va在线观看| 亚洲欧美资源在线| 久久资源免费视频| 久久精品国产久精国产思思| 欧美激情第三页| 欧美极品少妇xxxxx| 成人av.网址在线网站| 久久久久久国产精品三级玉女聊斋| 欧美精品成人91久久久久久久| 亚洲国产一区自拍| 91丨九色丨国产在线| 亚洲人精选亚洲人成在线| 亚洲欧美日韩在线一区| 日韩av一区在线观看| 日韩有码在线视频| 欧美在线视频网| 亚洲精品之草原avav久久| 国产美女被下药99| 精品成人在线视频| 欧美日韩中文字幕在线| 久久成人这里只有精品| 97视频免费看| 北条麻妃一区二区在线观看| 国产精品wwwwww| 亚洲精品免费一区二区三区| 欧美高跟鞋交xxxxxhd| 久久亚洲精品小早川怜子66| 视频一区视频二区国产精品| 亚洲裸体xxxx| 91国产美女在线观看| 亚洲国产一区二区三区四区| 亚洲精品一二区| 国产精品久久久久久久久久小说| 亚洲毛片在线观看.| 91精品国产综合久久久久久久久| 在线观看不卡av| 欧美国产日韩一区二区三区| 国产精品久久久久7777婷婷| 国内精品久久久久久影视8| 日韩成人在线播放| 久久久精品一区二区三区| 久操成人在线视频| 国产小视频国产精品| 欧美刺激性大交免费视频| 亚洲无限乱码一二三四麻| 亚洲免费福利视频| 精品一区电影国产| 亚洲精品永久免费精品| 久久中国妇女中文字幕| 国语自产精品视频在线看一大j8| 一区二区三区黄色| 亚洲天堂日韩电影| 欧美日韩国产页| 国产一区二区三区18| 91sao在线观看国产| 久久免费少妇高潮久久精品99| 亚洲国产一区二区三区在线观看| 尤物精品国产第一福利三区| 欧美性生交大片免费| 亚洲xxxx在线| 97久久超碰福利国产精品…| 97国产suv精品一区二区62| 久久久久久久久久久91| 国产精品igao视频| 都市激情亚洲色图| 成人av资源在线播放| 国产精品jvid在线观看蜜臀| 在线丨暗呦小u女国产精品| 成人国产亚洲精品a区天堂华泰| 国产精品网红直播| 中文字幕最新精品| 日韩黄在线观看| 久久久久久久久久久久av| 亚洲欧美日韩精品| 精品亚洲一区二区| 亚洲国产成人精品久久久国产成人一区| 亚洲视频在线免费观看| 国产精品美女www| 日韩一区在线视频| 久久国产精品免费视频| 中文字幕亚洲欧美在线| 91高清免费视频| 欧美激情视频在线| 久久久成人的性感天堂| 成人黄色激情网| 欧美日韩中文在线| 国产做受高潮69| 精品美女永久免费视频| 中文字幕成人在线| 精品国产电影一区| 91在线视频成人| 中文字幕欧美专区| 欧美日韩成人黄色| 91亚洲精品在线| 欧美成人性生活| 久久久av亚洲男天堂| 大荫蒂欧美视频另类xxxx| 国产亚洲aⅴaaaaaa毛片| 亚洲一区二区中文字幕| 国产精品欧美激情| 久久精品久久精品亚洲人| 成人女保姆的销魂服务| 在线电影欧美日韩一区二区私密| 久久精品亚洲热| 久久久精品国产一区二区| 最近中文字幕2019免费| 久久综合国产精品台湾中文娱乐网| 亚洲无线码在线一区观看| 国产精品免费久久久久久| 日韩在线视频中文字幕| 一区二区三区四区在线观看视频| 成人免费福利在线| 国产精品大片wwwwww| 91在线免费观看网站| 亚洲欧美国产精品久久久久久久| 欧美日韩中文字幕在线视频| 在线日韩日本国产亚洲| 国产精品福利无圣光在线一区| 91精品国产91久久久久久吃药| 精品日韩美女的视频高清| 亚洲的天堂在线中文字幕| 一个色综合导航| 欧美成人激情视频免费观看| 奇米影视亚洲狠狠色| **欧美日韩vr在线| 久久精品91久久香蕉加勒比| 另类视频在线观看| 91亚洲精华国产精华| 欧美日韩亚洲一区二区三区| 亚洲娇小xxxx欧美娇小| 91香蕉国产在线观看| 欧美激情久久久久| zzjj国产精品一区二区| 欧美一级电影免费在线观看| 精品色蜜蜜精品视频在线观看| 欧美性少妇18aaaa视频| 欧美成在线观看| 亚洲美女在线观看| 日韩在线播放视频| 精品成人国产在线观看男人呻吟| 成人免费视频网| 欧美亚洲日本网站| 91久久国产精品91久久性色| 日韩在线中文字幕| 亚洲欧美日本伦理| 91视频九色网站| 欧美成人性生活| 亚洲系列中文字幕| 欧美整片在线观看| 国产欧美va欧美va香蕉在| 欧美色xxxx| 亚洲精品黄网在线观看| 国产精品久久久久久久久| 国产精品www网站| 成人国产精品免费视频| 一本色道久久综合亚洲精品小说| 成人在线免费观看视视频| 国产婷婷97碰碰久久人人蜜臀|