1樓:a羅網天下
b++==2在c語言中判斷b是否等於2後b自加。
在c語言中a++是首先拷貝自己的副本,然後對真值加一++a是對真值加一,然後使用真值。
例如:int a=0, b, c;
b = a++;
c = ++a;
printf("b=%d, c=%d", b, c);
上述程式段執行結果為b=0,c=2,可以證明理論
而a++和++a本身在單獨使用時,與a=a+1是等價的。
c語言的運算子主要用於構成表示式,同一個符號在不同的表示式中,其作用並不一致。下面按計算的優先順序,分別說明不同作用的表示式。需要特別指出,在c語言標準中,並沒有結合性的說法。
相同優先順序運算子,從左至右依次運算。注意字尾運算優先順序高於字首。因此++i++應解釋為++(i++)。
而與或非的運算優先順序都不一樣,因此a && b || b && c解釋為(a && b) || (b && c)合理使用優先順序可以極大簡化表示式。
基本表示式(primary expressions),主要是用於運算子之間,做為運算數。
標識,常量,字串文字量,優先順序提升表示式最優先執行。優先順序提升表示式是指圓括號包圍的表示式,如「( expression )」
2樓:徜逸
語法錯誤。
b++的意思為b自加,即為b=b+1,b=2的意思為b賦值為2,但兩者結合錯誤。可嘗試以下寫法:
1、++b=2
意思為:b自加後將b賦值為2。
2、b++==2
意思為:判斷b是否等於2後b自加。
擴充套件資料b++和++b的區別
運算優先順序不同:++b的優先順序大於b++的優先順序。
發展歷史
c語言誕生於美國的貝爾實驗室,由d.m.ritchie以b語言為基礎發展而來,在它的主體設計完成後,thompson和ritchie用它完全重寫了unix,且隨著unix的發展,c語言也得到了不斷的完善。
為了利於c語言的全面推廣,許多專家學者和硬體廠商聯合組成了c語言標準委員會,並在之後的2023年,誕生了第一個完備的c標準,簡稱「c89」,也就是「ansi c」,目前,最新的c語言標準為2023年釋出的 「c11」。
3樓:匿名使用者
這樣不行的,b++是右值,不能放等號的左邊根據你補充的繼續回答,看以下**就一目瞭然了int b = 0;
int c = (b++ == 2);
printf("%d %d\n", b, c);
此**輸出的是1 0
意思就是,首先判斷b是否等於2,顯然不是,因此c為假 = 0,然後b++,得到1。不懂繼續追問
4樓:匿名使用者
c語言裡面沒有連續的三個運算子同時出現的情況吧
5樓:k高人
b==2//判斷是否等於2
b++==2//判斷b是否等於2,判斷完後無論是否相等,都給b加1
6樓:hello我愛娃娃
b+1=。。。直到等於2結束。
在c語言中b=a<<2;是什麼意思?
7樓:大野瘦子
在c語言中,b=a<<2代表將a移位後的值賦值給b。
例如:100的二進位制表示為1100100,100左移2位後,後面加2個零1100100<<2 =110010000 =400,
可以看出,a<因為在二進位制數後面新增一個0就相當該數乘以2,2個零即2的2次方等於4。
8樓:
(a%b)是數學模運算,意思是取(a/b)的餘數。a除以b的結果有兩部分,一個是商,一個是餘數,就跟我們做除法一樣。計算機一般作整數除法a/b只能得到商,餘數就用a%b得到,它是0到b-1中的一個值。
如果a/b能整除,a%b就是0。
!(a%b)是邏輯運算,只有a%b是0時為真(就當是1吧),a%b不為0時為假(就當是0吧)。
int a=30,b=8,a/b商為3,餘6,所以a%b=6,!(a%b)為假,列印結果是0。
9樓:聽不清啊
這就是要判斷:
b是不是「小於或等於a」。
它只有兩種可能,「是」或「不是」(通常用0或1表示)。
10樓:
a<<2 表示a 左移兩位,數值上相當於a的十進位制數乘以4 ,在把他的值賦給b
a<>n 數值上相當於a的十進位制數除以2的n次方
11樓:飄零的狐狸
就是一個判斷
判斷b是不是小於等於a
如果是 值:非0
如果不是 值:0
12樓:匿名使用者
說明b是一個指標變數,其定義應該是這樣:int *b,a;
*是取值運算子,*b就是取b指向儲存空間的值;
&是取地址運算子,&a表示取變數a的地址。
*運算子後面應該跟指標;而&後面應該跟變數名(或陣列元素,或結構體變數.成員名)。
13樓:無聊所以無畏
++i在用於表示式中是先自加再參與運算,而i++先參與元算再自加比如說a*++i>b
就等價於i=i+1;a*i>b;
而a*i++>b
就等價於i=i+1;a*i>b;
14樓:匿名使用者
c變數對2取餘,然後取反。
如:c=3,則c%2=1,取反則等於0。
如:c=4,則c%2=0,取反則等於1。
明白了嗎?
15樓:秋楓
*b=&a這種寫法只有在定義時這麼寫才對
,例如 int *b;*b=&a;是錯誤的,正確的是int a=1;int *b=&a;意思是說定義一個指標b,b裡存的是a這個變數的地址。如果定義好了一個這真b,那麼*b就指b這個變數裡存的地址裡的值(有點繞口,慢慢理解),&為取地址符,&a就是a這個變數的地址。
16樓:育知同創教育
||在c語言中是指『或』的意思 其判斷是有一個為真 結果就為真
17樓:匿名使用者
%=是取模 賦值 運算子,a%=4的意思就是a=a%4 ,%是取模運算子,
這2者差別在於%只進行計算並且運算順序為從左到右。而%=則進行計算和賦值但是%=卻沒有運算順序,因為它是先將a%=4拆成a=a%4後再進行計算,所以你覺得它該如何設定一個計算順序呢?
所以對於4%4%3 我們知道是先進行4%4,得出結果後再把4%4的結果進行%3的操作
但是我們卻無法確保a%=b%=4是如何操作的,所以不應當這樣寫**,也許他在一個作業系統上是先進行b%=4 然後再進行a%=b, 而在另一個系統上也許就先a%=b然後再用a%=4,或者就是a%=b然後進行b%=4,所以這串**應當是不可取的
18樓:懶洋洋紫研
%=是雙目運算子,它的結合方向是自右至左.b%=4表示b=b%4(%左右兩邊均為整型資料),這個題先求b=b%4,然後再求a=a%
19樓:匿名使用者
>的優先順序大於!= ,所以他們的計算過程為:(a>b)然後!=c,a>b結果一般為bool值,為0或1,之後你就明白了吧。
20樓:陳鰲來了
a%=b%=4
等價於:b=b%4;
a=a%b;
21樓:匿名使用者
左移2位
把b轉換為二進位制,然後向左移兩位
比如5:00000101,左移兩位為00010100
22樓:匿名使用者
a<<2表示其二進位制左移2位,也就是4a把4a賦給b
23樓:匿名使用者
相當於
c語言b++==2是什麼意思
24樓:匿名使用者
該語句一個比較b++和2的值是否一樣(若是「=」則為賦值語句),如果先定義b並賦值2的話,那麼b++和2的值是相等的。因為++在後。
25樓:匿名使用者
要看編譯器是左運算還是右運算啦,一般turbo c是右運算
26樓:西門**
先看b是否等於2,然後將b的值加1
27樓:尉遲嘉惠堅拔
這樣不行的,復b++是右值,制
不能放等號的左邊
根據你補bai充的繼續回答du,看以下**就一zhi目了dao然了
intb=0;
intc
=(b++
==2);
printf("%d
%d\n",
b,c);
此**輸出的是1
0意思就是,首先判斷b是否等於2,顯然不是,因此c為假=0,然後b++,得到1。不懂繼續追問
在c語言中,b++=2是什麼意思。請知者告知。
28樓:匿名使用者
這是一個錯誤表示式,表示式不能作為左值
29樓:匿名使用者
b++ 是b=b+1的意思
b+=2 是b=b+2的意思
你的那種寫法是錯誤的
30樓:飛天失憶豬
執行了一下,語法錯誤
31樓:匿名使用者
這是c語言考試裡的一道題,答案是1,3,3,其實是這樣的先判斷b是否等於2,然後再執行b++
c語言中語句a+=b++是什麼意思
32樓:匿名使用者
先解釋一下 += 和 ++ 是
什麼意思+= 的意思是 左值和右值相加結果賦值給左值如 a=1;b=2;a+=b;後,a=3;b=2。++ 的意思是變數自加1,如a=1;a++;a的值是2,在c中,++有前置和後置如 ++a;a++;,單獨使用的時候是沒有區別的,都是自加1,在有運算時就有區別了,前置的++是自加後才參與運算,後置的++是參與運算後在自加1。如題的畫,假定a=1,b=2,a+=b++的意思就是b=2先參與a+=b運算a=3,然後b自加1,b=3;如果b++換成前置++b,a+=++b就是b先自加1,b=4,然後參與a+=b運算,a=4。
33樓:白蘿蔔
a+=b++要先進行a+=b的運算,然後再進行b的自運算舉例a=1,b=2,則a+=b++,有a=a+b=1+2=3,b=b+1=3.
34樓:匿名使用者
a+=b++的意思是a=a+b,然後b=b+1,就是這樣,你應該是初學c吧!!
35樓:匿名使用者
a+=b++等價於a=a+(b++) 運算時,先計算括號裡面的b++即可。 有疑問提出。 望採納
36樓:哀韶蕭貝晨
要說在c語言中這充其量只能算作是「偽**」。
在vb、pascal等程式設計語言中,<>是「不等於」的意思。
在c中,「不等於」的關係應表示為「!=」
if(a
!=b+c)
printf("a不等於b+c\n");
else
printf("a等於b+c\n");
c語言中:k= (a++==b) ? 2:3什麼意思
37樓:唯愛丶等憂傷
如果a等於b,則k=2,否則k=3
然後 a=a+1;
相當於if(a===b)
k=2;
else k=3;
a=a+1;
38樓:新小圈崛起了
如果a++(++是自增運算子)的值等於b那麼k=2,不等於b,k=3。
d=a?b:c; 是三目運算子
39樓:
如果a++==b,則k=2,否則k=3
40樓:蒿飇睢菡
後面是一個逗號表示式
最終的結果是k=3
c語言中process什麼意思,C語言中process什麼意思
void process int a,int b,int fun 這句話的意思是宣告一個無返回值的process函式,形參為int a,int b和一個返回int的函式指標 你這來個圖裡的process只是一源個函式的名稱,bai和常用的printf,scanf在同 du一個等級,區別只是,這zhi...
floor在C語言中是什麼意思,C語言中 c是什麼意思
floor 是c語言中的一個數學函式,意思是向下取整,即取不大於要求值的最大的那個整數 專值。floor原意為地板之意,屬可以助記為數值猶如人處在地板上,取小於該數值的地板。函式標頭檔案 include 函式原型 double ceil double x 函式說明 floor x 返回不大於x的最大...
C語言中是NULL什麼意思,c語言中null什麼意思
在標頭檔案 中定義的一個常量 null 0 用於指將指標 懸空 不指向任何位置 樓上的指向0記憶體不對的 int p null null是個好東西,給一出生的指標一個安分的家 null不是被定義為0,就是被定義為 void 0,這兩種值幾乎是相同的。當程式中需要一個指標時 儘管編譯程式並不是總能指示...