亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

C語言運算符

2019-11-17 05:23:13
字體:
來源:轉載
供稿:網友

  C語言的內部運算符很豐富,運算符是告訴編譯程序執行特定算術或邏輯操作的符號。C語言有三大運算符:算術、關系與邏輯、位操作。另外,C還有一些非凡的運算符,用于完成一些非凡的任務。
2.6.1算術運算符
表2-5列出了C語言中答應的算術運算符。在C語言中,運算符“+”、“-”、“*”和“/”的用法與大多數計算機語言的相同,幾乎可用于所有C語言內定義的數據類型。當“/”被用于整數或字符時,結果取整。例如,在整數除法中,10/3=3。
一元減法的實際效果等于用-1乘單個操作數,即任何數值前放置減號將改變其符號。模運算符“%”在C語言中也同它在其它語言中的用法相同。切記,模運算取整數除法的余數,所以“%”不能用于float和double類型。 C語言運算符(圖一)
最后一行打印一個0和一個1,因為1/2整除時為0,余數為1,故1%2取余數1。
2.6.2自增和自減
C語言中有兩個很有用的運算符,通常在其它計算機語言中是找不到它們的—自增和自減運算符,++和--。運算符“++”是操作數加1,而“--”是操作數減1,換句話說:x=x+1;同++x;x=x-1;同--x;
自增和自減運算符可用在操作數之前,也可放在其后,例如:x=x+1;可寫成++x;或x++;但在表達式中這兩種用法是有區別的。自增或自減運算符在操作數之前,C語言在引用操作數之前就先執行加1或減1操作;運算符在操作數之后,C語言就先引用操作數的值,而后再進行加1或減1操作。請看下例:
x=10;
;y=++x;
此時,y=11。假如程序改為:
x=10;y=x++;
則y=10。在這兩種情況下,x都被置為11,但區別在于設置的時刻,這種對自增和自減發生時刻的控制是非常有用的。在大多數C編譯程序中,為自增和自減操作生成的程序代碼比等價的賦值語句生成的代碼
要快得多,所以盡可能采用加1或減1運算符是一種好的選擇。
。下面是算術運算符的優先級:
:最高++、-
--
-(一元減)
*、/、%最低+、-編譯程序對同級運算符按從左到右的順序進行計算。當然,括號可改變計算順序。C語言
處理括號的方法與幾乎所有的計算機語言相同:強迫某個運算或某組運算的優先級升高。
2.6.3關系和邏輯運算符
關系運算符中的“關系”二字指的是一個值與另一個值之間的關系,邏輯運算符中的“邏輯”二字指的是連接關系的方式。因為關系和邏輯運算符常在一起使用,所以將它們放在一起討論。關系和邏輯運算符概念中的要害是True(真)和Flase(假)。C語言中,非0為True,0為Flase。使用關系或邏輯運算符的表達式對Flase和Ture分別返回值0或1(見表2-6)。
C語言運算符(圖二)
表2-6給出于關系和邏輯運算符,下面用1和0給出邏輯真值表。關系和邏輯運算符的優先級比算術運算符低,即像表達式10>1+12的計算可以假定是對表達式10>(1+12)的計算,當然,該表達式的結果為Flase。在一個表達式中答應運算的組合。例如:
10>5&&!(10<9)3<=4
這一表達式的結果為True。
。下表給出了關系和邏輯運算符的相對優先級:
:最高!

>= <=
=== !=
=&&
最低同算術表達式一樣,在關系或邏輯表達式中也使用括號來修改原計算順序。切記,所有關系和邏輯表達式產生的結果不是0就是1,所以下面的程序段不僅正確而且
將在屏幕上打印數值1。
int x;
;x=100;
;2.6.4位操作符
與其它語言不同,C語言支持全部的位操作符(Bitwi
SEOperators)。因為C語言的設計目的是取代匯編語言,所以它必須支持匯編語言所具有的運算能力。位操作是對字節或字中的位(bit)進行測試、置位或移位處理,這里字節或字是針對C標準中的char和int數據類型而言的。位操作不能用于float、double、longdouble、void或其它復雜類型。表2-7給出了位操作的操作符。位操作中的AND、OR和NOT(1的補碼)的真值表與邏輯運算等價,唯一不同的是位操作是逐位進行運算的。
C語言運算符(圖三)
如表2-8所示,當且僅當一個操作數為True時,異或的輸出為True,否則為Flase。
位操作通常用于設備驅動程序,例如調制解調器程序、磁盤文件治理程序和打印機驅動程序。這是因為位操作可屏蔽掉某些位,如奇偶校驗位(奇偶校驗位用于確保字節中的其它位不會發生錯誤通常奇偶校驗位是字節的最高位)。
通常我們可把位操作AND作為關閉位的手段,這就是說兩個操作數中任一為0的位,其結果中對應位置為0。例如,下面的函數通過調用函數read_modem(),從調制解調器端口讀入一個字符,并將奇偶校驗位置成0。
C語言運算符(圖四)
字節的位8是奇偶位,將該字節與一個位1到位7為1、位8為0的字節進行與操作,可將該字節的奇偶校驗位置成0。表達式ch&127正是將ch中每一位同127數字的對應位進行與操作,結果ch的位8被置成了0。在下面的例子中,假定ch接收到字符"A"并且奇偶位已經被置位。
C語言運算符(圖五)
一般來說,位的AND、OR和XOR操作通過對操作數運算,直接對結果變量的每一位分別處理。正是因為這一原因(還有其它一些原因),位操作通常不像關系和邏輯運算符那樣用在條件語句中,我們可以用例子說明這一點:假定X=7,那么x&&8為Ture(1),而x&8卻為Flase(0)。
記住,關系和邏輯操作符結果不是0就是1。而相似的位操作通過相應處理,結果可為任意值。換言之,位操作可以有0或1以外的其它值,而邏輯運算符的計算結果總是0或1。
移位操作符>>和<<將變量的各位按要求向或向左移動。右移語句通常形式是:
variable>>右移位數
左移語句是:
variable<<左移位數
當某位從一端移出時,另一端移入0(某些計算機是送1,具體內容請查閱相應C編譯程序用戶手冊)。切記:移位不同于循環,從一端移出的位并不送回到另一端去,移去的位永遠丟失了,同時在另一端補0。
移位操作可對外部設備(如D/A轉換器)的輸入和狀態信息進行譯碼,移位操作還可用于整數的快速乘除運算。如表2-9所示(假定移位時補0),左移一位等效于乘2,而右移一位等效于除以2。
C語言運算符(圖六)
每左移一位乘2,注重x<<2后,原x的信息已經丟失了,因為一位已經從一端出,每右移一位相當于被2除,注重,乘后再除時,除操作并不帶回乘法時已經丟掉的高位。反碼操作符為~。~的作用是將特定變量的各位狀態取反,即將所有的1位置成0,所有的0位置成1。位操作符經常用在加密程序中,例如,若想生成一個不可讀磁盤文件時,可以在文件上做一些位操作。最簡單的方法是用下述方法,通過1的反碼運算,將每個字節的每一位取反。
原字節 00101100
第一次取反碼 11010011
第二次取反碼 00101100
注重,對同一行進行連續的兩次求反,總是得到原來的數字,所以第一次求反表示了字
節的編碼,第二次求反進行譯碼又得到了原來的值??梢杂孟旅娴暮瘮礶ncode()對字符進行編碼。
C語言運算符(圖七)
2.6.5 ?操作符
C語言提供了一個可以代替某些if-then-else語句的簡便易用的操作符?。該操作符是三元的,其一般形式為:
EXP1?EXE2:EXP3
3
EXP1,EXP2和EXP3是表達式,注重冒號的用法和位置。
操作符“?”作用是這樣的,在計算EXP1之后,假如數值為True,則計算EXP2,并將結果作為整個表達式的數值;假如EXP1的值為Flase,則計算EXP3,并以它的結果作為整個表達式的值,請看下例:
x=10;
;y=x>9?100:200;
例中,賦給y的數值是100,假如x被賦給比9小的值,y的值將為200,若用if-else語句改寫,有下面的等價程序:
x=10;if(x>9)y=100;
;elsey=200;
;
有關C語言中的其它條件語句將在第3章進行討論。
2.6.6 逗號操作符
作為一個操作符,逗號把幾個表達式串在一起。逗號操作符的左側總是作為void(無值),這意味著其右邊表達式的值變為以逗號分開的整個表達式的值。例如:
x=(y=3,y+1);
這行將3賦給y,然后將4賦給x,因為逗號操作符的優先級比賦值操作符優先級低,所以必須使用括號。實際上,逗號表示操作順序。當它在賦值語句右邊使用時,所賦的值是逗號分隔開的表中最后那個表達式的值。例如,
y=10;x=(y=y-5,25/y);
執行后,x的值是5,因為y的起始值是10,減去5之后結果再除以25,得到最終結果。
。在某種意義上可以認為,逗號操作符和標準英語的and是同義詞。
2.6.7關于優先級的小結
表2-10列出了C語言所有操作符的優先級,其中包括將在本書后面討論的某些操作符。注重,所有操作符(除一元操作符和?之外)都是左結合的。一元操作符(*,&和-)及操作符“?”則為右結合。
C語言運算符(圖八)



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产极品精品在线观看| 国产精品久久久久久久久久久久| 亚洲欧美国产制服动漫| 国产欧美日韩精品在线观看| 欧美另类暴力丝袜| 中文字幕亚洲天堂| 亚洲美女av电影| 久久99国产精品自在自在app| 91在线视频成人| 日韩欧美国产高清91| 亚洲国产精品大全| 国产精品女主播视频| 色婷婷综合久久久久中文字幕1| 欧美激情在线狂野欧美精品| 欧美日韩加勒比精品一区| 国产日韩欧美视频在线| 精品中文字幕久久久久久| 日韩精品视频在线| 国产专区精品视频| 亚洲第一精品电影| 日韩av一区在线观看| 国产精品在线看| 中文字幕日韩av电影| 久热在线中文字幕色999舞| 亚洲国产天堂久久综合网| 久久久久国色av免费观看性色| 91九色蝌蚪国产| 国产亚洲精品成人av久久ww| 日韩精品极品视频免费观看| 96pao国产成视频永久免费| 午夜精品三级视频福利| 亚洲成avwww人| 久久精品视频亚洲| 欧美激情成人在线视频| 亚洲天堂av综合网| 成人精品视频99在线观看免费| 日韩欧美在线免费观看| 国产精品www色诱视频| 欧美大秀在线观看| 亚洲女同性videos| 亚洲女同精品视频| 国产精品国产自产拍高清av水多| 亚洲片av在线| 国产精品91久久久久久| 成人黄色免费在线观看| 国产亚洲a∨片在线观看| 国产成人拍精品视频午夜网站| 国产一区二区成人| 亚洲视频日韩精品| 最近2019免费中文字幕视频三| 欧美午夜视频一区二区| 亚洲国产精品中文| 亚洲国产天堂久久综合| 97碰碰碰免费色视频| 国产噜噜噜噜噜久久久久久久久| 午夜精品久久久久久久久久久久久| 亚洲r级在线观看| 国产欧美在线视频| 成人黄色片在线| 精品一区精品二区| 亚洲天堂av在线免费| 国产免费一区二区三区在线能观看| 日韩免费电影在线观看| 高清视频欧美一级| 亚洲男女自偷自拍图片另类| 国产精品美女av| 国产精品久久久久久亚洲影视| 欧美日韩精品在线| 国产日韩一区在线| 久久久国产精品x99av| 欧美激情啊啊啊| 亚洲女人被黑人巨大进入| 国产欧美久久一区二区| 日韩中文字幕视频在线观看| 91牛牛免费视频| 91在线视频一区| 亚洲精品视频中文字幕| 91精品国产高清自在线| 精品爽片免费看久久| 久久频这里精品99香蕉| 日韩色av导航| 最新国产精品亚洲| 亚洲国产精品大全| 国产精品午夜国产小视频| 国产精品美女主播在线观看纯欲| 91精品久久久久久| 欧美福利视频在线| 一区二区日韩精品| 日韩视频欧美视频| 精品日本高清在线播放| 91精品啪aⅴ在线观看国产| 羞羞色国产精品| 日本成人黄色片| 国产精品jizz在线观看麻豆| 亚洲国产精彩中文乱码av| 国内外成人免费激情在线视频| 国产福利视频一区| 这里只有视频精品| 亚洲欧美另类在线观看| 欧美丰满少妇xxxxx做受| 国产精品永久免费视频| 日韩精品高清在线观看| 日韩在线观看免费高清完整版| 国产+成+人+亚洲欧洲| 日韩av电影在线网| 国产亚洲精品美女久久久久| 视频一区视频二区国产精品| 久久中文字幕国产| 青青精品视频播放| 北条麻妃在线一区二区| 九九精品视频在线| 久久综合亚洲社区| 亚洲精品国产拍免费91在线| 色婷婷av一区二区三区久久| 成人做爰www免费看视频网站| 97香蕉久久夜色精品国产| 国产欧美日韩中文字幕在线| 国产原创欧美精品| 亚洲欧美日韩成人| 亚洲人成电影网站色www| 亚洲一区二区久久久| 97**国产露脸精品国产| 中文字幕在线观看亚洲| 91精品国产高清久久久久久| 国产在线高清精品| 国产精品福利在线观看网址| 欧美激情综合色| 国产精品亚洲片夜色在线| 亚洲成人久久久久| 成人国产在线激情| 97色伦亚洲国产| 尤物99国产成人精品视频| 91精品久久久久久| 久久久久久91| 国产国语刺激对白av不卡| 日韩高清有码在线| 亚洲精品suv精品一区二区| 奇米四色中文综合久久| 欧美精品一本久久男人的天堂| 国内精品一区二区三区四区| 成人福利视频在线观看| 性色av一区二区三区免费| 欧美国产日韩精品| 欧美日韩电影在线观看| 91成人天堂久久成人| 日本中文字幕不卡免费| 国产成人亚洲综合| 成人国产在线视频| 亚洲综合在线做性| 亚洲精品小视频| 日韩高清电影免费观看完整版| 国产人妖伪娘一区91| 欧美成人免费全部观看天天性色| 伦理中文字幕亚洲| 国产精品都在这里| 国产精自产拍久久久久久蜜| 精品国产欧美一区二区三区成人| 欧美成人四级hd版| 久久久精品视频成人| 精品国偷自产在线视频| 亚洲国产成人一区| 秋霞成人午夜鲁丝一区二区三区| 亚洲人午夜精品免费| 日本老师69xxx|