A. else if和if語句的用法,C語言單片機
基本上情況一樣,假設在if中不修改i的值的話。但如果在if中修改i的值就不一樣了。
第一種情況是
三個if都可能執行,但第二種情況只會執行其中的一個if。
例如:
i=11時,下面程序雖然看起來很無聊,但是確實可能存在的:
if(i>10)
{
i
=9;
}
if(i<10)
{
i=8;
}
則這兩個if都會執行,最後i=8了。
但是
if(i>10)
{
i=9;
}
else
if(i<10)
{
i=8;
}
則只會執行if,不會執行else
if,兩個是互斥的。最後i=9.
B. 單片機if語句格式
#include<reg52.h>
sbitA1=P2^0;
sbitA2=P1^0;//這里你定義反了,能編譯通過么?
voidmain()
{
while(1)
{//這里加個大括弧,循環執行括弧內的語句
if(A1==0)
A2=1;
esle;
A2=0;
}
}
C. 51單片機C語言if判斷語句及邏輯或能寫在一起嗎
只能這樣寫:if(a==0x45 || a==0x14);
(a==0x45||0x14),將是先計算 0x45||0x14 的結果,再與 a 比較,顯然不正確;
D. 單片機if語句。
你應該先判斷單獨的感測器能否實現功能,以排除硬體的錯誤,實際上你這個應該是
/*左轉*/ if(P3&0XF0)
{
delay(1);
P1_0=1;
P1_1=1;
P1_2=1;
P1_3=0;
delay(1);
}
也就是,只要P3的高位中有一個是1,就轉,你改成如上語句試試!
E. 在單片機匯編語言中怎麼表示選擇 像if語句那樣謝。
cmp al,bl ;比較指令,同減法操作,但不保存運算結果,所以不會改變al中值
jae lop1 ;a1大執行lop1
jmp lop2 ;a2大執行lop2
F. 求教單片機C語言編程時一個IF語句的使用
if(P10==0) // 應該是低電平
{
delay(500);//假設500ms
P20=0;
}
G. 關於單片機中#if,#else if 的用法
#if............
#else
if...........這是預處理語句。
預處理就是在進行編譯的第一遍詞法掃描和語法分析之前所作的工作。說白了,就是對源文件進行編譯前,先對預處理部分進行處理,然後對處理後的代碼進行編譯。這樣做的好處是,經過處理後的代碼,將會變的很精短。在單片機中屬於條件編譯,也就是說當滿足條件,就將#if後面的語句進行編譯,否則,丟棄這些部分語句,編譯#else
if後面的語句。
H. 51單片機IF使用
if{p1=p2} 這條指令是錯誤的。
如果不是0時候 我給P2信號 P1會輸出嗎?
根據你這句話的意思,你應該寫:
if(P2){p1=p2}
此時,如果P2不是0時候,你給P2信號,P1會輸出P2的值。
I. 51單片機中if語句的一個問題
單片機程序在執行完main程序後會跳回到住main程序入口再重新執行的。
把這個程序反匯編以後可以看到在C:0x0018行跳回主函數入口C0003
C:0x0000
02000F
LJMP
C:000F
4: void main(void)
5: {
6:
if(k)
C:0x0003
E508
MOV
A,k(0x08)
C:0x0005
6004
JZ
C:000B
7:
P0=0xff;
8:
else
C:0x0007
7580FF
MOV
P0(0x80),#0xFF
C:0x000A
22
RET
9:
P0=0x00;
C:0x000B
E4
CLR
A
C:0x000C
F580
MOV
P0(0x80),A
10: }
C:0x000E
22
RET
C:0x000F
787F
MOV
R0,#0x7F
C:0x0011
E4
CLR
A
C:0x0012
F6
MOV
@R0,A
C:0x0013
D8FD
DJNZ
R0,C:0012
C:0x0015
758108
MOV
SP(0x81),#k(0x08)
C:0x0018
020003
LJMP
main(C:0003)
C:0x001B
00
NOP
C:0x001C
00
NOP
C:0x001D
00
NOP
C:0x001E
00
NOP
J. 單片機中IF語句的使用
1、if...else
語句
除了要在括弧里條件滿足時執行相應的語句外,在不滿足該條件的時候,也要執行一些另外的語句,這時候就用到了
if...else
語句,它的基本語法形式是:
if
(條件表達式){
語句
1;
}else{
語句
2;
}
2、if...esle
語句
if...esle
語句是一個二選一的語句,或者執行
if
分支後的語句,或者執行
else
分支後的語句。還有一種多選一的用法就是
if...else
if
語句。他的基本語法格式是:
if
(條件表達式
1){語句
1;}
else
if
(條件表達式
2)
{語句
2;}
else
if
(條件表達式
3)
{語句
3;}
...
...
else{語句
n;}
他的執行過程是:依次判斷條件表達式的值,當出現某個值為「真」時,則執行相對應的語句,然後跳出整個
if
的語句塊,執行「語句
n」後面的程序;如果所有的表達式都為「假」,則執行
else
分支的「語句
n」後,再執行「語句
n」後邊的程序。
if
語句在
c
語言編程中使用頻率很高,用法也不復雜,所以必須要熟練掌握。