編程人常說「精通 C,你想幹啥就幹啥 」這個 C 是指 C++ 還是最原始的沒有類的 C ?


那些能用c想幹啥就幹啥的,功力都在c之外。


怎麼現在那麼多孩子把語言和工具都分不清?

C是C,C++是C++,只是C++是在C的基礎上發展而來,大部分情況下兼容C;

VC++不是語言,是MS開發的C++ IDE,如果你指的是MFC,那也只是個SDK。

國內很多教授都認為VC++就是C++,很多教材的作者也搞不清這兩者的區別,也怪不得這些孩子。

LZ問題所說的應該就是C語言,但這個「想幹啥就幹啥 」卻欠妥,因為也有很多不適合C語言的場合。


受邀題。人們發明各種各樣的編程語言不是閑著沒事幹,也不是單純為了好玩,而是因為解決不同類型的問題就是需要不同特色的編程語言。從這點上看,我絕對不認為有任何一門語言能做到讓你「精通了就想幹啥幹啥」。


C語言是為了寫操作系統而出現的,為了工程需要,遵循」KISS「設計原則,即」Keep it Simple Stupid",語法簡單明了,最著名的書,「C programming language」只有不到200頁,被稱為「C語言聖經」。C語言的「至簡」的性質,成就了它的流行。精通C,想幹啥就幹啥,那是因為,現階段所有流行的操作系統,都是C實現的,Windows下的API,Linux下的系統調用,都可以直接用C代碼去調用。

但是也不能片面的說只要學C就完事大吉,每種語言都有其存在的價值,比如Lisp,更接近數學思維,實現完整的閉包特性,因此可以很容易實現很複雜的演算法和業務邏輯;比如Java和C#,其強大的庫支持,以及設計範式,讓它們的開發效率非常高;比如python和ruby,黑客們的最愛,因為它們語法簡潔,而且沒有束縛,同時又有強大的庫支持。

其實說「精通C,想幹啥就幹啥」應該改成「精通一門編程語言,想幹啥就幹啥「,不管學多少編程語言,最好先精通一門。


C是C,C++是C++。請把它們看成是非常不同的兩個語言。

另外,所謂的「精通C,你想幹啥就幹啥」 就好比是:」學會走路,想去哪裡走哪裡「,屬於有道理但又沒道理的裝X的話。程序員就是苦命工種,干到老,學到老。C不是所有問題的答案,不是唯一的終極真理。不過,當然,精通C還是很有必要的……


一個圖靈完備的語言理論上都是「你想幹啥就幹啥」。


是指C語言,C語言這東西從底層到上層全能幹,當然了,效率有不同。

你換個語言試試?彙編不能搞上層,也不能移植,Java和C++都不適合搞底層(C++是在沒有C的情況下才適合寫底層,如果是二選一的話必然都還是選C)。

再擴大點說,理論上,凡是其他編程語言能做的,C都能做,因為大不了我用C語言把這種編程語言的編譯器寫出來嘛!我把操作系統寫出來嘛!

C語言我愛你!!


把stdio.h這種庫拿出去。您愛幹啥幹啥去吧。


我頂冰怨同學的答案,要分清楚什麼是編程語言,什麼是開發工具。「精通 C,你想幹啥就幹啥 」是指C語言,標準C語言,學好了標準C,向嵌入式方向可以發展C51,向數字電路方向可以發展Verilog,向軟體開發可以發展C++,Java,向網路開發可以發展PHP,C#,這些方向的編程語言都與一個共同點,語法特徵都是由標準C演變過來的,所以學了標準C,上述那些語言就比較容易上手。


精通一門語言和看完一本字典一樣,如果你不會造句,屁都沒用


對於類似的

「精通 C,你想幹啥就幹啥 」「學好C++,走遍天下都不怕」

這裡的關鍵不是C/C++,而是「精通」/「學好」二字。

C/C++作為幾乎全體程序員的入門語言,是最為廣泛應用的高級語言

C語言是眾多高級語言的"父親" 因而我們可以看到,我們正在使用的高級語言都或多或少有C語言的特性

可不要以為能滾瓜爛熟地背好C的語法就是精通C了

精通C是要學會thinking in C

「21學通C」純粹是扯淡

C/C++ 指針、面向對象、對象的演化、數據抽象、隱藏實現、初始化與清除、函數重載與預設參數、輸入輸出流介紹、常量、內聯函數、命名控制、引用和拷貝構造函數、運算符重載、動態對象創建、繼承和組合、多態和虛函數、模板和包容器類、多重繼承、異常處理和運行時類型識別······(截取自《thinking in C++》)

這些是在說是語法更是再說編程思想

程序員就是機器和人之間的翻譯家

問題很具體、語言很抽象

實踐很多樣、思維很發散

為了找到最好的演算法,必須精通語言的特點甚至是硬體的運作方式

「精通」可不是簡單的一個辭彙

真正優秀的程序員,因為精通C/C++

轉其它的語言

10分鐘就寫出hello world

完全上手也就是一天的時間

沒什麼好羨慕的,人家精通C/C++至少花了10年

要不然人家就是個早慧的天才


拜託!C++是語言,VC++是語言工具,兩個不同的概念,問題問的都糊裡糊塗的。


「精通 C,你想幹啥就幹啥」的意思,應該是:「精通 C 語言,用計算機表現或者控制任何東西」。

給你一台裸機,你還是啥都幹不了,所以這台計算機得有個操作系統,而且操作系統得給你開放了相關控制的介面。

恰恰是,由於C語言本身特質也好,歷史積累也好,主流操作系統內核(Unix,Linux,Windows)都是用C語言寫的。同時,C語言可用的庫也是最多的,所以,用C你可以:

1. 直接與操作系統打交道

2. 有很多庫可以用

而當寫一個有點用的程序,經常是:

1. 選定一個語言

2. 庫和框架

3. 與操作系統打交道

所以,用C你不用擔心第二點和第三點。其實,ruby,python,lua,java,Object-C 其底層都與C語言相關。寫一門語言或者一個庫和寫程序一樣,都會考慮到這些。

比如,寫了一門新的語言,但是這個語言缺少庫,仍然沒啥用處,一種方法就是,語言本身用C實現,然後再將C的庫封裝一下,或者加入對C的拓展,就可以用C中繁多的庫了。

回答你的問題:以上的 C語言 指的是 ANSI C。

PS: C語言雖然可以做很多事情,但是很多時候是不方便的。要不別的語言就沒有理由存在了。


有點像你在用彙編,但是C編譯器幫你完成了很多工作。在思想上,兩者具有相同的要求。


其實,精通什麼都行...


C只是一個語言,C++也是語言,字面意思理解就是C的加強版;而VC++是Visual Studio(可視化工作室)系列的一個,是微軟出的一個編譯平台,如果是VisualBasic就是VB,VisualC++就是VC++,意思就是可視化的基於C++語言的編譯平台 C或者C++只是個語言基礎,教會基本的語法和結構


其實 這句話的本意 是讓你踏實的學好一門語言。

對於他的誇大之處,不考慮


"Computer"的C還差不多。


精通C,意味著你差不多就是台計算機。能夠control。但是有幾個人敢說自己的水平接近機器。「精通」談何容易。


這個C指的是ANSI C,依據國際標準指定的C編程語言規範,面向過程,沒有類,多用於操作系統開發。而C++是另外一門編程語言(和C有一定聯繫),面向對象,有類,常用於遊戲開發等。

VC++是微軟的一款開發軟體,集成了編輯器,編譯器,彙編器,調試器,跟蹤器等工具,並不推薦使用。


推薦閱讀:

作為非計算機專業的學生,覺得 C 語言遠比其他語言易於上手,正常嗎?
怎樣理解C語言是才是代碼的精髓,可以讓你領略不一樣的世界這句話?(其實就是怎麼翻譯成人話-_-#
C語言C11為什麼選擇`thrd_create`這麼奇怪的命名?
C和Python我該先學什麼?
Linus Torvalds 開過哪些著名的嘴炮?

TAG:編程語言 | C編程語言 |