C語言入門第六篇,操作符

我們前面講了變量,輸入輸出,下面我們來看一些操作符。

操作符都是用於操作變量的。我們先看幾個簡單的操作符。

算術操作符

算術操作符是我們最熟悉的,因爲是數學上經常用到的操作符。
+ - * / %
上面這些就是算術操作符,從左到右分別是加,減,乘,除,取餘。這裏重點說一下取餘。取餘是在整數除法的時候取餘數結果是整個算式的餘數。如果不太清楚可以用下面的代碼試試。就很明白什麼是取餘了,也順便試試這幾天學的東西都會了麼。

#include<stdio.h>
int main()
{
    int a,b,c;
    scanf("%d%d",&a,&b);
    c=a%b;
    printf("a除以b的餘數爲%d\n",c);
    return 0;
}

移位操作符
<< >>

移位操作符多數用於無符號整數(當然也可以用於有符號的整數),首先我們必須清楚整數在編譯器裏面存儲的是二進制,所以移位操作是在二進制裏面進行的。a>>5表示往右移動5位。移動過後空白的位置都由零來補位。(有符號的整數再進行右移時,有兩種,一種是邏輯移位,移出來的位置用0填充,另一種是算術移位,前面講過最高位也就是左邊第一位是代表符號的,符號位爲1就用1填充,爲0就用0填充)

位操作符

位操作其實是計算機組成原理裏面的內容,符號如下:
& | ^
上面的分別是與(and)、或(or)、異或(xor),和上面類似這些符號操作的是二進制變量的,這些符號的計算規則如下:
位操作符

如果變量a的二進制值是00101110,變量b的二進制值是01011011。a&b的結果是00001010,a|b的結果是01111111,a^b的結果是011110101。

複合賦值符

複合賦值符號顧名思義是兩個操作符組成的操作符。先舉一個例子:+=這個符號,a+=1,表示a=a+1,上面所講的所有符號都可以這樣用。
+= -= /= *= %= >>= <<= &= |= ^=

單目操作符

單目操作符的意思是隻接受一個操作數的操作符。
! ++ – & sizeof ~ *
下面我來解釋一下上面的作用。
!對操作數進行邏輯反操作,真變爲假,假變爲真。
++ 對操作數進行自加一操作,例如a++,表示a自加1,但是這裏要注意a++和++a是不一樣的,a++是先用再自加,++a是先自加再用。試試下面這段代碼就明白啦。

#include<stdio.h>
int main()
{
    int a,b;
    a=b=10;
    printf("a++=%d\n++b=%d\n",a++,++b);
    printf("%d\n",a);
    return 0;
}

–操作符是對操作符進行自減一操作,類似++操作符。

&取地址操作符號,不要和前面的位操作混淆了。這個操作符只有一個操作數,例如&a,表示取a的內存地址

sizeof是取變量的內存大小,以字節爲單位,例如sizeof(a),表示變量a所佔的字節數。

~表示對操作數進行求補操作,操作數的二進制表示方式的1變爲0,0變爲1。

關係操作符

關係操作符很簡單,分別是:
> >= < <= != ==
上面的符號分別是大於,大於等於,小於,小於等於,不等於,等於。
前面都好理解這裏說下爲什麼==代表等於,因爲在c語言裏面=是賦值符號,所以要判斷變量a和變量b相不相等就只有用a==b。

邏輯操作符

邏輯操作只有兩個&&和||,有點類似&和|,但是並不是位操作。&&表示兩個表達式都必須爲真纔會返回真。例如 a==2&&b==3,||表示兩個表達式只要有一個爲真就返回真,例如a==2||b==3。關係操作符和邏輯操作符我們在後面講會更仔細的講。這裏先了解這些操作符的作用。

條件操作符
條件操作符只有一個,這裏直接舉例:a>5?b:c,如果a>5的話,就取b,如果不是的話就取c。

上面就是C語言大部分的操作符了,很多人看到這裏估計覺得好多東西要記,其實不用,這裏的幾乎所有的操作符號,我們後面都會用到,這裏先給大家展示一下這些符號的用處,後面再來加深印象。

總結
這篇介紹了C語言裏面大多數的操作符,全部是對變量進行操作的。其中移位和位操作在單片機用的較多邏輯操作和條件操作在條件判斷中用的較多,我們會在後面慢慢體會到。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章