當前位置:首頁 » 編程語言 » c語言實驗小結

c語言實驗小結

發布時間: 2023-06-08 21:00:41

c語言程序設計實驗報告內容

1、實驗名稱:計算出1000以內10個最大素數之和。

2、實驗目的:熟練掌握if、if…else、if…else if語句和witch語句格式及使用方法,掌握if語句中的嵌套關系和匹配原則,利用if語句和switch語句實現分支選擇結構。熟練掌握while語句、do…while語句和for語句格式及使用方法,掌握三種循環控制語句的循環過程以及循環結構的嵌套,利用循環語句實現循環結構。掌握簡單、常用的演算法,並在編程過程中體驗各種演算法的編程技巧。進一步學習調試程序,掌握語法錯誤和邏輯錯誤的檢查方法。

3、實驗內容:計算並輸出1000以內最大的10個素數以及它們的和。

4、要求:在程序內部加必要的注釋。 由於偶數不是素數,可以不考慮對偶數的處理。 雖然在1000以內的素數超過10個,但是要對1000以內不夠10個素數的情況進行處理。 輸出形式為:素數1+素數2+素數3+…+素數10=總和值。

5、演算法描述流程:Main函數:判斷素數:

6、測試數據:分別輸入1000、100、10測試。

7、運行結果:出現問題及解決方法:當素數個數小於10時的處理不夠完善,考慮不夠周全。學習耐心與細心不足,如scanf(「%d」,&n);中的「&」經常忘記。

8、編程思想不夠發散,例如如何判斷素數,只能想出2種方式(其中1種為參考教科書上內容);在今後學習桐襪中應更多的動腦,綜合運用所學。

9、基本功不夠,如清屏clrscr()等函數用的不好,有時同樣的問題多次犯,給實驗課老師帶來很大的麻煩。這說亂輪態明我的知識不夠廣,有很多有用但不做考試要求的書中內嘩源容沒有學好,認識程度不夠深刻。就算以後C語言這門課程結束後,也應多看相關東西,多上機練習,才能真正從本質上提高自己。

10、物理實驗報告 ·化學實驗報告 ·生物實驗報告 ·實驗報告格式 ·實驗報告模板

11、知識不夠廣泛,如VC++6.0等程序,自己試了好一陣也不會用;說明我電腦水平還是不夠,自學能力不夠。已會的東西掌握的還是不夠好。

12、實驗心得:通過本次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語言實驗報告總結

你只需要按那個模版就行,那些內容就改成你的作業
班級: 學號: 姓名:
實驗9 指針

一、實驗目的

(1)掌握指針概念,並定義與使用它。

(2)使用數組的指針和指向數組的指針變數。

(3)使用字元串的指針和指向字元串的指針變數。

二、實驗內容

1. 將一個3*3的矩陣轉置,用函數實現。

2. 有n個人圍成一圈,順序排號。從第一個人開始報數(1~3),凡報到3的人退出,問第幾號的人能留下。

三、實驗環境

硬體:(1)學生用微機

(2)多媒體實驗教室

軟體:(1)Windows XP 中文操作系統

(2)VC++ 6.0

四、實驗結果

程序1:

#include<stdio.h>

void main()

{

void move(int *pointer);

int a[3][3],*p,i;

printf("input marix:\n");

for(i=0;i<3;i++)

scanf("%d %d %d",&a[i][0],&a[i][1],&a[i][2]);

p=&a[0][0];

move(p);

printf("matrix:\n");

for(i=0;i<3;i++)

printf("%d %d %d\n",a[i][0],a[i][1],a[i][2]);

}

void move(int *pointer)

{

int i,j,t;

for(i=0;i<3;i++)

for(j=i;j<3;j++)

{

t=*(pointer+3*i+j);

*(pointer+3*i+j)=*(pointer+3*j+i);

*(pointer+3*j+i)=t;

}

}

程序2:

#include<stdio.h>

void main()

{

int i,k,m,n,num[50],*p;

printf("input num of person:");

scanf("%d",&n);

p=num;

for(i=0;i<n;i++)

*(p+i)=i+1;

i=0;

k=0;

m=0;

while(m<n-1)

{

if(*(p+i)!=0)k++;

if(k==3)

{

*(p+i)=0;

k=0;

m++;

}

i++;

if(i==n)i=0;

}

while(*p==0)p++;

printf("the last num is %d\n",*p);

}

結果1:(就是程序運行之後出現的框,截圖後粘貼這里)

結果2:

五、總結:

通過這個實驗的學習, 基本掌握了指針的基本用法。

④ 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(c++)上機實驗報告格式:

⒈ 實驗目的

(1) 了解在具體的語言環境下如何編輯、編譯、連接和運行一個 C 程序。

⑵ 通過運行簡單的 C 程序,初步了解 C 源程序的特點。

⑶ 掌握 C 語言數據類型,熟悉如何定義一個整型、字元型和實型的變數,以及對它們賦值的方法。

⑷ 掌握不同的類型數據之間賦值的規律。

⑸ 學會使用 C 的有關算術運算符,以及包含這些運算符的表達式,特別是自加(++)和自減(--)運算符的使用。

2.實驗內容和步驟

⑴ 檢查所用的計算機系統是否已安裝了 C 編譯系統並確定他所在的子目錄。

⑵ 進入所用的集成環境。

⑶ 熟悉集成環境的界面和有關菜單的使用方法。

⑷ 輸入並運行一個簡單的、正確的程序。

⒊ 實驗題目

⑴ 輸入下面的程序

# include 「stdio.h」 void main()

{ printf(「This is a c program. 」); }

⑥ c語言實驗報告總結怎麼寫

c語言實驗報告總結這樣寫:

在科技高度發展的今天,計算機在人們之中的作用越來越突出。而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語言實驗報告總結怎麼寫

實驗報告總結示例如下:

1、此次設計也讓我明白了思路即出路,有什麼不懂不明白的地方要及時請教或上網查詢,只要認真鑽研,動腦思考,動手實踐,就槐橡沒有弄不懂的知識,俗話說的好,讀書破萬卷下筆如有神,沒有學不會只有不肯學!我堅信,只要下一番功夫就能有理想的收獲!

2、通過這次實驗,讓我更加了解到地理信息系統桐氏原理與方法的重要性,以及它對我們資源勘查專業發展發揮的重要作用。學習,我覺得結果並不是最重要的,很多結果並不美好。

但是學習這個過程是不可少的。當自己把本課程所有的實驗做完後,才領悟到老師所說話的含義,要掌握一種新的軟體,得隨著實踐的演練,通過循序漸進的學習,才能更好的掌握它。這次實驗,學到的東西很多。

3、我認為,在這學期的gis實驗中,不僅培養了獨立思考、動手操作的能力,在各種其它能力上也都有了提高。更重要的是,在實驗課上,我們學會了很多學習的方法。而這也是日後最實用的,真的是受益匪淺。要面對社會的挑戰,只有不斷的學習、實踐,再學習、再實踐。這對於我們的將來也有很大的幫助。

4、綜上所述,經過這次實習,我了解了很多日後工作所需的基本技能,檢驗了平時所鉛輪旁學習的基礎知識,對植物營養這門學科有了更深刻的理解,這於我來說無疑是受益匪淺的。我相信,這次實習讓我獲得的經驗、心得會促進我在以後的學習、工作中尋找到合理的方法和正確的方向。最終感激學校為我們供給這樣的實習機會。

5、這次實驗雖然僅有短短的xx天,可是實習資料異常豐富,並且經過這個實習我們都得到了知識上的復習和本事上的提高。正是因為這個實習,加深了我對植物營養學這門學科的了解,同時對我們專業的發展方向有了初步認識。這次實習不但鞏固了我們平時所學,也為我們日後的專業工作供給了十分實際的便利。

⑧ c語言程序設計實驗報告

五、 課程設計小結心得體會
1設計思想
1)、設定一個一維數組,可先按員工序號設定每位員工的工資
2)、利用While語句和Prinft語句完成用戶菜單的設計
功能為:第1項 設為員工編號和工資數據
第2項 設為修改員工工資數據
第3項 設為查詢員工工資數據
第4項 設為結束系統
3)、當用戶選擇1、2項時,需輸入員工編號,所以需要設計編號校正功能,如果出錯可輸出「The error employe number」
4)、當選擇2時,進行工資數據的修改,並將新數據存回該員工的工資數組中
5)、利用for循環中判斷語句,將用戶工資數與數組中的工資數進行比較,如相同則輸出,將計數器加1,如此下去,直到把整個數組遍歷一遍
6)、判斷計數器是否為0, 是0表示找不到相符的工資,如果不為0,則輸出共查出幾比相符的工資
以上當然裡面也涉及了「函數的模塊化」理念,可以避免但需要重復列印頭文件時重復編寫列印信頭的語句。像這樣的程序是多見的,這樣不但降低了程序還發效率,而且耗時浪費資源「共用體」的使用簡化了程序的「復雜」性,正如(4)中,學號與姓名同時表示一個人,但在函數使用了「共用體」,從而程序的簡單可以便於糾錯,查找問題,避免了代碼的重復,這樣就給編譯時帶來了一定的難度與「量」的繁雜。一般不採取這樣的做法,力求「簡單、明了、清晰」。

熱點內容
怎麼把自家電腦變成伺服器 發布:2024-04-17 01:14:58 瀏覽:161
有哪些高配置的游戲手機 發布:2024-04-17 01:09:11 瀏覽:437
交易系統編程 發布:2024-04-17 00:09:50 瀏覽:700
編程思想pdf下載 發布:2024-04-16 23:56:26 瀏覽:184
資料庫網格計算 發布:2024-04-16 23:28:13 瀏覽:23
電波蘿莉醬解壓 發布:2024-04-16 23:26:59 瀏覽:548
平板訪問密碼是什麼時候設置的 發布:2024-04-16 23:15:52 瀏覽:179
pyinstaller如何自定義配置打包 發布:2024-04-16 22:51:54 瀏覽:200
怎麼設置建行登陸密碼 發布:2024-04-16 22:49:58 瀏覽:59
大型激光編程 發布:2024-04-16 22:41:04 瀏覽:536