久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

關(guān)于C語言if(ms==200)和while(ms==200)

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:64817 發(fā)表于 2020-7-14 14:28 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
本人業(yè)余,實(shí)在不明白請教個位師傅:  為什么 if(ms==200)不正常,而改為while(ms==200)正常了。不都是MS等于200進(jìn)去嗎?

/*******************************
if(ms==200)
  {
   ms=0; s=s+1; leds=~leds;   //為了檢測觀察程序,加了一秒leds亮滅一次。
  }      *********/



/*******************************
while(ms==200)
  {
   ms=0; s=s+1; leds=~leds;   //為了檢測觀察程序,加了一秒leds亮滅一次。
  }      *********/





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

使用道具 舉報

沙發(fā)
ID:332444 發(fā)表于 2020-7-14 16:46 | 只看該作者
判斷是要放到循環(huán)里面才能判斷也就是要不停地判斷,循環(huán)則是獨(dú)占的直到循環(huán)完成。
回復(fù)

使用道具 舉報

板凳
ID:332444 發(fā)表于 2020-7-14 16:47 | 只看該作者
判斷是要放在循環(huán)內(nèi)不停檢查判斷的,循環(huán)則是獨(dú)占的直到循環(huán)完成。
回復(fù)

使用道具 舉報

地板
ID:64817 發(fā)表于 2020-7-14 16:58 | 只看該作者
xianfajushi 發(fā)表于 2020-7-14 16:46
判斷是要放到循環(huán)里面才能判斷也就是要不停地判斷,循環(huán)則是獨(dú)占的直到循環(huán)完成。

師傅,不明白if(ms==200),是ms等于200才進(jìn)if里面的嗎???while(ms==200),不也是ms等于200才進(jìn)while里面嗎,,ms為其他值時,是都不進(jìn)if的while和if的吧?
回復(fù)

使用道具 舉報

5#
ID:332444 發(fā)表于 2020-7-14 17:08 | 只看該作者
哦,是的,變量在中斷的地方計數(shù)的話,這2個表達(dá)式等同,如果主函數(shù)內(nèi)單獨(dú)只執(zhí)行這2個表達(dá)式,而沒受其它的執(zhí)行語句影響。
回復(fù)

使用道具 舉報

6#
ID:332444 發(fā)表于 2020-7-14 17:15 | 只看該作者
舉個例子:
#include "reg52.h"
unsigned char code DuLiAnJian[]={1,2,4,8,16,32,64,128,254,253,251,247,239,223,191,127};
unsigned char code smgduan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0,64}; //共陰0~F消隱減號
sbit k1=P1^7;
bit k = 0;
void main()
{
        unsigned char wei=0,Xd=0,Sw=0;
        unsigned int Ys=47474,Lx=0;
        while(1)
        {
                if(!k1&&!++Xd){P2=P0=255;if(++Sw>9)Sw=0;while(!k1);}
                while(!--Ys)
                {
                        P2=~smgduan[wei];
                        if(++wei>9)wei=0;
                        Ys=47474;
                }
        }
}

#include "reg52.h"
unsigned char code DuLiAnJian[]={1,2,4,8,16,32,64,128,254,253,251,247,239,223,191,127};
unsigned char code smgduan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0,64}; //共陰0~F消隱減號
sbit k1=P1^7;
bit k = 0;
void main()
{
        unsigned char wei=0,Xd=0,Sw=0;
        unsigned int Ys=47474,Lx=0;
        while(1)
        {
                if(!k1&&!++Xd){P2=P0=255;if(++Sw>9)Sw=0;while(!k1);}
                if(!--Ys)
                {
                        P2=~smgduan[wei];
                        if(++wei>9)wei=0;
                        Ys=47474;
                }
        }
}
這樣寫2個程序是一樣的。
回復(fù)

使用道具 舉報

7#
ID:332444 發(fā)表于 2020-7-14 17:19 | 只看該作者
因?yàn)槟阒唤o出一點(diǎn)代碼,所以不能管中窺豹。
回復(fù)

使用道具 舉報

8#
ID:332444 發(fā)表于 2020-7-14 17:21 | 只看該作者
我的舉例上門一個就是獨(dú)占的循環(huán),下面一個就是靠主循環(huán)的,同樣實(shí)行了延時功能。
回復(fù)

使用道具 舉報

9#
ID:332444 發(fā)表于 2020-7-14 17:23 | 只看該作者
加入把我的代碼修改:
--Ys;
while(!Ys)與if(!Ys)就是等同的。
回復(fù)

使用道具 舉報

10#
ID:64817 發(fā)表于 2020-7-14 17:36 | 只看該作者
xianfajushi 發(fā)表于 2020-7-14 17:23
加入把我的代碼修改:
--Ys;
while(!Ys)與if(!Ys)就是等同的。

首先謝啦!!☆⌒(*^-゜)v,,我還是搞不明白的是既然等同了,我IF里是不正常的,,謝了,,我基礎(chǔ)太差 了
回復(fù)

使用道具 舉報

11#
ID:452950 發(fā)表于 2020-7-14 17:41 | 只看該作者
就這兩段代碼看的話,while只執(zhí)行一次就和if功能一樣了,沒有什么區(qū)別,非要說區(qū)別就是if只判斷一次,如果符合條件就執(zhí)行一次,while先判斷一次,每次執(zhí)行完后會再判斷一次。
不知道你說的正常與不正常分別是什么現(xiàn)象
回復(fù)

使用道具 舉報

12#
ID:332444 發(fā)表于 2020-7-14 17:45 | 只看該作者
#include "reg52.h"
void main()
{
        unsigned char wei=0,Xd=0,Sw=0;
        unsigned int Ys=47474,Lx=0;
        while(1)
        {
                if(!--Ys)
                {
                         leds=~leds;
                        Ys=47474;
                }
        }
}
這樣修改就是LED取反觀察,可以用if與while互換試看。
回復(fù)

使用道具 舉報

13#
ID:332444 發(fā)表于 2020-7-14 17:53 | 只看該作者
辦公室1天幾千步輕松做到,原地跑步要讓內(nèi)臟抖起來,每10數(shù)五指1節(jié),3*5=150,從拇指到小指為1,再從小指到拇指,數(shù)從小指到拇指2次,再從拇指到小指,合計5次,150*5=750,每小時一次,8小時合計6000次,這樣既鍛煉了身體,也鍛煉了思維。
回復(fù)

使用道具 舉報

14#
ID:332444 發(fā)表于 2020-7-14 17:54 | 只看該作者
這樣運(yùn)動既適量又等同于專門去跑步
回復(fù)

使用道具 舉報

15#
ID:699902 發(fā)表于 2020-7-15 11:14 | 只看該作者
你可以查一查if具體用用法,你這種肯定是不對的。
你可以這樣改試一試
if( flag_200ms==1)
回復(fù)

使用道具 舉報

16#
ID:311846 發(fā)表于 2020-7-15 11:31 | 只看該作者
多看看 if語句和while語句再結(jié)合程序 多研究會就明白了,別人改的不一定適合你的
回復(fù)

使用道具 舉報

17#
ID:331263 發(fā)表于 2020-7-15 15:50 | 只看該作者
看看書吧,沒理解呀
回復(fù)

使用道具 舉報

18#
ID:743654 發(fā)表于 2020-7-17 08:52 | 只看該作者
if只判斷一次,接著運(yùn)行下面的語句;而while先判斷,執(zhí)行語句運(yùn)行完畢后,還要進(jìn)行繼續(xù)判斷條件是否符合循環(huán)條件,根據(jù)判斷的條件,返回執(zhí)行語句或繼續(xù)運(yùn)行下面的程序。
回復(fù)

使用道具 舉報

19#
ID:471889 發(fā)表于 2020-7-17 09:34 | 只看該作者
循環(huán)語句與判斷語句用好好的去理解一下!@論壇
回復(fù)

使用道具 舉報

20#
ID:64817 發(fā)表于 2020-7-17 10:46 | 只看該作者
cheney03 發(fā)表于 2020-7-17 08:52
if只判斷一次,接著運(yùn)行下面的語句;而while先判斷,執(zhí)行語句運(yùn)行完畢后,還要進(jìn)行繼續(xù)判斷條件是否符合循 ...

師傅可不可以細(xì)說一下:
while(1)
{
if(ms==200)
  {
   ms=0; s=s+1; leds=~leds;   //為了檢測觀察程序,加了一秒leds亮滅一次。
  }
if(ts==60)
  {
   ms=0; s=s+1; leds=~leds;   //為了檢測觀察程序,加了一秒leds亮滅一次。
  }
}
不明白IF外還有個死循環(huán)呀,IF判斷完了,死循環(huán)不是會 讓他接著再判斷嗎。。。多謝了
回復(fù)

使用道具 舉報

21#
ID:972377 發(fā)表于 2021-10-15 19:01 | 只看該作者
因?yàn)閕f是運(yùn)算符是取反,0取反是非0,非0取反就是0. 作為條件判斷時,就是一切非0的數(shù)都會被判斷為假,只有為0時才會判斷為真。 具體怎么寫,一般都是根據(jù)程序的業(yè)務(wù)邏輯來決定的。
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲毛片在线观看 | 亚洲国产精品一区二区久久 | av中文字幕在线观看 | 无码日韩精品一区二区免费 | 精品久久一区二区三区 | 亚洲精品成人在线 | 国产在线一区二 | 日韩在线不卡视频 | 中文av网站 | 精品久久久久久久久久久 | 亚洲国产欧美在线 | 亚洲国产精品一区二区第一页 | 伊人免费视频二 | 国产精品18久久久久久久 | 国产欧美一区二区三区国产幕精品 | 81精品国产乱码久久久久久 | 色播视频在线观看 | www.久草.com| 国产精品久久久久国产a级 欧美日韩国产免费 | 日日夜夜精品视频 | 亚洲国产精品成人无久久精品 | 日本精品一区二区 | 久久精品国产免费高清 | 日韩高清www | 91精品国产色综合久久不卡98口 | 视频一区在线 | 一区二区日韩 | 久久久美女 | 午夜精品久久久久久久久久久久 | 亚洲综合无码一区二区 | 国产一区二区三区 | 日韩综合 | 欧美 日韩 在线播放 | 中文字幕在线一区 | 久久手机视频 | 偷拍第一页 | yiren22综合网成人 | 国产日韩欧美另类 | 国产激情视频网站 | 久久99精品久久久久久秒播九色 | 午夜免费视频 |