毛片在线视频观看,一级日韩免费大片,在线网站黄色,澳门在线高清一级毛片

薈聚奇文、博采眾長、見賢思齊
當(dāng)前位置:公文素材庫 > 公文素材 > 范文素材 > C語言學(xué)習(xí)感想

C語言學(xué)習(xí)感想

網(wǎng)站:公文素材庫 | 時間:2019-05-29 22:35:12 | 移動端:C語言學(xué)習(xí)感想

C語言學(xué)習(xí)感想

┊┊┊┊┊┊┊┊┊┊┊┊┊裝┊┊┊┊┊訂┊┊┊┊┊線┊┊┊┊┊┊┊┊┊┊┊┊┊

論文報告紙

C語言學(xué)習(xí)感想

一C語言學(xué)習(xí)經(jīng)歷

學(xué)習(xí)C語言已經(jīng)大半年了,回想起這段學(xué)C語言的日子,經(jīng)歷了先苦后甜的過程。

早在上學(xué)期就已經(jīng)聽說過C語言的掛科率,高達(dá)50%,同學(xué)們談C色變。這種感覺在第一節(jié)課的時候終于得到了證實,老師首先講授了學(xué)習(xí)C語言的技巧,記得最清楚的就是上課一定要記筆記,上課認(rèn)真聽,上機認(rèn)真做練習(xí)。接著老師給我們大體介紹了C語言的發(fā)展歷程以及在目前大學(xué)教育里的地位的扶搖直上。C語言最初是為開發(fā)UNIX操作系統(tǒng)而設(shè)計的。C語言是介于匯編語言和高級語言的語言,C語言面向過程,高級語言面向?qū)ο螅珻語言較于高級語言的一個優(yōu)點就是能夠直接對地址進(jìn)行操作。最后老師對我們講解了計算機中的進(jìn)制問題,那叫一個頭疼,老師以為我們在上學(xué)期大體學(xué)過,就匆匆講了一下,老師的快語速加上我較差的基本功,我徹底的暈了,不過幸好的是我那時并沒有放棄,反而全身心的把精力放在了記筆記上。這個小小的措施使得我有機會在課后仔細(xì)的復(fù)習(xí)和研究老師上課的內(nèi)容,最終弄懂弄通。

在第二節(jié)課上前面部分老師主要講了C語言的算法,這部分我在高中時接觸過,所以大部分都聽懂了,有不理解的照例做了筆記,課后再看幾遍也就會了。到了后半部分老師講了數(shù)據(jù)類型及基本運算,這部分開始還能聽的懂,但隨著大量的新概念的輸入,腦子開始迷糊了,我有開始充分發(fā)揮我的強記能力,幾乎把老師說出的每個我聽不懂的字都記錄下來,所以現(xiàn)在看我那一章的書密密麻麻的全是字。但這種方法確實幫了我不少忙。但自那節(jié)課后,我意識到了這種聽課方式的弊端,這樣囫圇吞棗的記筆記,就浪費了大把大把的上課時間,我開始嘗試慢慢的強迫自己接受老師的講課內(nèi)容,開始確實接受不進(jìn)去,甚至還想打瞌睡,但這種強迫式的學(xué)習(xí)開始慢慢的發(fā)揮最用,我開始能夠接受大量的新定義和邏輯算法,這令我無比興奮,我喜歡這這種聽課很順的感覺。

接下來的課,由于前面的基礎(chǔ)打的好,所以聽起課來沒什么困難,至少直到指針這一節(jié)是這樣的。為了更好的學(xué)習(xí)C語言,我還買了譚浩強的《C語言試題匯編》,做了大量的訓(xùn)練,漸漸的喜歡上了C語言,看著在電腦上運行自己編寫的小程序,無比興奮(編的小程序僅僅處于自己的愛好),F(xiàn)在在短學(xué)期學(xué)習(xí)C語言的結(jié)構(gòu)體,指針和鏈表,我很遺憾的是真的如老師所言,我們在短學(xué)期根本沒心思好好學(xué),不過為了應(yīng)付下學(xué)期的二級考試,我還是準(zhǔn)備在暑假好好再學(xué)一下。

二C語言學(xué)習(xí)技巧(筆者自己的看法,不必錙銖必較)

1.一定要記筆記

2.課后一定要復(fù)習(xí),可以向老師拷PPT

3.買一本C語言練習(xí)冊,自己有空就做做,大學(xué)里有的就是時間4.多多嘗試自己編寫一些小程序,最好是自己感興趣的5.上機好好做題

三學(xué)習(xí)C語言的重要性(大家都是這樣說的)

1C語言是CombinedLanguage(組合語言)的中英混合簡稱。是一種計算機程序設(shè)計語言。它既具有高級語言的特點,又具有匯編語言的特點。它可以作為工作系統(tǒng)設(shè)計語言,編寫系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計語言,編寫不依賴計算機硬件的應(yīng)用程序。因此,它的應(yīng)用范圍廣泛,不僅僅是在軟件開發(fā)上,而且各類科研都需要用到C語言,具體應(yīng)用比如單片機以及嵌入式系統(tǒng)開發(fā)。

2作為新世紀(jì)的大學(xué)生,應(yīng)當(dāng)站在時代發(fā)展的前列,掌握現(xiàn)代科學(xué)知識,調(diào)整自己的知識結(jié)構(gòu)和能力結(jié)構(gòu),以適應(yīng)社會發(fā)展的要求。新世紀(jì)需要具有豐富的現(xiàn)代科學(xué)知識,能夠獨立解決面臨的任務(wù),充滿活力,有創(chuàng)新意識的新型人才。尤其是掌握計算機的基本技能和語言。

共3頁第1頁

┊┊┊┊┊┊┊┊┊┊┊┊┊裝┊┊┊┊┊訂┊┊┊┊┊線┊┊┊┊┊┊┊┊┊┊┊┊┊

論文報告紙

四C語言的特點

1.C是中級語言。它把高級語言的基本結(jié)構(gòu)和語句與低級語言的實用性結(jié)合起來。C語言可以像匯編語言一樣對位、字節(jié)和地址進(jìn)行操作,而這三者是計算機最基本的工作單元。

2.C是結(jié)構(gòu)式語言。結(jié)構(gòu)式語言的顯著特點是代碼及數(shù)據(jù)的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦,便于使用、維護(hù)以及調(diào)試。C語言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語句控制程序流向,從而使程序完全結(jié)構(gòu)化。

3.C語言功能齊全。具有各種各樣的數(shù)據(jù)類型,并引入了指針概念,可使程序效率更高。另外C語言也具有強大的圖形功能,支持多種顯示器和驅(qū)動器。而且計算功能、邏輯判斷功能也比較強大,可以實現(xiàn)決策目的的游戲。

4.C語言適用范圍大。適合于多種操作系統(tǒng),如Windows、DOS、UNIX等等;也適用于多種機型。

C語言對編寫需要硬件進(jìn)行操作的場合,明顯優(yōu)于其它解釋型高級語言,有一些大型應(yīng)用軟件也是用C語言編寫的。

C語言具有繪圖能力強,可移植性,并具備很強的數(shù)據(jù)處理能力,因此適于編寫系統(tǒng)軟件,三維,二維圖形和動畫。它是數(shù)值計算的高級語言。

五C語言的優(yōu)點

簡潔緊湊、靈活方便

C語言一共只有32個關(guān)鍵字,9種控制語句,程序書寫形式自由,主要用小寫字母表示。它把高級語言的基本結(jié)構(gòu)和語句與低級語言的實用性結(jié)合起來。C語言可以像匯編語言一樣對位、字節(jié)和地址進(jìn)行操作,而這三者是計算機最基本的工作單元。

運算符豐富

C語言的運算符包含的范圍很廣泛,共有34種運算符。C語言把括號、賦值、強制類型轉(zhuǎn)換等都作為運算符處理。從而使C語言的運算類型極其豐富,表達(dá)式類型多樣化。靈活使用各種運算符可以實現(xiàn)在其它高級語言中難以實現(xiàn)的運算。

數(shù)據(jù)結(jié)構(gòu)豐富

C語言的數(shù)據(jù)類型有:整型、實型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型、共用體類型等。能用來實現(xiàn)各種復(fù)雜的數(shù)據(jù)結(jié)構(gòu)的運算。并引入了指針概念,使程序效率更高。另外C語言具有強大的圖形功能,支持多種顯示器和驅(qū)動器。且計算功能、邏輯判斷功能強大。

共3頁第2頁

┊┊┊┊┊┊┊┊┊┊┊┊┊裝┊┊┊┊┊訂┊┊┊┊┊線┊┊┊┊┊┊┊┊┊┊┊┊┊

論文報告紙

共3頁第3頁

擴展閱讀:c語言學(xué)習(xí)心得

1、只有頻繁用到或?qū)\算速度要求很高的變量才放到data區(qū)內(nèi),如for循環(huán)中的計數(shù)值。2、其他不頻繁調(diào)用到和對運算速度要求不高的變量都放到xdata區(qū)。3、常量放到code區(qū),如字庫、修正系數(shù)。4、邏輯標(biāo)志變量可以定義到bdata中。

在51系列芯片中有16個字節(jié)位尋址區(qū)bdata,其中可以定義8*16=128個邏輯變量。這樣可以大大降低內(nèi)存占用空間。定義方法是:bdatabitLedState;但位類型不能用在數(shù)組和結(jié)構(gòu)體中。

5、data區(qū)內(nèi)最好放局部變量。

因為局部變量的空間是可以覆蓋的(某個函數(shù)的局部變量空間在退出該函數(shù)是就釋放,由別的函數(shù)的局部變量覆蓋),可以提高內(nèi)存利用率。當(dāng)然靜態(tài)局部變量除外,其內(nèi)存使用方式與全局變量相同;

6、確保程序中沒有未調(diào)用的函數(shù)。

在KeilC里遇到未調(diào)用函數(shù),編譯器就將其認(rèn)為可能是中斷函數(shù)。函數(shù)里用的局部變量的空間是不釋放,也就是同全局變量一樣處理。這一點Keil做得很愚蠢,但也沒辦法。7、如果想節(jié)省data空間就必須用large模式。

將未定義內(nèi)存位置的變量全放到xdata區(qū)。當(dāng)然最好對所有變量都要指定內(nèi)存類型。8、使用指針時,要指定指針指向的內(nèi)存類型。

在C51中未定義指向內(nèi)存類型的通用指針占用3個字節(jié);而指定指向data區(qū)的指針只占1個字節(jié);指定指向xdata區(qū)的指針占2個字節(jié)。如指針p是指向data區(qū),則應(yīng)定義為:chardata*p;。還可指定指針本身的存放內(nèi)存類型,如:chardata*xdatap;。其含義是指針p指向data區(qū)變量,而其本身存放在xdata區(qū)。

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

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

在51系列中data,idata,xdata,pdata的區(qū)別

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

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

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

pdata:外部擴展RAM的低256個字節(jié),地址出現(xiàn)在A0-A7的上時讀寫,用movxACC,@Rx讀寫。這個比較特殊,而且C51好象有對此BUG,建議少用。但也有他的優(yōu)點,具體用法屬于中級問題,這里不提。

三、有關(guān)單片機ALE引腳的問題

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

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

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

小弟感激涕零.

答:

其他所有指令每6個機器周期發(fā)出一個ALE,而MOVX指令占用12個機器周期只發(fā)出一個ALE

四、如何將一個INT型數(shù)據(jù)轉(zhuǎn)換成2個CHAR型數(shù)據(jù)?

經(jīng)keil優(yōu)化后,char1=int1/256,char2=int1%256或char1=int1>>8,char2=int1&0x00ff效率是一樣的。

五、在KEILC51上仿真完了,怎樣生成HEX文件去燒寫??

右鍵點項目中Target1,選第二個,在OUTPUT中選中CREATHEX

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

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

typedefunsignedcharUCHAR;

#defineunsignedcharUCHAR;typedef命名一個新的數(shù)據(jù)類型,但實際上這個新的數(shù)據(jù)類型是已經(jīng)存在的,只不過是定義了

一個新的名字.

#define只是一個標(biāo)號的定義.

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

#defineMAX100

#defineFUN(x)100-(x)

#defineLABEL

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

七、請問如何設(shè)定KELC51的仿真工作頻(時鐘)

用右鍵點擊左邊的的target1,然后在xtal一欄輸入

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

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

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

是的。

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

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

可以用位變量:

#include

#include

voidmain(){bitflag;

flag=0;

switch(flag){

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

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

default:break;}}

bit變量只有兩種狀態(tài),if語句足夠啦,!!!

十一、const常數(shù)聲明占不占內(nèi)存???

const只是用來定義“常量”,所占用空間與你的定義有關(guān),如:

constcodecstStr[]={"abc"};

占用代碼空間;而如:

constchardatacstStr[]={"abc"};

當(dāng)然占用內(nèi)存空間。

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

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

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

十三、BUGofKeilC51

程序中用如下語句:constunsignedcharstrArr[]={"數(shù)學(xué)"};

結(jié)果發(fā)現(xiàn)strArr[]內(nèi)容為{0xCA,0xD1,0xA7},真奇怪!

凡是有0xfd,則會通通不見了,所以只能手工輸入內(nèi)碼了,例如ucharstrArr[]=

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

十四、KeilC51中如何實現(xiàn)代碼優(yōu)化?

菜單Project下Optionfortarget"Simulator"的C51.

看到Codeoptimization了嗎?

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

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

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

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

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

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

p3.5完全可以當(dāng)普通的io使用

十八、C51中INT轉(zhuǎn)換為2個CHAR?

各位高手:

C51中INT轉(zhuǎn)換為CHAR如何轉(zhuǎn)換諸如:

X=LOW(Z);

Y=HIGH(Z);

答:

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

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

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

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

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

SETB77H

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

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

二十、char*addr=0xc000和charxdata*addr=0xc000有何區(qū)別?

char*addr=0xc000;

charxdata*addr=0xc000;

除了在內(nèi)存中占用的字節(jié)不同外,還有別的區(qū)別嗎?

char*addr=0xc000;是通用定義,指針變量addr可指向任何內(nèi)存空間的值;

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

后一種定義中該指針變量(addr)將少占用一個存儲字節(jié)。

ucharxdata*addr=0xc000;指針指向外ram;

如果:dataucharxdata*addr=0xc000;指針指向外ram但指針本身存在于內(nèi)ram(data)中

以此類推可以idataucharxdata*addr=0xc000;pdataucharxdata*addr=0xc000;dataucharidata*addr=0xa0;.........

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

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

while(P1_0){P1_0=0;}

while(!P1_0){

P1_0=1;}

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

仿真運行看看就知道了,

我仿真了試了一下,約14個周期

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

各位大蝦,我用KEILC51編寫了一個帶外部開門狗的程序,可程序無法運行起來,經(jīng)過查

找,發(fā)現(xiàn)程序在經(jīng)過C51編譯后,在MAIN()函數(shù)的前部增加了一端初始化程序,等到進(jìn)入

主程序設(shè)置開門狗時,開門狗已經(jīng)時間到,將我的程序復(fù)位了,請問我怎樣才能修改這一端

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

可以在startup.a51中加入看門狗刷新指令,當(dāng)然用匯編,然后重新編譯startup.a,將他和你的程序連接即可。新的startup.a51會自動代替系統(tǒng)默認(rèn)的啟動模塊。

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

直接加入即可

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

二十四、關(guān)于波特率的設(shè)置

我在設(shè)定串口波特率時發(fā)現(xiàn)一個問題:在晶體震蕩器為11.0592MHz時,若設(shè)9600BPS的話,

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

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

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

TH1和TL1的值不變.

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

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

DSEGAT20H

AA:DS10

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

或者在c51里這樣定義:

uchardataasm_buff[10]_at_0x20;

二十六、問浮點運算問題

我在用C51時發(fā)現(xiàn)它對傳遞浮點參數(shù)的個數(shù)有限制,請問:

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

2)這種傳遞浮點參數(shù)的限制有多少呢?3)float*float的結(jié)果是float類型還是double類型?能否直接賦值給float類型的變量?答:

由于KEILC51的參數(shù)傳遞是通過R0-R7來傳遞的,所以會有限制。

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

的內(nèi)容見KEIL的PDF文檔。

我建議你把多個要傳遞的參數(shù)定義到指針或結(jié)構(gòu)體中去,傳遞參

數(shù)通過指針或結(jié)構(gòu)進(jìn)行,這樣好一些。

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

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

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

ucharxdatadis_buff[16]_at_0x6020;//定位RAM

將dis_buff[16]定位在0x6020開始的16個字節(jié)

二十八、keilc中,用什么函數(shù)可以得到奇偶校驗位?

例如32位數(shù)據(jù),將四個字節(jié)相互異或后檢查P即可,若耽心P被改變,可用內(nèi)嵌匯編。

#include

unsignedcharparity(unsignedcharx){x^=x;

if(P)return(1);

elsereturn(0);}

unsignedcharparity2(unsignedintx){

#pragmaasm

mova,r7

xrlar6,a

#pragmaendasm

if(P)return(1);

elsereturn(0);}

友情提示:本文中關(guān)于《C語言學(xué)習(xí)感想》給出的范例僅供您參考拓展思維使用,C語言學(xué)習(xí)感想:該篇文章建議您自主創(chuàng)作。

來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。


C語言學(xué)習(xí)感想》由互聯(lián)網(wǎng)用戶整理提供,轉(zhuǎn)載分享請保留原作者信息,謝謝!
鏈接地址:http://www.seogis.com/gongwen/747895.html
相關(guān)文章