1樓:匿名使用者
這應該是for迴圈中的東西
定義物件a,b為int型別,其中a=5
如果a=b且a>3且0則繼續執行
然後完成迴圈後a加1,然後繼續判斷。
實際上這個迴圈不會進行,因為0=false
c語言中,a^b是什麼意思?
2樓:匿名使用者
^按位異或,
例如#include
int main()
輸出結果是8;
1010//10
0010//2
——^1000//8
3樓:夜風輕吹
位運算:按位異或運算子
看運算子左右值的二進位制數字,一一對應,若相同(即:1-1或者0-0)就為0若不同(1-0或者0-1)則為1
結果得到的二進位制就是結果
4樓:匿名使用者
a的b次方
如2^3就是2的3次方,就是8
計算機c語言 int a,b[5]; a=0;b[0]=3 b[0]=*a+b b[0]值為什麼是
5樓:匿名使用者
你可能少寫了指標變數*a
(你只定義了【整型變數a】(int a;),沒有出現定義指標時的宣告int * a) 和b,
看不到*a=......和【整型變數】b=.......
6樓:匿名使用者
*a 是指標啊 指向實體地址的值
7樓:zyz鄭遠征
b[0]=*a + b編譯不過啊。是不是寫錯了
在c語言中for(a=0,b=0;a<=3&&b<=5&&1;a++,b++)中第二個表示式是什麼
8樓:喵不語
進行邏輯判斷,當a<=3時,其值為1.>3時,其值為0,a<=5也一樣道理,那個1的值就是1.最後進行形如a&&b&&cc的邏輯判斷,當a,b,c都為1時,整個表示式才為1
任何非0數代表真,0為假
9樓:匿名使用者
5和1都非0,為真,所以用1表示
c語言中,a=3,b=4,c=5; a||b+c&&b-c怎麼理解?
10樓:蹦迪小王子啊
||||
||baia || b + c && b - c= a || ((b + c) && (b - c))= 3 || ((4 + 5) && (4 - 5))= 3 || 1
= 1按照優du先級,先加減運算
zhi,後邏輯dao運算
而邏輯運算的幾個運算元版都是非0的,可以認權為是1因此最終結果為邏輯1
擴充套件資料c語言的運算子主要用於構成表示式,同一個符號在不同的表示式中,其作用並不一致。下面按計算的優先順序,分別說明不同作用的表示式。需要特別指出,在c語言標準中,並沒有結合性的說法。
相同優先順序運算子,從左至右依次運算。注意字尾運算優先順序高於字首。因此++i++應解釋為++(i++)。
而與或非的運算優先順序都不一樣,因此a && b || b && c解釋為(a && b) || (b && c)
合理使用優先順序可以極大簡化表示式。
11樓:匿名使用者
|(b - c))=3 || ((4 + 5) && (4 - 5))=3 || 1=1每對一個邏輯算符運算,得到的值都是非0即1,整個邏輯表示式內
的計算相當於將其分容解成幾個子式進行計算。以後有問題歡迎hi我
12樓:匿名使用者
||a ||bai b + c && b - c= a || ((b + c) && (b - c))= 3 || ((4 + 5) && (4 - 5))= 3 || 1
= 1按照優先順序du,先加減運算,後邏輯運zhi算
而邏dao輯運算的幾個運算元都是非版0的,可以認為是1因此權最終結果為邏輯1
13樓:
a=3,b=4,c=5;
這是一條邏輯復表示式,只可能有制0和1兩種取值,非零的時候取1,所以1樓的是不對的。又出現了2類運算子,加減和邏輯運算子,此處+-優先順序最高,其次是&&,最低是||,注意同是邏輯運算子優先順序不一樣。還須注意,按照優先順序加括號:
a || b + c && b - c
=a || ((b + c) && (b - c))=3 || ((4 + 5) && (4 - 5))=3 || 1
=1每對一個邏輯算符運算,得到的值都是非0即1,整個邏輯表示式的計算相當於將其分解成幾個子式進行計算。
以後有問題歡迎hi我
14樓:魔女之水玲瓏
我覺得應該是-3,或這個符號連線的兩個數字有一個或兩個不為零的數則為1,否則為0,且這個符號連線的兩個數都不為零則結果為1,否則為零,此題最終1+1-5=-3
c語言a+=b++==0表示什麼意思
15樓:匿名使用者
首先,b++表示對b做自加運算,我們用c代替,c=b++;
然後,a+=b++ 等於 a+=c,即a=a+c,也就是說「==」之前部分是給a賦值的,我們用d代替,即d=a+c;
最後是一個邏輯判斷d==0,也就是判斷前面計算出來的a是否等於0.
這裡要注意的一個地方是b++,不是++b,也就是說在當前這一次判斷的時候b並不自加,而是在當前判斷執行完之後才自加1.
比如初始a=1, b=2,b沒有自加,a=a+b=1+2=3,那麼這句話這次是在判斷「3==0」,下次再判斷的時候b才自加變成了2,a=a+b=3+2=5,相當於在判斷「5==0」,依次類推即可。
16樓:匿名使用者
符號的優先順序是:
在這個算式中是++最高
++是2級,其次==是7級(先左後右),最後是+=是14級這裡單指加了以後的賦值(先右後左)
然後關於==我做了個小驗證,
#include
int main(void)
結果是a為0,b為3。說明在用==(等於)的時候不像=(賦值)完全改變了賦值物件的值只是單次的改變一次物件的值。
例如你的a=1,b=2
計算順序是先b做自加1操作這時b才變為3,然後做b==0,如上的小驗證,做了這個運算後不會改變b的值(這是b裡面的值還是3)只是在參加運算的時候b單次變為0,,然後做a+=b(這裡的b為0)故這時候a還為1。所以執行這個語句以後a=1,b=3。
以上只是自己個人的觀點,不一定對但還是希望能幫到你。
參考資料字元優先順序表)
17樓:中械
其實是a=a+b++==0的簡寫;從運算子的優先順序可知:++最高,+次之,==再次之,而=最低,即先進行b++運算,在進行a+(b++)運算,其次進行a+(b++)==0運算,最總吧a+(b++)==0的結果賦給a。這個可以程式設計應正。
18樓:匿名使用者
2b表示1234等很多數字。
在c語言中,若有定義:int a=5,b=4,c=3,x;x=a>b>c;則輸出x的值為什麼為0
19樓:e世同人
a>b為true,然而c中沒有true,只有-1,false為0。-1>c為false,自然就是0了。
inta01f輸出什麼,c語言中inta1,b2,cc10ba輸出結果為什麼
chenqin231 已經回答得非常棒了,0.1f這個值會被截斷,取其整數部分,所以,列印a值為0,希望能對你有所幫助,另外,建議你讀一些c語言方面的基礎書籍。a的值被截斷,當你用printf列印a值為0 應為 0 但是0.1f是float型別,前面應該有 int main int f int in...
C語言中,若宣告int a 5,b 2則表示式bfloat b a
b a 2 3.5 b 3.5 b 3.5 2 5.5 因為b是int型的 所以b 5 b 2 float b a 2 3.5 b float b a 2後 b 2 3.5 5.5 若有定義 int a,b 則表示式 a 2,b 5,a 2,b a b 的值是?b 的意思是 先將b的原值帶入本條語句...
c語言中,inta 3,b 2,c 1,為什麼賦值語句a b c 1錯誤了
賦值語句沒有錯,錯的應該是變數的說明語句 inta 3應該在變數與型別說明符間加空格以示區別 int a 3,b 2,c 1 沒有錯啊。include int main inta 3 這個連起來寫已經錯了。當然,排除你是筆誤。a b c 1,是合法的。沒有錯誤。在vs 2010中可以編譯通過。因為a...