學習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語言實訓心得500字左右,急 急 急,在線等
樓主在這中間加減點東西,就可以用
過C語言實訓,讓我加深了對C語言的了解,而不只是單單的在課本中學到的那些理論,平時乏味的課程,通過自己動手親自編寫,變的生動有趣,而在自己動手的過程中,出現的問題很多,比理論要難的多,當一個程序寫完以後,經常會有很多錯誤而沒法解決。不過,通過幾天的實訓,逐漸積攢了一些經驗,有些錯誤可以很快就看出來。
這次實訓有很大的收獲,讓我對C語言有了更深的認識,平時在課堂上學到的東西可以自己動手編寫,將其轉化成一些實用的技能。如果是一個程序寫完一處錯誤也沒有,會有種成就感,於是興趣就來了,興趣來了,自然學的東西也就多了,能把理論變成實際的技能,讓我對C語言有了濃厚的興趣和更深層的認識。
C語言是一個有序的學習,學了最基本的替換,然後擴展到循環,嵌套,條理很清楚,不是一個零散的知識,實際上所有的課程都如此,不過通過實訓我也知道了自己的不足,存在的很多問題。
比如自己寫的寫的小程序出了問題,不會解決了就叫老師幫忙,雖然說一定意義上增加了師生之間的感情,但是會養成一種依賴的心理,碰到問題了個想到的是求助而不是自己獨立解決,所以以後要多多鍛煉自己的信心和增加自己的能力,爭取做到老師不在身邊的時候也可以完成一些簡單的程序編寫與錯誤排除。
還有自己的基礎知識不扎實,遇到的問題,沒有很好的邏輯思維,親自編寫一個陌生的程序的時候會有種無法下手的感覺,找不到突破口。通過實訓,逐漸理清了順序,對於簡單的程序和一些相對比較繁瑣的嵌套,循環,不在是看著一頭霧水。其實只要理清了思路,把基礎知識掌握了,然後有條不紊的分析,一步一步理解,C語言還是很有意思的課程。
自己親自動手編寫程序讓我增加了對C語言程序開發環境的了解,在上課的時候老師就講,學習C語言最重要的是學習C語言的邏輯思維,不管以後從事什麼行業,學習C語言都對自己的職業很有幫助,如果是從事編程工程工作的話,就更有幫助了,即使以後的編程工作可能不用C語言,但是擁有扎實的C語言基礎是對工作很有用的。
當初在初步接觸C語言的時候,看著一堆「奇形怪狀」的符號,覺得甚是無聊,通過這次實訓,擺脫了那種似懂非懂的狀態!
感謝學校安排這次實訓和老師的耐心講解,讓我學到了很多知識,在實訓過程中,同學之間的相互探討,老師的循循善誘,最終讓我們達到了舉一反三的效果,在學知識的同時,也增加了同學老師之間的感情。希望以後還會有更多類似的實訓課程,在有限的大學時間內學到更多的實用技能,為以後的工作打下一個良好的基礎
㈢ c語言程序設計心得
C語言程序設計課程是高等院校計算機專業基礎課程之一,其教學效果直接影響學生在計算機方面的應用。C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。那麼要如何寫關於c語言程序設計心得呢?本文是c語言程序設計的心得,僅供參考。
c語言程序設計心得一
在這為期半個月的時間內,通過我們小組各成員之間的相互討論和合作,我們完成了學生信息管理系統的程序設計,更值得高興的是我們的程序得到了大家的喜愛,在每次的簡報中都得到了較好的成績。
雖然在上個學期中,我們已經學習了《C 語言程序設計》這門課,但是我所學的知識最多也就是在做作業的時候才會用到,平時沒有什麼練習的機會,這次的課程設計是我第一次通過自己構思,和同學討論並且不斷查閱資料來設計一項程序。這次設計,不僅鞏固了我以前所學的知識,還讓我對c語言有了更深一步的了解,掌握了更多的技巧和技能。
C語言是計算機程序設計的重要理論基礎,在我們以後的學習和工作中都有著十分重要的地位。要學好這種語言,僅僅學習課本上的知識是不夠的,還要經常自己動手,有較強的實踐能力。只有多動手,經常編寫程序,才能發現我們學習上的漏洞和自己的不足,並在實踐中解決這些問題,不斷提高自己轉化知識的能力。
在我們小組有解決不了的問題時,我們會主動查閱相關的資料,或向其他同學詢問,這不僅豐富了我們的知識,還增進了我們同學之間的友誼。為了增大信息的安全性,需要用文件來存儲信息,由於我們在上課時不注重對文件的運用,所以在這方面有較大的困難。我先將書本認認真真地看了一遍,又做了一下課後習題來驗證和增進自己的理解,終於,經過我們的不懈努力,我們小組的程序有了突破,成功地實現了用文件來保存並查看學生的信息。
這次設計中,我的收獲還有就是學會了用流程圖來表達自己的想法,並根據流程圖來逐步實現程序的功能。開始的時候,我畫流程圖很是困難,需要一個多小時才能清楚的根據自己的想法畫出圖來,後來畫多了,就更加了解它的功能,十分得心應手,能夠比較快而准確的畫出來。
在這次課程設計中,我們首先對系統的整體功能進行了構思,然後用結構化分析 方法 進行分析,將整個系統清楚的劃分為幾個模塊,再根據每個模塊的功能編寫代碼。而且盡可能的將模塊細分,最後在進行函數的調用。我們在函數的編寫過程中,我們不僅用到了for循環、while循環和switch語句,還用到了函數之間的調用(包括遞歸調用)。由於我們是分工編寫代碼,最後需要將每個人的代碼放到一起進行調試。因為我們每個人寫的函數的思想不都一樣,所以在調試的過程中也遇到了困難,但經過我們耐心的修改,終於功夫不負有心人,我們成功了!
在參考書上,我們不僅參考了曾經學過的高敬陽主編的《c語言程序設計》,還找到了由譚浩強主編的第三版《c語言》進行參考。
當然,我們的程序還有一些不完善的地方,比如說,當輸入的數據不符合我們定義的數據的格式的時候,程序會出現一些錯誤,有時會出現主菜單的死循環;在一次程序運行中,只能行使一種許可權,要想再行使另一種許可權,就只能退出程序,然後再運行程序。
三周的小學期即將結束,時間雖短,但是我收獲了很多。最後,謝謝老師和同學們的指導,更要感謝我們小組成員之間的合作與交流。
c語言程序設計心得二通過本次教師發展在線的C語程培訓中,我受益匪淺,幾位教授的精彩演講,讓我找到了自己的不足和日後教學中的改革方向和內容。同時,也讓我感覺到了,有今天各位教授的良好教學效果,這其中包含了他們的艱辛、背後的大量付出和無私奉獻。
我是一直從事C類語言的教學工作,對C語言的教學已有5年教齡,在這幾年的教學過程中,我們也一直在尋找好的 教學方法 和新的教學理念。通過本次學習,我 總結 要教好《C語言程序設計》這門課,最基本要把握好以下幾個方面:
(一)要重視實踐環節,上機調試成績非常重要。
學習一門語言,就是要按照它的語法來編程。要編程,當然就要上機操作來驗證你程序的正確性。所以上機非常重要,通過執行你所寫的程序,完成你所寫程序的目標,最終達到你的目的。而且通過執行程序,你會發現程序中的錯誤,從而使你了解你所學知識中的不足,同時,要學會根據編譯時提示的錯誤來改正程序中發生的錯誤,以便下次不會再犯同樣的錯誤。
(二)基本語法學習雖然枯草乏味,但是它相當於高樓大廈的一磚一瓦,一定要下硬功夫讓學生掌握熟練。
C語言的語法部分。這部分內容是學好C語言的基礎,只有學好了這些語法,才會寫程序,看程序。所以對一個初學者來說,這部分內容是非常重要的,所以要扎實地熟悉每一個語法,並能根據這些語法來編程。
(三)學習要抓住重點,難點部分要多講、多學、多練。
通過這次學習使得我對C語言的重點,難點,以及易出錯的地方把握的更精準了。當然,這只是針對我個人而言。在C語言學習過程,重點就是數組,指針,以及結構體了。難點也是它們了,不過數組和結構體還是挺簡單,所以在此主要就指針方面談談自己的看法。
下面談談通過這次學習,結合我們學校的教學情況,打算對該課程的教學進行如下幾個方面的改革:
(一)理論教學內容的組織
C語言的重點知識包括:結構化程序設計方法、流程圖的組織、三種程序設計結構、三種基本數據類型和三種自定義數據類型;難點包括:結構程序設計方法、演算法的分析、流程圖的組織與設計、函數、指針等。
根據知識內容和每年的新學時安排,我們將理論教學內容分為授課內容和自學內容兩 大模塊。
(1)授課內容
C語言的授課內容分為兩階段:①基礎准備階段 這部分內容確保學生「實用、夠用」,主要包括三種基本數據類型(只要求掌握常用的int,float,char);三種常用運算符及其表達式(賦值、算術、邏輯(包括關系));三種程序設計結構(順序、選擇、循環)。②實訓項目驅動階段 這部分內容主要是「實訓實戰」,主要包括數組、函數、指針和結構體。通過第一階段的學習,學生已經具備了一些程序設計的基礎知識,在這一階段將通過一個實訓項目的完成來熟悉主要內容,同時鞏固第一階段的成果。
(2)自學內容
課本中的內容上課沒重點介紹或者說就是沒提到的,劃為自學內容。但這些內容,我們並不是在課堂要求學生回去自學:要求過高,規矩過多,這樣效果不佳。而是讓學生在實驗中發現問題後,帶著問題去學習,去找答案。
例:整型 我們只介紹int基本類型,當學生想計算n!時,學生測試5!=120時,他可能會去測試20!、50!,這時,存放階乘的變數Factorial再定義為int,結果就是0了,這時問題就來了,他就會去尋找正確的處理方法(long int)。
(二)實驗教學的安排與設計
教學改革方案確定後,我們對本課程實驗教學上從多方面進行了教學更新。我們考慮到學生處於了解計算機語言及編程的初級階段,有許多最基礎的內容有待掌握,所以本課程的實驗教學不太適合完全以項目開發的形式進行,注重的是加強模塊化實訓。
(1)上好第一節實驗課
我們常說「上好第一節課」,那麼第一節實驗節的重要性也不言而喻。這節課對培養學生的學習興趣、增強學生的學習信心、鍛煉學生的自主學習等多方面影響很大。
第一次實驗項目是—熟悉Turbo C的運行環境,主要是掌握一些在TC中的一些鍵盤操作方式。一般是教師給學生提供程序代碼(三個),但我們在學生不知情的情況下,給學生兩個有語法錯誤的和一個正確的程序。這樣,當學生運行正確的程序時,知道計算機可以幫我們處理問題,原來程序就是這樣寫的;當學生運行錯誤的程序,首先他會詫異(老師給的程序原來是錯的),於是要求他們自己修改,尤其是有時一個致命錯誤導致的10多個errors,被學生修改後,沒有了errors或所剩無幾,這時學生表現的很興奮、很有成就感,從而加強了本課程的學習興趣和信心。
(2)分兩階段進行
實驗內容與理論教學內容相互應,在基礎准備階段,這方面教學方法上主要是加強操練。通過各種大小程序、多重訓練和一個問題的多種解法來加強語法知識點的掌握和訓練,開闊學生編程的思路,掌握編程基礎。同時,在這過程中我們嚴格把關,讓學生課後認真准備,每次進實驗室時,應有寫好的完整代碼,上機調試,發現問題同時解決問題,要求認真完成實驗內容,並在課後書寫實驗 報告 。鼓勵學生多寫程序,要加強實踐環節,首先要從量上有個劃分。在實訓項目驅動階段。本階段實訓項目的設計非常重要,原則是既要使學生有切入點能夠動手又要使各章的內容之間有聯系點。
(三)案例教學法
C語言的教學,教師一般受傳統應試 教育 的影響,狠抓理論考試,忽略了程序設計能力的培養,把授課重點放在程序設計語言的基本語法的講授和掌握上,所選的編程實例大多用於語法規則的驗證和說明,僅從程序設計語言的使用這個單一的角度進行教學,而使得大多數學生在學完本課程後,「吃不透、用不活」,表現為學生在程序調試時,對程序中出現的邏輯錯誤經常不知所措,在開發較大的應用程序時,不知道如何入手。
採用案例教學法,以程序設計為主線,以編程應用為驅動,通過案例和問題引出教材內容,重點講解程序設計的思想和方法,穿插講解相關的語言知識。使教學效果既有深度又有廣度,學生實際動手能力大為增強。
以上是我個人結合我院C語言程序設計的教學情況,自己總結了幾點看法和一些改革 措施 ,拿出來和大家一起分享,請大家多提寶貴意見。通過這次學習,我將會靈活運用幾位教授的教學 經驗 ,根據我院的教學對象,調整一些上課方法和措施,望能更好的提高教學質量。
通過此次C語言程序設計實踐,本人實在是獲益不淺!C語言是上個學期開的課程,所以這個學期並沒怎麼看過,當要開始設計的時候,還真不知從哪下手!結果,第一次的上機,我傻坐著不知道該做什麼,後來就寫了幾個預處理命令。回去以後,我想,這樣不行,這樣下去還得了!我就重新復習了一遍我們上個學期學習的內容,發覺自已有許多都遺忘了!特別是有文件的操作,幾乎是一遍空白!溫習過後,開始做題!
一開始做題,也是有點模糊,在指導老師的指導下,我們慢慢的進入狀態,我們做的是一個通訊錄,內容包括很多。運用的函數也是非常的復雜,我們一組有七個人,我分工合作,首先我一起完成了結構題,然後我們一人各負責一個函數程序的設計,經過幾星期的努力,我們完成了大半個程序,但是總是有很多錯誤出現,有好多是些小問題,這都是我們粗心大意造成的,所以設計程序一定要仔細,不容一點的馬虎。當然也有大問題,關於文件的操作,是我們最大的問題,不過,我們做好後,經過老師的講解和改錯,我們也懂得設計和運用了。同時,也讓我知道了,合作的力量,如果是孤軍奮戰的話,我也不能在規定時間內完成,當然,也多虧老師的指導。
這次設計,讓我重新掌握了C語言,而且還得到了用C語言解決實際問題的寶貴經驗!
↓↓↓點擊下一頁還有更多精彩的C語言編程 學習心得 ↓↓↓
㈣ c語言實訓心得3000字
你可以這樣寫:
下面是我的實訓心得:
一、明確學習目的
學習編程對大多數IT業人員來說都是非常有用的。學編程,做一名編程人員,從個人角度講,可以解決在軟體使用中所遇到的問題,改進現有軟體,可以為自己找到一份理想的工作添加重要得砝碼,有利於在求職道路上謀得一個好的職位;從國家的角度,可以為中國的軟體產業做出應有的貢獻,一名優秀的程序員永遠是被爭奪的對象。學習編程還能鍛煉思維,使我們的邏輯思維更加嚴密;能夠不斷享受到創新的樂趣,將一直有機會走在高科技的前沿,因為程序設計本身是一種創造性的工作。知識經濟時代給我們帶來了無限的機會,要想真正掌握計算機技術,並在IT行業里干出一番事業來,有所作為,具有一定的編程能力是一個基本條件和要求。
二、打好基礎
學編程要具備一定的基礎,總結之有以下幾方面:
1、數學基礎 從計算機發展和應用的歷史來看計算機的數學模型和體系結構等都是有數學家提出的,最早的計算機也是為數值計算而設計的。因此,要學好計算機就要有一定的數學基礎,出學者有高中水平就差不多了。
2、邏輯思維能力的培養學程序設計要有一定的邏輯思維能力,「邏思力」的培養要長時間的實踐鍛煉。要想成為一名優秀的程序員,最重要的是掌握編程思想。要做到這一點必須在反復的實踐、觀察、分析、比較、總結中逐漸地積累。因此在學習編程過程中,我們不必等到什麼都完全明白了才去動手實踐,只要明白了大概,就要敢於自己動手去體驗。誰都有第一次。有些問題只有通過實踐後才能明白,也只有實踐才能把老師和書上的知識變成自己的,高手都是這樣成材的。
三、注意理解一些重要概念
一本程序設計的書看到的無非就是變數、函數、條件語句、循環語句等概念,但要真正能進行編程應用,需要深入理解這些概念,在理解的基礎上應用,不要只簡單地學習語法、結構,而要吃透針這些語法、結構的應用例子,做到舉一反三,觸類旁通。
四、掌握編程思想
學習一門語言或開發工具,語法結構、功能調用是次要的,最主要是學習它的思想。關鍵是學一種思想,有了思想,那麼我們就可以觸類旁通。
五、多實踐、多交流
掌握編程思想必須在編程實際工作中去實踐和體會。編程起步階段要經常自己動手設計程序,具體設計時不要拘泥於固定的思維方式,遇到問題要多想幾種解決的方案。這就要多交流,各人的思維方式不同、角度各異,各有高招,通過交流可不斷吸收別人的長處,豐富編程實踐,幫助自己提高水平。親自動手進行程序設計是創造性思維應用的體現,也是培養邏輯思維的好方法。
六、養成良好的編程習慣
編程入門不難,但入門後不斷學習是十分重要的,相對來說較為漫長。在此期間要注意養成一些良好的編程習慣。編程風格的好壞很大程度影響程序質量。良好的編程風格可以使程序結構清晰合理,且使程序代碼便於維護。如代碼的縮進編排、變數命令規則的一致性、代碼的注釋等。
七、上網學編程
在網上可以學到很多不同的編程思想、方法、經驗和技巧,有大量的工具和作品及相關的輔導材料供下載。
八、加強計算機理論知識的再學習
學編程是符合「理論→實踐→再理論→再實踐」的一個認識過程。一開始要具有一定的計算機理論基礎知識,包括編程所需的數學基礎知識,具備了入門的條件,就可以開始編程的實踐,從實踐中可以發現問題需要加強計算機理論知識的再學習。程序人人皆可編,但當你發現編到一定程度很難再提高的時候,就要回頭來學習一些計算機科學和數學基礎理論。學過之後,很多以前遇到的問題都會迎刃而解,使人有豁然開朗之感。因此在學習編程的過程中要不斷地針對應用中的困惑和問題深入學習數據結構、演算法、計算機原理、編譯原理、操作系統原理、軟體工程等計算機科學的理論基礎和數理邏輯、代數系統、圖論、離散數學等數學理論基礎知識。這樣經過不斷的學習,再努力地實踐,編程水平一定會不斷提高到一個新高度。
㈤ C語言學習方法和心得
1、學習C語言,要從入門到精通,需要讀哪些書(從簡單的到難的排序,越詳細越好,最好都能注釋下選擇這本書的理由)?
入門階段:還是老譚那本。
理由:雖然不能說它寫得有多好,但是你現在要做的是入門,要快速的掌握c的基本語法,這本書很好理解,能夠讓你在最短的時間內大致掌握這門語言的概更。
第二階段:《c程序設計語言》(The C Programming Language)和《C語言解惑》(The C puzzle book)
理由:《the c programming language》號稱c語言聖經。其實它也只是一本介紹基礎語法的書,不做入門教程是因為對於初學者來說,它難度稍大,之所以推薦,是因為它能讓你---系統而嚴密的---把C語言知識構架整理一遍。《c語言解惑》,系統的整理了c語法中容易讓你產生迷惑或容易犯錯的地方(如a+++++b等),這時候你才算真正開始學習c語言了.(以上兩本現在出重印了,應該在書店可以買到)
第三階段:《C陷阱與缺陷》(C Traps and Pitfalls)和《高質量c/c++編程指南》
理由:《c陷阱與缺陷》是讓對c的理解有質變得一本書,如如何理解(*(void(*)())0)()等問題,我的感覺是看完這本書讓我真正從小菜鳥變成了老菜鳥。《高質量...》,終於有一本國產的了,呵呵,我認為這本書是把你從土匪變成正規軍的最好指南,該書涉及編程風格、效率、重載、健壯性等一些列之前很難注意的問題。(以上兩本《c陷阱...》已絕版,不過網上可以下載到中英文版,《高質量...》本身就是網路書,很容易找到)
其它推薦書:《c專家編程》《c和指針》
說實話這兩本書我並沒有看過(或看完),但有口皆碑,都是經典之作,不過都已經絕版,仔細找找網上有下載的。
2、有哪些好的C語言練習(越難的越好)?
對語言本身的練習其實就是你對它的理解,用得多了,注意得多了,自然就ok了。其它思維上的練習主要是演算法和數據結構方面的,嚴老的《數據結構題集(C語言版)》如果你能做完就相當了不起了。
3、要學精C語言,還要具備哪些條件?
其實c語言也只是一個工具而已,就像鋤頭一樣,你每天挖地鋤田自然就精通它了。只要不是白痴,應該都沒有問題。
4、C語言學完後接下去要學哪些語言好?
這個我就沒有資格回答了,因為除了少量匯編和c++,我大部分只用到了c,不過也許是一脈相承的c++吧。c是面向過程的語言,學習c++面向對象的思想。
㈥ c語言心得體會
c語言心得體會範文7篇
在平日里,心中難免會有一些新的想法,可用寫心得體會的方式將其記錄下來,這樣我們可以養成良好的總結方法。那麼心得體會該怎麼寫?想必這讓大家都很苦惱吧,以下是我幫大家整理的c語言心得體會範文,供大家參考借鑒,希望可以幫助到有需要的朋友。
c語言心得體會範文1
在初學C語言的一個學期後,我們進行了C語言實訓階段,嘗試編寫一個比較復雜的程序系統。在為期一周的時間中,我們同組的同學共同的感受是:C語言實訓和平時上課所接觸的程序是有很大不同的,所經受的考驗和克服的困難是平時所無法比擬的。好在同組的搭檔們精誠合作,分工明確,有問題共同解決,攻克了C語言實訓的復雜程序。在這里,我作為其中的參與者,感觸良多。
在這次實訓中,我對對C語言有了一個更深的了解認識,也對這個學期學的知識得到鞏固,還嘗試運行編程,每次運行程序成功,讓我對下面的項目就充滿信心。通過自己與同學合作編寫程序,最終把最初的理論知識轉化基本技能。這次的實訓,使我對C語言的學習產生濃厚的興趣。
耐神還是這次實訓,最令人激動的就是合作做項目,雖然那隻是一個很小很小的項目。每天大家來得很早,大家在一起學習,取長補短,我們很好的在實訓中長知識,提高我們的學習熱情。實訓中深切體會到了老師認真負責的偉大的精神和熱情為同學指導的促學方式,雖然對有些時候老師沒給我們指出解決問題的方法有些小抱怨,但是到了結束時才知道,這種教學讓我們自己學會了自學,學會了去看懂別人的代碼。更多是老師給的感動,每天在我們來之前就到了教室,在講課中海給我們分享他在公司上班的一些心得和體會,還有那些我們應該注意的事項,這些是平時上課時無法學到的,是更深層次的巨大收獲。
通過這次實訓,也使我們發現了許多問題。
在實訓中,我們認識到自己還有很多的知識沒學好,基礎知識沒理清,而且許多東西還要去翻書,去上網搜索。而且遇到一些小錯誤運行不出來,就會煩躁不安,覺得有些自暴自棄或者抱怨項目的變態,以後要克服,盡量保持一顆良好的心態,學好C語言,也學好用C語言編寫一個按要求的系統。
還有就是對於未來,近程就是下學期,我覺得我還有許多方面需要提高。
首先我要繼續學習好C語言的基礎知識,然後能在電腦上熟練的運用。然後每天都能寫一些程序,上網時候多看一些優秀的教程和優秀的代碼。遇到問題時多和同學討論,並且多弄出幾套方案,多鍛煉自己結局問題的能力和與同學合作的能力。
總之,這一切都成為我記憶裡面的一個篇章,更是在C語言編程上的一個里程碑。
c語言心得體會範文2
通過一學期對C語言的學習,我感覺學習C語言是有一定難度卻又是非常有趣的科目。也是很有幫助的,特別是對將要面對的計算機二級考試。這段時間的學習我知道了C語言的基本特點有以下幾點:
1.語言簡潔,使用靈活方便。
2.運算符豐富,表達能力強。
3.數計類型豐富。
4.目標程序質量高,具有面向硬體系統的特點。
5.具有結構化的控制語句和模塊化的程序結構。
6.具有編譯預處理功能。
7.程序設計自由度大,可移植性好。卜灶
這段時間學習使我掌握了:
一、我學習了C語言的數據類型、常量與符號常量、變數、C語言的運
算符和表達式、賦值運算符和賦值表達式、自增自減運算符以及逗號表達式等。
二、這章介紹了結構化程序的三種基本結構、C語句概述、數據輸出包
括字元輸出函數putchar和格式輸出函數printf、數據輸入包括字元輸入函數getchar和格式輸入函數scanf,還有一些簡單的C語程序設計舉列等。
前幾天一直在看C++語法,所以對一些比較實際的例子總感到比較抽象,但是昌弊虧那也是一個必需階段,可能大家和我的學習方式不一樣,但從剛接觸程序到現在來看,發現這樣學習語言的方法挺不錯的。
經過第一階段對語法的學習,我覺得實例階段應該是一個過渡階段吧,通過前一階段對語法的學習之後,可能有很多概念我們都比較模糊,或者說很多東西太抽象了,這就為我們第二個階段的學習做好了實例化的准備,可以這樣說吧,第一個階段就我們為我們的學習一樣東西而構建的一個類,裡面講了我們應該在這裡面要做什麼?第二階,也就是本階段,我們就應該去把前一段的東西具體化(實例化先前創建的類),那怎麼個具體化呢,呵呵!說白了,去練習一些小例子,從網上下載的電子書上有很多這方面的例子的,如果有自己去書店買書的話,裡面也應該提供了不少,裡面的例子,我是每次都打了一遍,也許有的人不會親自去用手打一遍,什麼等,當然這樣也行,但我個人認為,對於初學者來說,最好還是自己動手打一遍比較好,畢竟這些東西對我們來說,都比較陌生,如果每個字都自己打完的話,有些代碼你不想記住也難了,在這里,我們得弄懂練習的每一個例子,如果能把一些例子稍稍修改,弄懂裡面精髓的東西,讓自己知道為什麼這樣做,那麼是最好不過的了,我平時練習時,這一步是少不了的,都習慣了,所以也就成了條件反射,想不這樣都不行。最後,我們就應該匯一下總,把前面做過的例子里所用的技術理一下,再做一個比較大的例子,盡量把到目前為止所懂的知識全部應用到裡面去,只是盡量,當然有些東西是不能集成到一起的,也是是代碼之間的排斥性。
這是個人的一點學習心得,希望能更好的運用到學習中去。C語言是一門很有用的、對於我們的就業很實際的語言,學習好C語言是一項必須而實際的任務。我們必須要好好掌握。
c語言心得體會範文3
三周的課程設計已經結束了。
回想學習C語言 的過程中,既有快樂又有煩惱。
從領到書的那一刻,我就很郁悶,《C 語言程序設計》到底事學什麼的,有什麼用。剛開始上課時,還在迷茫這門課程是用來做什麼的。不過,這些感受都是在對這門課程不了解的情況下產生的。後來慢慢的接觸多了,聽老師講的多了,了解多了,漸漸的產生了興趣。尤其是學到語句和函數時,上機操作程序,經過編譯,調試和運行後,出現界面,當時覺得很好奇,想真正的學好這門課程。通過半個學期的學習,我掌握了基本知識。
下學期開始時,被通知要進行三周的課程設計。當時有點懵,感覺學的東西很少,很零散,不知該怎麼練到一起,就要課程設計,是不是太難為我們了。
第一天基本上都是在看書,把基本知識再熟悉一邊。到了下午的時候,老師發過來三道練習題,從這幾道練習題上我得到了不少啟發,然後我們組把整個程序的思路理清了,開始著手寫程序。
第一周結束的時候,我感覺自己收獲挺大的,從一開始的迷茫,不知道從何下手到把程序中的幾個模塊編寫出來,心裡挺開心的。但是,到了第二周,我們由不得不再次陷入困境。在整個程序的編寫過程中。最難的就是修改和刪除這兩個模塊,這也是我們第二周要解決的重點問題。
開始編寫修改和刪除時,很頭疼,去向其他人尋求幫助,在別人的幫助和提示下,我編完了修改程序,但編譯時老出錯,修改後的內容將文本內的信息全部覆蓋了。困難之時,我們組的其他人,幫助了我,完成了修改和刪除。這樣的話,整個程序基本上全部完成了,就剩下完善工作了。我們組寫了兩個程序,最後,兩個程序相互組合,互補,大功告成
雖然設計時完成了,但是我覺得其中還是由一些不足之處:
1. 警告句。程序中缺少一些警告句,例如:「是否真的刪除(y/n)?」。
2. 重名的情況。由於考慮的不周全,沒有設計遇到重名的情況該怎麼處理。
3. 選擇單一。我們設計的程序中,只設計了按名字選擇,進行操作,忽略了重名的情況。
整個程序完成了,還有很多不完善的地方,希望自己以後辦事的時候要認真,仔細,考慮周全。
短短的三周課程設計結束了,但是這段時間里,我又學到了更多C 知識,如:對象數組,string類,文件流等,同時我也被提醒以後辦事的時候要認真,仔細,考慮周全。,也看到了團隊精神和互幫互助的重要性。這一點會讓我終生受益。通過三周的課程設計,我覺得自己肚子里的墨水多了,收獲也挺大的,這三周過的挺充實!
c語言心得體會範文4
在初學C語言的一個學期後,我們進行了C語言階段,嘗試編寫各種類型的程序。在為期一個周時間中,我的感受是:C語言實訓和平時上課所接觸的成有很多不同,所經受的考驗和克服的困難和平時的相差不大,遇到不會做的題同學互相討論,互相幫助,共同解決,攻克了C語言的復雜程序,我感觸良多。
在這次實訓中,我對C語言有了一個更深的認識了解,也對這學期的知識得到鞏固,還嘗試了運行編程,每次運行程序成功,讓我對下面的項目充滿了信心通過自己的努力最終把最初的理論知識轉化成基本技能,這次的實訓,是我對C語言的學習產生了農活的興趣。
還是這次實訓,最令人激動的就是同學遇到問題互相幫助雖然只是一個很小得實訓,但同學們的滿腔人情卻是值得驕傲的,我們在實訓中取長補短在實訓中長知識,提高了我們學習,雖然對有些時候老師沒給我們指出解決問題的方法有一些小抱怨,但到了結束是才知道,這種教學讓我們自己學會了自學,學會了去看懂別人的代碼。更多的是老師的感動,每天在我們來之前家到了機房,給我們我分享他學C語言的感受,還提醒我們注意在編程時與遇到的事項,,這些是我們平時上課無發了解到的知識是我們更深層次的極大收獲。
通過實訓我們也發現了許多問題,在試訓中我認識到自己還有很多知識沒學好,最基本的'知識點沒有理清楚,而且許多東西要經過翻書,上網查閱,搜索,遇到一小點錯誤運行不出來,就會煩躁不安,覺得有些自暴自棄或這抱怨題目有些變態,以後要克服,盡量保持一顆藍好的心態,學好C語言,用C語言來編寫一個按要求的系統。
對於未來,近程下個學期,我覺得我還有許多方面需要提高。
首先我要繼續學習好C語言的基礎知識,然後能在電腦上熟練的運用。能寫出一些程序,上網的時候多看一些優秀的教程和優秀的代碼,遇到問題是多和同學討論,並且多弄出幾套方案,多練習自己結局問題的能力和與同學合作的能力。
總之,這一切都成為我記憶裡面的一個篇章,更是C語言編程上的一個里程碑。
c語言心得體會範文5
在科技高度發展的今天,計算機在人們之中的作用越來越突出。而c語言作為一種計算機的語言,我們學習它,有助於我們更好的了解計算機,與計算機進行交流,因此,c語言的學習對我們尤其重要。
在這個星期里,我們專業的學生在專業老師的帶領下進行了c語言程序實踐學習。在這之前,我們已經對c語言這門課程學習了一個學期,對其有了一定的了解,但是也僅僅是停留在了解的范圍,對裡面的好多東西還是很陌生,更多的在運用起來的時候還是感到很棘手,畢竟,萬事開頭難嘛。
由於時間的關系,我們的這次實踐課程老師並沒有給我們詳細的介紹,只是給我們簡單的介紹了幾個比較重要的實際操作。包括了程序模塊處理。簡單界面程序。高級界面程序。程序的添加修改。用程序做一元線性回歸處理以及用c語言程序來畫粒度分布圖等這幾樣比較重要的時間操作。
上機實驗是學習程序設計語言必不可少的實踐環節,特別是c語言靈活、簡潔,更需要通過編程的實踐來真正掌握它。對於程序設計語言的學習目的,可以概括為學習語法規定、掌握程序設計方法、提高程序開發能力,這些都必須通過充分的實際上機操作才能完成。
學習c程序設計語言除了課堂講授以外,必須保證有不少於課堂講授學時的上機時間。因為學時所限,課程不能安排過多的統一上機實驗,所以希望學生有效地利用課程上機實驗的機會,盡快掌握用c語言開發程序的能力,為今後的繼續學習打下一個良好的基礎。為此,我們結合課堂講授的內容和進度,安排了12次上機實驗。課程上機實驗的目的,不僅僅是驗證教材和講課的內容、檢查自己所編的程序是否正確,課程安排的上機實驗的目的可以概括為如下幾個方面:
1.加深對課堂講授內容的理解
課堂上要講授許多關於c語言的語法規則,聽起來十分枯燥無味,也不容易記住,死記硬背是不可取的。然而要使用c語言這個工具解決實際問題,又必須掌握它。通過多次上機練習,對於語法知識有了感性的認識,加深對它的理解,在理解的基礎上就會自然而然地掌握c語言的語法規定。對於一些內容自己認為在課堂上聽懂了,但上機實踐中會發現原來理解的偏差,
這是由於大部分學生是初次接觸程序設計,缺乏程序設計的實踐所致。
學習c語言不能停留在學習它的語法規則,而是利用學到的知識編寫c語言程序,解決實際問題。即把c語言作為工具,描述解決實際問題的步驟,由計算機幫助我們解題。只有通過上機才能檢驗自己是否掌握c語言、自己編寫的程序是否能夠正確地解題。
通過上機實驗來驗證自己編制的程序是否正確,恐怕是大多數同學在完成老師作業時的心態。但是在程序設計領域里這是一定要克服的傳統的、錯誤的想法。因為在這種思想支配下,可能你會想辦法去"掩蓋"程序中的錯誤,而不是盡可能多地發現程序中存在的問題。自己編好程序上機調試運行時,可能有很多你想不到的情況發生,通過解決這些問題,可以逐步提高自己對c語言的理解和程序開發能力。
2.熟悉程序開發環境、學習計算機系統的操作方法
一個c語言程序從編輯、編譯、連接到運行,都要在一定的外部操作環境下才能進行。所謂"環境"就是所用的計算機系統硬體、軟體條件,只有學會使用這些環境,才能進行程序開發工作。通過上機實驗,熟練地掌握c語言開發環境,為以後真正編寫計算機程序解決實際問題打下基礎。同時,在今後遇到其它開發環境時就會觸類旁通,很快掌握新系統的使用。
3.學習上機調試程序
完成程序的編寫,決不意味著萬事大吉。你認為萬無一失的程序,實際上機運行時可能不斷出現麻煩。如編譯程序檢測出一大堆錯誤。有時程序本身不存在語法錯誤,也能夠順利運行,但是運行結果顯然是錯誤的。開發環境所提供的編譯系統無法發現這種程序邏輯錯誤,只能靠自己的上機經驗分析判斷錯誤所在。程序的調試是一個技巧性很強的工作,對於初學者來說,盡快掌握程序調試方法是非常重要的。有時候一個消耗你幾個小時時間的小小錯誤,調試高手一眼就看出錯誤所在。
通過這次為數不多的幾天計算機實踐學習,我們了解了一些關於c語言的知識,理解鞏固了我們c語言的理論知識,著對我們將來到社會工作將會有莫大的幫助。同時它讓我知道,只要你努力,任何東西都不會太難。
c語言心得體會範文6
1、引言
《C語言程序設計》是各大高校理工類專業的一門重要的必修課程,由於C語言使用靈活,數據類型繁多,結構復雜,因此學生在學習該課程時都或多或少的感覺頭疼,學習不得要領。這就要求教師在教學中需要貫穿先進的教學理念,採用適合的教學方法。本文針對C語言教學中存在的問題,結合多年的教學經驗,提出幾點教學方法和體會。
2、C語言教學中存在的問題
2.1學生學習熱情不高
C語言課程的開設對象一般為大一學生,想讓他們馬上接受程序設計的思想幾乎是不可能的。另外他們從高年級同學那裡得知C語言學習難度大,就會產生學習C語言這門課程的懼怕心理。還有一部分學生認為學習C語言對自身的專業沒有什麼用處,因此產生了厭學的情緒。
2.2傳統教學方式存在弊端
以教師為中心的灌輸式教學方法忽視了學生的「學」,學生處於被動接受狀態,缺少教師和學生的互動,學生學習的主動性、積極性難以發揮。雖然近年來C語言程序設計課程多媒體課件教學得到廣泛普及,在某種程度上激發了學生的學習興趣,但仍然沒有脫離傳統教學方式,缺少教學目標的針對性,由「照本宣科」變為「照片(幻燈片)宣科」,沒有從根本上解決師生交互匱乏的現實[1]。
2.3學生學習方法不得當
由於大一學生還不是很適應大學的學習方式,很多時候還沿用高中時候學數學、英語等科目的方法來學習C語言,一些學生只重視理論知識,以為光靠背一背、做做題就能學好,忽視了實踐環節的重要性,從而導致了一部分學生學不得法,效率極低。
3、幾點教學體會
針對上述存在的問題,分別提出幾點體會,可以歸納為:「一個目標」、「兩個關鍵」、「三步實踐」。
3.1樹立一個目標
這是針對學生的學習態度提出的。做一件事情如果沒有一個明確的目標。就很難提起興趣,遇到困難也很容易放棄,當然也無法做好。學習C語言也不例外。如果想激發學生的學習興趣,讓學生喜歡學、主動學,就必須讓學生明確為什麼要學習C語言,明確一個學習的目標。事實上,學習C語言對於任何專業的學生都有莫大的好處,可以鍛煉邏輯思維能力,對以後的專業課的學習有很好的輔助作用,也會對以後學習其他編程語言打下良好的基礎,正所謂」萬變不離其宗」,如果真正掌握精了程序設計思想,具備了真正解決實際問題的能力,語言再更新可程序設計的本質不會變[2]。當然,從更實用的角度來看,可以把「通過國家二級考試」作為一個為之努力實現的目標,不僅對以後就業很有幫助,讓學習有了興趣和動力,有了克服困難的決心,取得事半功倍的效果。
c語言心得體會範文7
在初學C語言的一個學期後,我們進行了C語言實訓階段,嘗試自己編寫一個比較復雜的程序系統。在為期兩周的時間中,我們同組的同學共同的感受是:C語言實訓和平時上課所接觸的程序是有很大不同的,所經受的考驗和克服的困難是平時所無法比擬的。好在同組的搭檔們精誠合作,分工明確,有問題共同解決,攻克了C語言實訓的復雜程序。在這里,我作為其中的參與者,自然感觸良多。
剛開始接觸到C的時候,我已經學過一些有關VB的內容,這個在演算法和思維上稍微有點幫助。回想本學期的學習,首先,最基本的,是C的數據格式,讓我們知道整數,浮點數以及字元常量在C中的運用。然後,在學會了數據轉化,以及熟練的可以對各種數據處理之後,我開始進行有關數據結構,像數組,結構體等的學習,因為有的東西從現有的知識來看都是非常簡單的,還沒有聯繫到指針等等一些復雜的概念。可是,僅僅學會這些是遠遠不夠的,C語言中,還有很多更加經典、重要、實用的知識。
說說函數。雖說很多程序語言都有函數這一內容,但我覺得C語言的函數是最有魅力的了。學習函數的方法是比較簡單的,只有兩個字「牢記」,即:牢記函數的功能,牢記函數的用途以及如何輸入輸出。函數從本質上講是一段通用程序,用它可以幫助我們節約很多編程的時間,學習C語言的「高人」都說,一個聰明的編程者在編寫程序前往往總是先找自己所編寫的程序中有多少是可以用函數來代替的。比如,大家可以作一個比較字元串的實驗,用C語言中的strcmp()函數只要一句話,而自己編寫的話,30句都很難實現,可想而知函數的實用和快捷。在我們C語言實訓的代碼中,函數更是得到了充分的應用,可以說,實訓題目的復雜代碼,就是用無數個函數的調用和嵌套積累出來的。
要注意的是,有的同學剛剛開始的時候,都是被一些大的程序激勵的,所以當開始的時候看到繁瑣的數據轉化和簡單的演算法,都覺得很無聊,都想自己做幾個自己滿意的程序來看看,雖然這種想法很好,但是,我們說,沒有基礎,純粹是搬照一些現成設計方法,是不足取的。要知道,程序設計講究的是個人的思維的,假如剛開始就被一些現成的思想束縛住,以後就會覺得很無趣。
我們知道,指針其實是C語言的靈魂,許多的數據結構在我們學到這里之前都可以說是精通了。所以我們的任務就是,讓數據結構在指針中運行。當然,剛剛開始接觸到這些新的東西,是一件非常痛苦的事情,所以我們一定要用非常形象的思維去看待指針,不能太固化。所以,新的東西,比如結構體在指針中的表現方法,數組及多維數組在結構體中的運用,都一點一點的加了進來,同時豐滿了我們對原來C的數據機構,數據表示的理解。當我們完成了這三步的學習,我們已經可以自豪的說,我們的基礎都扎實了,可以進一步的學習有關演算法,設計概念等等深層次的東西了。
但是,指針,結構體,這些太抽象的東西,在學習C語言的時候我們就有點「似懂非懂」,可是在眼下的C語言實訓中,像這么重要的C語言知識,一定要達到能熟練掌握,實際運用的程度。在實訓的大程序中,結構體在指針中的表現方法,數組及在結構體中的運用等具體的技術環節,都得到了體現,不會指針,我們的工作是沒法展開的。所以,在實訓期間,大家在鞏固基本知識的基礎上,逐塊攻克實訓課題,克服了困難,自信心得到了提高。
最後,談談我們組的程序軟體。商店商品管理系統,是一個比較利於應用,解決實際問題,方便實際管理的程序。設計代碼比較復雜,結構比較嚴謹。在程序編寫的1周左右的時間里,組員們遇到了上述的困難,包括程序設計構思,甚至是指針等某些知識點的欠缺,導致的工作中出現的困難。但是,當大家一起團結協作,解決了這些困難之後,發現自己也可以編寫復雜的、應用性的程序了,更發現自己對C語言這門學科的興趣也提高了。
當然,我們編寫的商店商品管理系統,還存在很多疏漏和不合理之處。比如,程序復雜冗長,如果時間充裕,我們將在不改變程序運行結果的基礎上,簡化程序,使每一句更加精闢,總體上更加簡化。另外,在程序的外觀上,我們由於時間問題,沒有做更多的修飾,運行起來顯得比較死板、枯燥乏味。如果增添一些色彩和其他效果,我們的程序也許會更加完美。
㈦ 求C語言的學習心得 或者 方法總結 什麼的
* 掌握C語言的基本語法和規定。 * 掌握程序設計基本演算法和思路,開拓思路, * 提高上機操作能力,掌握上機調試程序的方法 * 培養自學能力,強調自主學習。 * 養成良好的程序設計習慣。 通過總結多年的教學經驗,總結學生在學習過程中具有規律性的特點,可以發現,在本課程學習過程中學生經常出現下面這些問題: * 注重理論學習,忽視上機編程實踐,造成"只能用筆在紙上編程"的奇怪現象。特別是一些女同學,一到機器前面就手忙腳亂,如果程序再出現錯誤,就更不知道該如何查找錯誤,如何排除錯誤了。 *入門時自以為難度大,產生畏難情緒,總是怕,最後因為怕學不好而導致沒有學好。 *前期沒有抓緊,希望通過突擊完成課程學習。本課程要靠平時的積累,幾乎不能靠臨時突擊,由於前面基礎補扎實,到了後面已經無法彌補。 *太注重學習語句的語法規定,忽視了對編程的思路和方法的訓練。有些同學再學習結束的感覺就是:對每一個語句的語法和每一條規定都明白,就是面對實際問題的時候不知道該如何思考,該如何編程。 *急於求成,總想編寫綜合性的程序,忽視基本概念,忽視基本功的訓練和練習。在編寫程序中發現問題,一追根源,全是概念或基礎問題。 1.不要看到別人的回復第一句話就說:給個代碼吧!你應該想想為什麼。當你自己想 出來再參考別人的提示,你就知道自己和別人思路的差異。 2.初學者請不要看太多太多的書那會誤人子弟的,先找本系統的學,很多人用了很久 都是只對部分功能熟悉而已,不系統還是不夠的。 3.看幫助,不要因為很難而自己是初學者所以就不看;幫助永遠是最好的參考手冊, 雖然幫助的文字有時候很難看懂,總覺得不夠直觀。 4.不要被對象、屬性、方法等詞彙所迷惑;最根本的是先了解最基礎知識。 5.不要放過任何一個看上去很簡單的小問題--他們往往並不那麼簡單,或者可以引伸 出很多知識點;不會舉一反三你就永遠學不會。 6.知道一點東西,並不能說明你會寫腳本,腳本是需要經驗積累的。 7.學腳本並不難,JSP、ASP、PHP等等也不過如此--難的是長期堅持實踐和不遺餘力的博覽 群書; 8.看再多的書是學不全腳本的,要多實踐 9.把時髦的技術掛在嘴邊,還不如把過時的技術記在心裡; 10.學習腳本最好的方法之一就是多練習; 11.在任何時刻都不要認為自己手中的書已經足夠了; 12.看得懂的書,請仔細看;看不懂的書,請硬著頭皮看; 13.別指望看第一遍書就能記住和掌握什麼--請看第二遍、第三遍; 14.請把書上的例子親手到電腦上實踐,即使配套光碟中有源文件; 15.把在書中看到的有意義的例子擴充;並將其切實的運用到自己的工作中; 16.不要漏掉書中任何一個練習--請全部做完並記錄下思路; 17.當你用腳本到一半卻發現自己用的方法很拙劣時,請不要馬上停手;請盡快將余 下的部分粗略的完成以保證這個代碼的完整性,然後分析自己的錯誤並重新編寫和工 作。 18.別心急,寫腳本確實不容易;水平是在不斷的實踐中完善和發展的; 19.每學到一個腳本難點的時候,嘗試著對別人講解這個知識點並讓他理解----你能 講清楚才說明你真的理解了; 20.記錄下在和別人交流時發現的自己忽視或不理解的知識點; 21.保存好你做過的所有的源文件----那是你最好的積累之一; 22.對於網路,還是希望大家能多利用一下,很多問題不是非要到論壇來問的,首先 你要學會自己找答案,比如google、網路都是很好的搜索引擎,你只要輸入關鍵字就 能找到很多相關資料,別老是等待別人給你希望,看的出你平時一定也很懶! 23.到一個論壇,你學會去看以前的帖子,不要什麼都不看就發帖子問,也許你的問 題早就有人問過了,你再問,別人已經不想再重復了,做為初學者,誰也不希望自己 的帖子沒人回的。 24.雖然不是打擊初學者,但是這句話還是要說:論壇論壇,就是大家討論的地方, 如果你總期望有高手總無償指點你,除非他是你親戚!!討論者,起碼是水平相當的 才有討論的說法,如果水平真差距太遠了,連基本操作都需要別人給解答,誰還跟你 討論呢。能找到很多相關資料,別老是等待別人給你希望,看的出你平時一定也很懶! 25.到一個論壇,你學會去看以前的帖子,不要什麼都不看就發帖子問,也許你的問 題早就有人問過了,你再問,別人已經不想再重復了,做為初學者,誰也不希望自己 的帖子沒人回的。 26.雖然不是打擊初學者,但是這句話還是要說:論壇論壇,就是大家討論的地方, 如果你總期望有高手總無償指點你,除非他是你親戚!!討論者,起碼是水平相當的 才有討論的說法,如果水平真差距太遠了,連基本操作都需要別人給解答,誰還跟你 討論呢。 別做浮躁的人 浮躁的人容易問:我到底該學什麼;----別問,學就對了; 浮躁的人容易問:JS有錢途嗎;----建議你去搶銀行; 浮躁的人容易說:我要中文版!我英文不行!----不行?學呀! 浮躁的人分兩種:只觀望而不學的人;只學而不堅持的人; 浮躁的人永遠不是一個
㈧ C語言心得體會
課程設計是培養學生綜合運用所學知識,發現,提出,分析和解決實際問題,鍛煉實踐能力的重要環節,是對學生實際工作能力的具體訓練和考察過程.隨著科學技術發展的日新日異,單片機已經成為當今計算機應用中空前活躍的領域, 在生活中可以說得是無處不在。因此作為二十一世紀的大學來說掌握單片機的開發技術是十分重要的。
回顧起此次單片機課程設計,至今我仍感慨頗多,的確,從選題到定稿,從理論到實踐,在整整兩星期的日子裡,可以說得是苦多於甜,但是可以學到很多很多的的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發現了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,比如說三極體PNP管腳不懂怎麼放置,不懂分得二極體的正負極,對單片機匯編語言掌握得不好……通過這次課程設計之後,一定把以前所學過的知識重新溫故。
這次課程設計終於順利完成了,在設計中遇到了很多編程問題,最後在梁強老師的辛勤指導下,終於游逆而解。同時,在梁強老師的身上我學得到很多實用的知識,在次我表示感謝!同時,對給過我幫助的所有同學和各位指導老師再次表示忠心的感謝!
㈨ C語言實訓心得
通過這次C語言實訓,提高了我掌握和利用C語言進行程設計的能力, 而且進一步理解和運用結構化程設計的思想和方法。初步掌握了開發一個小型實用系統的基本方法。學會了調試一個較長程序的基本方法。學會了利用流程圖或N-S圖表示演算法。掌握了書寫程設計開發文檔的能力.為以後的實訓打下堅實的基礎。
㈩ C語言實訓心得
在初學C語言的一個學期後,我們進行了C語言實訓階段,嘗試自己編寫一個比較復雜的程序系統。在為期兩周的時間中,我們同組的同學共同的感受是:C語言實訓和平時上課所接觸的程序是有很大不同的,所經受的考驗和克服的困難是平時所無法比擬的。好在同組的搭檔們精誠合作,分工明確,有問題共同解決,攻克了C語言實訓的復雜程序。在這里,我作為其中的參與者,自然感觸良多。
剛開始接觸到C的時候,我已經學過一些有關VB的內容,這個在演算法和思維上稍微有點幫助。回想本學期的學習,首先,最基本的,是C的數據格式,讓我們知道整數,浮點數以及字元常量在C中的運用。然後,在學會了數據轉化,以及熟練的可以對各種數據處理之後,我開始進行有關數據結構,像數組,結構體等的學習,因為有的東西從現有的知識來看都是非常簡單的,還沒有聯繫到指針等等一些復雜的概念。可是,僅僅學會這些是遠遠不夠的,C語言中,還有很多更加經典、重要、實用的知識。
說說函數。雖說很多程序語言都有函數這一內容,但我覺得C語言的函數是最有魅力的了。學習函數的方法是比較簡單的,只有兩個字「牢記」,即:牢記函數的功能,牢記函數的用途以及如何輸入輸出。函數從本質上講是一段通用程序,用它可以幫助我們節約很多編程的時間,學習C語言的「高人」都說,一個聰明的編程者在編寫程序前往往總是先找自己所編寫的程序中有多少是可以用函數來代替的。比如,大家可以作一個比較字元串的實驗,用C語言中的strcmp()函數只要一句話,而自己編寫的話,30句都很難實現,可想而知函數的實用和快捷。在我們C語言實訓的代碼中,函數更是得到了充分的應用,可以說,實訓題目的復雜代碼,就是用無數個函數的調用和嵌套積累出來的。
要注意的是,有的同學剛剛開始的時候,都是被一些大的程序激勵的,所以當開始的時候看到繁瑣的數據轉化和簡單的演算法,都覺得很無聊,都想自己做幾個自己滿意的程序來看看,雖然這種想法很好,但是,我們說,沒有基礎,純粹是搬照一些現成設計方法,是不足取的。要知道,程序設計講究的是個人的思維的,假如剛開始就被一些現成的思想束縛住,以後就會覺得很無趣。
我們知道,指針其實是C語言的靈魂,許多的數據結構在我們學到這里之前都可以說是精通了。所以我們的任務就是,讓數據結構在指針中運行。當然,剛剛開始接觸到這些新的東西,是一件非常痛苦的事情,所以我們一定要用非常形象的思維去看待指針,不能太固化。所以,新的東西,比如結構體在指針中的表現方法,數組及多維數組在結構體中的運用,都一點一點的加了進來,同時豐滿了我們對原來C的數據機構,數據表示的理解。當我們完成了這三步的學習,我們已經可以自豪的說,我們的基礎都扎實了,可以進一步的學習有關演算法,設計概念等等深層次的東西了。
但是,指針,結構體,這些太抽象的東西,在學習C語言的時候我們就有點「似懂非懂」,可是在眼下的C語言實訓中,像這么重要的C語言知識,一定要達到能熟練掌握,實際運用的程度。在實訓的大程序中,結構體在指針中的表現方法,數組及在結構體中的運用等具體的技術環節,都得到了體現,不會指針,我們的工作是沒法展開的。所以,在實訓期間,大家在鞏固基本知識的基礎上,逐塊攻克實訓課題,克服了困難,自信心得到了提高。
最後,談談我們組的程序軟體。商店商品管理系統,是一個比較利於應用,解決實際問題,方便實際管理的程序。設計代碼比較復雜,結構比較嚴謹。在程序編寫的1周左右的時間里,組員們遇到了上述的困難,包括程序設計構思,甚至是指針等某些知識點的欠缺,導致的工作中出現的困難。但是,當大家一起團結協作,解決了這些困難之後,發現自己也可以編寫復雜的、應用性的程序了,更發現自己對C語言這門學科的興趣也提高了。
當然,我們編寫的商店商品管理系統,還存在很多疏漏和不合理之處。比如,程序復雜冗長,如果時間充裕,我們將在不改變程序運行結果的基礎上,簡化程序,使每一句更加精闢,總體上更加簡化。另外,在程序的外觀上,我們由於時間問題,沒有做更多的修飾,運行起來顯得比較死板、枯燥乏味。如果增添一些色彩和其他效果,我們的程序也許會更加完美。
以上就是我的C語言實訓個人總結