欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 8256|回復(fù): 6
收起左側(cè)

C語(yǔ)言if(表達(dá)式)中表達(dá)式不賦值是不是默認(rèn)為表達(dá)式為真的意思

[復(fù)制鏈接]
ID:521921 發(fā)表于 2019-5-31 16:19 | 顯示全部樓層 |閱讀模式
各位大咖:

         我是小白,在學(xué)習(xí)單片機(jī)C語(yǔ)言過(guò)程中,看到有些if(表達(dá)式)中的表達(dá)式?jīng)]有賦值(如下內(nèi)容中的flag),就直接繼續(xù)寫(xiě)條件下的表達(dá)式:

以下程序內(nèi)容:
我的疑惑:下面程序中,bit flag1s = 0; //1 秒定時(shí)標(biāo)志,在main函數(shù)中,while(1)循環(huán)中, if (flag1s) //每秒執(zhí)行一次交通燈刷新,這個(gè)條件表達(dá)式直接是一個(gè)flag1s,沒(méi)有賦值,旁邊的解釋說(shuō)“每秒執(zhí)行一次交通燈刷新”,這個(gè)意思就是flag1s=1,這里不寫(xiě)這個(gè)賦值,是不是就C語(yǔ)言中就默認(rèn)是為=1呢?

單片機(jī)C語(yǔ)言源程序如下:
#include <reg52.h>
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
unsigned char code LedChar[] = { //數(shù)碼管顯示字符轉(zhuǎn)換表
0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,
0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E
};
unsigned char LedBuff[7] = { //數(shù)碼管+獨(dú)立 LED 顯示緩沖區(qū)
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
};
bit flag1s = 0; //1 秒定時(shí)標(biāo)志
unsigned char T0RH = 0; //T0 重載值的高字節(jié)
unsigned char T0RL = 0; //T0 重載值的低字節(jié)
void ConfigTimer0(unsigned int ms);
void TrafficLight();
void main()
{
EA = 1; //開(kāi)總中斷
ENLED = 0; //使能數(shù)碼管和 LED
ADDR3 = 1;
ConfigTimer0(1); //配置 T0 定時(shí) 1ms

while (1)
{
if (flag1s) //每秒執(zhí)行一次交通燈刷新
{
flag1s = 0;
TrafficLight();
}
}
}

回復(fù)

使用道具 舉報(bào)

ID:415123 發(fā)表于 2019-5-31 20:21 | 顯示全部樓層
代碼不全,應(yīng)該在某個(gè)定時(shí)計(jì)數(shù)1S的代碼里,有bit flag1s = 1;語(yǔ)句。if(flag1s)語(yǔ)句是判斷flag1s是否為0或非0,所以賦值在別的代碼里,非0就是真,就執(zhí)行刷新代碼。
回復(fù)

使用道具 舉報(bào)

ID:514901 發(fā)表于 2019-5-31 23:02 | 顯示全部樓層
if(表達(dá)式)中的表達(dá)式不一定需要賦值。if(),括號(hào)里面是判斷括號(hào)里面的內(nèi)容是真還是假,0就是假,非零就是真,記住不只是1為真,而是非零的數(shù)都為真,比如括號(hào)里的內(nèi)容是語(yǔ)句x==1,就是判斷x是否等于1,如果x等于則得到非零值,不等于1則為0。所以說(shuō)括號(hào)里的內(nèi)容不一定要是x==1這種類型的判斷語(yǔ)句,也可以是非零值或者0或者變量。
回復(fù)

使用道具 舉報(bào)

ID:552204 發(fā)表于 2019-5-31 23:46 來(lái)自觸屏版 | 顯示全部樓層
if判斷的是括號(hào)中的邏輯值,如果沒(méi)有賦值,括號(hào)中的內(nèi)容如果不是0,那么對(duì)于其他任何數(shù)都為邏輯1
回復(fù)

使用道具 舉報(bào)

ID:511890 發(fā)表于 2019-6-1 01:08 | 顯示全部樓層
if (flag1s)  flag1s就是一個(gè)表達(dá)式。相當(dāng)于flag1s>0括號(hào)中的表達(dá)式可以是判斷式,也可以是常量,也可以是變量。就如if(flag1s) 當(dāng)flag1s=0時(shí)為假,flag1s不等于0時(shí)為真。
回復(fù)

使用道具 舉報(bào)

ID:550032 發(fā)表于 2019-6-2 14:39 | 顯示全部樓層
判斷是真是假;是真就執(zhí)行if下面的語(yǔ)句,是假不執(zhí)行if后面的語(yǔ)句
回復(fù)

使用道具 舉報(bào)

ID:521921 發(fā)表于 2019-6-3 09:36 | 顯示全部樓層
明白了,謝謝各位!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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