1樓:
這個運算子的優先順序別 就好比我們小學學過的數學「先乘除後加減」是一個意思的
你還要知道運算子的種類 看你書中說到關係運算子的優先順序低於算術運算子 算數運算子高於賦值運算子那麼這句話什麼意思呢?
首選你要理解什麼是算數運算子什麼是關係運算子
算數運算子就是運算物件要是數字常理或者變數 (其它例如指標變數)
例如 a * b 或者 a % 3這裡的*和%都是算術運算子
關係運算子就是判斷兩個值是什麼(例如誰大誰小啊)關係不過關係運算表示式的值是0或者1即真和假
例 a > b 或者 a != b 這裡的'>' '!='就是關係運算子
賦值運算子就簡單理解就是說,賦值運算子右邊的值(也稱之為右值)賦值給左值(等號左邊的變數名)
例a = a * b a *= b 這裡的'=' '*='都是賦值運算子不過後面的'*='是賦值運算子中的複合運算子了
知道怎麼區分這幾個運算子了 那麼他們之間是有優先順序的概念的
這裡的優先順序是說在一個表示式裡出現了不同的運算子哪個運算子先運算的而言的
可以看出所謂賦值運算子,算數運算子,關係運算子,邏輯運算子,位運算子···等、
各自代表一類運算子各自有各自的運算物件,有個自的運算結果
以下**:
int a = 1 * 2 + 3
以上**中有兩個三個運算子『*』『=』『+』
由於『*』也就是乘號優先順序別最高(其實就是說最先運算的意思) 又根據『*』運算子是是雙目運算子(這個雙目就是指必須運算物件要有兩個 即『*』兩邊的1和2了)
計算1*2得2
表示式變成int a = 2 + 3 此時表示式裡面『+』號運算子優先順序最高所以先運算(也是雙目運算子)
計算2+3得5
表示式變成int a =5 此時就只剩下『=』賦值運算子了
a = 5了 就把整個右值(就是賦值運算子右邊的最後結果)賦值給變數a了
總結:優先順序別高於低對於運算而言就是誰先誰後的問題
還有個概念那就是運算子的結合性(這個你自己看書) 運算子的結合性和運算子的優先順序 能夠讓我們程式設計師準確寫出我們需要的表示式。
2樓:愛笑的小白菜鳥
這道題告訴你先進行算數,再進行關係比較,最後輸出真假(1/0)。
a=5 b=6;
a>(b-1);
5>(6-1);
5>5; 為假,結果為0.
c語言:這道題什麼意思?
3樓:匿名使用者
選d,要跳出while迴圈,y必須為0,在y減小到0以後,while迴圈結束,但--是在操作後執行,所以y還會再自減1,所以變成了-1。
4樓:雕欄應猶在
題目while(y--)後面是有分號的,對吧。
這應該是對while迴圈和自減運算的考察。
首先y==10;
while()退出的條件是()裡為0;
(y--)指的是先判斷y是否為0,再進行減一操作所以y--==0時,執行完這一步之後y==-1;
如果有不懂,請追問!!
望採納!!!
c語言,請問這道題是什麼意思
5樓:殘雷·影破
將十進位制資料轉換為二進位制資料,d為十進位制字尾,b為二進位制字尾
6樓:
這個是23題?
要是的話
那就是要你求十進位制數轉換為二進位制數了 不過你這個是小數我給你你講講步驟吧
28.34375 先要把小數位部分提取出來因為和整數轉換不一樣0.34375* 2 = 0.6875(把答案取整(拿走) 0)0.6875 再補整數位補0
0.6875* 2 = 1.375(把答案取整(拿走) 1)0.375再補整數位補0
0.375* 2 = 0.75(把答案取整(拿走) 0)0.75再補整數位補0
0.75* 2 = 1.5(把答案取整(拿走)1)0.5再補整數位補0
0.5* 2 = 1.0(把答案取整(拿走)1)0.0再補整數位補0 這時候為0了就結束了接下來提取每次(拿走)的數 叢上往下 0 1 0 1 1再在前面加上0.得
0.01011 這是0.34375(小數位的二進位制數)28 / 2 = 14.....
0 餘數 014/ 2 = 7.....0 餘數 07/ 2 = 3.....1 餘數 13/ 2 = 1.....
1 餘數 11/ 2 = 0.....1 餘數 1商已經為0就好了接下來按照從下往上依次取餘數1 1 1 0 0這個就是整數部分的二進位制了
把整數和小數的二進位制相加1 1 1 0 0 + 0.01011 = 11100 .01011
結果是11100 .01011
就選c了哈哈哈
c語言求教,這道題什麼意思
7樓:z的
本題中的p是指標,p指向變數c的地址,所以只有答案c是正確的。
8樓:太原大海
scanf中要求變數取地址,本例中p=&c,所以直接寫p就可以了
請問這道題怎麼做,c語言基礎
9樓:
3全部z是char啊,所以樓上不對,嘿嘿
10樓:匿名使用者
| 位運算中的 或運算子, 運演算法則: 0|0=0 0|1=1 1|0=1 1|1=1
把x,y的值先轉換成二進位制
x轉換成二進位制是: 00010111
y轉換成二進位制是:01110101
z=x|y:
00010111
01110101
= 01110111
所以z的值是:01110111
11樓:
首先你要明白0x75和027分別代表了是16進位制和8進位制那麼0x75就相當於10進位制的117
027就相當於10進位制的23
z = x | y;這裡的|就是位運算子中的|(或)運算子就是把x和y的二進位制按位對齊做或運算(就是同位有一個位1那麼對應的結果位就為1 否則為0)
117 對應的二進位制是1110101
23對應的二進位制是10111
接下來就是把二進位制做位或運算
1110101-----y
0010111------x
——————
1110111----就是10進位制的119結果z就等於119 這裡的119 只是說明在記憶體中有這麼一個位元組中(8bit位)
c語言的基礎題,請問這道題怎麼做呢?
12樓:匿名使用者
1全部a其實是對的,但是不建議這麼做,因為計算機會只儲存『a』,丟棄後面兩個字元。
b麼,\0就結束了,所以只能儲存'\0',不算一個字元吧c s的ascii是222,屬於擴充套件ascii的範圍,我也不知道它表示個啥(\x表示後面的是十六進位制),但是應該是個字元
d 沒辦法理解,字元型不能用雙引號賦值
13樓:sunny資源共享
選c,c表示一個16進位制。b是8進位制,不能出現8
c語言這道題什麼意思啊?有大神幫忙看看嘛 30
14樓:自我程式設計
這個程式 就是
來 求輸入數字自的(除1和自己以外的)最小約bai數 如果有du則列印這個約數(
zhii)並列印i#,沒有隻列印 i# 的值dao輸入5 沒有約數 for(i=2;i<=m/2;i++) i初值2 執行了1次 ,所以最後輸出的i=3 所以 輸出 3#
輸入9 最小約束3 for執行到第2次i=3時候就break 所以i=3 printf("%d",i);輸出3 之後執行printf("%d#",i); 輸出3# 所以結果 是 33#
將第八8行改為「continue」 輸入9 for總共執行了3次 在執行第2次i=3時 輸出3 最後輸出printf("%d#",i);輸出5# 所以最終輸出 35#
將第八行改為「;」後,輸入9 結果還是35#
15樓:聽不清啊
13)b
14)無正確答案(實際輸出為33#)
15)無正確答案(實際輸出為35#)
16)無正確答案(實際輸出為35#)
16樓:匿名使用者
這是改錯題還是選擇題?
關於C語言的基礎題,關於C語言的基礎題。
11c define和if都是關鍵字,不能定義為識別符號12b printf執行順序是從右向左,先自加再輸出13d example是結構體例項 14d c語言只能巢狀呼叫 只有函式,沒有過程之說 編譯時檢查語法15d 可以首先排除ab的,很容易得出答案 11,c 因為if和define都是 關鍵字 ...
c語言這道題該怎麼做 沒有思路,C語言這道題怎麼做
最大子矩陣,最大連續子陣列進階,動態規劃初級,poj1050 題目描述 現給出一個n n矩陣,要求求出擁有最大和的子矩陣的和。例如 這樣的一個矩陣,最大子矩陣的和為15 分析 最大子矩陣可以看為求最大連續子陣列拓展到二維陣列上,因為矩陣的性質同樣在橫向豎向上需要連續,那麼可以想辦法將這個二維陣列簡化...
這道C語言的題怎麼解?這道C語言的題怎麼做?
for迴圈的判斷條件為當x 10或者y 10兩個均不成立時,迴圈停止。每次迴圈結束後,x和y都會自增自減來改變自己的條件。執行迴圈得到的結果就為x 0,y 12。1 第一次迴圈 x 15,y 2 2.第二次迴圈 x 7,y 5 從這次迴圈開始,x不會自減,因為x是7,7是小於10的,故x不會 自減,...