亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 600|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

第4章 C語言基礎(chǔ)以及流水燈的實現(xiàn)4. 1 4.2 4.3

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1167894 發(fā)表于 2026-3-19 10:52 來自觸屏版 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 卓然塵世間 于 2026-3-19 11:35 編輯

        C語言,在編程領(lǐng)域是久負(fù)盛名的,可能沒接觸過計算機編程的人會把它看的很神秘,感覺非常的難。但其實并非如此,C語言的邏輯和運算,充其量也就是小學(xué)水平,所以不要怕它,作者盡可能的從小學(xué)數(shù)學(xué)邏輯方式帶著大家學(xué)習(xí)C語言。

4.1 二進制、十進制和十六進制
        1、十進制,逢十進位,一個位有十個值:0~9,生活中到處都是它的身影。二進制就是逢二進位,它的一個位只有兩個值:0和1,但它卻是實現(xiàn)計算機系統(tǒng)的最基本的理論基礎(chǔ),計算機(包括單片機)芯片是基于成萬上億個的開關(guān)管組合而成的,它們每一個都只能有開和關(guān)兩種狀態(tài),再難找出第三個狀態(tài)了(不要辯解半開半關(guān)這個狀態(tài),它是不穩(wěn)定態(tài),是極力避免的),所以它們只能對應(yīng)于二進制的1和0兩個值,而沒有2、3、4……,理解二進制對于理解計算機的本質(zhì)很有幫助。書寫二進制數(shù)據(jù)時需加前綴0b,每一位的值只能是0或1。十六進制就是把4個二進制位組合為一位來表示,于是它的每一位有0b0000~0b1111共16個值,用0~9再加上A~F(或a~f)表示,那么它自然就是逢十六進位了,它本質(zhì)上同二進制是一樣的,是二進制的一種縮寫形式,也是程序編寫中常用的形式。書寫十六進制數(shù)據(jù)時需加前綴0x,下表是三種進制之間的對應(yīng)關(guān)系。
表4-1  進制轉(zhuǎn)換

        2、對于二進制而言,8位二進制稱之為一個字節(jié),二進制的表達范圍值是從0b00000000~0b11111111,而在程序中用十六進制表示的時候就是從0x00到0xFF,二進制轉(zhuǎn)換十進制和十六進制的方法,二進制4位一組,遵循8/4/2/1的規(guī)律比如0b1010,那么從最高位開始算,數(shù)字大小是8*1+4*0+2*1+1*0 = 10,那么十進制就是10,十六進制就是0xA。尤其二進制轉(zhuǎn)十六進制的時候,十六進制一位剛好是和二進制的4位相對應(yīng)的,這些大家不需要強行記憶,多用幾次自然就熟練了。
        3、對于進制來說,只是數(shù)據(jù)的表現(xiàn)形式,而數(shù)據(jù)的大小不會因為進制表現(xiàn)形式不同而不同,比如二進制的0b1、十進制的1、十六進制的0x01,本質(zhì)上是數(shù)值大小相等的同一個數(shù)據(jù)。在進行C語言編程的時候,只寫十進制和十六進制,那么不帶0x的就是十進制,帶了0x符號的就是十六進制。

4.2  C語言變量類型和范圍
        什么是變量?變量自然和常量是相對的。常量就是1、2、3、4.5、10.6……等固定的數(shù)字,而變量則根小學(xué)學(xué)的x是類似概念,可以是1,也可以是2,想讓它是幾是程序說了算。
那么小學(xué)學(xué)的數(shù)學(xué)里邊,有這么幾類,正數(shù)、負(fù)數(shù)、整數(shù)和小數(shù)。在C語言里,除名字和數(shù)學(xué)里學(xué)的不一樣外,還對數(shù)據(jù)大小進行了限制。這個地方有一點復(fù)雜的是,在C51里邊的數(shù)據(jù)范圍和其他編程環(huán)境還可能不完全一樣,因此下邊的這個圖,僅僅代表的是C51,其他編程環(huán)境可能不一樣,大家知道有這回事就可以了。
C語言的數(shù)據(jù)基本類型分為字符型、整型、長整型以及浮點型,如圖4-1所示。


               4-1  C語言基本數(shù)據(jù)類型
        圖4-1中,四種基本類型,每個基本類型又包含了兩個類型。其中字符型、整型、長整型,除了可表達的數(shù)值大小范圍不同之外,都是只能表達整數(shù),而unsigned型的又只能表達正整數(shù),要表達負(fù)整數(shù)則必須用signed型,如要表達小數(shù)的話,則必須用浮點型了。
        比如前面講到的閃爍LED小燈的程序,用的是
unsigned int i = 0;
        這個i的取值范圍就是0~65535,在接下來的for語句里,如果把原來那個30000改成70000的話,
for(i=0;i<70000;i++);
        會發(fā)現(xiàn)小燈會一直亮,而不是閃爍了,這里自然就有因超出i取值范圍所造成的問題。但要徹底搞明白這個問題,還要來了解for語句的用法。不用急,接下來很快就會學(xué)到它了。
這里有一個編程宗旨,就是能用小不用大。就是說定義能用1個字節(jié)char解決問題的,就不定義成int,一方面節(jié)省RAM空間可以讓其他變量或者中間運算過程使用,另外一方面,占空間小程序運算速度也快一些。

4.3  C語言基本運算符
        小學(xué)數(shù)學(xué)學(xué)過加、減、乘、除等運算符號以及四則混合運算,而這些運算符號在C語言中也有,但是有些表達方法不一樣,并且還有額外的運算符號。在C語言編程中,加、減、乘、除和取余數(shù)的符號分別是:+、-、*、/、%。
        C語言有一個很重要的賦值運算符“=”,前邊程序有使用過。在C語言里,“=”代表的意思是賦值,而不是等于。最經(jīng)典的一個例子就是a=1;b=2;如果寫成a = a+b;這個在數(shù)學(xué)里的運算是a等于a加b,是個錯誤結(jié)論;而在c語言里的意思是把a加b的結(jié)果送給a,那么運算完了之后的結(jié)果是a等于3,b還等于2。
        說到這里就不得不說C語言的比較運算符“==”。這個在C語言里是進行是否等于判斷的關(guān)系運算符,而“!=”就是不等于的關(guān)系運算符。
        此外,C語言中還有額外的兩個運算符++和--,一個是自加1,一個是自減1,下面選++來講一下。
        ++在用法上就是加1的意思,注意是變量自己加,比如b++的意思就是b=b+1,而在編程的時候有兩種常用的方式先加和后加。比如
unsigned char a = 0; unsigned char b = 0;
        那么
a = ++b;
        其整個運算過程是先計算b=b+1,那么b就等于1了,然后再運行a=b,運行完畢后a=1,b=1。如果寫成
a=b++;
        那么運算過程就是先執(zhí)行a=b;然后再執(zhí)行b=b+1,執(zhí)行完的結(jié)果就是a=0,b=1。
        這些運算符這里就是簡單介紹一下,而后邊會通過使用實例來鞏固這些知識。其他一些運算符,在使用過程中也會陸陸續(xù)續(xù)介紹到。



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:1152952 發(fā)表于 2026-3-21 14:39 | 只看該作者
c51到現(xiàn)在還沒有看到講的好的教材,樓主加油
回復(fù)

使用道具 舉報

板凳
ID:1167894 發(fā)表于 2026-3-25 10:23 | 只看該作者
fei2008 發(fā)表于 2026-3-21 14:39
c51到現(xiàn)在還沒有看到講的好的教材,樓主加油

那您有時間可以看一下《 手把手教你學(xué)51單片機C語言版第3版》,保證您不會失望
回復(fù)

使用道具 舉報

地板
ID:1167894 發(fā)表于 2026-3-25 10:27 | 只看該作者
fei2008 發(fā)表于 2026-3-21 14:39
c51到現(xiàn)在還沒有看到講的好的教材,樓主加油

青島金思特電子的官網(wǎng)上就有喲
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表