回覆列表
-
1 # 李天志
-
2 # 日夜奔波為了家
C語言中,%只能用於整數運算的運算子,%是求餘運算子,只能適用於整數與整數運算,如果用於非整數運算,程式會報錯導致無法執行。
A選項錯誤,是因為在C語言中,語句之間的分割要用英文狀態下的分號去分割,即“;”,而不是冒號。
D選項正確,是因為%是除法取餘運算,適用於整數與整數運算。否則,不同的編譯器會得不同結果。作為雙目運算子,左右運算元可以是數值,也可以是表示式,但是左右兩邊的運算元必須是整數。
擴充套件資料
求餘運算子“%”,二元運算子,具有左結合性。參與運算的量均為整型。求餘運算的結果等於兩個數相除後的餘數。“%”取模運算子還有一些小的應用,例如:
1、當你想要透過rand()獲得隨機數時,rand()%100;產生0-99的隨機數。
假如要產生16-59之間的數,可以這樣寫:rand()%44+16(這裡44由59-16+1得到)。
-
3 # 西北雄鷹飛
因為只有整型資料才能做位運算,整型做位運算是有意義的,可以完成資料處理的一些特定功能。
計算機中實型資料的表示方式是按科學記數法表示的,有小數有指數,按規定的位進行儲存,這決定了實型做位運算是沒有意義的,結果也是不可預知的,一次位運算就可能導致資料溢位。
不管在哪種語言中,位運算都是隻能用於整型,不能用於實型。
其實也不是不可以,只是位運算浮點數沒有什麼實際意義,這是因為浮點數的儲存方式並不是簡單的二進位制儲存,它分為四部分,符號位,指數位,小數部分和指數偏移量,位移操作之後新的浮點數值和之前的值不是2倍或1/2被的關係。但是如果你真的想位移,強制轉化型別,位移也可以的。