❶ c語言學習資源整理
C語言學習資源匯總
一、C語言入門課程
1.實驗樓一C語言入門教程
教程+在線開發環境的方式,教程文檔詳細的講解C語言基礎知識,在線開發環境和本地一樣,可以梁握隨時動手跟著教程操作,動手學習的方式非常適合入門初學者。
2.gitbook一一笨方法學C
內容較完整豐富,相當於一本書籍了,適合新手入門學習。
3.菜鳥教程一C 語言教程
純在線文字教程,講解的不是那麼詳細,不過簡單易懂,適合入門初學者學習,看完後可對C語言有個大概的認知。
4.幕課網--C語言入門
教程+"環境",講解的比較細致,也很簡單易懂,跟著教程可傻瓜式操作學習,適合入門新手。局渣盯
5.網易雲課堂一-C語言基礎入門
純視頻方式,每個視頻15分鍾左右,介紹的比較詳細,如果喜愛看視頻來學習的話,可以看看。
二、C語言實戰項目
免費的項目教程:
C語言製作2048;
C語言快速實現五子棋、鬥地主的發牌器;
C語言製作簡單計桐和算器;
用 C語言編寫自己的編程語言。
三、C語言筆記文章整理
學完基礎、做完項目之後,就會有各種問題,這個時候就需要學習筆記啦,或自己總結,或看別人的總結都可以。
1.C 語言中的指針和內存泄漏。
2.如何寫出優美的 C 代碼。
3.C語言的整型溢出問題,酷 殼 - CoolShell.cn。
4.易被遺忘的C/C++要點總結。
5.C/C++的mem函數和strcpy函數的區別和應用。
6.C語言的變數作用域及頭文件。
7.10個經典的C語言面試基礎演算法及代碼。
四、其他資源
再整理一些資源,零七碎八的,對於學習C語言的過程中會很有幫助的。
1.awesome-c(英文)、awesome-c-cn(中文版)
2.源碼閱讀--十個C開源項目。
3.一千行以下有哪些值得學習的小型開源項目? - 互聯網-知乎。
4.值得推薦的C/C++框架和庫。
5.C與 C++ 的真正區別在哪裡?
6.初學者的編程自學指南。
7.免費學習編程的10個好工具。
8.11款學習編程的好玩的瀏覽器游戲(譯)。
9.每個程序員都應該收藏的演算法復雜度速查表。
❷ c語言如何學習
相對於其他編程語言,C語言還是比較難的。初學者需要注意一下幾點:
一是學習順序
先從熟悉簡單的C語言語法開始入門,然後再循序漸進,學習C++語法,WIN32、MFC、QT、網路編程,資料庫、數據結構、演算法、COM、STL等。構建一個完整的C語言知識體系。這需要一個比較漫長的學習積累的過程。語法入門部分大概2-3個月,其他部分需要學習和工作中慢慢理解和消化了。
c11.jpg
二是學習方法
人的知識80%是通過眼睛獲取的,但是學習編程有所不同,除了看書、看視頻之外,關鍵是要勤動手,勤動腦。通過做大量的練習、項目實戰不斷積累代碼量。只有代碼量足夠多了,項目做的多了,才能算是真正學會了。項目能否完成,就是衡量是否學會的唯一標准。後期就是代碼的質量和優化問題了,這個只能在項目工作中慢慢積累經驗了。
c12.jpg
最後強調一點
很多人學不會編程是因為掉坑裡了。就是教程或者書上的知識點之間跨越太大,作為一個初學者很難自己摸索出來,前面的知識點沒有掌握,接著學習後面的知識,肯定是學不會了。目前絕大多數編程書籍和教程或多或少都有這樣的弊端。自學能力比較強的人可以通過各種方法,參考各種網上的資料自己解決。但是大多數自學能力不是很強的人,只能依賴老師、同學、同事或者朋友幫忙指導,或者報名培訓機構,老師指導完成了。
學習編程通常需要一些好的學習資料,包括紙質的書籍,視頻教程,課件,項目練習,代碼。零基礎入門的書籍推薦《明解C語言》、《C Primer Plus》,還有一本非常特別的匯編和C語言正向逆向結合的書編程達人內部教材《匯編、C語言基礎教程》也非常不錯,講解匯編和C語言的本質非常透徹,非常細致。視頻資料也是特別多了,各種視頻網站、論壇、自媒體都有,比如網易課堂、騰訊課堂、慕客網這些。還有一些論壇,比如CSDN、編程中國等。最重要的一點就是答疑服務,推薦愛達人的網站也很不錯,從零基礎入門到應用課程,配套的視頻、課件、代碼、項目、答疑服務都有,還可以兼職接單,學以致用。
❸ 學習C語言需要哪些軟體
相對於其他編程語言,C語言還是比較難的。初學者需要注意一下幾點:
一是學習順序
先從熟悉簡單的C語言語法開始入門,然後再循序漸進,學習C++語法,WIN32、MFC、QT、網路編程,資料庫、數據結構、演算法、COM、STL等。構建一個完整的C語言知識體系。這需要一個比較漫長的學習積累的過程。語法入門部分大概2-3個月,其他部分需要學習和工作中慢慢理解和消化了。
c11.jpg
二是學習方法
人的知識80%是通過眼睛獲取的,但是學習編程有所不同,除了看書、看視頻之外,關鍵是要勤動手,勤動腦。通過做大量的練習、項目實戰不斷積累代碼量。只有代碼量足夠多了,項目做的多了,才能算是真正學會了。項目能否完成,就是衡量是否學會的唯一標准。後期就是代碼的質量和優化問題了,這個只能在項目工作中慢慢積累經驗了。
c12.jpg
最後強調一點
很多人學不會編程是因為掉坑裡了。就是教程或者書上的知識點之間跨越太大,作為一個初學者很難自己摸索出來,前面的知識點沒有掌握,接著學習後面的知識,肯定是學不會了。目前絕大多數編程書籍和教程或多或少都有這樣的弊端。自學能力比較強的人可以通過各種方法,參考各種網上的資料自己解決。但是大多數自學能力不是很強的人,只能依賴老師、同學、同事或者朋友幫忙指導,或者報名培訓機構,老師指導完成了。
學習編程通常需要一些好的學習資料,包括紙質的書籍,視頻教程,課件,項目練習,代碼。零基礎入門的書籍推薦《明解C語言》、《C Primer Plus》,還有一本非常特別的匯編和C語言正向逆向結合的書編程達人內部教材《匯編、C語言基礎教程》也非常不錯,講解匯編和C語言的本質非常透徹,非常細致。視頻資料也是特別多了,各種視頻網站、論壇、自媒體都有,比如網易課堂、騰訊課堂、慕客網這些。還有一些論壇,比如CSDN、編程中國等。最重要的一點就是答疑服務,推薦愛達人的網站也很不錯,從零基礎入門到應用課程,配套的視頻、課件、代碼、項目、答疑服務都有,還可以兼職接單,學以致用。
❹ C語言怎麼學
淺談C語言學習方法
本人是一名windows程序寫作員,使用的語言是C語言.其他語言了解一點點,但並不擅長.可能對於初學者來說,首先就是選擇一門程序設計語言.當然,今天我將要說的不是這方面.每種語言都有它所擅長的領域與層面.當然對於其他非C語言我是一名門外汗,我也不會站在C語言的立場去談論其他任何一門語言.好了,在開始進入正題之前,我想談談個人對C的一些看法:
C語言是一種早期的計算機語言,最初誕生目的是為了提供一種基於UNIX系統的工作語言.但是,後來卻被越來越多的人發現它的優點與潛力.C本身比較接近底層,適合開發系統軟體甚至是操作系統.我個人也認為它是界於高級語言與匯編語言之間的中級語言.C語言是一門結構化語言(我認為主要是指它的控制結構如:if if-else while for等等).C程序設計上有提到"自頂向下,逐步深入".以函數為原子功能模塊.對於大型的程序來說模塊化是很重要的,有一句話說的很好"優質的程序首先就是便與人們之間的相互討論與交流,其次才是執行效率".當然我個人認為任何一名程序寫作者,都應該養成一種特定的思維方式,以程序的思維方式來思考程序的實現.前提就是要足夠的來了解計算機底層技術.要不我想就連學習都是很困難的,凡事都是一個思路的問題嘛.標準的來衡量,C應該算是高級語言陣營的一份子.可很多有C語言開發經驗的程序寫作者.通常親切的稱C為界於底級語言與高級語言之間的中級計算機語言.當然不是因為C比高級語言要差,之所以這么認為是因為C既具有高級語言的結構化與可理解性又具有低級語言的高效率.同時C的移植性也是非常不錯的,大家應該知道,越是接近硬體,接近底層的語言就越加的依賴硬體環境,也就是我們所說的設備相關性.C這一點做的是非常棒的.說了這些,在從另一個角度去分析C語言.當然每種語言都有它自身的優缺點,C也一樣.比如在現在高級語言與頂層技術的角度來看的話,C最大的缺陷就是Data與演算法的分離.舉一個例子: 對於一個擁有幾千行甚至上萬行Code的程序來說,如果修改Data,比如我在Structure中增加一個欄位,可能為此我的整個程序都要改動,這使得程序的可重用性大大降低.開發周期也大大的延長.但是在底層的角度來看這也正是C的優點.我為什麼要這么說呢?我個人認為在求解與實現一個小問題的時候,我們可以寫出一個通用的模塊處理不同的Data.當然比如某些經常用到的,基於數據結構的一些常用演算法我們可以寫出來在開發的時候我們可以直接把預先編寫的模塊插入到我們的程序中去,這不也是大大低了開發周期嗎?初學者完全可以根據自己的需求來編寫一個自定義庫.好了,說了這些,有些地方我理解錯了,還請各位指出來,交流是很重要的,前提是要把自己的心態放平.下面我將談論本問的重點,也就是如何來學習C語言,是給那些初學者讀的.
正題部分:
有人可能會說:學習還用你教啊,誰沒上過學啊.其實我今天要說的只是,站在一個過來人的角度,來分析與解釋學習C語言的過程中比較困難的地方.當然我個人也會對比較具體的問題進行解釋(個人看法).我一直在強調個人看法,我是想讓大家明白,對於同一個問題大家可能都很難達成統一的意見,希望批評的時候客氣點就好嘍!
初學者該看哪些書來入門:
在學習C語言之前,首先就要選擇一本教材,對於初學者,我個人並不建議去讀電子書籍,最好是買紙質書來學習.比如比較有名的"C程序設計"就很不錯,尤其是第二版.我也看過,比較適合中國人來初學.整本書都在全面系統的講解C的語法結構,構成C的語言元素包括:數據類型,支持的運算符,標識符(是由程序員按照命名規則起的名字,用於變數名,函數名,宏名等等),關鍵字(編譯系統用於實現C內部功能的詞,比如:轉向goto和中斷break等等)等.看完這本書你基本上可以寫一些簡單的小程序,當然是DOS下的程序.如果你想在進一步深入學習C的話,可以看"C陷阱與缺陷"這本書.寫這本書的作者是在Bell工作對C是非常精通的,應該算是大師級的人物了.如果你暫時不想深入C的話,也沒問題,因為此時你完全可以把C當作一種編程工具來使用,你要做的就是多寫Code來讓自己熟悉C語言.經驗是非常重要的,"經驗是檢驗真理的唯一方法".當然你不會紙上談兵,如果你有過多的開發經驗的話,就知道在紙上或最初的設想的Code拿到計算機上來實現,最終會發現有很多地方都是不合理的,之前是沒有辦法想像到的.在初學C的過程中,比如你會看"C程序設計"來初學C,當你學完每一章的時候要把習題來完成,這里就是考驗你學到的知識了,看看你應用能力怎麼樣?尤其是程序設計題目,比較有意思.哪裡不懂了.可以翻回去看書中的解釋.如果沒有解釋或你還是不明白,可以去問別人,與其他人交流. bbs,QQ或Google.直到你弄明白為止.當你把問題最終解決的時候,我敢打賭,此時你一定很興奮,或者是比較興奮.這個時候知識已經在你的大腦里了.
下面我為你推薦幾本不錯的關於C語言籍:
C編程規范
C語言大全第四版 (個人感覺不錯,裡面有提及C標准方面的東西)
C和指針
The C programming Language (經典著作)
如果你要看電子書的話,以上幾本書在Google上很容易就可以找到.
關於C語言的初步理解:
對於初學者,會有太多的疑問,原因是你的知識面太小.現在我為你解釋一些C相關的東西.目的是讓你能夠有一個大致清晰的方向,來給自己安排學習計劃.專業的來說,我們是或將是一名程序員,程序員當然就是要開發程序了.對於軟體開發方面我來解釋下術語:
C,C++,ASM,Basic,Java 這些是計算機語言.計算機語言很多,我就不多說了.
Visual C++,Visual Basic, Microsoft研發的開發環境,開發環境包括:編譯器,庫函數(每種C語言編譯器都支持標准庫,同時它們也會擴展自己的庫,所以很多比較以來庫函數實現的程序員,在轉向不同的開發環境的時候最初總是不使用的,會遇到很多問題),一些資源模板等等.Visual 就是可視的意思,後面的就是語言.Visual C++支持C與C++2種語言,是根據文件的擴展名來判斷採用哪種編譯內核.
什麼是"面向對象"與"面向過程"? 其實是2種完全不同的程序設計思想,C語言是面向過程語言,而C++是面向對象語言.在面向對象的語言中有"類(Class)"這個東西.C中沒有.對象是由類來派生的一個實例,相反類就象是一個模板.
什麼是SDK? SDK就是軟體開發工具包(Software Development Kit).指的范圍比較廣,通俗的說,凡是能夠與軟體開發過程占上邊的東西都屬於.比如:庫文件,參考資料,介面函數,當然語言也應該屬於.
DDK就是設備驅動程序開發工具包.
Turbo C: 這是一個比較精緻的C語言編譯器.
理論上來說任何一門語言都可以在任何一種操作系統上運行,前提是操作系統要支持.也就是我們所說的應用程序介面,比如Window API(Application Programming Interface),其實是Microsoft內部定義的介面函數用於實現一些Windows內部的功能.一些對象的描述術語,在不同平台上是不同的,比如:Windows下的"調用",經常被稱為"呼叫","返回"被稱為"傳回".
什麼是"演算法"? 你最初只需要知道演算法實際上就是對特定的Data進行運算的一段代碼而已.也可以認為在求解一道題目的時候,採取的方法與步驟的總稱.對於基本的C程序來說,實際上就是由Data與演算法來組成的.
什麼是"數據結構"? 如果要是系統的講解,還需要一本書"數據結構",簡單的說:是程序要處理的數據在內存中的存儲與組織的方式,分為:物理結構與邏輯結構.邏輯結構就是我們抽象化以後得到的大腦影象.
什麼是"函數庫"? 它們以文件的形式存儲,是預先定義好的函數的集合,我們的程序可以直接調用.當然前提是要包含它的頭文件(庫函數的原型聲明).這些函數是在靜態連接期間組成到.exe文件中去的.Windows又存在另一種庫,叫做動態連接庫(DLL).
GUI: 也就是"圖形用戶界面",就是我們在Windows上看到的,存在:菜單欄,滾動條與顯示區域的窗口.
GDI: 圖形設備介面,從程序寫作者的角度來看,其實GDI就是由上百個函數與數據形態和一些相關的數據結構所組成的.
學習C語言的全過程:
仔細想想,實際上學習C語言,最初是應該先學習C語言的基礎語法.也就是學習C語言的組成部分.一部分一部分的向下學.知識要一點一點的鞏固的.本人假設你學習C語言是看"C程序設計".我認為你應該先把C程序設計仔細的看一便,這樣你應該可以對整本書和C語言的整體組成結構有個大致的清晰了解.不要認為學習只是在看書,看一便就可以了.你應該學會記筆記,在記筆記的過程中,其實你就是在學習,從知識的分析,理解,歸納,到最後以自己的思維方式記下來,這整個過程就是把書中的知識抽象到你自己的腦袋裡.個人感覺學習效果非常好,不懂就問,要多多與人交流,要多思考,遇到問題自己先多想想,實在找不到問題出在哪,在去請教別人,不要有不懂的地方就直接去問別人,那樣對你沒太大的好處.其實要學會給自己安排適合自己的學習計劃,我大致來估計了一下,如果你每天能花4個小時安靜的,用心去學習的話,30天之內你應該可以掌握C語言了.其實在整個學習過程中你大多數時間都在看書,而不是面對電腦.在調試你的代碼之前,先在紙上把核心代碼大致寫出來,分析一下:程序的組成模塊(可以是一個函數或多個),由幾個函數來實現,介面的封裝.採用哪種數據結構更適合一些.關鍵在於演算法.在你的最終程序發布之前,最好把你的代碼行數減到最少.不要只想著把代碼寫多.過多的代碼對程序來說是負擔.你可以在Internet上下載一個文件(C語言經典例題.chm),裡面大致包含了上百個經典的例題.每一個例題都是C語言某部分的典型應用.花時間把這個文件中的所有例題代碼研究一下,最好能自己把代碼改善,以自己的方式來求解.以後你會發現你在寫一些應用程序的時候經常會有一些演算法.會涉及到我之前提到的例題.最後我認為你可以自己來寫C語言標准函數,比如strcpy(); strlen();strcat();最好不要過分依賴庫函數.
C語言學習的難點:
現在應該是已經講到一個重點的環節.很多網友都說學習C語言很難,我認為C中有些部分是比較復雜,難理解的.當然在你具有了豐富的開發經驗以後,這以不在是問題了.下面我個人會對我認為學習C的時候比較難學的地方進行我自己的闡述,如果哪裡不正確,還請各位指出:
指針的出現:
我想有很多初學者學習到指針那一章都感覺很難,下面我就以自己的想法來解釋下指針這個特殊的數據類型,
基本變數大家可能並不難理解,因為基本變數其內部存儲了同類型的常量,事實上指針也是變數,不過呢,這個變數和基本變數有點不一樣,那你又問了:是哪裡不一樣呢? 我告訴你,簡單的來理解其實普通的變數內部存儲了同類型的常量,而指針變數內部存儲的則是"同類型變數的首地址".這樣你能夠理解嗎,是很簡單的解釋,但不失本質.事實就是這樣的.如果你不理解"同類型變數的首地址"的話,我可以給你形象的來描述一下:
float Variable; //聲明一個單精度實型的變數
此時,編譯器已經給Variable分配了內存空間,結構如下:
__________
| |1001
|---------
| |1002
|---------
| |1003
|---------
| |1004
|---------
以上便是Variable的內存結構了,16位下的float佔用4個位元組,內存地址是線性編碼的,我們可以很容易的看出Variable的首地址就是他第一個單元的地址1001,好的,繼續向下看:
float *Pointer=&Variable; //聲明一個指向Variable的指針Pointer
_________
|1001 | 這是Pointer的內存結構
|_______|
我們的程序可以這樣來執行:
Variable=1.0;
直接給Variable賦值,我們稱為直接訪問.
也可以這樣執行:
*Pointer=1.0;
也可以通過指針變數來賦值,前面的*是間接運算符號,意思是求Pointer內部存儲地址所標識的內存單元.也就是Variable.此時,是賦值是通過間接訪問來實現的.可以這樣形象的描述:
________ (指向Variable) __________
|Pointer|------------------------------------>|Variable|
--------- ----------
以上應該是指針實現的基本解釋,很多優秀的程序寫作者都說指針是C語言中的精華,的確如此,很多優秀的程序寫作者寫程序都非常依賴指針,因為它很方便,實際上指針所訪問的對象是沒有限制的,他可以指向任何類型的變數,前提是只要我們知道內存地址.因此指針也並不安全,在開發網路程序的時候,盡量要少使用指針.下面我們在來看一下指針在數組中的使用.
數組中的指針:
簡單的來解釋下數組,數組結構在C中使用比較普遍,其實最常用的就是char 類型的數組,主要是用於字元串操作.實際上數組是"同類型變數的有限集合".我想這應該不難理解吧.數組在內存中佔用連續的內存單元(地址連續),來存儲數組中的每一個元素.數組是預先分配好指定長度的內存單元,供數組元素使用.它並不支持動態內存分配.在內存中想要唯一的確定數組,需要2個標識:入口地址(函數名)和結束標記('\0').有些語言並不向C語言這樣支持字元串結束標記,它們必須要另外聲明一個變數來標識尾元素的下標.那數組名其實就是這一組內存單元的首單元,他的地址就是整個數組的入口地址.此時應該明白了,數組名是一個指針,這樣理解沒有問題.不錯在具體操作的時候不允改變數組名的地址,也不符合實際要求.這樣就可以明白數組名是一個什麼 const Pointer(指針常量).我們可以這樣做:
int Array[10];
int *Pointer;
Pointer=Array;
for(i=0;i<10;++i)
Pointer==i;
以上代碼應該是沒問題吧,同類型的指針,完全可以勝任數組名的任務.一點問題沒有而且可以運行的很好.當然,我們可以進一步把代碼這樣來寫:
把
for(i=0;i<10;++i)
Pointer=i;
改成
for(i=0;i<10;++i,Pointer++)
*Pointer=i;
不好意思,我記不清了,指針的++運算是地址+1還是向後移動一個元素的位置,如果是地址+1的話,以上代碼在改成這樣:
for(i=0;i<10;++i,Pointer+sizeof(int))
*Pointer=i;
如果數組類型是char的話,那就更方便了,因為字元串存存在一個在尾元素之後的結束標記('\0'),下面給出一個簡單的代碼,應用char Pointer:
char * my_strcpy(char * dst, const char * src)
{
char * cp = dst;
while( *cp++ = *src++ ); // 注意運算符的優先順序與結合性
return( dst ); //返回新傳的指針
}
以上代碼實現字元傳Copy功能,代碼是不是很簡潔啊.如果不需要移動內存塊的話,我們完全可以通過交換指針(內存地址)來實現排序操作,其效率應該是很客觀的.補充一句:千萬要弄清楚,指針本身與指針所指向的變數不是一個單元.
❺ c語言使用什麼軟體,該如何使用
C語言作為一門古老的編程語言,應用范圍非常廣,至於編程的軟體的話,其實就非常多了,下面我簡單介紹幾個不錯的C語言編程軟體,感興趣的朋友可以自己嘗試一下:
Dev-C++這個是Windows環境下一個輕量級、免費的C/C++集成開發環境,自帶有TDM-GCC編譯器、GDB調試器,可以直接編譯運行C語言程序,輕快靈活,功能簡潔,支持代碼高顯亮,沒有自動語法提示和自動補全功能,對於初學者來說,非常鍛煉人,純手工編寫代碼,更能打好基礎:
VC++6.0
這個軟體的功能和Dev C++差不多,也是Windows環境下一個非常不錯的C/C++開發環境,在早期的學習中,經常會用到這個軟體,許多學校機房中都使用這個軟體教學,可以直接編輯運行C語言程序,功能比較簡單,沒有任何提示功能,都是手寫代碼,現在來說,使用不多了,但對於初學者來說,也是一個不錯的選擇:
CodeBlocks
相比較前面2個軟體,CodeBlocks的功能強大一些,開源、免費、跨平台,小巧靈活,支持代碼高亮、語法檢查、自動補全等功能,除此之外,還提供了許多現成的工程模板,可以快速創建控制台應用、Qt應用等,使用起來非常方便,也是一個非常不錯的C語言編程軟體:
VS Code
這是微軟開源、免費、跨平台的一個代碼編輯器,插件眾多,生態環境良好,配置GCC編譯器後,也可以直接編輯運行C語言程序(本身支持的編程語言也非常多),支持智能補全、語法提示、Git等功能,輕便靈活,使用起來非常不錯,也很好學習和掌握:
VS 2017
這是一個專業的C/C++開發環境,也是個人和公司使用最多的IDE,項目管理、團隊協作來說非常方便,集成的環境比較多,Python、VB、C#等,這個軟體都能很好的兼容,自動補全、語法檢查和提示功能這個軟體都支持,整個軟體比較大,運行起來電腦可能會比較卡,而且功能比較復雜,初學者來說,需要一段時間才能適應和基本掌握,但的確是一個值得學習和使用的IDE環境:
Vim
這也是一個非常經典的C語言編程環境,只不過在Linux環境下比較常用,免費、跨平台,插件擴展比較豐富,輕巧靈活,功能簡潔,安裝GCC編譯器後,也可以直接編譯運行C語言程序,對於在Linux環境下開發C來說,是一個非常不錯的選擇:
目前,就分享這6個不錯的C語言編程軟體吧,有Windows的,也有Linux的,對於初學者來說,完全可以滿足日常開發和使用,當然,你也可以使用其他軟體,像IDEA、Eclipse(安裝插件)等,也可以,適合自己就行,網上也有相關資料可供參考,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言。
這個有好多,我先來說說我用過的有哪些?
我在Windows上一開始用的是 win-TC,這是一個新手軟體。
他有了界面,能夠使用滑鼠,具有語法高亮,可以嵌入匯編等特點,對新手一些,拜託了不能用滑鼠的困難。
我給你看看它的樣子
我再來講一個: dev-C++
這個軟體也挺好的,是windows下一款開發c/c++的開發環境,使用gcc為編譯器,遵循標准,功能比較強大,語法高亮,可以進行單步調試(這對排除錯誤很重要),進行斷點設置等功能,遵循C標准,是一款很強大的開發工具。
我來給你看看它的樣子
再來最有一個,他就是 VC++
微軟的產品,編譯器,鏈接器,運行,調試等功能於一體的強大開發工具,特點是功能十分強大,對於新手來說需要一段時間去摸索.
你自己考慮用哪個吧!
祝願你c語言學的越來越好!
C語言只是一門計算機編程語言,具體使用什麼軟體,你應該指的是要是用什麼樣的集成開發環境(IDE)去編譯。因為編輯C語言,可以說只要是能打字的就可以,記事本都可以,但是編譯的常見的有Visual Studio,GNU gcc等一般的編譯工具,但這僅限上層應用工具編譯的C語言代碼,也僅供上層應用使用,在嵌入式中最常用的是Keil,IAR這兩款IDE,也有部分使用eclipse,Qt Creator。具體看MCU支持的開發環境,我接觸過的有Visual C++,Visual studio,Keil,IAR,Atmel Studio,eclipse,
Simplicity Studio,ST Visual Develop,這些都是C語言的編程工具,使用的編譯交叉工具。有些用來編寫C語言的,我用過記事本,notepad++,Vim,sourceinsight,sublime等等。
我是Java軟體工程師,用專業角度分享干貨。在這里推薦三款軟體,足以滿足你學C語言的需求。
VC6.0是大部分科班出身的第一款編程軟體。本人軟體工程專業,大一就是使用這款軟體入門C語言,當然這款軟體也可以用來學習c加加。
既然是學院派軟體,那自然有教科書選擇它作為編程C語言入門的原因,簡朴的界面,容易上手的操作方式。
缺點是Windows10安裝有點麻煩,Windows7及以下可以兼容,而且官網也不對此軟體進行維護了。
升級版VC,Visual Studio如果打算學C語言並且以後成為你謀生的工具,在Windows系統里首推VS,這款軟體不是免費的但是有社區版,當然仔細找找可以弄到破解版本也不是難事。
VS是非常強大的編譯軟體,不僅僅可以寫C語言以及其他帶c的語言,還可以寫Java等主流語言。個人用過2010版本寫c加加,確實是不錯的工具。
Linux系統必備,Vim以上兩種是Windows用戶必備的C語言學習軟體,如果你想在Linux里掌握更加純粹的編程方式,那麼可以用Vim,這是簡單而又經典的C語言編譯工具。
當然它與前兩款有所不同,寫完以後沒有按鈕給你點擊運行,你必須在Linux的命令行上編譯運行,這對你掌握C語言的原理會有更好的幫助,順便還能把Linux知識掌握一番,一箭雙雕。
C語言使用的軟體可以分為兩種,一種是為懶人設計的可視化編輯工具:IDE,一種是」心中有劍「的無可視化編輯工具:文本。下面我來詳細說說。
一、C語言可視化編程工具IDEIDE,全稱叫做「Integrated Development Enviroment」(此處我擦把汗,還好英文沒還給老師),中文名叫「集成開發環境」,關鍵字是「集成」。C語言IDE集成了C程序文件打開、保存、編譯、運行、調試、工具等各種功能,所以叫做集成開發環境。
目前有很多種IDE,比較著名的有Visual Studio、Eclipse CDT、Dev-C++等,根據每人不同的愛好去選擇。下面我大概說說Dev-C++主要功能。
1、新建一個C程序文件
開始編寫C程序代碼了,第一步當然是新建一個C程序代碼了,在菜單「File」下找到「New」即可:
可以單獨新建一個C程序代碼文件,也可以新建一個項目。順便說下,在「File」菜單下,還有諸多的其他功能,如打開已有的C語言程序代碼、保存當前的C程序代碼等,充分體現了IDE的「集成」概念。
2、編譯運行一個C程序文件
寫完一個C語言程序代碼後,可以在「Execute」菜單下找到「Compile」和「Run」,也就是編譯和運行的意思。
菜單「Execute」下的功能也是十分的豐富,有單獨的編譯、運行步驟,也有編譯與運行的集成步驟,還有重新編譯、C語言代碼語法檢查、參數設置、清空當前項目等諸多實用功能。
對於C語言初學者來說,Dev-C++是一個很不錯的IDE編程環境。
二、C語言不可視化編程環境很多C語言編程高手從來不用IDE,你跟他說IDE,他會一臉茫然「那是個啥東西?」不少程序員編程直接打開文本文件,在文本文件上寫好C語言程序代碼,然後GCC編譯,結束!這就是採用不可視化編程環境。
例如上面的那段C語言代碼就寫在一個文本文件里,程序員靠著眼力看下程序沒有什麼語法錯誤,然後直接GCC編譯C程序代碼文件,如下:
上圖是使用GCC編譯時使用的一些編譯參數。可以看到相比較於IDE的一鍵式編譯,手動編譯需要自己指定編譯頭文件目錄、編譯C語言函數庫路徑等,比較麻煩。不過這也是手動編譯的魅力所在,就是其樂無窮!
編譯完了之後會生成一個C程序可執行文件,直接運行這個可執行文件即可。
使用C語言編寫程序,有兩種方式:一種是可視化編程環境,也就是我們常說的IDE(集成開發環境),一種是非可視化編程環境,純手工活兒。至於哪一種更好因人而異,希望能幫助你找到適合自己的編程開發環境!
老話說:欲先善其事必先利其器,所以說對於學習一種程序語言,選擇一個良好的工具是至關重要的!選擇工具之前,首先對語言得有個起碼的認識:
C語言的顯著特點C語言是一種計算機程序設計語言。它既具有高級語言的特點,又具有匯編語言的特點。它可以作為工作系統設計語言,編寫系統應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬體的應用程序。C語言的文件是由數據序列組成,可以構成二進制文件或文本文件。
常用的軟體有一般常用IDE(集成開發環境)的有Microsoft Visual C++,Code::Blocks,Dev-C++,Watcom C++ ,Borland C++ Builder,Borland C++,GNU DJGPP C++ ,High C,Lccwin32 C Compiler 3.1,Turbo C,C-Free,win-tc 等等
對於新手小白來說可以選擇Microsoft Visual C++,因為其特點是:界面友好,功能強大,尤其是調試也很方便。
安裝的方法:(以下是網路安裝經驗,僅供參考)https://jingyan..com/article/4ae03de32997a63eff9e6b33.html另外推薦幾個視頻學習網站
網易雲課堂;騰訊課堂;慕課網等
***希望對您有幫助,有不同想法,歡迎在下方評論留言!!! 碼上有理友聚在這等著你
推薦VS2017
1、安裝VS2017 IDE軟體,不多說,安裝guide一步步安裝即可。
2、選擇File-New-Project,選擇Visual C++-general-Empty Project新建一個C++工程。
3、在右側的Resource files 右擊Add-New Item選擇C++ File(.cpp)
4、書生意氣風發的寫入Hello world
代碼如下:
#include 「stdio.h」
#include
Int main()
{
printf("Hello World!」);
system(「pause」);
return 0;
}
學c語言難道不是應該找學習方法嗎?找APP是不是方向錯了,
就算有課程的APP大多都是收費的,不如網上搜集點學習資料,找別人做好的開源代碼,學習別人的思想
學習編程最重要的是自己敲代碼
推薦一款windows和linux下通用的開放源碼的全功能c/c++集成開發環境:code::blocks
這是linux下的界面。
windows版可以漢化。
也可以使用Turbo c 3.0
❻ c語言如何學習
談及C語言,我想凡是學過它的朋友都有這樣一種感覺,那就是「讓我歡喜讓我憂。」歡喜的是,C語言功能非常強大、應用廣泛,一旦掌握了後,你就可以理直氣壯地對他人說「我是電腦高手!」,而且以後若是再自學其他語言就顯得輕而易舉了。憂慮的是,C語言猶如「少林武功」一般博大精深,太難學了。其實就筆者認為C語言並非是「difficult(困難)」的,只要你能理清思路,掌握它的精髓,那麼自學C語言是一件非常容易且又其樂無窮的事。今天本人就與大家一起談談如何學習C語言。
學習C語言必須從以下四點入手,也就是說,只要你能掌握這四點的內容,那麼基本上就大功告成了。
1、多看代碼 在有一定基礎以後一定要多看別人的代碼。 注意代碼中的演算法和數據結構。
畢竟學C之後的關口就是演算法和數據結構。提到數據結構,指針是其中重要的一環,絕大多數的數據結構是建立在指針之上的,如鏈表、隊列、樹、圖等等,所以只有學好指針才能真正學好C。別的方面也要關注一下,諸如變數的命名、庫函數的用法等等。有些庫函數是經常用到的。對於這些函數的用法就要牢牢記住。
2、要自己動手 編程序是個實乾的活,光說不練不行。剛開始學的時候可以多練習書上的習題。 對於自己不明白的地方,自己編個小程序實驗一下是最好的方法,能給自己留下深刻的印象。 自己動手的過程中要不斷糾正自己不好的編程習慣和認識錯誤。有一定的基礎以後可以嘗試編一點小游戲,文曲星之類的電子詞典上小游戲很多,照著編作為練習。基礎很扎實的時候,可以編一些關於數據結構方面的東西,諸如最經典的學生管理系統。之後.....學匯編、硬體知識。
3、選擇一個好的編譯器 VS2010以上版本
4、關於養成良好的編程習慣 基本上每本C教材上都要提到。作為新手這條一定要時時遵守。具體方面:
(1) 在比較復雜的代碼後面要有注釋。 如果光溜溜一堆代碼,別人就不可能看懂你的代碼,而且也不利於查找錯誤。
(2)注意語句的嵌套不能過長,一般來說,一段代碼里Tab要少於8個。
簡單說就是語句最多8個嵌套。 對於新手來說,這個標准還要下降。有一個好習慣是,把主函數盡量寫簡短。經常看到別人的代碼是主函數只有幾行,幾個函數調用,而定義全在主函數外部。這樣一是減少了主函數內部的嵌套,二是比較精簡,容易讀懂。
(3)注意語句的選擇。並不是分支語句就用if循環就用while、for。在適當的情況下switch和do while語句也是要用的。
❼ C語言入門怎麼自學 需要哪些資料
參考我的自學路線:
0.選定了C就別放棄。入門C可能需要一個多月的連續學習時間,但其他聽上去更「厲害」的編程語言會花費更長的時間,並且它們需要有C的基礎才能深入學習。
1.一台筆記本或平板,不推薦在手機上編程。
2.如果是windows操作系統,下載安裝mingw,在命令行下熟悉了「編輯—編譯—鏈接—執行」這個基本流程之後,就可以嘗試VS2017 community或者Code::Blocks或者其他任何C/C++的集成開發環境。
想學好就不要直接用IDE!在從命令行轉到IDE之前,你甚至可以花半個小時的時間熟悉一下Makefile,不學這個也沒事。
3.一本《C Primer Plus》實體書,簡單詳細,入門經典。不推薦看電子版,傷眼睛。
4.一支筆,如果不想在書上記筆記,則你還需要一本筆記本。
5.最重要的:受得了枯燥。知識點不弄懂不跳過。看書的時候不做一些不相乾的事:看電影,聊天,玩游戲……
我在過去的四個月里看完了《C Primer Plus》和《C++ Primer》,為了學好編程徹底放棄了玩游戲、聽音樂(一聽歌就會跟著唱,沒辦法認真學習)。
說實話,完整地看完第一遍是一個很痛苦的過程,不過現在再復習起來,最多也就是兩天一遍。每次復習都能鞏固新知識。
❽ c語言編程怎樣入門
相對於其他編程語言,C語言還是比較難的。初學者需要注意一下幾點:
一是學習順序
先從熟悉簡單的C語言語法開始入門,然後再循序漸進,學習C++語法,WIN32、MFC、QT、網路編程,資料庫、數據結構、演算法、COM、STL等。構建一個完整的C語言知識體系。這需要一個比較漫長的學習積累的過程。語法入門部分大概2-3個月,其他部分需要學習和工作中慢慢理解和消化了。
二是學習方法
人的知識80%是通過眼睛獲取的,但是學習編程有所不同,除了看書、看視頻之外,關鍵是要勤動手,勤動腦。通過做大量的練習、項目實戰不斷積累代碼量。只有代碼量足夠多了,項目做的多了,才能算是真正學會了。項目能否完成,就是衡量是否學會的唯一標准。後期就是代碼的質量和優化問題了,這個只能在項目工作中慢慢積累經驗了。
最後強調一點,很多人學不會編程是因為掉坑裡了。就是教程或者書上的知識點之間跨越太大,作為一個初學者很難自己摸索出來,前面的知識點沒有掌握,接著學習後面的知識,肯定是學不會了。目前絕大多數編程書籍和教程或多或少都有這樣的弊端。自學能力比較強的人可以通過各種方法,參考各種網上的資料自己解決。但是大多數自學能力不是很強的人,只能依賴老師、同學、同事或者朋友幫忙指導,或者報名培訓機構,老師指導完成了。學習編程通常需要一些好的學習資料,包括紙質的書籍,視頻教程,課件,項目練習,代碼。零基礎入門的書籍推薦《明解C語言》、《C Primer Plus》,還有一本非常特別的匯編和C語言正向逆向結合的書編程達人內部教材《匯編、C語言基礎教程》也非常不錯,講解匯編和C語言的本質非常透徹,非常細致。視頻資料也是特別多了,各種視頻網站、論壇、自媒體都有,比如網易課堂、騰訊課堂、慕客網這些。還有一些論壇,比如CSDN、編程中國等。最重要的一點就是答疑服務,推薦愛達人的網站也很不錯,從零基礎入門到應用課程,配套的視頻、課件、代碼、項目、答疑服務都有,還可以兼職接單,學以致用。