91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用C語言運算符

發布時間:2021-10-12 09:26:58 來源:億速云 閱讀:218 作者:iii 欄目:編程語言

這篇文章主要介紹“如何使用C語言運算符”,在日常操作中,相信很多人在如何使用C語言運算符問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何使用C語言運算符”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

如何使用C語言運算符

 運算符和表達式

運算符:運算符用于執行程序代碼運算,會針對一個以上操作數來進行運算。例如:2+3,其操作數是2和3,而運算符則是“+”

操作數:是運算符作用于的實體,操作數指出指令執行的操作所需要數據的來源。

表達式:是由數字、運算符、數字分組符號(括號)、自由變量等以能求得數值的有意義排列方法所得的組合。

表達式書寫規則

1,運算符不能相鄰。例a+-b是錯誤的

2,乘號不能省略。列x乘以y,應寫成x*y,而不是xy

3,可用多層括號表示運算次序,括號必須成對出現,均使用小括號。

運算符優先級和結合性

所謂優先級就是當一個表達式中有多個運算符時,先計算誰,后計算誰。這個其實我們在小學學算術的時候就學過,如1+4÷2

那么“結合性”是什么呢?優先級都是關于優先級不同的運算符參與運算時先計算誰后計算誰。但是如果運算符的優先級相同,那么先計算誰后計算誰呢?這個就是由“結合性”決定的。

比如1+2×3÷4,乘和除的優先級相同,但是計算的時候是從左往右,即先計算乘再計算除,所以乘和除的結合性就是從左往右。就是這么簡單!

運算符分類

按所需操作數分類:

  • 單目運算符

  • 雙目運算符

  • 三目運算符

按作用分類:

算術運算符

如何使用C語言運算符

單目正負不會改變操作數的值。 int num = 10;

-num;//表達式的值為-10 num還是為10

整數相除會向下取整。 5/2 == 2

5/2.0 == 2.5

取模運算只針對整數。 5%2 == 1

5.2%2//語法錯誤

賦值運算符

如何使用C語言運算符

將一個數據(常量或表達式)賦值給一個變量。 int age =18;

age +=2;//age = age +2;

age +=5-3;//age = age+(5-3);

關系運算符

如何使用C語言運算符

  • 關系表達式的值只有2種,為真(true)返回1,為假(false)返回0。

  • 所謂關系運算,就是做比較,日常生活中經常遇到一些真假判斷,比如說,“張三比李四高”、“濟南到北京比濟南到上海近”,“5大于2”這些問題的答案是真或假。程序設計是對實際問題解決過程的模擬,常常需要做判斷,像“如果這樣,我就執行動作A,如果那樣,我就執行動作B”,那怎么判斷這樣那樣呢,就需要關系運算符和關系表達式。

邏輯運算符

如何使用C語言運算符

  • 邏輯表達式的值只有2種,為真(true)返回1,為假(false)返回0。

  • 一般用來連接關系表達式。

短路現象

在由&&和||運算符組成的邏輯表達式中,C語言有個“節省計算”原則,當計算出一個子表達式的值后便可確定整個邏輯表達式的值時,后面的子表達式就不需要再計算了,這種表達式也稱為短路表達式。

舉個例子:

false  && printf("1\n"); true   && printf("2\n");  false  || printf("3\n"); true   || printf("4\n"); //output :2 // 3

對于&&符號,如果左邊表達式為false,則右邊表達式不會執行,即不會執行printf(“1”),如果左邊表達式為true,則右邊表達式會執行,即會執行printf(“2”),輸出2

對于||符號,如果左邊為true,則右邊表達式不會執行,即不會執行printf("4"),如果左邊表達式為false,則右邊表達式會執行,即執行printf("3"),輸出3。

特殊運算符

特殊算術運算符

如何使用C語言運算符

  • 對變量進行+1和-1的操作。

  • 只能對變量使用,不能用于常量和表達式

  • 前置時是先運算、后使用

  • 后置時是先使用、后運算

  • 注意:不要嵌套使用

int a = 1; printf("%d", (a++ + ++a));  //1 + 3

 逗號運算符

用逗號將多個表達式連接起來,又稱為“順序求值運算符”。整個表達式的值是最后那個逗號之后表達式的值。

逗號表達式兩種作用:

  • 分割: int a,b,c,d;

  • 求值: int a = (1,3,5,7,9);

int b = 1,3,5,7,9;

條件表達式

條件表達式可以對指定的條件進行判斷,true和false分別執行不同的代碼。

條件 ?表達式1 :表達式2

printf(5 > 0 ?  "正數" : "負數"); printf((5 > 0) ? ("正數") : ("負數"));//為了避免眼花繚亂,可以把每個表達式都加上圓括號

 位運算符

如何使用C語言運算符

  • 位運算只針對整型和字符型,而且是直接對二進制進行操作

按位與&

這個符號其實和邏輯與運算 && 意思一樣,只不過作用在每一位上。

有0則0:對于每一位來說,兩個數都是真,則為真,否則為假。

3-> 0b 0000 0011 2-> 0b 0000 0010 3&2 ->0b 0000 0010

 按位或|

同理,和邏輯或運算 || 意思一樣,只不過作用在每一位上。

有1則1:對于每一位來說,但凡有個真的就是真,否則為假。

3-> 0b 0000 0011 2-> 0b 0000 0010 3|2 ->0b 0000 0011

 按位異或^

相同為0,不同為1:對于每一位來說,只要相同就為0,不同就為1。

3-> 0b 0000 0011 2-> 0b 0000 0010 3^2 ->0b 0000 0001

 按位取反

取反是一個單目運算符,對每一位進行取反,即0變1,1變0

6-> 0b 0000 0110 ~6-> 0b 1111 1001    //補碼:最高位變成了符號位,所以結果肯定是一個負數      0b 1000 0110 //反碼      0b 1000 0111 //原碼   result: -7

 左移

左移操作就是把這些0啊1啊的整體往左移動 n 位,右邊缺的就補充 0。

3-> 0b 0000 0011 3<<1 -> 0b 0000 0110 ==6 2-> 0b 0000 0010 2<<2 0b 0000 1000 == 8

誒,大家發現沒有,左移 1 位之后這個數相當于乘2。

但是這只適用于左邊溢出的高位中不包含 1 時。

如果把 1 扔了,那就肯定不是 2 倍了嘛。

右移

右移操作就是整體往右移動 n 位,左邊缺的補充符號位。

3-> 0b 0000 0011 3>>1 -> 0b 0000 0001 ==1 2-> 0b 0000 0010 2<<2 0b 0000 0001 == 1

同理,正數右移操作的效果是這個數除以 2。

到此,關于“如何使用C語言運算符”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

无棣县| 南靖县| 商南县| 通化市| 伊川县| 咸丰县| 交口县| 中阳县| 商南县| 罗源县| 通州区| 富顺县| 克什克腾旗| 洪江市| 天柱县| 崇礼县| 林西县| 古丈县| 杂多县| 锦州市| 凌源市| 扎赉特旗| 辉南县| 绥化市| 闽侯县| 菏泽市| 涟水县| 镇江市| 兰西县| 遵化市| 新和县| 北碚区| 潜山县| 南召县| 常山县| 平谷区| 昌乐县| 丽水市| 万盛区| 临汾市| 松原市|