微控制器c語言中,微控制器C語言中 while a 是什麼意思 a為什麼要定義得那麼大 比如

時間 2021-09-05 20:04:53

1樓:金色潛鳥

我估計,那是用來作時間間隔控制。while(--a); 是迴圈50000次,當a 變0時,while 結束。

為何定得如此大,是因為空迴圈速度很快,只有迴圈很多次才能獲得足夠長的時間間隔。

a=50000; while(--a);

第2個 while(--a); 似乎有問題,死迴圈。是不是前面漏了另乙個 a=50000;

2樓:奔跑的小螃蟹

在微控制器程式設計中,為了控制文字顯示或者處理速度,用乙個while迴圈來延時,如

...a = 50000;

while(--a);

....

當a自減到0時,while語句判斷失敗,迴圈終止。程式執行到下一條語句。

您給出的**段裡,第二個while(--a);開始之前,沒有重新給a賦值,因此第二個while(--a)是不會終止的。

3樓:匿名使用者

while(a--) 的意思是:當a--=0時(為假時)不執行下面的語句,當a--!=0時(為真時)就執行下面語句.

執行完,又進行判斷.

a 的大小隨意你定的.例子是做乙個延時作用.

當50000減到0,就不再執行p1_1=0了,這可根據你的晶振來設定你的時間.

4樓:生活如歌

while(--a);就是為了延時,a不停減1,直到為0.數值越大(最大到65535)延時時間越長。

5樓:用德芙的小光頭

迴圈,當a為真時(大於0時)執行迴圈裡的語錄,可用做延時處理

6樓:匿名使用者

a定義大就是讓它減減的,--a 表示在while裡邊每迴圈一次a就減1一次。

求高手解答微控制器c語言中while(--a)和while(a--)的區別?

7樓:硬體開發

while(--a)和while(a--);看上去跟沒有啥區別一樣,其實區別很大,

先舉個例子說明一下你就明白了。

a = 20

whie(--a)

第一步程式執行到這裡會先執行--a = 19;為真執行內部語句。

a = 20

whie(a--)

第一步程式執行到這裡會判斷 a 值是否為真在執行 a = 20。在執行a-- = 19

自己可以在keil軟體裡面**一下。

8樓:匿名使用者

區別在於判斷while之前減還是之後減,也就是在相同的a初始值情況下,--a會比a--少迴圈一次,因為當a=1的時候,第乙個--a就會退出迴圈,第二個不會。

while和for語句有區別,就是在迴圈體內,無論你使用兩者哪個,a在進入迴圈體都已經發生了-1,也就是說,a相等情況下,兩種進入迴圈後的數值相同,就是迴圈差了一次。

9樓:匿名使用者

while(--a)等價於先將a減小1,再判斷它是否為0 。 while(a--)先判斷它的邏輯值是否為0,再減小1.

比如a=2的話, 第乙個迴圈1次。因為,--a=1, 第二次 --a=0,為假了。

第二個迴圈2次。因為,先判斷2 ,為真,再將a減小得1. 再判斷a==1,為真,再將a減小1,再判斷a==0,不迴圈了。

10樓:匿名使用者

這裡牽扯到的就是--a和a--的區別呢。這麼說吧。假如b=--a;程式執行分兩步,第一步a = a-1;第二步b=a;而如果是b=a--;則第一步和第二步反過來執行。

假如a=8;執行b=--a後a=b=7;執行b=a--後b=8,a=7;同樣執行++時也是一樣的道理

11樓:生活如歌

乙個是先減1,乙個是後減1,其實在程式裡沒有多大差別。

c語言中while(!a)什麼意思?

12樓:珠山龍少

while(!a) 的作用:當a為0時,!a為真,執行迴圈體。當a為1時,!a為假,程式就跳過迴圈體往下執行。

while語句的格式為:

while(條件表示式)

可以看出,while迴圈結構簡單,僅有條件部分,其他成分(如增量等)應另外安排。正因為如此.while語句執行過程是首先判斷while中的「條件表示式』,中的條件是否滿足,滿足,就執行while語句中的語句;不滿足,就退出迴圈。當while中的條件一開始就為0時,則語句一次也不執行;當while中的條件為1 , while語句無限迴圈。

可見while語句的使用極其靈活多樣。

13樓:

while(!a) 表示當a為false(或a等於0)時,執行while迴圈體,否則不執行。其等價語句為

while(a==0)。

14樓:夢國飛

while是乙個迴圈語

句,和for迴圈同是乙個重要的迴圈語句,while(條件表示式)

while(!a) :a為0,!a為真,執行迴圈。a為1,!a為假,程式跳過迴圈往下執行。

15樓:匿名使用者

這種問題是乙個很無聊的問題,在實際程式設計中不可能會碰到,而且作為規範的程式,也不允許這樣的表示式出現。

while (a < b < c)等價於while ((a < b) < c), (a < b)的計算結果將會得到bool值,即true(1)或false(0);然後是bool值和c進行比較,雖然還會得到乙個bool值,但這樣的比較已經沒有意義了。

16樓:匿名使用者

首選,您這個while(a++),這句不成立。while語句在c語言中是條件判斷,所以while(),括號內一般是表示式。如果該表示式值為真則執while中的語句,若為假則執行之外的語句。

例如while(1) ,因為括號內永遠為真,則程式進入列迴圈,既一直執行while中大括內的語句。

另外,您說的a,i,j之內的都是變數名,你可以自己定義任何字母或是單詞。當然不能把變數名定義為c語言中的關鍵字。如:

switch,case等等。具體的您可以找本c語言的書看看,都有哪個些關鍵字。你只要避開這些關鍵字就行,對於變數的命名也有一些其他的規則,也可以在c語言的書中可以找到。

對於變數的含義具體是看你的程式或是函式功能是什麼。另外變數在使用前是要先宣告的。比如:

unsigned char i,這樣就宣告了乙個無符號的字元型變數i.

17樓:匿名使用者

!是非的意思。

整句的通俗意思就是 當不是a的時候,

18樓:調朱弄碧

當不等於a時,做迴圈

19樓:苦澀無人愛

while()是迴圈語句,t是判斷條件,當t為真或非0的話,執行迴圈,否則退出迴圈,比如t=1,迴圈會持續執行,t=0則退出迴圈,或者 t 可以是其他判斷語句,滿足ture時執行迴圈,為false則退出迴圈

20樓:匿名使用者

while(t)

相當於while( t!=0 )

t值為0時,條件為假

t值不為0時,條件為真

while( t )是while( t!=0 )的簡便寫法。

c語言while(a)是什麼意思?

21樓:匿名使用者

如果a=0,則退出迴圈,否則一直執行迴圈

22樓:路過只是巧合

while(a)

a>0,真,執行while內的迴圈

a<0,假,不執行

c語言while(a++)裡的a代表什麼?

23樓:匿名使用者

首選,您這個while(a++),這句不成立。while語句在c語言中是條件判斷,所以while(),括號內一般是表達專式。如

果該屬表示式值為真則執while中的語句,若為假則執行之外的語句。例如while(1) ,因為括號內永遠為真,則程式進入列迴圈,既一直執行while中大括內的語句。

另外,您說的a,i,j之內的都是變數名,你可以自己定義任何字母或是單詞。當然不能把變數名定義為c語言中的關鍵字。如:

switch,case等等。具體的您可以找本c語言的書看看,都有哪個些關鍵字。你只要避開這些關鍵字就行,對於變數的命名也有一些其他的規則,也可以在c語言的書中可以找到。

對於變數的含義具體是看你的程式或是函式功能是什麼。另外變數在使用前是要先宣告的。比如:

unsigned char i,這樣就宣告了乙個無符號的字元型變數i.

24樓:匿名使用者

while(a++)裡的a代表迴圈控制變數,a是個變數名,需要在使用前先行定義

這條語句表達內的意思是:

當a不為0時,進容入迴圈,同時,無論條件是否成立,a在判斷結束後,都會自增1(即:a=a+1)。

這條語句的完整寫法為:

while(  a++ !=  0 )

這樣看的更清楚,更容易接受一些。

while語句的格式為:

while( e )

說明:括號中的e是任意合法的表示式

當e的運算結果為真(非0)時,進入迴圈,執行迴圈語句while_statements ,當迴圈語句只有一條時,括號{}可以省略。

當沒有迴圈體時,可以寫成:while(e) ; (注意這裡的分號)或while(e){}

25樓:費修星建元

while(!a)

表示當a為false(或a等於0)時,執行while迴圈體,否則不執行。其等價語句為

while(a==0)。

26樓:

你這個統統錯了,while(),括號裡應該是不等式,ex:a=1;while(a<100)

for(a=1;a<100;a++)

在c語言中,while(a[i]){}什麼意思?

27樓:

while(a[i]){}相當於

while(a[i]!=0){}

表示當a[i]不等於零(a[i]為真)時,執行{}中的迴圈體,這裡省略了迴圈體。

28樓:匿名使用者

將陣列a[i]作為判斷是否進行迴圈的條件:

即:若陣列中低 i 個元素a[i]為真,則執回行while迴圈;

若a[i]為假,則不進行答循。

此條語句適合解決針對滿足一定條件的陣列元素進行相同的操作(迴圈體中內容)。

祝你好運!!

29樓:匿名使用者

若就這個表示式講,此處省略了迴圈體,又沒有執行其他條件,改變不了判斷條件的值

回,也就是若原來a[i]表示式答的值(或者邏輯值)為真的話,這裡會是乙個死迴圈,跳不出迴圈體,要是a[i]原來的值為假的話,就什麼也不執行,這句話不具實際意義,不採取任何操作

至於你說的a[i]是乙個字串的話,判斷其ascall碼即可一般的只有這麼乙個表示式沒有意義,可以巢狀使用,達到其他功能!希望對你有幫助!

30樓:匿名使用者

a[i]作為乙個布林表示式座位while的迴圈條件,就是說,如果a[i]的值為0時,迴圈結束,非零是進行迴圈,在程式語言中bool的範圍很廣,字元也可以的,只要其碼值不為零就是bool中的true

31樓:匿名使用者

判斷 條件數值是否為 0 或字元是否空 '\0',滿足條件則退出本迴圈。

32樓:匿名使用者

只要是a[i]代表的資料邏輯值為真,則不進行任何操作。

33樓:匿名使用者

判斷a[i]的值是否為真或者說判斷它的值是否為0如果是0則退出while迴圈

微控制器c語言程式中:while(1)是什麼意思呀?while(2)行不行?

34樓:4終

while(1)表示無限迴圈

抄的執行它內的語句,襲如果寫成while(2)、while(3)等效果是一樣的,操作方法如下:

1、首先新建乙個專案,新增標頭檔案,如圖所示。

2、接著輸入main函式,如圖所示。

3、然後定義乙個陣列(長度為:5),如圖所示。

4、接著使用while迴圈把陣列列印出來,如圖所示。

5、然後在鍵盤上,按快捷鍵f5執行程式,列印出結果,如圖所示,就完成了。

微控制器c語言中定義,微控制器C語言中 定義a1 P0 1 a2 P0 2 a8 P0 7 b P2 0 。a1 a8不斷隨機為1。

這樣實現 sbit p20 p2 0 char consum 0 char i,bitflag 0x01 for i 0 i 8 i if consum 3 p20 1 希望我的回答對你有幫助,有什麼問題歡迎一起 謝謝。 如果是c51微控制器 include void main 如果找完一次p0口後...

pic微控制器c語言中如何巢狀,PIC微控制器c語言中如何巢狀匯編

如果要輸入一大段彙編語句,則用 asm n條彙編語句 endasm 的方法是用keil開發51微控制器時候潛入彙編的 方法,對於pic微控制器來說,不能這楊編譯。因為keil不能編譯pic微控制器的c語言和組合語言,必須用mplab picc或者mplab mc編譯器 一般pic12 16系列的8位...

微控制器C語言程式設計題,微控制器C語言程式設計題 20

爬行的山羊 這是兩個題啊。哈哈好做,第一個有c語言的冒泡法排序,第二個用中斷,讀,輸出就可以 include define led0 0 define led1 1 define led2 2 define ledport p2 sbit sw0 p1 0 sbit sw1 p1 1 sbit sw...