c語言二
1. c語言中的"a%2"是什麼意思
a%2 實現的功能就是判斷a是奇數還是偶數。
C語言中 a%b 表示變數a對b取余,即如果a除以b的余數為0,那麼a%b的結果就為1(1表示真),如果a除以b的余數不為1,那麼a%b的結果就為0(0表示假)。
運算符% 是C語言中一種比較常用的運算符,最常見的就是上面的判斷奇偶性。還有就是循環隊列和循環鏈表。
2. 在C語言中b=a<<2;是什麼意思
在C語言中,b=a<<2代表將a移位後的值賦值給b
例如:100的二進製表示為1100100,100左移2位後,後面加2個零1100100<<2=110010000=400,可以看出,a<<b的值實際上就是a乘以2的b次方,因為在二進制數後面添加一個0就相當該數乘以2,2個零即2的2次方等於4。
通常認為a<<1比a*2更快,因為前者是更底層一些的操作。因此程序中乘以2的操作盡量用左移一位來代替。
(2)c語言二擴展閱讀
C 語言支持的賦值運算符
=: 簡單的賦值運算符,把右邊操作數的值賦給左邊操作數。如C = A + B 將把 A + B 的值賦給 C 。
+=:加且賦值運算符,把右邊操作數加上左邊操作數的結果賦值給左邊操作數。如C += A 相當於 C = C + A。
-=:減且賦值運算符,把左邊操作數減去右邊操作數的結果賦值給左邊操作數。如C -= A 相當於 C = C - A。
*=:乘且賦值運算符,把右邊操作數乘以左邊操作數的結果賦值給左邊操作數。如C *= A 相當於 C = C * A。
/=:除且賦值運算符,把左邊操作數除以右邊操作數的結果賦值給左邊操作數。如C /= A 相當於 C = C / A。
%=:求模且賦值運算符,求兩個操作數的模賦值給左邊操作數。如C %= A 相當於 C = C % A。
<<=:左移且賦值運算符。如C <<= 2 等同於 C = C << 2。
>>=:右移且賦值運算符。如C >>= 2 等同於 C = C >> 2。
&=:按位與且賦值運算符。如C &= 2 等同於 C = C & 2。
^=:按位異或且賦值運算符。如C ^= 2 等同於 C = C ^ 2。
|=:按位或且賦值運算符。如 C |= 2 等同於 C = C | 2。
3. !2等於多少!c語言
首先我們要理解的是%在c語言中是什麼運算。在c語言中,%指的是取余數。
有了以上知識作為鋪墊,我們來看一下1%2結果到底是什麼。
1除以2,商是0,余數是1,所以1%2的結果是1。
拓展資料:
關於「/」的「%」的總結
除法運算符「/」。二元運算符,具有左結合性。參與運算的量均為整型時,結果為整型,捨去小數。如果運算量中有一個為實型,結果為雙精度實型。
求余運算符「%」,二元運算符,具有左結合性。參與運算的量均為整型。
求余運算的結果等於兩個數相除後的余數。
「%」取模運算符還有一些小的應用,例如:
①當你想要通過rand()獲得隨機數時,rand()%100;產生0-99的隨機數。
假如要產生16-59之間的數,可以這樣寫:rand()%44+16(這里44由59-16+1得到)。
rand()%44 即可獲得0-43的隨機數,再加上16即可得到16-59的隨機數了;
②除了第一點以外,「%」運算還通常用於N進制的轉換。例如:
如果是二進制轉換,那麼就可以通過/與%的結合使用則可以得到轉換之後的二進制數了(其實就是短除法)
當原數被除至剩餘0時,它的上一次模數就是最高位進制數。
30(10)->11110(2)/與%的結合使用通常都可用於獲得最低位數又或者獲得所需的某位數。例如:
「/」通常可以去掉尾數,而「%」通常都用於獲得尾數。
4. c語言中,x*=2是什麼意思
「*=」是復合賦值運算符。
x*=y
等價於
x = (x) * (y)
上述表達式等價於
x = x * 2
樣例:
int x = 2, y = 1;
x *= y - 1;
printf("%d", x);
輸出:0
因為x *= y - 1等價於x = x * (y - 1)
(4)c語言二擴展閱讀
如果一個變數聲明時在前面使用 * 號,表明這是個指針型變數。換句話說,該變數存儲一個地址,而 *(此處特指單目運算符 * ,下同。C語言中另有 雙目運算符 *) 則是取內容操作符,意思是取這個內存地址里存儲的內容。指針是 C 語言區別於其他同時代高級語言的主要特徵之一。
指針不僅可以是變數的地址,還可以是數組、數組元素、函數的地址。通過指針作為形式參數可以在函數的調用過程得到一個以上的返回值,不同於return(z)這樣的僅能得到一個返回值。
指針是一把雙刃劍,許多操作可以通過指針自然的表達,但是不正確的或者過分的使用指針又會給程序帶來大量潛在的錯誤。
5. C語言中C*=2什麼意思
就是變數C乘以2再次把乘積賦值給C,也就是可以寫出C=C*2;
6. c語言中 k*=2 是什麼意思
k是一個指針,這句話的意思是k指向的地址中存放的變數值等於2,k=k*2;//將k乘以2並將結果賦值給k這個變數。
舉例:如果a=2,k=&a,則執行*k+=2後,a=4,相當於執行了a=a+2。
k*=2等價於k=k*2;
k-=2k=k-2
k+=2k=k+2
k/=2k=k/2
k%=2k=k%2
(6)c語言二擴展閱讀
C語言「->」運算符
C語言代碼定義了結構體S,成員a代表0偏移,而成員b則代表2位元組偏移(這里假設int變數佔用2位元組內存,也不考慮內存對齊)。
代碼定義了結構體X,它也包含成員a,它的名字與結構體S中的成員a重復了,但是沒有問題,因為它們都代表0偏移。因為結構體Y中的成員a與結構體S中的成員a重名,並且代表的位元組偏移量也不相等。
7. c語言中 a=5<<2是什麼意思
a=5<<2在C語言中表示將5的二進制數向左移2位,並將左移後的結果賦值給變數a。
詳細過程如下:(以8位二進製表示)
5的二進制為:0000 0101
左移2位後變為:0001 0100(末尾補0),對應的十進制數為20,所以a=20
更一般的是,左移x位,相當於乘以2^x,如:
a = x<<y; // 等價於a=x*2^y
8. C語言中 !2 是什麼意思 非2
if(a!=2)
的意思就是當a不等於2時,!就是非,否的意思
!2就是非2的意思
9. c語言中1/2是什麼意思
c語言中1/2表示用整數1除以整數2,因為兩者都是整數,其運算結果為0。
C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。盡管C語言提供了許多低級處理的功能,但仍然保持著跨平台的特性,以一個標准規格寫出的C語言程序可在包括類似嵌入式處理器以及超級計算機等作業平台的許多計算機平台上進行編譯。
(9)c語言二擴展閱讀:
C語言是普適性最強的一種計算機程序編輯語言,它不僅可以發揮出高級編程語言的功用,還具有匯編語言的優點,因此相對於其它編程語言,它具有自己獨特的特點。具體體現在以下三個方面:
其一,廣泛性。C 語言的運算范圍的大小直接決定了其優劣性。C 語言中包含了34種運算符,因此運算范圍要超出許多其它語言,此外其運算結果的表達形式也十分豐富。此外,C 語言包含了字元型、指針型等多種數據結構形式,因此,更為龐大的數據結構運算它也可以應付。
其二,簡潔性。9 類控制語句和32個KEYWORDS是C語言所具有的基礎特性,使得其在計算機應用程序編寫中具有廣泛的適用性,不僅可以適用廣大編程人員的操作,提高其工作效率,同 時還能夠支持高級編程,避免了語言切換的繁瑣。
其三,結構完善。C語言是一種結構化語言,它可以通過組建模塊單位的形式實現模塊化的應用程序,在系統描述方面具有顯著優勢,同時這一特性也使得它能夠適應多種不同的編程要求,且執行效率高。