C語言介紹
C語言基本是每一個編程人員必學的1面語言,很好掌握,是理解編程的關鍵。很多編程語言基于其編寫或基于此語言的衍生品編寫。
C語言是人機交互的1個基礎語言之1,雖然是之1,單1般其實就是唯1。
偶爾用匯編
其他非C的我沒見過,理論上是存在的。沒有C之前大家用的,有了C以后估計就少了。
有了計算機操作基礎,可以學習編程了,推薦從C語言開始學習,使用這本書進行學習《C程序設計語言》,此書是C語言的作者編寫就知道是多么的權威了,同時此書有英文版本《C程序設計語言(英文版)》,建議都買了學習,畢竟作為計算機學生,英文不好是不行的,很多國外的先進的東西都是英文的。另外也有1遍習題解答,也同時買了。里面的題目都做1遍,編程水平不會差。如果想繼續提高C語言的水平,可以看看其他相干圖書,比如《C指針》等1堆。
參考圖書:C語言的圖書比較多,1般國外的都是精品,國內的基本就算了。1本書很難學好,多讀些圖書吧。下面也只是冰山1角。還有很多就不逐一羅列。基本鐺鐺4星以上的都可以買了看看。
參考視頻學習網站:
1 玩轉 C語言 基礎課堂
2 C語言/C++學習指南 (語法篇) 入門到精通(打算開發Windows看看,Linux的參考)。
3 C語言也能開發網站(高級課程,而且比較高級,長個見識看看)。
4 計算機專業的課程體系,里面有個C語言程序設計。
參考資料:
1 http://www.cprogramming.com/里有個c-tutorial。
2 高質量C++/C編程指南 林銳 博士
學的更好點的,可以參考github上的C項目代碼看看。比較出名的推薦幾個:
1 https://github.com/antirez/redis
2 https://github.com/nginx/nginx
可以上網搜索GCC: The Complete Reference等內容查看學習。
上面的內容,如果都學好了,基本算入門,您可以自己學習了,師父領進門,修行靠個人了。
C語言的靈魂-指針
指針
1個變量寄存1個變量的地址(A point is a variable that contains the address of a variable)
指針的指針
指針函數
函數指針
很難學,但是希望你學好!
很難學,但是希望你學好!
很難學,但是希望你學好!
如何檢驗學習效果?
神1樣的指針:
int *p;
1個指向整型數據的指針。
int **p;
1個指針的指針,它指向的指針指向1個整型數據。**p 是 int 類型,所以 *p 是int *類型,即*p是1個指向int的指針,所以p是1個指向int的指針的指針。
int *p[10];
1個有10個指針的數組,該指針指向整型數據。p[10] 的類型是 int *,所以 用type 替換 int *,也就是 type p[10],即p中每一個元素都是type類型。
int (*p)[10];
1個指向有10個整型數據數組的指針。()是為了當1個整體看待,所以用val替換(*p),上式變成int val[10],所以*p 相當于數組名(即數組的首地址),所以p是1個指向數組(該數組包括10個Int數字)的指針。
int * p(int);
就1個函數(不是函數指針),該函數有1個整型參數,返回值為1個指向整型的指針
int (*p[10])(int);
1個有10個指針的數組,該數組中的指針指向1個函數,該函數有1個整型參數并返回1個整型數。根據p[10]是1個函數指針,所以p中每一個元素都是1個函數指針。
int (*p)(int);
定義了1個參數為int,返回值為int的函數指針,函數指針名是p。如果初始化了 p , 則可以通過 p( int ) 調用函數。
代碼流程
全部流程要清楚
編碼
編譯
履行
打包
安裝
另外就是看開源項目源碼,是不是能夠完全看懂并修改。
比如Nginx,Redis等
在我們課程系列的操作系統有個GeekOS實驗,也能夠檢驗。
GeekOS是不錯的檢驗項目,強烈推薦在校學生仔細研究學習。
這個項目我在讀碩士時候做過,2周時間,只能看到項目2,1共7個,都做下來就很了不起了,可以做1個學期,漸漸做。里面有部份匯編代碼,匯編也學下。
工作中的實際使用情況
基本不用!
用到的基本是著名的,比如Nginx,Redis等。
自己修改代碼的情況不多
基本是C++或Java,或其他
不過也有很多公司需要根據本身的情況調劑某些開源項目代碼的,所以可以看看開源代碼,或說認真學習研究1個。在這類公司也有需求。
如果你是嵌入式等行業的就例外了。
總結
好好學,值得你好好學和你的付出。
個人覺得大學生怎樣花工夫在此語言上都不為過。
考研用/軟考用/很多高級語言的基礎/…...
只是為了工作的例外,你可以只學Java,Js等當簡單的碼農。
掌握了這個,理解其他的都容易些。
致敬:
C語言作者之1Dennis M.Ritchie(丹尼斯·里奇)
丹尼斯·里奇,C語言之父,UNIX之父。
丹尼斯·里奇與肯·湯普遜兩人發展了C語言,同時發展了Unix操作系統。
在電腦工業史上占有重要的席位。
歡迎加入程序員的世界,添物科技為您服務。