1樓:匿名使用者
死迴圈,一般用於等待中斷。
for語句的一般形式如下:
for(表示式1; 表示式2; 表示式3)(需要執行的語句);
其執行過程是:表示式1首先執行且只執行一次;然後執行表示式2,通常都是乙個用於判定條件的表示式,如果表示式2條件成立,就執行(需要執行的語句);然後再執行表示式3;再判斷表示式2,再執行表示式3.....一直到表示式2不成立時,跳出迴圈往下執行。
2樓:
我之前也看過這個問題, 其實就是死迴圈.
while(1) == for(;;) , 效果一樣的.
我聽過最合理的解釋就是習慣問題. 國內習慣while(1), 老外習慣for(;;)
3樓:啟巖
void main()
}for(;;)是構成乙個死迴圈,讓程式一直在裡面執行。如果沒有的話微控制器main函式執行完後又會從主函式開始執行,比如初始化會再一次處理,相當於執行一次程式就會復位一次。
4樓:匿名使用者
迴圈等待,一般是配合中斷使用,等待中斷
5樓:匿名使用者
死迴圈的意思,for**塊裡的內容一直執行
相當於while(1)
6樓:月下獨酌
就是while(1)
一直迴圈
7樓:匿名使用者
延時,for 迴圈的語法:
for(條件初始化;條件;條件改變)
可見,for的結構中,不僅提供了的「條件」的位置,同時也提供了條件初始化,和條件改變的位置。這三者雖然在同一行上,但並不是依次連線地執行。
條件初始化的表示式首先被執行(並且只被執行一次);
然後程式檢查條件是否成立,如果成立就執行迴圈體中的語句,否則直接結束迴圈。
執行完一遍迴圈以後,程式執行「條件改變」語句。
1到100整數累加的程式,改為for迴圈寫,是最合適的了:
int sum = 0;
int i;
for( i=1; i <= 100;i++)
程式先執行條件初始化語句:i=1;
然後立即判斷條件 i <= 100 嗎?顯示,此時該條件成立;
於是程式執行迴圈體內的語句,此時只有一句: sum += i;
然後,執行改變條件因子的語句: i++; 此時,i值變為 2;
程式再次判斷條件 i <= 100 ?,依然成立,於是開始第二遍迴圈……
變數 i 可以初始化條件時才臨時宣告:
for(int i = 1;i <= 100;i++) ……
for 語句的復合結構,使得程式變得簡捷。比如上面的例子中,原來 while或者do...while結構中,迴圈體內必須兩句語句,現在只需一句(即:
i++這一句被移到for的特定位置上),這樣,我們可以去除花括號:
for(int i=0;i <= 100;i++)
sum += 100;
當然,如果在其它情況下,for的迴圈體內仍需有多行語句時,{}仍是不可避免的。事實上,就算現在這種情況,我也建議大家使用花括號。這樣可以讓程式的結構看上去更清晰。
在本例中,如果非要講究簡捷,我們還可以將迴圈體內的那惟一的一行移到「條件改變」的位置:
for(int i=1; i<=100;sum += i,i++);
sum += i和i++之間用逗號分開。而在for後面的()行末,則直接跟上分號,表示for不必再執行其它的語句。
考慮到後置++的特性(在完成表示式的求值後,才進行加1操作),也可以將sum += i和i++合為一句:
for(int i=1;i<=100;sum += i++);
以上講了for語句極盡合併之技巧,以求乙個簡捷。反過來,for語句也可以向 while或do...while語句一樣拆開寫:
int i = 1;
for(; i <= 100;)
看,條件初始化語句被移出for的結構,而條件改變語句則被當成一行普通語句,直接加入到迴圈體內。而在相應的位置上,只留下分號,用於表示空語句(請注意這一行中有2個分號,分別在 i<=100前後):
for (; i <= 100;)
如上行所示,for迴圈結構中的「條件初始」和「條件的改變」表示式都被省略,在這種情況下for和while或do...while迴圈完全一樣。比如求1~100累加和:
int i=1,sum=0;
for(;i<=100;)
int i=1,sum=0;
while(i<=100)
下面分析幾個例項:(用於分析的例項不提供上機的完整**,請同學們自行建立空白工程,然後加入需要**,確保每個例項都可執行,這是初學者逐步熟練的必經之路……信不信由你。開啟cb吧)。
題一:用for迴圈在螢幕上逐行輸出數字:1~200。
分析:這需要乙個變數,其值從1變到200,並且每變一次新值,就用 cout 語句在螢幕上輸出其值。
答案:for(int i=1;i<=200;i++)
cout << i << endl;
由於迴圈中執行的動作只有一句,所以我們省略了{}。
題二:6能被1、2、3、6整除,這些數稱為6的因子,請迴圈列出36的所有因子。
分析:因子?忘了嗎?求36的因子,就是求1~36中哪些整數可以整除36。我們學過 % 操作符,它用於求兩數相除的餘數。所以整除不整除,只要看餘數是否為0即可。
答案:for(int i=1;i<=36;i++)
如果執行程式,得到結果應是:
1 2 3 4 6 9 12 18 36
微控制器c語言中,for(;;)是什麼意思
8樓:匿名使用者
for後面的括號內(1;2;3)1一般是做賦值、2是做判斷是否滿足條件、做資料加或減。若括號內(;;)條件為空就是在執行for(;;)時它會在中作死迴圈。while(1)
9樓:苒悸漓灬雑貨屋
死迴圈,一般用於等待中斷
10樓:逆寒刀
for(;;);相當於while(1);
微控制器程式設計中for( ;t;t--)是什麼意思?
11樓:
for 為迴圈控制語句
格式為 for (表示式1;表示式2;表示式3)
一般的是 for (t=100;t>0;t--)//迴圈一小段時間。或是t=100,t>0,迴圈執行100次,當t=0時,退出該迴圈。
12樓:e網e友
是做迴圈,100是初值,t>=0是迴圈條件,t--是迴圈增量
13樓:361度浪人
t=100;
for(;t;t--);
將「你的**」執行100遍
14樓:盧超
就是迴圈執行100次。一般for()迴圈後面可以接一對大括號,大括號內是執行的內容,也可以是空指令。這是c語言最常見的三種控制語句之一。
15樓:匿名使用者
這是乙個迴圈語句,第乙個分號前的空白相當於t==0;第二個分號的t就是初值,第三個t--就是每迴圈一次減一。當t減到0的時候推出迴圈
16樓:
for迴圈語句;執行100次。只要t>=0,就會執行for迴圈下面的語句。
關於微控制器c語言中的for語句
17樓:煙火夜空
unsigned char i;
for(i=0;i<3;i++)
微控制器c語言程式設計有乙個for不理解
18樓:匿名使用者
無限迴圈,也可以寫成for (;;);或while(1);
這個程式主程式初始化完成後,進入無限迴圈,什麼也不做,只等待中斷啟動中斷服務程式。
微控制器是什麼,微控制器是什麼意思
微控制器mcu 就是微控制器的意思 microcontrol unit 微控制單元 讓led隨著 的節奏閃動 這個是可以實現的 只需要你在做微控制器程式設計的時候 把led閃爍的延時做好 延時多少時間和 節奏的時間一致就ok了 微控制器是面向控制的 而計算機是面向應用的 微控制器是什麼意思 微控制器...
51微控制器改變頻率什麼意思,51微控制器控制LED閃爍頻率
頻率和占空比是兩個互不相干的概念。頻率是一定時間內電平翻轉的次數。占空比是乙個週期內,高低電平所佔時間的比率。頻率可以改變聲調,占空比來改變音色 這個沒試過 改變占空比是指週期一定的情況下,改變高電平和低電平的時間。改變頻率是指改變週期,這個是有很大區別的。頻率,和週期,是倒數關係,和占空比無關。應...
微控制器c語言右移指令怎麼用,微控制器C語言右移指令怎麼用?
吉祥二進位制 在c語言中 代表右移運算子,就相當於 shr 該運算子為雙目運算子,結合方向為從左到右,作用是把乙個整型數的所有位向右移動指定的位數,移動到右邊界之外的多餘二進位制位會被丟棄,並從左邊界移入0。舉例 計算表示式14 2的值。表示式14 2的值為3,因為14 即二進位制的0000 111...
微控制器c語言程式 高手進,微控制器C語言程式 高手進
include define uchar unsigned char define uint unsigned int define ulong unsigned long const uchar code led7code 共陰數碼管 uchar ledbuffer 8 數碼顯示緩衝區 const...
微控制器p3中wr rd什麼意思,微控制器P3 6 WR和P3 7 RD都是什麼意思啊?不是連線1602的那個wr和rd
wr是寫入,也就是write,是外部ram寫選通訊號輸出端 rd是讀取,也就是read,是外部讀選通訊號的輸出端。這兩個端是與片外ram配合操作的。在組合語言中非常清楚。比如讀外部ram操作,具體的流程是,1 位址加到外部ram 2 rd訊號有效 3 ram將資料送到資料匯流排 4 cpu讀入資料,...