c用微控制器怎麼處理?當a b時,微控制器是計算到a b 0就停止,還是繼續除法的運算

2021-04-28 17:39:56 字數 2899 閱讀 5387

1樓:匿名使用者

會繼續計算的。

從概率來說

除數為0 屬於小概率事件

為這個 增加一步判斷,並不會提高效率

反而會在大多數時候降低效率

所以 不會有這樣的判斷的。

在c語言的環境下,a=5;b=a++;c=--a-b++;d=(a++)-(++b)+c--;結果是多少,怎麼算?

2樓:匿名使用者

首先進行第一步「a=5」:將5賦給a,這樣實現了a=5

然後進行第二步「b=a++」,由於++為字尾,所以先將a值賦給b,結果b=5,然後進行a++運算,a=6

然後進行第三步「c=--a-b++」,首先--為字首,所以先運算--a,結果a=5,由於++為字尾,所以接下來先運算c=a-b,結果c=5-5.為0,最後進行b++運算,結果b=6

最後一步「d=(a++)-(++b)+c--」,先運算括號裡面的「a++」和「++b」,結果a=6,b=7,由於--為字尾,所以先運算d=a-b+c,也就是d=6-7+1=0,最後運算c--。結果c=-1

以上是運算結果,考的主要是運算的優先順序,是這樣的,看見括號裡面的,先運算括號裡面的,沒有括號的,你要看++或是--,是字首,還是字尾,如果是字首的話,先運算++或是--運算,如果是字尾的話,你就先運算整個式子,運算完了整個式子,再運算++或是--運算,至於具體的例子,我給你的計算過程,你可以自己結合著體會一下,有什麼不明白的,就追問我。

3樓:匿名使用者

a=5;

b=a++,這部之後b=5,a=6

c=--a-b++這步之後c=0,a=5,b=6d=(a++)-(++b)+c--這步之後d=0,a=6,b=7,c=-1

4樓:猶望亭菅羅

1.switch結構分支沒加break;跳出語句,開始執行後,程式由x=1調到case1分支

a++(a由0自己加為1),由於沒有break語句,程式繼續執行到case2分支

a++b++(a由1自加變2,b由0自加為1),之後程式printf輸出

a=2,b=1

2.新增break後,結果是a=1,b=0#include

"stdio.h"

main()

printf("a=%d,b=%d\n",a,b);}

c語言上的問題 !(a+b)+c-1&&b+c/2的值 a=3,b=4,c=5

5樓:聽不清啊

整個表示式的值為真(即 1)

!(a+b)=!7=0

!(a+b)+c-1=0+5-1=4

b+c/2=4+2=6

原式=4&&6=1 //兩個非0的值,即兩個true,相與的值,仍為true,即1

6樓:匿名使用者

根據從左到右計算順序,結合運算子優先順序,根據定義

a = 3, b = 4, c = 5,假定 a,b,c 為 int。真值為1,假值為0。

計算步驟如下:

1、計算 a + b,結果為 a + b = 7

2、計算 !( a + b) 結果為 0,也可以認為是false(假)。

3、計算 c/2,假定c為int時,結果為 2(取整),為float或者double時為2.5,但不影響最終結果,因為都是真值(非零值)。

4、計算 0 + c,結果為 5

5、計算 5 -1,結果為 4。

6、計算 b + 2 或者 b + 2.5,結果為 6 或者 6.5。

7、計算 4 && 6 後者 4 && 6.5,因為兩邊都為非零值,所以結果為 1,或者true。

這裡主要是一個運算子優先順序的問題,在本表達多中。

小括號的優先順序最高,所以最先計算括號內的值。

其次是邏輯非,然後是除法,然後是 加減法,最終是 邏輯與。

7樓:匿名使用者

這個是邏輯運算只討論真假,與數值沒有多大關係只要弄懂運算級別高低就可以最後結果為一,不懂可以mm我

8樓:匿名使用者

()優先順序最高先算 !(a+b) =!7=0算術運算子大於&& 所以先算c-1=4

* /大於加減先算c/2=2然後加b等於6最後相與 4&&6 真與真還是真 最後等於1

9樓:麒麟也涅槃

a=3,b=4,c=5

a+b=7

!7=0

c-1=4 為真

b+c/2 不為0 所以也是真

真&&真 值為真 即=1

10樓:k寂寞的小炮

結果等於1

!(a+b) = 0;

0+c-1 = 4;

b+c/2 = 6;

6&&4 = 1;

11樓:匿名使用者

整個表示式為1啊···

12樓:有郊範圍

!(a+b)+c-1&&b+c/2=1

13樓:皚子萋萋

!(a+b)=0;1&&b=1;所以0+5-1+5/2=6

請問c語言裡的這個怎麼算? a=3,b=4 a+b%(a+b)/a+a*b-b

14樓:公式小阿伯

按優bai先級,出現的運算子裡,du

括號最高,zhi然後

是dao*/%,再之後是+-

3 + 4%(3+4)/3 + 3*4 - 4(括號運版算以後權) 3 + 4%7/3 + 3*4 - 4(*/%級運算以後) 3 + 1 + 12 - 4(+-運算以後) 12

這裡特殊注意4%7得到(int型的)4,然後(int)4/(int)3是整數除法應該得到1。

經過檢驗沒有問題。

51微控制器資料搬運c語言程式,51微控制器訪問片內資料儲存器某單元的內容用c語言怎麼寫???

aa i bb i 51微控制器訪問片內資料儲存器某單元的內容用c語言怎麼寫?方法1 char data p 定義一個指向片內ram地址的指標 p 0x30 片內ram地址為0x30 p 0x12 向0x30內寫入立即數0x12 方法2 include char x x dbyte 0x30 將片內...

c語言與微控制器

正如bai樓上的話,微控制器要du學模電數電,它還要學計zhi算機組成原理的,單dao片版機其實是大學的一個專業,要學權四年,要學得精並且能找到工作的話,恐怕你還是得看一下大學的課程包括什麼了。c語言的話理解容易但說學熟的話恐怕也不是一年半載的事情,你對電腦不熟這個是個很大的麻煩,我看過很多對電腦不...

微控制器C語言問題,微控制器C語言的一個問題 static bit a 什麼意思

c語言也不難,如果閣下肯花20小時,把c語言最基本的東西弄懂,肯定沒有什麼問題。我覺得微控制器開發中c語言用到最多的幾個部分基礎知識 比如資料型別,運算子,格式轉換 順序控制 if語句 switch語句 迴圈控制 while語句 for語句 陣列指標 其他一些c語言中的東西微控制器上用不了,也就大概...