青蛙跳臺(tái)階問(wèn)題c語(yǔ)言 C語(yǔ)言能干什么?
C語(yǔ)言能干什么?我在C上工作了六年,我覺(jué)得這個(gè)領(lǐng)域的需求還是很大的第一,嵌入式設(shè)備:幾乎所有的硬件設(shè)備都離不開(kāi)C,手機(jī)和Android設(shè)備都是Linux內(nèi)核,純C,硬件都是驅(qū)動(dòng)的,都是C,單片機(jī),數(shù)據(jù)
C語(yǔ)言能干什么?
我在C上工作了六年,我覺(jué)得這個(gè)領(lǐng)域的需求還是很大的
第一,嵌入式設(shè)備:幾乎所有的硬件設(shè)備都離不開(kāi)C,手機(jī)和Android設(shè)備都是Linux內(nèi)核,純C,硬件都是驅(qū)動(dòng)的,都是C,單片機(jī),數(shù)據(jù)機(jī)。
第二,網(wǎng)絡(luò)設(shè)備:各種網(wǎng)絡(luò)設(shè)備、光纖設(shè)備、交換機(jī)、防火墻、小型家庭路由器、TCP/IP協(xié)議都是用C語(yǔ)言編寫(xiě)的,C語(yǔ)言的需求和網(wǎng)絡(luò)的發(fā)展空間一樣大。
第三,服務(wù)器端:大部分服務(wù)器端程序都是C,精通nginx和squid,可以使公司上市,如Netshop技術(shù)。云服務(wù)離不開(kāi)C。亞馬遜,業(yè)界最強(qiáng)大的云,不能靠買(mǎi)書(shū)來(lái)做這么多。還有流行的大數(shù)據(jù)、IPv6等,涉及的業(yè)務(wù)非常廣泛。很多工具都是用C寫(xiě)的,比如PHP,python…
但是C不是那么簡(jiǎn)單,不僅僅是語(yǔ)法,比如Linux驅(qū)動(dòng)程序,你應(yīng)該熟悉內(nèi)核架構(gòu),并且有一些硬件知識(shí)。C有很多開(kāi)源代碼要看。歡迎加入
一本適合初學(xué)者自學(xué)的書(shū)。由斯蒂芬·普拉塔(Stephen prata)執(zhí)筆、蔣佑翻譯的外國(guó)人所寫(xiě)的書(shū),大部分都能被智商正常的人理解。每個(gè)知識(shí)點(diǎn)都非常詳細(xì),示例分析也很到位。其特點(diǎn)是在每一章的結(jié)尾都會(huì)有復(fù)習(xí)問(wèn)題和編程練習(xí)。在每章的最后是作者的總結(jié)。這本書(shū)完全是從0個(gè)基本的人的角度來(lái)寫(xiě)的,不會(huì)被任何初學(xué)者蒙蔽
C語(yǔ)言有很多要點(diǎn)。根據(jù)以往的開(kāi)發(fā)經(jīng)驗(yàn),可以總結(jié)如下:
1、數(shù)學(xué)計(jì)算:
char、int、long int、float、double及相關(guān)無(wú)符號(hào)類(lèi)型,以及它們?cè)谟?jì)算中的轉(zhuǎn)換。
例如,如果輸入是double,并且復(fù)雜計(jì)算后要求結(jié)果是long int,則必須注意數(shù)學(xué)中某些函數(shù)的用法。H頭文件。如果你粗心,你會(huì)有很大的計(jì)算誤差。
2. 內(nèi)存管理和溢出
漏洞最多的地方。Malloc、alloc、new用于分配內(nèi)存空間,free或delete已用完。在幾十KB的代碼中,你看不到它。在大規(guī)模的軟件開(kāi)發(fā)中,使用不當(dāng)會(huì)導(dǎo)致崩潰。
數(shù)組定義小,超出界限;子程序參數(shù)傳遞錯(cuò)誤等,將使您在調(diào)試中首先崩潰。
3. 文件操作/struct/Union/pointer操作,傳輸
各種類(lèi)型的文件,字符/二進(jìn)制/結(jié)構(gòu)和結(jié)構(gòu)數(shù)組文件存儲(chǔ)/增加/減少/打開(kāi)。指針在子程序中的應(yīng)用。
4,圖形操作
繪制幾何圖形;填充/背景/前景/透明/顯示內(nèi)存直接訪問(wèn)/字符放大/字體等
5,通信和外部可執(zhí)行文件
串行/并行/TCP/IP協(xié)議/SPI/SMBus。高端內(nèi)存/Io地址操作。Excel外部exe執(zhí)行。按鍵/鼠標(biāo)控制。
以上是關(guān)鍵點(diǎn)。
不要把重點(diǎn)放在if/else/for/while/do/switch/break/goto這些幼兒園孩子能理解的作業(yè)句子上。如果必須的話,估計(jì)10年后,你還是會(huì)站著不動(dòng),其他人都是5萬(wàn),你得努力爭(zhēng)取5萬(wàn)。