tft每日頭條

 > 生活

 > c語言中數學運算符

c語言中數學運算符

生活 更新时间:2024-12-26 00:43:51

我們在之前的文章中介紹過變量、數據類型,如果我們想使用C語言進行的一定的運算,例如常見的加減乘除運算,此時我們就需要運算符來輔助我們實現。

c語言中數學運算符(C語言運算符)1

算數運算符

對于算數運算符,上過小學的都知道,涉及到算數運算,不外乎加、減、乘、除,當然除了基本的運算還有一種模除運算,也稱作取餘。

加法: ,加數與被加數無特殊要求,可以是常數與變量的兩個任意組合。

減法:-,要求同加法。

乘法:*, 要求同上。

除法:/,要求同上。

模除:%,操作數要求必須為整數。

自增: ,有兩種使用方式i 及 i,前者先賦值給變量,再自增1,後者相反。

自減:--,同自增,i--及--i,自增與自減隻能是變量。

關系運算符

關系運算符主要比較兩者的大小或是否相等,以A=4,B=2為兩個變量舉例關系運算符用法,主要運算符如下:

大于:>, e.g. A > B 結果為1。

小于:<, e.g. A < B 結果為0。

等于:==, e.g. A == B 結果為0。

大于等于:>=, e.g. A>=B 結果為1。

小于等于:<=, e.g. A<=B 結果為0。

不等于:!=, e.g. A!=B 結果為1。

邏輯運算符

邏輯運算符主要進行邏輯運算,主要是與、或、非等,主要邏輯運算如下,以A=4,B=2為例:

邏輯與:&&, A && B, 結果為 1。特點:A與B同時不為0,結果才為1。

邏輯或:||,A || B, 結果為1。特點:A與B同時為0,結果才為0。

邏輯非:!, ! A 結果為0。特點:A為0,結果為1,其他為0。

位運算符

位運算符主要是對變量進行位的運算,以A=4,B=3為例:A的二進制位表達為100b,B的二進制位表達011b。

位與:&,e.g. A & B, 按位進行與運算,結果為000=0。

位或:|,e.g. A | B,按位進行或運算,結果為111=7。

位非:~,e.g. ~A, 按位取反,同時A(int類型,在64位機器上字節)是整數,符号位也要取反,結果為fffffffb(補碼)=-5。

位異或:^,e.g. A ^ B, 按位進行異或,結果為111=7。

移位:>> 右移位,<< 左移位;e.g. A >> 1 = 2,A << 1 = 8。

賦值運算符

賦值運算符可以細分為兩類,第一類就是基本的賦值運算符“=”,第二類是複合賦值運算符,由基本的賦值運算符與其他運算符複合而成。

以A=4,B=2為例

“ =”:A = B, 結果A = 6。

“-=”:A -= B, 結果A = 2。

“*=”:A *= B, 結果A = 12。

“/=”: A /= B, 結果A = 2。

還有其他類似的複合賦值運算符:>>=, <<=, &=, |=, ^=, 大家下面可以嘗試一下。

三目運算符

三目運算符又稱條件運算符,因為它有三個3個操作數,有時又稱它為三元運算符。符号表示為?:。它具有右結合性,A=4,B=2,我們來看下它的用法。

int res = A > B ? 1 : 0;

首先判斷A > B,如果為真,則返回第二個操作數,否則返回第三個操作數,同時第二個或第三個操作數還可以是三目運算符。此處顯而易見,res的結果為1。

特殊運算符

我之所以稱之為特殊運算符,一般初學者看到這個運算符會想當然的把它認為是函數,但是它不是!!!這個運算符就是sizeof,它用來獲取操作數的字節大小。

#include<stdio.h> typedef struct { inta; union { charb; doublec; }; chard; } A; int main(int argc, char const *argv[]){ /* code */ int a1 = 4, a2=3.0; printf("%d\n", sizeof(a1)); printf("%d\n", sizeof(int)); printf("%d\n", sizeof(A)); return 0; } 結果: 4 4 24

運算符優先級

運算符優先級其實是一個比較複雜東西,網上一般會通過一個長長的表格來列出C語言中運算符優先級,除非我們有最強大腦,否則一般也記不住,我給出的建議就是,如果不清楚運算符優先級,我們在使用的過程中使用括号強制給它安排優先級。

c語言中數學運算符(C語言運算符)2

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved