[爆卦]C語言 自學 PTT是什麼?優點缺點精華區懶人包

為什麼這篇C語言 自學 PTT鄉民發文收入到精華區:因為在C語言 自學 PTT這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者t28650636 (baboon)看板C_and_CPP標題[問題] 新手自學C時間Sun A...


各位版友好,我是今年要升高中的國中生
完完全全沒碰過程式
因為以前就對程式遊戲之類怎麼做的很有興趣,也自己從網上下載很多免費程式來試。
以前學校電腦裡有的程式都會打開來研究一下XD。
所以最近想來自學C

因為從來沒碰過
也不知道該買哪本書來自學
所以就先從youtube上的影片來學
https://www.youtube.com/playlist?list=PLY_qIufNHc293YnIjVeEwNDuqGo8y2Emx
到數值交換那裡都聽得懂
也有心想要繼續學下去
應該說熱血沸騰XD

我想問像我這個年紀學這個好嗎?
有什麼需要注意的地方嗎?
以後的路自己也還沒想清楚可是知道自己對電腦程式有極大的興趣。
還有想問各位大大以後要怎麼去規劃升學
麻煩過來人給些建議
謝謝~

手機排版請見諒

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.14.122.31
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1491113362.A.6EB.html
steve1012: 可以去比一下競賽 學演算法 以後有點優勢 尤其你想出 04/02 14:11
steve1012: 國的話xD 04/02 14:11
bben900911: 很好啊,這年紀最有時間 04/02 14:15
ken1325: 先把英文學好 04/02 14:19
descent: 好用功 04/02 14:23
chuegou: 有其他語言經驗嗎? 04/02 14:25
Bencrie: 同四樓,總之你英文不能差。 04/02 15:02
Bencrie: 想寫 game 對 CG 有興趣的話,高三矩陣、座標轉換是基礎 04/02 15:04
Bencrie: 入門年紀不是問題,也是有小學生就在學寫程式的 04/02 15:11
steve1012: 英文一邊學吧 等英文學好不知道要等到何時xD 加油! 04/02 15:11
hn12404988: 英文,相信我,一狗票的工程師後悔英文沒學好 04/02 15:14
physheepy: 先學python跟英文 04/02 15:29
physheepy: 理由是:先學python你很快就可以實作出小作品 而你學C的 04/02 15:30
physheepy: 朋友可能還在linking error , segmentation fault 04/02 15:31
t28650636: 我有很認真在學英文 在校成績都不錯。 04/02 15:40
grayStone: Python一起學 04/02 17:29
s06i06: 你這個年紀別先學python,由奢入儉難,最好從c開始 04/02 18:20
edisonhello: 同一樓 如果想順便升學就去學學演算法吧 我個人也是 04/02 19:21
edisonhello: 走這條路 至於學不學python我是覺得等到基本的C(++) 04/02 19:21
edisonhello: 學完之後要轉什麼語言都不算太難 也比較有點基礎 如 04/02 19:21
edisonhello: 果有問題歡迎問我 加油w 04/02 19:21
ACMANIAC: 我認識一狗票高中學 C++ 或 Python 的到大學學C沒問題啊 04/02 19:25
ACMANIAC: 反而因為在大學一定會學到 C,那先學了以後上課也是浪費 04/02 19:26
ACMANIAC: 時間在學已經會的東西(除非能抵免,哪間學校有嗎?) 04/02 19:26
ACMANIAC: 光是以這樣的觀點來看,先學 Python 是很賺的。這還不說 04/02 19:28
ACMANIAC: 實用性也是 Python 大勝。除非你很早就有強烈目的性想學 04/02 19:28
ACMANIAC: 搞 Linux kernel 之類的,你才有可能先學 C > others 04/02 19:29
ACMANIAC: 現在是 2017,有很高比例的 CS 人只在大學前兩年寫 C, 04/02 19:31
ACMANIAC: 之後就再也沒碰過了。 04/02 19:31
ACMANIAC: 就算你真的想先學資料結構和演算法,也可以 Google 04/02 19:34
ACMANIAC: "Python algorithm" 第一個連結就是個詳盡的教材。 04/02 19:34
grayStone: 有嚴格效能要求或是要搞底層就會學C/C++ 04/02 19:38
grayStone: Python起手 會用numpy就跑得非常快了 04/02 19:38
grayStone: gui,web,machine learning 04/02 19:38
grayStone: Python都沒問題 04/02 19:38
SeamusBerloz: 從 c 這個中階語言入手,以後要往高階或低階語言都 04/02 20:13
SeamusBerloz: 方便,避免高的低不下去,低的高不上去。另外,英 04/02 20:13
SeamusBerloz: 文單字與詞性,片語,語法等多背一點,對你程式敘述 04/02 20:13
SeamusBerloz: 名稱命名非常有幫助。 04/02 20:13
physheepy: 個人認為學程式最重要的是觀念而非語法 學python就像小 04/02 20:43
physheepy: 學生學自然科學 再學其他語言就像中學生學物理化學 04/02 20:44
physheepy: 學python有助於其他語言的學習而非有礙 04/02 20:46
physheepy: 會建議從python開始是因為幾種最常用到的程式觀念 04/02 20:46
physheepy: 在學python的最初階段就可以學到 譬如 class iterator 04/02 20:47
physheepy: 而c通常需從資料型態開始學習 不懂資料型態不是什麼大 04/02 20:48
physheepy: 事 但不懂class iterator 可以說根本不會寫程式 04/02 20:48
physheepy: 建議先學python把骨幹架構好 再去鑽研c c++ 04/02 20:50
physheepy: 另外如果真的很想學c 我會建議直接學c++ 再倒回去學c 04/02 20:51
Ommm5566: python 先懂最基本的流程控制 04/02 20:52
loveflames: 為啥非要學C++再學C 04/02 20:55
loveflames: 然後說不懂class叫不會寫程式,讓人呵呵,你眼中寫底 04/02 21:00
loveflames: 層系統的不是RD就對了 04/02 21:00
Ommm5566: 不要先學C++ 因為C++是語法的宇集合 還沒學到程式你會 04/02 21:28
Ommm5566: 先被語法淹死 04/02 21:28
Ommm5566: 事實上程式的基本就只是流程控制 最要先懂的就只是if 04/02 21:29
Ommm5566: 變數 迴圈 有這個基本概念 再去想物件 04/02 21:30
Ommm5566: 或是學指標 一次學一種 要嘛記憶體要嘛OO 擇一 04/02 21:30
Ommm5566: 從python入手就是先懂流程控制和物件 04/02 21:32
Ommm5566: 從C入手就是先懂流程控制和記憶體管理 04/02 21:32
loveflames: python易學,C更能理解計算機本質,先學哪個都可以 04/02 21:35
ACMANIAC: 呃,底層系統的 "RD" 不懂 class 嗎?嗯... 04/02 21:40
loveflames: OO又不是一切,為啥非得學OO才叫會寫程式 04/02 22:13
loveflames: 例如寫組語的幹嘛要懂OO 04/02 22:13
ko27tye: 呃 但我相信寫組語的RD以前肯定學過OO 04/02 22:28
EdisonX: 啊!我轉戰python還是很不習慣啊! 04/02 22:45
EdisonX: 現在回來寫cpp反而常漏逗號 04/02 22:46
james732: 我覺得學C很好啊,能精通C其實也不容易 04/02 22:51
steve1012: 學Python 很快 有心玩一下競賽的話一定是c/c++ 04/02 23:08
steve1012: 有那個底學Python 快的很 根本沒差 04/02 23:08
grayStone: 樓上戰的兩個繼續發展都逃不掉 04/02 23:25
grayStone: 工科老師一堆一看就知道只會C 04/02 23:25
grayStone: 然後把C捧的跟神一樣 04/02 23:25
grayStone: 以年紀來說 04/02 23:25
grayStone: 從C起手還沒做出任何有意義的東西以前就先放棄了 04/02 23:25
grayStone: 先Python 04/02 23:25
grayStone: 以後再給那些教授教C吧 04/02 23:25
steve1012: 看你有沒有想去比一下競賽吧 沒有的話學啥我覺得可能 04/03 00:51
steve1012: 都沒差 04/03 00:51
jiunnyow: 就依照你個人喜好吧,先學哪種語言並沒有標準答案。只 04/03 08:25
jiunnyow: 有學習曲線的問題。 04/03 08:25
asdrtyjkl925: 加油喔 如果遇到困難的地方可以找我討論討論 04/03 09:57
Feis: 如果有想做的東西,還是建議直接使用最接近的工具 (語言) 04/03 14:05
Feis: 這影片錄製的對象是要從 C 一路學到 C++. 不適合一般人 04/03 14:07
Feis: 以遊戲設計為例,好 Unity 不完看看嗎? #MadWithUnity 04/03 14:07
MOONRAKER: javascript啦 很實用喔 還可以跟C一起學 04/03 14:29
MOONRAKER: (怎麼好像有「一傅眾咻」的感覺?) 04/03 14:30
pttworld: 學寫pseudo code,寫的好任何語言可套用。 04/03 14:49
s25g5d4: 話說我前天想寫個程式解析幾十 MB 的 csv, 結果打開編輯 04/03 21:51
s25g5d4: 器敲完 mmap 我就放棄回去寫 node.js 了... 04/03 21:52
hylkevin: 那可能是因為你對C不熟 我寫csv parser沒你這問題 04/04 04:17
ACMANIAC: 下一篇 "我前天想寫個 Windows 應用程式..." 04/04 05:02
s25g5d4: 我前天想寫個 windows 應用程式,打開 Qt 敲完 QApplicat 04/04 09:18
s25g5d4: ion 我就放棄回去寫 .NET C# 了 04/04 09:18
energyy1104: 我覺得從C開始學也沒什麼不好啊 04/04 09:39
energyy1104: 有些大學教授教那麼爛 到時候不也是要自學 04/04 09:40
energyy1104: 更別提有些學校C只排一學期 最好18週 還要考試還要 04/04 09:41
energyy1104: 放假教的完 04/04 09:41
Ommm5566: 我是相反 mfc用到火大 又勉為其難回去用Qt XDDD 04/04 09:44
Ommm5566: 其實是看每個人接受語言的哪種缺點 就用那種 04/04 09:45
s25g5d4: 誠如樓上所言,我用 node.js 寫一寫發現不慢就龜回去了 04/04 09:57
s25g5d4: 更別提後來把 exec 也包進來,output 也從 SQL 字串變成 04/04 09:58
s25g5d4: Elasticsearch 了... 用 C 不知道要寫多久 04/04 09:58
s25g5d4: 因為我真的不熟 C 04/04 09:58
t28650636: 那請問升學方面是先高中然後在大學資工系嗎? 謝謝各 04/04 11:07
t28650636: 位~ 04/04 11:07
Ommm5566: 都可以 如果真的有興趣高工也可以是選擇 04/04 11:37
Ommm5566: 反正三年常比賽 四大資工絕對不是問題 04/04 11:38
exeex: 看你想要寫什麼東西摟 04/04 12:25
exeex: 我高中也寫C 只是要寫出遊戲就比較難 很容易遇到瓶頸 04/04 12:25
ronin728: 我就是高一學 Py 做小遊戲,現在每天摸C ,不是大問題啊 04/04 13:12
ronin728: 不過先學C也行,因為一堆人先學C也是活的好好的XD 04/04 13:14
bill42362: javascript 教的站出來!! 04/04 15:33
Sidney0503: js對新手不太好吧 光是搞好環境就很吃經驗 04/04 18:18
Sidney0503: 像npm載下來一堆相依 有問題根本不知從何debug 04/04 18:19
Sidney0503: 當然學語法很和藹可親 不用理會型態問題 04/04 18:19
s25g5d4: 黑人問號.jpg 怎麼我在 ubuntu 14.04 16.04 都是 apt-get 04/04 18:29
s25g5d4: install nodejs 就裝好了?再裝個 n 選版本而已 04/04 18:30
s25g5d4: 只有 Gentoo 上比較麻煩 卡到 OpenSSL 跟 OpenSSH 04/04 18:30
Sidney0503: 樓上 不好笑 我指的就是11行程式碼事件 04/04 19:53
s25g5d4: 好吧 那這樣 pip/gem/cpan 都不能用了 04/04 21:33
Sidney0503: 說gem類似npm龐大相依還說得過去 pip就太離譜 04/05 09:51
Sidney0503: 樓上擺明是想戰語言 04/05 09:51
Sidney0503: 不就是你自己習慣 硬要別人跟你一樣 04/05 09:52
Sidney0503: 根本就不打算討論語言特性 04/05 09:52
Sidney0503: js確實好上手 問題是要用js真的想做事情環境因素太大 04/05 09:57
Sidney0503: 相比py也是好上手 環境也比較簡單 04/05 09:58
Sidney0503: js寫爬蟲適合 但是想要測試演算法或是小工具py適合 04/05 10:03
s25g5d4: 好兇喔 我甚麼話都沒說你就可以推出我要戰語言 還硬要 04/05 10:04
Sidney0503: 想要懂底層行為選c 要效能選c++ 04/05 10:04
s25g5d4: 話說我沒有要推薦新手寫 JS 的意思啊... 04/05 10:04
Sidney0503: 每個語言都有自己方便和困難的地方 04/05 10:09
Killercat: nodejs碰到的瓶頸其實是nvm比較多 而非npm XD 04/05 11:42
Killercat: 不過說真的,要弄個小圖形介面出來玩玩,C/C++挫折感 04/05 11:42
Killercat: 會很大,這也是前端後端最大的差別 04/05 11:43
Yshuan: 說到底還是看想要做怎麼樣的小作品 沒什麼好戰 04/05 11:53
HoloLens: 居然在這篇看到學長OAO 04/05 16:08
HoloLens: 不過我覺得其實如果要碰競賽真的很吃天份,我自己國小就 04/05 16:08
HoloLens: 會寫Python,無聊時興趣都是寫小程式自娛的,競賽成績也 04/05 16:08
HoloLens: 沒很好wwww不過競賽的誘惑真的很多 04/05 16:08
HoloLens: 也真的如果是想寫寫小程式的話,我是不太推薦C/C++要做 04/05 16:09
HoloLens: 漂亮的GUI真的不易 04/05 16:09
HoloLens: 要靠競賽升學去學C的話,學好基本語法後就可以多寫寫OJ 04/05 16:11
HoloLens: 多看看競賽圈的程式碼,可以學到不少 04/05 16:11
HoloLens: 升學的話大概是高中三年狂打競賽,進選訓營(全國前八就 04/05 16:16
HoloLens: 有薦送、名次低一點可以特殊選才,更強有金銀的話接近校 04/05 16:16
HoloLens: 系任選,銅保送資工) 04/05 16:16
uranusjr: 我這輩子第一次聽說 JavaScript 比 Python 適合寫爬蟲 04/06 08:36
jimmytzeng: 給你一個讚,這麼小就這麼認真,讚! 04/07 09:17
tj386: 國中生先學英文 04/07 11:15
loveflames: 樓上好兇喔~ 04/07 11:26
oToToT: 說實在我英文就是看著各種文件stack overflow上學起來的, 04/07 17:24
oToToT: 我覺得邊學程式邊學英文就好啦 04/07 17:24
bbalabababa: 如果覺得有趣可以找看看有沒有有興趣的實作,或是可 04/08 02:15
bbalabababa: 以挑戰看看online judge 的題目(leetcode`uva…), 04/08 02:15
bbalabababa: 也可以看看各大學相關科系的必修科目,但演算法和資 04/08 02:15
bbalabababa: 料和資料結構真的蠻重要的,如果真的有心,不會嫌早 04/08 02:15
bbalabababa: 也不會嫌晚 04/08 02:15
Killercat: 其實我個人對想學C/C++的人都會建議從mongoose入手 04/08 10:17
Killercat: 至少很快就會有一個backend可以玩 而不是整天iostream 04/08 10:18
Killercat: mongoose是一個小web server 至少玩起來可玩性很高 04/08 10:18
Killercat: 老是iostream看console實在很悲催 GUI就更麻煩了 XD 04/08 10:18
Killercat: 很多人感到挫折是因為不知道C/C++能幹嘛 尤其沒有GUI 04/08 10:19
Killercat: 而C/C++ GUI門檻偏偏又很高 04/08 10:19
ap954212: 絕對是c起手 05/24 05:02
cass: 我高中時也是對遊戲有興趣自修程設 06/23 15:04
cass: 可在C++(Unreal)或C#(Unity)先選一條,再學另一條 06/23 15:06

你可能也想看看

搜尋相關網站