1樓:邸亭晚媯鸞
1全部因為括號是最高的優先順序運算符號了。。先執行的是括號的裡面的運算,,就像數學裡面一樣的。。你用!
把數值轉換為bool值了。。bool值是不能進行計算的,,所以你的這個語句是錯誤的。。不過你++用了也是沒用的。。
既然要轉換為bool值用++幹什麼呢。。。還不是一樣的。。呵呵。。
2樓:節秀芳洋嫻
1樓的說法上面有點出入,c語言裡面沒有布林型,樓主可以這麼理解,++或者--這兩個運算子只能用於變數,常量是不能用於自增自減的。!i++是在i的值取反後,變數i的值加1;(!i)++是先算!
i,那麼結果不是0就是1,是個常量;所以根據常量不能自增自減原則,0++或者1++是錯誤的
3樓:泰士恩韋衣
(!i)++運算是這樣的:第一步先進行!
i運算,得到的是乙個具體的值……如果i=1,進行!i運算後是0,是(1i)這個整體為0,而++運算不能對乙個具體的值進行運算,++只能對變數進行自增運算……開始學時這裡很難理解的……你自己好好再想一想吧……
4樓:團長你好嗎
~取反,0取反是1,1取反是0
《是左移,比如1<>右移,類似左移,數值大小除以2的n次方&按位與,1與任意數等於任意數本身,0與任意數等於0,即1&x=x,0&x=0
|按位或,x|y中只要有乙個1則結果為1
^按位異或,x^y相等則為0,不等則為1
所有數值必須轉換為二進位制數才能位運算,每一位數相對應運算
5樓:弒緋
首先啊,你的**就有錯
int i,a=0,b=0;
這裡的第乙個,號是用的漢字的,號。
現在給你解答題目:
1、這個題你首先要明白%符號的意思,即取餘數。根據迴圈的要求可知i的值是1到9;
2、if語句的要求是i%2==0,即i除以2後取餘數等於0時會觸發if語句;
3、i的範圍是1到9,能除以2後取餘數為0的數只有2、4、6、8。所以if語句會觸發4次。
4、到了這裡,你需要知道continue的作用,結束本次的迴圈,但不會結束整個迴圈,也就是說到了continue這句話時,本次迴圈就結束了,之後的b++不再執行。所以,再執行if語句時,只有a的值再增加,b的值是不增加的。
5、a一共執行了4次a++。所以a的值等於4.
6、i的範圍是1到9,能除以2後取餘數不為0的數有1、3、5、7、9。所以此時if語句不會觸發。
7、不觸發if語句,就能執行b++。一共5次,所以b=5
8、最後結果是a=4,b=5
6樓:
i++的優先順序高,所以!就可以判斷++後的結果
第二個雖然!i可以進行運算,但是計算出來的結果不是變數,所以不能進行++操作
7樓:匿名使用者
很明顯答案是4、5
迴圈i從1~9
i為偶數的時候a+1,繼續下乙個迴圈,這是關鍵的地方,這時候不執行b++了
只有i為奇數才執行b++
所以a代表偶數的個數,b代表奇數的個數
8樓:匿名使用者
運算子是說明特定操作的符號[1] ,它是構造c語言表示式的工具 。
c語言的運算異常豐富,除了控制語句和輸入輸出以外的幾乎所有的基本操作都作為運算子處理。除了常見的三大類,算術運算子、關係運算子與邏輯運算子之外,還有一些用於完成特殊任務的運算子,比如位運算子。
9樓:匿名使用者
看邏輯是 分別統計1-9這幾個數字中的偶數和奇數的數量
a是偶數,b奇數 果斷是你**搞錯了好不
把你的**弄上來給俺看看
10樓:
已幫你驗證 ,執行結果為a=4,b=5
11樓:邁向猿的人生
這是要問什麼。需要資料可以留郵箱。
C語言運算,C語言 運算子 是怎麼運算的
詳細的給你解釋一下,手打的哦 運算子的大概的優先順序 由高到低排列,分號隔開 非 算數運算子 關係運算子 與 或 賦值運算子 這些事大概常用的,當處在同乙個運算級別的時候,就從左到右計算,當然所有的運算子中,級別的最高的就是括號,有括號就要先計算括號。下面 我們來看這道題 a 前減量操作 a減1之後...
C語言中的基本運算問題,C語言中的基本運算問題
有些運算操作是要區分有符號與無符號的情況的,比如除法,取模運算其計算語意是不同的,具體來說,有符號的除法在x86平台上對應的彙編指令是idiv,而無符號的除法對應的則是div。而對於另外一些操作運算,則是不區分有符號與無符號的,比如,加法,減法,乘法運算。可以通過以下 測試 int main 雙目運...
c語言中的字元型的運算,在C語言中,要求運算數必須是整型或字元型的運算子是()。
include include include using namespace std void k add string a,string b,int k 將長的字串放在前面 if a.size b.size string temp a a b b temp 對源字串進行翻轉 reverse a....