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

標題: C語言for語句怎么轉換成if句 [打印本頁]

作者: ovov    時間: 2020-4-27 16:09
標題: C語言for語句怎么轉換成if句
void delay(uint time)
{
        uint i,j;
        for(i=0;i<time;i++)
                for(j=0;j<100;j++);
}
怎么轉換成if句實現相同的功能??


作者: 權威人物    時間: 2020-4-27 17:27
延時函數干嘛用if?,硬是要用暫時只能想到goto語句了,
作者: xxpp2011    時間: 2020-4-27 17:27
for是循環語句,if是條件語句,沒聽說過可以直接轉換的,while倒是可以代替for
作者: ovov    時間: 2020-4-27 18:01
權威人物 發表于 2020-4-27 17:27
延時函數干嘛用if?,硬是要用暫時只能想到goto語句了,


萌新,萌新

作者: ovov    時間: 2020-4-27 18:02
xxpp2011 發表于 2020-4-27 17:27
for是循環語句,if是條件語句,沒聽說過可以直接轉換的,while倒是可以代替for

能否改下讓我參謀參謀
作者: xxpp2011    時間: 2020-4-27 18:22
//一級循環:
uchar j;
for(j=0;j<100;j++);
/*****************/
/*****************/
uchar j=0;
while(j<100)j++;

作者: xxpp2011    時間: 2020-4-27 18:32
本帖最后由 xxpp2011 于 2020-4-27 19:40 編輯

void delay(uint time)
{
        uint i=0,j=0;
        while(i<time)
        {                j=0;
                while(j<100)j++;
                i++;
        }
}

作者: miss999    時間: 2020-4-27 20:00
循環三個要素,初始值    循環條件    趨于循環結束的語句    if充當循環條件的判斷  其他兩個加上 你就能改成if形式 ,你品品,細品、
作者: Youth8023    時間: 2020-4-27 22:02
循環結構 和 判斷結構是不同概念,把for改成while倒是可以
作者: 黃youhui    時間: 2020-4-27 22:05
  1. void delay(uint time)
  2. {
  3.   uint i;
復制代碼






作者: jizi    時間: 2020-4-28 01:54
那用遞歸調用就行
本人不習慣用goto  
用goto更簡單
unsigned char DelayTime
void delay(unsigned char temp)
{
    if(DelayTime == 0)
    {
        DelayTime = temp;
    }
    else
    {
        DelayTime --;
        if(DelayTime)
        {
            delay(0);
        }

    }

}
作者: 神蜂    時間: 2020-4-28 07:55
感謝樓主的提問。看到樓上凌晨1:54分的發帖,證明論壇的學習交流氣氛很好。

作為一個從事電器行業工作了30年左右的60后,深刻的感受到,只有科技創新才能強國。

希望新的一代科技工作者,不要被教條主義束縛,要學好書本上人家的基礎東西活用。

創新 創新 一定要創新。

希望能看到其他帖子。
作者: 64452198    時間: 2020-4-28 09:05
void delay(uint time)
{
        uint i,j;
  i=0;
   while(i<time)
  {
      i++;
     j=0;
    while(j<100)
      j++;
  }
  
}
作者: guan1989    時間: 2020-4-28 09:09
for循環是在這里執行循環函數,等待執行完成再去執行其他任務。下面是一個按鍵的判斷函數,沒有用for延時消抖,用的是if,沒執行一次循環累加1,這樣主循環的執行時間變短,適合按鍵延時特別多,后面又程序需要及時刷新的程序,當讓也可以用中斷。
                if(KEY[ucKey_num]==0)                  //按鍵1按下
                                        {
                                        keytime_Y[ucKey_num]++;        //按下消抖計時加1
                                        keytime_N[ucKey_num]=0;        //未按下消抖計時清零       
                                                if(keytime_Y[ucKey_num]>Const_Keysnake_time) //消抖濾波 ,受程序循環影響延時時間,需要程序完成后校準Const_Keysnake_time值
                                                {
                                                keytime_Y[ucKey_num]=0;         //按下消抖計時清零
                                                bitSet(key_value,ucKey_num+1);        //是否按下標志位
                                                }
                                        }
                        else            //按鍵1未按下
                                        {
                                        keytime_N[ucKey_num]++;                //未按下消抖計時加1
                                        keytime_Y[ucKey_num]=0;          //按下消抖計時清零
                                                if(keytime_N[ucKey_num]>Const_Keysnake_time)
                                                {
                                                keytime_N[ucKey_num]=0;
                                                bitClear(key_value,ucKey_num+1);
                                                }
                                        }
作者: 61867491    時間: 2020-4-28 09:29
一個循環 一個延時 根本就是2個東西
作者: shawncxl    時間: 2020-4-28 10:45
用loop語句實現循環,if語句判斷是否跳出循環。if語句是不帶有循環的哦。其實for語句里邊的條件判斷,也是if語句一樣的功能,不過for語句集成了,使用起來更加簡便了
作者: chenhongran    時間: 2020-4-28 11:12
循環結構和判斷結構是不同的概念,for和while時循環結構的,不能跟判斷結構if進行互換

作者: xianfajushi    時間: 2020-4-29 05:00



作者: lily加油    時間: 2020-4-29 12:41
把 for(i=0;i<time;i++)                 for(j=0;j<100;j++);換成
作者: lily加油    時間: 2020-4-29 12:44
i=0;j=0;while(i<time){{while(j<100)j++;}i++};
作者: 黃youhui    時間: 2020-4-29 13:21
黃youhui 發表于 2020-4-27 22:05

沒寫全,補充
void delay(uint time)
{
   uint i;   i = 0;
while(1)
{
i++;
if(i >= time)
brak;
else
;

}

}

作者: 天風情    時間: 2020-4-29 13:34
這個循環換成if不是更麻煩嗎
作者: jiangyuwei    時間: 2020-4-29 14:01
if a=0; then b=1; else b=2; 判斷語句,如果的意思。 if-else是判斷語句,if(條件表達式,返回一個布爾型變量),如果是真,那就執行if后面的語句,并且跳過else后面的語句,要是返回假,則執行else里面的語句,if里面的語句就不會得到執行~
作者: f556    時間: 2020-4-29 15:01
for與while做空循環來延時是最直觀簡單的。天下大部分人都習慣這樣,你如果真不喜歡for,喜歡if,可以用goto,可以用Timer+if來做。
作者: 892665341    時間: 2020-4-29 17:31
不行的 for是循環,你要用if的話 還是得用循環
作者: 凌某    時間: 2020-4-30 01:38
for和if,兩個意思,用if和while可以實現

作者: ly1972001    時間: 2020-4-30 13:28
for也要用到判斷,while更是如此,它們的內核就是if。在CODE中IF是最基本的指令,任何指令都可用它實現,只是看起來就沒那么簡明了。
改成IF的代碼如下:
void delay(uint time)
{
        uint i=0,j;

        if(i<time)
        {
              i++;
              j=0;
              if(j<100)     j++;
        }
}
作者: 小毛z    時間: 2020-4-30 14:04
寫time個if嵌套起來




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1