單片機C語言知識學習
1.c語言的數據類型 |
| 數據類型 | 位數 | 字節數 | 值域 | 備注: | bit | 1 |
| 0~1 | 漢相張良遇黃石公的故事,圯橋三進履,道,德,仁,義,禮五者,就是做人,處世的正道,守正方能出奇。 | signed char | 8 | 1 | -128~+127 | unsigned char | 8 | 1 | 0~255 | enum | 16 | 2 | -32768-+32767 | signed short | 16 |
| -32768-+32767 | unsigned short | 16 | 2 | 0~65535 | signed int | 16 | 2 | -32768-+32767 | unsigned int | 16 | 2 | 0~65535 | signed long | 32 | 4 | -2147483648~2147483647 | unsigned long | 32 | 4 | 0~4294967295 | float | 32 | 4 | 0.175494E-38~0.402823E+38 | sbit | 1 |
| 0~1 | sfr | 8 | 1 | 0~255 | sfr16 | 16 | 2 | 0~65535 |
2.C語言運算c語言運算 | 備注: |
|
|
|
| 運算符 | 范例 | 說明 |
|
|
|
|
| + | a+b | a變量值和b變量值相加 |
|
|
|
| - | a-b | a變量值和b變量值相減 |
|
|
|
| * | a*b | a 變量值乘以b變量值 |
|
|
|
| / | a/b | a 變量值除以b變量值 |
|
|
|
| % | a%b | 取a變量除以b變量值的余數 |
|
|
|
| = | a=6 | 將6設定給a變量,即a變量值等于6 |
|
|
|
| += | a+=b | 等同于a=a+b,將a和b相加的結果又存回a |
|
|
|
| -= | a-=b | 等同于a=a-b,將a和b相減的結果又存回a |
|
|
|
| *= | a*=b | 等同于a=a*b,將a和b相乘的結果又存回a |
|
|
|
| /= | a/=b | 等同于a=a/b,將a和b相除的結果又存回a |
|
|
|
| %= | a%=b | 等同于a=a%b,將a和b相除的余數又存回a |
|
|
|
| ++ | a++ | a的值加1,即a=a+1 | a=1; |
| a=1; |
| -- | a-- | a的值減1,即a=a-1 | b=++a; |
| b=a++; |
| > | a>b | 測試a是否大于b | 運行結果是a=2,b=2 |
| 運行結果是a=2,b=1 |
| < | a<b | 測試a是否小于b | 先++后賦值 |
| 先賦值后++ |
| == | a==b | 測試a是否等于b |
|
|
|
| >= | a>=b | 測試a是否大于或等于b |
|
|
|
| <= | a<=b | 測試a是否小于或等于b |
|
|
|
| != | a!=b | 測試a是否不等于b |
|
|
|
| && | a&&b | a 和 b 作邏輯AND,兩個變量都是真,結果才是'真'否則結果為'0' |
|
|
|
| || | a||b | a 和 b 作邏輯OR,只要有一個變量為真結果就是真 |
|
|
|
| ! | !a | 將a 變量的值取反,即原來的'真'變為'假','假'變為'真' |
|
|
|
| >> | a>>b | 將a按位右移b個位 |
|
|
|
| << | a<<b | 將a按位左移b個位,右側補‘0’ |
|
|
|
| | | a|b | a 和 b 的按位做OR運算 |
|
|
|
| & | a&b | a 和 b 的按位做AND運算 |
|
|
|
| ^ | a^b | a 和 b 的按位做XOR運算 |
|
|
|
| ~ | ~a | 將a 的每一位取反 |
|
|
|
| & | a=&b | 將b變量的地址存入a寄存器 |
|
|
|
| * | *a | 用來取寄存器所指的地址內的值 |
|
|
|
|
|
|
|
|
|
|
|
3.C語言的流程控制 if語句3.1
if(條件表達式)
{
動作1//如果條件表達式的值為真,執行動作1。否則跳過往下執行程序
}
3.2
if(條件表達式)
{
動作1//如果條件表達式的值為真,執行動作1.跳過動作2往下執行
}
else
{
動作2//如果條件表達式的值為假,跳過動作1,執行動作2.
}
3.3
if(條件表達式1)
{
if(條件表達式2)
{
if(條件表達式3)
{
動作1//表達式1,2,3都為真,執行動作1
}
else
{
動作2//表達式1,2為真,3為假,執行動作2
}
}
else
{
動作3//表達式1為真,表達式2為假,執行動作3
}
}
else
{
動作4//表達式1為假,時執行動作4
}
3.4
if(條件表達式1)
{
動作1//條件表達式1成立執行
}
else if (條件表達式2)
{
動作2//條件表達式1不成立,條件表達式2成立執行
}
else if(條件表達式3)
{
動作3//條件表達式1,2不成立,條件表達式3成立執行
}
else
{
動作4//條件表達式1,2,3都不成立,執行
}
|