對於一個從零開始學c語言的人來說,從開始學習到能自己開發APP軟體一般需要多久時間?

希望各位不要說類似於因人而異這樣的話,本人211大一新生,希望各位大牛結合自己的經驗給出一個具體點的數字。感激不盡!


手機APP是用Java寫的(安卓),雖然C跟Java看著有點像,但差別還是很大的,建議從Java學起。

一個合格的211學生(計算機以及相關專業),到大三的時候做一個手機App不困難。

C語言更適合做操作系統相關的開發,比如驅動、嵌入式之類的。C語言開發手機App太困難了,似乎也很少有人這麼做。

如果是iOS環境,用的是Object-C,雖然也可以從C語言轉過去,但直接學Object-C也沒什麼問題。不要以為都是C就認為差不多,差的還挺多(就像C/C++是一種語言嗎?肯定不是)

------------------------------------

說點多餘的問題:題主是一個初學者,在我回答了這個問題以後,題主跟我前後有20多條私信,題主確實是零基礎,對於零基礎,就找一本入門級的開發書就好了,不管是噹噹,京東,還是亞馬遜,哪怕自己去書店,隨便找一本都可以解答題主的問題。

如果是安卓開發,就以安卓開發入門為關鍵字,如果是iOS開發,就以iOS開發為關鍵字。幾乎任何一本數都可以。如果真要用心學,寫一個helloworld一類的簡單的App是不困難的。

有句話想送給題主:軟體開發沒有捷徑,甚至有時候別人指點都是次要的,關鍵要自己動手去做,問十個問題,也許不如自己動手寫一行代碼,如果學一個東西還要想出這麼多問題,那麼我覺得題主你是想的太多了。


如果你要的是手機上的app,那你走錯路了,學c幹嘛。


題主如果想要儘快的做出一些好玩的東西的話可以參考一下

我高中的時候就花了大概一個星期熟悉了ADT後就開始進行Android開發了,第一個Project是使用NFC功能來管理RFID標籤的,和RFID安全有點點關係.大概一個月就自己完成了一個簡單的framework和一些簡單的功能,做出了一個Demo.

其實要想做出一個簡單的APP並不難,只要有一定的語言基礎知識和軟體工程了解就可以著手開發了,一開始什麼都不會怎麼辦?什麼Activity,UI控制項,消息機制都不懂欸,沒關係,邊學邊做,邊做邊學遇到不懂的Google一下,多啃啃英文材料,只讀書不實踐和只實踐不讀書都是空談.就算一開始做得再爛再差也沒關係,在實踐中你會不斷遇到問題,當你想方設法解決時你就學到了東西了,然後不斷把所學的東西再運用,經歷這樣的一個過程你會發現你學到了很多東西.這種方法在《黑客與畫家》裡面好像有說過.

那麼問題來了:語言基礎知識要多少呢?

我是從小學開始學Pascal的,然後是VB,然後是C++大法和java,C# python等等,經典大部頭也看了些...語言基礎我自己感覺還是勉強過得去的.那麼零基礎要學到一定程度要多久呢?我覺得可以拿起一本C/C++或java的經典書學完大概前一半就可以著手開發了,後一半的內容可以在開發第一個簡單的APP的過程中學,邊做邊學,新學到的東西時思考怎麼要運用到你的開發中去.

前一半是什麼概念呢?我覺得在掌握了基本變數,類型,基本數據結構,表達式,語句,函數,一些數據抽象的知識(比如類)和庫的知識(如標準庫,常用庫)應該就可以了,期間可以上一些OJ刷刷大水題,不用做太多.學得快的話一兩個月就夠了,慢的話一個學期應該夠了吧(我只是大概估計,說錯了不要打我,抱頭蹲下QAQ)

祝題主開發愉快哈~

And just do it


4年本科只會hello word


有人帶,有天賦差不多1~2個月

有人帶,天資一般差不多5~6個月

沒人帶,純自學,有天賦9~12個月

沒人帶,純自學,天資一般1~1.5年

沒人帶,只上課,看運氣吧。


可以看看c primer plus 這本書不錯,很適合零基礎的看


下載一個集成adt的eclipse 然後你的第一個安卓app HelloWorld 就出來


和平台有關,熟悉該平台的Sdk和對應語言安卓java,ios object-c, wp c#;一般app還要服務端吧,那就還要學習web開發。

如果是零基礎,你在掌握語言的同時應該先了解一些程序和系統的基礎概念,進程,線程,消息機制。。。一個gui如何啟動運行。


推薦閱讀:

為什麼有的開發人員喜歡用低版本開發工具,甚至抵觸高版本的工具?
開發需要寫單元測試嗎?
在開發中,說下你奇葩的排錯思路,解決問題的巧妙方法?
究竟是c++的發展進入了邪路,還是我寫代碼的姿勢不正確?

TAG:軟體開發 | C | 軟體開發入門 | 手機軟體開發入門 |