當前位置:首頁 » 編程語言 » c語言程序設計心得150字
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言程序設計心得150字

發布時間: 2022-07-29 00:29:12

c語言實訓心得

通過這次C語言實訓,提高了我掌握和利用C語言進行程設計的能力, 而且進一步理解和運用結構化程設計的思想和方法。初步掌握了開發一個小型實用系統的基本方法。學會了調試一個較長程序的基本方法。學會了利用流程圖或N-S圖表示演算法。掌握了書寫程設計開發文檔的能力.為以後的實訓打下堅實的基礎。

㈡ c語言學習心得

我也在學C,《C程序設計》,清華大學出版社,譚浩強主編的,這本書挺好的,講解的很細,挺適合你自學的,還有一本配套的題解和上機指導.

㈢ 求C語言編程思想,技巧的心得,體會。

是實現比較兩個數的大小吧,模塊思想就是把步驟挖出來成一個函數
我不單獨寫結果的代碼,再寫個不這樣做的對比下,先來一般的
#include<stdio.h>
int
main()
{
int
a=4,b=3,c;
c=a>b?a:b;
printf("大的個數是:%d",c);
getch();
}
下面是用模塊思想的
#include<stdio.h>
cmp(x,y)
{
return
x>y?x:y;
}
int
main()
{
int
a=4,b=3,c;

c=cmp(a,b);
printf("大的個數是:%d",c);
getch();
}
可以把printf也放進函數里,具體要放些什麼到別的模塊,根據實際需求業務邏輯來決定,cmp函數你可以放到其它地方,比如放到main的後面去,但是用的時候就得先申明了

㈣ c語言課程設計 心得誰能幫我編幾句啊

經過此次上機實驗,我對C語言的理解又更進一步,對學好它更有信心了…………我一般是這樣的

㈤ c語言實驗報告心得

c語言實驗心得:
1、只有頻繁用到或對運算速度要求很高的變數才放到data區內,如for循環中的計數值。
2、其他不頻繁調用到和對運算速度要求不高的變數都放到xdata區。
3、常量放到code區,如字型檔、修正系數。
4、邏輯標志變數可以定義到bdata中。
在51系列晶元中有16個位元組位定址區bdata,其中可以定義8*16=128個邏輯變數。這樣可以大大降低內存佔用空間。定義方法是: bdata bit LedState;但位類型不能用在數組和結構體中。
5、data區內最好放局部變數。
因為局部變數的空間是可以覆蓋的(某個函數的局部變數空間在退出該函數是就釋放,由別的函數的局部變數覆蓋),可以提高內存利用率。當然靜態局部變數除外,其內存使用方式與全局變數相同;
6、確保程序中沒有未調用的函數。
在Keil C里遇到未調用函數,編譯器就將其認為可能是中斷函數。函數里用的局部變數的空間是不釋放,也就是同全局變數一樣處理。這一點Keil做得很愚蠢,但也沒辦法。
7、如果想節省data空間就必須用large模式。
將未定義內存位置的變數全放到xdata區。當然最好對所有變數都要指定內存類型。
8、使用指針時,要指定指針指向的內存類型。
在C51中未定義指向內存類型的通用指針佔用3個位元組;而指定指向data區的指針只佔1個位元組;指定指向xdata區的指針佔2個位元組。如指針p是指向data區,則應定義為: char data *p;。還可指定指針本身的存放內存類型,如:char data * xdata p;。其含義是指針p指向data區變數,而其本身存放在xdata區。

以前沒搞過C51,大學時代跟單片機老師的時候也是搗鼓下匯編,現在重新搞單片機,因為手頭資料不多,找到一些C51的程序,發現裡面有這些關鍵字,不甚明了,沒辦法只好找了下,發現如下描述:

從數據存儲類型來說,8051系列有片內、片外程序存儲器,片內、片外數據存儲器,片內程序存儲器還分直接定址區和間接定址類型,分別對應code、data、xdata、idata以及根據51系列特點而設定的pdata類型,使用不同的存儲器,將使程序執行效率不同,在編寫C51程序時,最好指定變數的存儲類型,這樣將有利於提高程序執行效率(此問題將在後面專門講述)。與ANSI-C稍有不同,它只分SAMLL、COMPACT、LARGE模式,各種不同的模式對應不同的實際硬體系統,也將有不同的編譯結果。

在51系列中data,idata,xdata,pdata的區別

data:固定指前面0x00-0x7f的128個RAM,可以用acc直接讀寫的,速度最快,生成的代碼也最小。

idata:固定指前面0x00-0xff的256個RAM,其中前128和data的128完全相同,只是因為訪問的方式不同。idata是用類似C中的指針方式訪問的。匯編中的語句為:mox ACC,@Rx.(不重要的補充:c中idata做指針式的訪問效果很好)

xdata:外部擴展RAM,一般指外部0x0000-0xffff空間,用DPTR訪問。

pdata:外部擴展RAM的低256個位元組,地址出現在A0-A7的上時讀寫,用movx ACC,@Rx讀寫。這個比較特殊,而且C51好象有對此BUG,建議少用。但也有他的優點,具體用法屬於中級問題,這里不提。

三、有關單片機ALE引腳的問題

"單片機不訪問外部鎖存器時ALE端有正脈沖信號輸出,此頻率約為時鍾振盪頻率的1/6.每當訪問

外部數據存儲器是,在兩個機器周期中ALE只出現一次,即丟失一個ALE脈沖."這句話是不是有毛

病.我覺得按這種說法,應該丟失3個ALE脈沖才對,我一直想不通是怎麼回事,希望大蝦們幫幫我.

小弟感激涕零.

答:

其他所有指令每6個機器周期發出一個ALE,而MOVX指令佔用12個機器周期只發出一個ALE

四、如何將一個INT型數據轉換成2個CHAR型數據?

經keil優化後,char1=int1/256,char2=int1%256或char1=int1>>8,char2=int1&0x00ff效率是一樣的。

五、在KEIL C51上模擬完了,怎樣生成HEX文件去燒寫??

右鍵點項目中Target 1,選第二個,在OUTPUT中選中CREAT HEX

六、typedef 和 #define 有何不同??

typedef 和 #define 有何不同》》》 如

typedef unsigned char UCHAR ;

#define unsigned char UCHAR ;

typedef命名一個新的數據類型,但實際上這個新的數據類型是已經存在的,只不過是定義了

一個新的名字.

#define只是一個標號的定義.

你舉的例子兩者沒有區別,但是#define還可以這樣用

#define MAX 100

#define FUN(x) 100-(x)

#define LABEL

等等,這些情況下是不能用typedef定義的

七、請問如何設定KELC51的模擬工作頻(時鍾)

用右鍵點擊左邊的的target 1,然後在xtal一欄輸入

八、不同模塊怎樣共享sbit變數,extern不行?

把SBIT定義單獨放到一個.H中,每個模塊都包含這個.h文件

九、C51中對於Px.x的訪問必須自己定義嗎?

是的。

如sbit P17 = 0x97;即可定義對P1.7的訪問

十、SWITCH( )語句中表達式不可以是位變數對嗎?

可以用位變數:

#include

#include

void main()

{

bit flag;

flag=0;

switch(flag)

{

case '0':{printf("0\n");break;}

case '1':{printf("1\n");break;}

default:break;

}

}

bit 變數只有兩種狀態,if 語句足夠啦,!!!

十一、const常數聲明占不佔內存???

const 只是用來定義「常量」,所佔用空間與你的定義有關,如:

const code cstStr[] = {"abc"};

佔用代碼空間;而如:

const char data cstStr[] = {"abc"};

當然佔用內存空間。

另外,#define 之定義似乎不佔用空間。

十二、philips的單片機P89C51RD+的擴展RAM在C51中如何使用?

試一試將auxr.1清0,然後在c語言中直接聲明xdata類型的變數

十三、BUG of Keil C51

程序中用如下語句:

const unsigned char strArr[] = {"數學"};

結果發現strArr[] 內容為 {0xCA,0xD1,0xA7},真奇怪!

凡是有0xfd,則會通通不見了,所以只能手工輸入內碼了,例如 uchar strArr[]=

{0xCA,0xfd,0xd1,0xa7}(用Ultraedit會很方便)。

十四、Keil C51中如何實現代碼優化?

菜單Project下Option for target "Simulator"的C51.

看到Code optimization了嗎?

十五、請教c的!和 ~ 符號有甚區別??

!是邏輯取反,~是按位取反。

十六、c51編程,讀埠,還要不要先輸出1?

我怎麼看到有的要,有的不要,請高手給講講,到底咋回事?謝了

要輸出1的,除非你能保證之前已經是1,而中間沒有輸出過其他值。

十七、當定時器1(T1)用於產生波特率時,P3^5還是否可以用作正常的I/O口呢?

p3.5完全可以當普通的io使用

十八、C51中 INT 轉換為 2個CHAR?

各位高手:

C51中 INT 轉換為 CHAR 如何轉換諸如:

X = LOW(Z);

Y = HIGH(Z);

答:

x=(char)z;

y=(char)(z>>8);

十九、如果我想使2EH的第7位置1的話,用位操作可以嗎?

現在對位操作指令我一些不太明白請各位多多指教:

如 SETB 07H 表示的是20H.7置1,對嗎?(我在一本書上是這么看到的)

那麼如果我想使2EH的第7位置1的話,象我舉的這個例子怎麼表示呢?謝謝!

SETB 77H

setb (2eh-20h)*8+7

20h-2fh每位元組有8個可位操作(00h-7fh),其它RAM不可位直接操作

二十、char *addr=0xc000 和char xdata *addr=0xc000有何區別?

char *addr=0xc000;

char xdata *addr=0xc000;

除了在內存中佔用的位元組不同外,還有別的區別嗎?

char *addr=0xc000; 是通用定義,指針變數 addr 可指向任何內存空間的值;

char xdata *addr=0xc000; 指定該指針變數只能指向 xdata 中的值;

後一種定義中該指針變數(addr)將少佔用一個存儲位元組。

uchar xdata *addr=0xc000;指針指向外ram;

如果:data uchar xdata *addr=0xc000;指針指向外ram但指針本身存在於內ram(data)



以此類推可以idata uchar xdata *addr=0xc000;pdata uchar xdata *addr=0xc000;

data uchar idata *addr=0xa0;.........

二十一、while(p1_0)的執行時間?

假設,P1_0為單片機P1口的第一腳,請問,

while(P1_0)

{

P1_0=0;

}

while(!P1_0)

{

P1_0=1;

}

以上代碼,在KEIL C中,需要多長時間,執行完。能具體說明while(P1_0)的執行時間嗎?

模擬運行看看就知道了,

我模擬了試了一下,約14個周期

二十二、怎樣編寫C51的watchdog程序?

各位大蝦,我用KEIL C51 編寫了一個帶外部開門狗的程序,可程序無法運行起來,經過查

找,發現程序在經過C51編譯後,在MAIN()函數的前部增加了一端初始化程序,等到進入

主程序設置開門狗時,開門狗已經時間到,將我的程序復位了,請問我怎樣才能修改這一端

初始花程序,使他一運行,就設置開門狗?

可以在startup.a51中加入看門狗刷新指令,當然用匯編,然後重新編譯startup.a51

,將他和你的程序連接即可。新的startup.a51會自動代替系統默認的啟動模塊。

二十三、keil C51 怎樣把修改的startup.a51 加到工程文件中

直接加入即可

注意不要改動?STACK,?C_START,?C_STARTUP等符號。startup.a51直接加入項目,不用修改也可。可在內面自己修改匯編的一些限制或堆棧指針。

二十四、關於波特率的設置

我在設定串口波特率時發現一個問題:在晶體震盪器為11.0592MHz時,若設9600BPS的話,

TH1=0XFD,TL1=0XFD,而要設19200BPS的話,TH1、TL1有否變化,如果沒變,為什麼?

如果變了,又為什麼?(因為我看書上倆個是一樣的),希望大家點撥。

答:

當電源控制寄存器(PCON)第BIT7(SMOD)為1時波特率加倍。

TH1和TL1的值不變.

二十五、如何在C中聲明保留這部分RAM區不被C使用?

我不知道在C源程序中怎麼控制這個,但在匯編程序中加入下面一段就行:

DSEG AT 20H

AA: DS 10

這樣C51就不會佔用20H--29H了

或者在c51里這樣定義:

uchar data asm_buff[10] _at_ 0x20;

二十六、問浮點運算問題

我在用C51時發現它對傳遞浮點參數的個數有限制,請問:

1)參數是以全局變數的形式傳遞的,請問以全局變數的形式傳遞的參數也有限制嗎?

2)這種傳遞浮點參數的限制有多少呢?

3)float*float的結果是float類型還是double類型?能否直接賦值給float類型的變數?

答:

由於KEIL C51的參數傳遞是通過R0-R7來傳遞的,所以會有限制。

不過KEIL提供了一個編譯參數,可以支持更多參數的傳遞。具體

的內容見KEIL的PDF文檔。

我建議你把多個要傳遞的參數定義到指針或結構體中去,傳遞參

數通過指針或結構進行,這樣好一些。

第3個問題回答是YES,你自己試試不就知道了。

二十七、如何在某一個地址定義ram

用_at_ 命令,這樣可以定位靈活一點的地址

uchar xdata dis_buff[16] _at_ 0x6020 ;//定位RAM

將dis_buff[16]定位在0x6020開始的16個位元組

二十八、keil c中,用什麼函數可以得到奇偶校驗位?

例如32位數據,將四個位元組相互異或後檢查P即可,若耽心P被改變,可用內嵌匯編。

#include

unsigned char parity(unsigned char x){

x^=x;

if(P)return(1);

else return(0);

}

unsigned char parity2(unsigned int x){

#pragma asm

mov a,r7

xrl ar6,a

#pragma endasm

if(P)return(1);

else return(0);

}

㈥ c語言編程 心得體會

背關建詞語,明白每個詞的意思,寫程序時,再一套入就可以了,考試保你80分以上,我就是這么學的!!!

㈦ 尋求學習C語言的心得

上回說的是一些小問題,真正編東西,學東西還有許多要注意的地方。

由於本人也是剛學不久,水平有限,說錯的地方望大家原諒。謝謝!

一、多看代碼

在有一定基礎以後一定要多看別人的代碼。注意代碼中的演算法和數據結構。畢竟學C之後的關口就是演算法和數據結構。提到數據結構,指針是其中重要的一環,絕大多數的數據結構是建立在指針之上的,如鏈表、隊列、樹、圖等等,所以只有學好指針才能真正學好C。別的方面也要關注一下,諸如變數的命名、庫函數的用法等等。有些庫函數是經常用到的。對於這些函數的用法就要牢牢記住。

二、要自己動手

編程序是個實乾的活,光說不練不行。剛開始學的時候可以多練習書上的習題。對於自己不明白的地方,自己編個小程序實驗一下是最好的方法,能給自己留下深刻的印象。自己動手的過程中要不斷糾正自己不好的編程習慣和認識錯誤。有一定的基礎以後可以嘗試編一點小游戲,文曲星之類的電子詞典上小游戲很多,照著編作為練習。基礎很扎實的時候,可以編一些關於數據結構方面的東西,諸如最經典的學生管理系統。之後.....學匯編、硬體知識。

三、選擇一個好的編譯器

本人前段時間就遭受了一個編譯器的折磨。這個編譯器帶了個自運行程序,自動修改IE主頁。叫什麼名字就不說了。言歸正傳,英文版Turbo C v2.0沒話說,最經典的C編譯器(下載地址:http://www4.skycn.com/soft/2151.html),其次推薦一個win-tc 1.91,支持windows下的編譯器。(下載地址:http://www4.skycn.com/soft/17869.html)

四、關於養成良好的編程習慣

基本上每本C教材上都要提到。作為新手這條一定要時時遵守。記的一位網友發過評論:高手寫一堆亂七八糟的代碼就是藝術,新手寫一堆亂七八糟的代碼就是垃圾。就象古代賢人寫錯字叫通假字,小學生寫錯字叫錯別字,一個道理。具體方面:

1、在比較復雜的代碼後面要有注釋。如果光溜溜一堆代碼,別人就不可能看懂你的代碼,而且也不利於查找錯誤。除非你一直編東西給自己看。能在代碼里說明白的就一定要在代碼里體現。比如變數名、函數名,在命名的時候盡量說明是干什麼用的。

2、注意語句的嵌套不能過長,一般來說,一段代碼里Tab要少於8個。簡單說就是語句最多8個嵌套。對於新手來說,這個標准還要下降。有一個好習慣是,把主函數盡量寫簡短。經常看到別人的代碼是主函數只有幾行,幾個函數調用,而定義全在主函數外部。這樣一是減少了主函數內部的嵌套,二是比較精簡,容易讀懂。

3、注意語句的選擇。並不是分支語句就用if循環就用while、for。在適當的情況下switch和do while語句也是要用的。在某些時候,switch語句比if語句更加精練明了,而do while比while少一個循環。

㈧ 大一第一學期C語言實訓心得500字左右,急 急 急,在線等

樓主在這中間加減點東西,就可以用

過C語言實訓,讓我加深了對C語言的了解,而不只是單單的在課本中學到的那些理論,平時乏味的課程,通過自己動手親自編寫,變的生動有趣,而在自己動手的過程中,出現的問題很多,比理論要難的多,當一個程序寫完以後,經常會有很多錯誤而沒法解決。不過,通過幾天的實訓,逐漸積攢了一些經驗,有些錯誤可以很快就看出來。

這次實訓有很大的收獲,讓我對C語言有了更深的認識,平時在課堂上學到的東西可以自己動手編寫,將其轉化成一些實用的技能。如果是一個程序寫完一處錯誤也沒有,會有種成就感,於是興趣就來了,興趣來了,自然學的東西也就多了,能把理論變成實際的技能,讓我對C語言有了濃厚的興趣和更深層的認識。
C語言是一個有序的學習,學了最基本的替換,然後擴展到循環,嵌套,條理很清楚,不是一個零散的知識,實際上所有的課程都如此,不過通過實訓我也知道了自己的不足,存在的很多問題。
比如自己寫的寫的小程序出了問題,不會解決了就叫老師幫忙,雖然說一定意義上增加了師生之間的感情,但是會養成一種依賴的心理,碰到問題了個想到的是求助而不是自己獨立解決,所以以後要多多鍛煉自己的信心和增加自己的能力,爭取做到老師不在身邊的時候也可以完成一些簡單的程序編寫與錯誤排除。
還有自己的基礎知識不扎實,遇到的問題,沒有很好的邏輯思維,親自編寫一個陌生的程序的時候會有種無法下手的感覺,找不到突破口。通過實訓,逐漸理清了順序,對於簡單的程序和一些相對比較繁瑣的嵌套,循環,不在是看著一頭霧水。其實只要理清了思路,把基礎知識掌握了,然後有條不紊的分析,一步一步理解,C語言還是很有意思的課程。
自己親自動手編寫程序讓我增加了對C語言程序開發環境的了解,在上課的時候老師就講,學習C語言最重要的是學習C語言的邏輯思維,不管以後從事什麼行業,學習C語言都對自己的職業很有幫助,如果是從事編程工程工作的話,就更有幫助了,即使以後的編程工作可能不用C語言,但是擁有扎實的C語言基礎是對工作很有用的。
當初在初步接觸C語言的時候,看著一堆「奇形怪狀」的符號,覺得甚是無聊,通過這次實訓,擺脫了那種似懂非懂的狀態!
感謝學校安排這次實訓和老師的耐心講解,讓我學到了很多知識,在實訓過程中,同學之間的相互探討,老師的循循善誘,最終讓我們達到了舉一反三的效果,在學知識的同時,也增加了同學老師之間的感情。希望以後還會有更多類似的實訓課程,在有限的大學時間內學到更多的實用技能,為以後的工作打下一個良好的基礎

㈨ c語言實訓心得3000字

你可以這樣寫:
下面是我的實訓心得:

一、明確學習目的
學習編程對大多數IT業人員來說都是非常有用的。學編程,做一名編程人員,從個人角度講,可以解決在軟體使用中所遇到的問題,改進現有軟體,可以為自己找到一份理想的工作添加重要得砝碼,有利於在求職道路上謀得一個好的職位;從國家的角度,可以為中國的軟體產業做出應有的貢獻,一名優秀的程序員永遠是被爭奪的對象。學習編程還能鍛煉思維,使我們的邏輯思維更加嚴密;能夠不斷享受到創新的樂趣,將一直有機會走在高科技的前沿,因為程序設計本身是一種創造性的工作。知識經濟時代給我們帶來了無限的機會,要想真正掌握計算機技術,並在IT行業里干出一番事業來,有所作為,具有一定的編程能力是一個基本條件和要求。

二、打好基礎
學編程要具備一定的基礎,總結之有以下幾方面:
1、數學基礎 從計算機發展和應用的歷史來看計算機的數學模型和體系結構等都是有數學家提出的,最早的計算機也是為數值計算而設計的。因此,要學好計算機就要有一定的數學基礎,出學者有高中水平就差不多了。
2、邏輯思維能力的培養學程序設計要有一定的邏輯思維能力,「邏思力」的培養要長時間的實踐鍛煉。要想成為一名優秀的程序員,最重要的是掌握編程思想。要做到這一點必須在反復的實踐、觀察、分析、比較、總結中逐漸地積累。因此在學習編程過程中,我們不必等到什麼都完全明白了才去動手實踐,只要明白了大概,就要敢於自己動手去體驗。誰都有第一次。有些問題只有通過實踐後才能明白,也只有實踐才能把老師和書上的知識變成自己的,高手都是這樣成材的。

三、注意理解一些重要概念
一本程序設計的書看到的無非就是變數、函數、條件語句、循環語句等概念,但要真正能進行編程應用,需要深入理解這些概念,在理解的基礎上應用,不要只簡單地學習語法、結構,而要吃透針這些語法、結構的應用例子,做到舉一反三,觸類旁通。

四、掌握編程思想
學習一門語言或開發工具,語法結構、功能調用是次要的,最主要是學習它的思想。關鍵是學一種思想,有了思想,那麼我們就可以觸類旁通。

五、多實踐、多交流
掌握編程思想必須在編程實際工作中去實踐和體會。編程起步階段要經常自己動手設計程序,具體設計時不要拘泥於固定的思維方式,遇到問題要多想幾種解決的方案。這就要多交流,各人的思維方式不同、角度各異,各有高招,通過交流可不斷吸收別人的長處,豐富編程實踐,幫助自己提高水平。親自動手進行程序設計是創造性思維應用的體現,也是培養邏輯思維的好方法。

六、養成良好的編程習慣
編程入門不難,但入門後不斷學習是十分重要的,相對來說較為漫長。在此期間要注意養成一些良好的編程習慣。編程風格的好壞很大程度影響程序質量。良好的編程風格可以使程序結構清晰合理,且使程序代碼便於維護。如代碼的縮進編排、變數命令規則的一致性、代碼的注釋等。

七、上網學編程
在網上可以學到很多不同的編程思想、方法、經驗和技巧,有大量的工具和作品及相關的輔導材料供下載。

八、加強計算機理論知識的再學習
學編程是符合「理論→實踐→再理論→再實踐」的一個認識過程。一開始要具有一定的計算機理論基礎知識,包括編程所需的數學基礎知識,具備了入門的條件,就可以開始編程的實踐,從實踐中可以發現問題需要加強計算機理論知識的再學習。程序人人皆可編,但當你發現編到一定程度很難再提高的時候,就要回頭來學習一些計算機科學和數學基礎理論。學過之後,很多以前遇到的問題都會迎刃而解,使人有豁然開朗之感。因此在學習編程的過程中要不斷地針對應用中的困惑和問題深入學習數據結構、演算法、計算機原理、編譯原理、操作系統原理、軟體工程等計算機科學的理論基礎和數理邏輯、代數系統、圖論、離散數學等數學理論基礎知識。這樣經過不斷的學習,再努力地實踐,編程水平一定會不斷提高到一個新高度。

㈩ c語言學習總結300字

1.最初接觸C語言時要弄清楚各種變數的定義方法,特別是常用的類型,int、float、char等等,還要掌握各種類型的輸入、輸出格式。這一步做到後,上機就沒有多大的問題了。
2.在對函數的學習過程中,一定要弄明白函數的作用和具體格式。值得強調的是在寫循環程序時,一定要弄清楚循環的條件。
3.對每一個知識點,都應該立即編出對應的程序,有時可能還會有語法錯誤,碰到更好的方法也可以試一下,很多時候你想想代碼怎麼寫和你真的寫出來了是有很大的差距的。
4.學習時一定有很多疑惑的,要及時弄清楚。
5.找一本好的課本,我並不推薦譚浩強的《C語言程序設計》,因為這本書把知識點講的太細碎太理論。我推薦《c語言程序設計:現代方法》這本書,書中奧妙非凡,值得深讀體驗。
6.不要認為上課認真聽課有用,寫程序不可能從課堂上學會太多的,偉大的程序員或者是很多的黑客,不是老師教出來的,你的有自己的想法自己的思路自己的,學習一門語言才有用,也才會得到別人傳教不了的東西。