1. 程式人生 > >算術運算子和算術表示式(優先順序,結合性等)

算術運算子和算術表示式(優先順序,結合性等)

%  得到餘數  7 % 2 得到1

運算子的優先順序

C語言中,運算子的運算優先順序共分為15級。1級最高, 15級最低。在表示式中, 優先順序較高

的先於優先順序較低的進行暈死。而在一個運算量兩側的運算子優先順序相同時, 則按運算子的

結合性所規定的結合方向處理。

運算子的結合性

c語言中各運算子的結合性分為兩種, 即左結合性(自左至右)和右結合性(自右至左)。

例如:

左結合性:

算術運算子的結合性是自左至右,即先左後右。如有表示式x-y+z則y應先與“-”結合,執行

x-y,在+z的yuns。這種是左結合性。

右結合性:

例如:

最典型的右結合性運算子是賦值運算子。如x=y=z, 由於=的右結合性, 應先執行y=z, 

在執行x
=, 可以理解為x=(y=z)的運算。

c語言運算子中有不少為右結合性, 應注意區別,避免理解錯誤。

自增、自減運算子

自增1:自增1運算子記為++, 其功能是使變數的值自增1

自減1:自減1運算子記為--, 其功能是使變數值自減1.

自增1, 自減1運算子均為單目運算, 都具有右結合性。可有一下幾種形式:

++i       i自增1後在參加其他運算。
--i          i自減後在參與其他運算
i++         i參與運算後, i的值在自增1
i--            i參與運算後, i的值在自減1
void main()
{
    
int i, j; i = 5; j = i++; printf("%d, %d", i, j); #注意, 如果是-i++ 呢?結果是-6 }

// i 的值為6, j 為5

增加難度

思路:

 i = 5, 然後i++ , 在i-- 這時候i是5, 然後-i 也就是-5 -- 也就是-6了 

 逗號運算子和逗號表示式

在c語言中逗號“,”也是一種運算子, 稱為逗號運算子。其功能是把兩個表示式連線起來組成

一個表示式, 成為逗號表示式。

其一般形式為:

表示式1, 表示式2

其求值過程是分別求兩個表示式的值, 並以表示式2的值作為整個逗號表示式的值。

注意了,而實際得到的是表示式1的值

那麼怎麼才能得到第二個值呢?在外面加個括號

相關推薦

算術運算子算術表示式優先順序結合

%  得到餘數  7 % 2 得到1 運算子的優先順序 C語言中,運算子的運算優先順序共分為15級。1級最高, 15級最低。在表示式中, 優先順序較高 的先於優先順序較低的進行暈死。而在一個運算量兩側的運算子優先順序相同時, 則按運算子的 結合性所規定的結合方向處理。 運算子的結合性 c語言中

算術運算子算術表示式初學者

1、C語言的運算子可以分為以下幾類: 1.算術運算子:加(+)、減(-)、乘(*)、除(/)、求餘(%)、自增(++),自減(--) 2.關係運算符:大於(>)、小於(<)、等於(==)、大於等於(>=)、小於等於(<=)、不等於(!=)

算術運算子算術表示式的簡要概括

c語言運算子簡單的彙總 分類有以下幾種 1.算術運算子,包括加(+)、減(-)、乘()、除(/)、求餘(%)也稱求模運算,自增(++)和自減(–)七種. 2.關係運算符,用於比較運算。包括大於(>)、小於(<)、等於(==)、大於等於(>=)、小於等於(<=)和不等於

if語句的巢狀以及條件運算子條件表示式初學者

1、當if語句中的執行語句又是if語句時,則構成了if語句的巢狀情形。 其一般形式可表示為: if() {   if()……; } 或: if()   if()語句1;   else 語句2; else   if()語句3;   else 語句4; 注:if語句的巢狀不要太多,最好不

計算中綴表示式實數四則運算與括號雙棧

        之前寫過這方面的演算法,用的思想是先將中綴表示式轉化為字尾表示式,再計算。本文采用直接計算中綴表示式的方法,用兩個棧分別儲存,運算子和數值。另外在處理括號問題時,拋開之前增大優先順序的繁瑣方法,直接把括號當做一條新的式子,計算後返回一個值到原式,這也算是遞迴

【整理】Virtualbox中的網路型別NAT橋接網絡卡IP地址方面的設定

虛擬機器,不論是Virtualbox還是VMware等,關於網路設定方面,一般都支援NAT,橋接網絡卡等配置。 下面就有Virtualbox中的網路連線方式,來解釋解釋其具體含義。 此處,主要內容,還是來自翻譯自VirtualBox官網關於網路的解釋: 目的不在於翻譯的多

java 獲取圖片資訊經緯度畫素

<!-- https://mvnrepository.com/artifact/com.drewnoakes/metadata-extractor --> <dependency> <groupId>com.d

jmeter設定引數的方法隨機讀csv

本文為整理jmeter設定引數的方法 設定引數值的方法有如下幾種: 1. 用Jmeter中的函式獲取引數值,__Random,__threadNum,__CSVRead,__StringFrom

初探Java設計模式3:行為型模式策略觀察者

轉自https://javadoop.com/post/design-pattern行為型模式行為型模式行為型模式關注的是各個類之間的相互作用,將職責劃分清楚,使得我們的程式碼更加地清晰。策略模式策略模式太常用了,所以把它放到最前面進行介紹。它比較簡單,我就不廢話,直接用程式

idephpstromandroid studio工具同步git設定

一、file選單下settings二、Version Control -->Git 裡面git的目錄地址更新,點選test正常顯示內容三、Tools-->Terminal選項卡中Shell path中填寫64位:"C:\Program Files\Git\bin\

“全棧2019”Java第十七章:賦值運算子算術運算子

難度 初級 學習時間 10分鐘 適合人群 零基礎 開發語言 Java 開發環境 JDK v11 IntelliJ IDEA v2018.3 文章原文連結 “全棧2019”Java第十七章:賦值運算子和算術運算子 下一章 “全棧2019”Java第十八章:一元運算子 學

c++成員運算子過載友元運算子過載的比較以++--運算子為例

1、對雙目運算子而言,成員運算子過載函式引數列表中含有一個引數,而友元運算子過載函式引數列表含有兩個引數;對單目運算子而言,成員運算子過載函式引數列表中沒有引數,而友元運算子過載函式引數列表含有一個引數。 2、雙目運算子一班可以被過載為友元運算子和成員函式運算

java算術運算子:取餘取模%

本質:a % b = a - a /b * b;        int num1 = 10 % 3;//10-(10/3)*3==>10-3*3==>1int num2 = -10 % 3;//-10-((-10)/3)*3==>-10-(-3)*3==&g

C++過載複合賦值運算子算術運算子關係運算符

複合賦值運算子   形如‘*=’、‘+=’、‘/=’等這樣的運算子稱為複合賦值運算子,它們其實是算術運算和賦值運算的結合,即先執行算術運算,得到的值再賦值給左側物件。 過載複合賦值運算子:

FFmpeg源代碼簡單分析:常見結構體的初始化銷毀AVFormatContextAVFrame

new init _array border 代碼 alloc ecc .com VC 結構體 初始化 銷毀 AVFormatContext avformat_alloc_context() avfo

概率軟邏輯PSLProbabilistic soft logic示例演練模塊解釋

keyword sant 一個 bre att database specific ecif 改變 這裏將引導您完成Simple Acquaintances示例的Groovy版本。 一、建立示例項目 ??首先,確保您的系統滿足先決條件。然後克隆psl-examples存儲庫

逗號運算子逗號表示式

轉載部落格:https://www.cnblogs.com/eniac12/p/4752143.html     C語言提供一種特殊的運算子——逗號運算子。用它將兩個(或多個)表示式連線起來。   如:3+5,6+8   上式稱為逗號表示式。逗號表示式的一般形式為   

pycharm不顯示一部分下劃線刪除線pep8typo引起

如圖:  第一句的波浪線是因為因為了這個模組,而沒有使用的,也就是冗餘引起的,這個最好保留,因為可以提示你哪個模組沒有用到。第二句的下劃線是pep8標準不支援這樣的程式碼格式。如果不讓這個下劃線顯示出來可以依次選擇file--settings--搜尋框輸入pep:

《C++ Primer Plus》學習筆記——第五章 迴圈關係表示式

本章內容: for迴圈和while迴圈 表示式和語句 運算子組合 複合語句 逗號運算子以及關係運算符 typedef工具 字元輸入方法get() 檔案尾條件 巢狀迴圈和二維陣列 計算機除了儲存資料外,還可以做很多其他工作。可以對資料進

手遊客戶端的效能篇----UnityC#版具體優化--UGUI資源規範

接上篇: 4、Enum:列舉當Key使用或列舉轉換為String,都會有GC 5、閉包:函式和與其相關的引用環境組合成的實體。閉包IL程式碼會出個新類,頻繁呼叫一個函式時,儘量不用。 6、其他       1>update中沒必要每幀的。 &n