”學(xué)習(xí)C語言用一個(gè)學(xué)期,而且感覺是用代碼做一些簡單的數(shù)學(xué)題,沒什么用途”,這說明你的感覺是對的,老師的教學(xué)方法錯(cuò)了,必須徹底改變學(xué)習(xí)方法,以提高學(xué)習(xí)效率。
象這種底層的高級(jí)C語言,一般學(xué)會(huì)并熟練使用,時(shí)間不超過兩周。
學(xué)習(xí)編程語言,絕不能象高數(shù)一樣,一節(jié)一節(jié)地學(xué)扎實(shí),推理有據(jù)。編程語言類有它的學(xué)習(xí)方法。
我九十年代初,在工作中學(xué)C語言,兩周時(shí)間,不僅學(xué)會(huì)了,而且做了一個(gè)集編輯、圖形描畫、零件程序解釋的APP,之前一點(diǎn)基礎(chǔ)都沒有,就一本介紹庫函數(shù)及C基礎(chǔ)的英文書。
學(xué)習(xí)第一步:下載并安裝IDE,通過做界面程序,驗(yàn)證所學(xué)的結(jié)構(gòu)、變量、指針、邏輯關(guān)系、文件讀寫、內(nèi)存分配、圖形界面編寫等,不僅學(xué)明白了,而且用于實(shí)際開發(fā)中。
很多初學(xué)者,老是喜歡鉆牛角尖。如變量,unsigned char,char,signed char,BYTE,WORD,int,unsigned int,long int,LONG,LP,void *,int *,p=&i,p=(struct tr*)&p等等變量,表達(dá)式搞的暈暈乎乎,以致于覺得云遮霧罩,高深莫測。
很多人驚呼:老師水平咋這么高!
初學(xué)者建議使用VS編繹器,它對C,C++有極好的兼容性,在VS上做好RC,用子程序?qū)崿F(xiàn)C的編程學(xué)習(xí)。
這時(shí)我們就陷入了一個(gè)學(xué)習(xí)誤區(qū)。
學(xué)習(xí)第二步,把以上的指針、變量寫成程序,編繹系統(tǒng)自然會(huì)告訴你那錯(cuò)了。有助于快速理解C語言的各種概念。
如下圖,關(guān)于指針、結(jié)構(gòu):
上圖所示代碼,指針錯(cuò)了,系統(tǒng)提示error2102錯(cuò)誤。指針改正后,如下圖:
第三步,把編程語言與數(shù)學(xué)算法分開。C是語言,高數(shù)、線代、微分?jǐn)?shù)值解等是算法。語言學(xué)明白了,實(shí)際應(yīng)用時(shí),把算法寫成函數(shù)庫,供以后使用
很多人認(rèn)為,既然AI要用到算法,那么,學(xué)語言時(shí),就要先學(xué)算法。
大錯(cuò)而特錯(cuò)!算法屬于應(yīng)用,屬于數(shù)學(xué)建模,它是固定的,工作中隨時(shí)可找到函數(shù)庫,直接調(diào)用。如下,做庫函數(shù):