C語言中的運算符和表達式

2020-12-11 競賽漫談

一、賦值運算符和賦值表達式

1、賦值運算符

C語言的賦值運算符為等號,表示形式「=」。

此外,還有複合賦值運算符,後續陸續介紹。

2、賦值表達式

「=」的左側是變量,右側是常量、變量、表達式、函數等,「=」的含義是將右邊的值賦給左側的變量,程序運行時先計算右側值,然後賦給左側變量。

二、算術運算符和算術表達式

對計算機中數據進行算術運算的運算符,稱為算術運算符,包括數學中學到的加減乘除和一些擴展。

1、加法和減法運算符

加法運算符為「+」,使運算符兩側的值相加,兩側的值可以是變量、常量和表達式等。

減法運算符為「-」,使運算符左側的值減去右側的值。

2、乘法和除法運算符

乘法運算符為「*」,使運算符兩側的值相乘。

除法運算符為「/」,使運算符兩側的值相除,」/」左側的值是被除數,右側的值是除數。

3、求模運算符

求模運算符為「%」,求出左側整數除以右側整數的餘數。

上面運算符為二元運算符,所謂二元運算符為運算符兩邊有兩個操作數。

4、符號運算符

「+」(正號)不改變操作數的值及符號, 「-「(負號)可用於得到一個數的相反數。

5、自增和自減運算符

自增運算符為「++」,自減運算符為「--」。

自增運算符使運算對象遞增1,有兩種形式:運算符在變量的左側,稱前綴模式,運算符在變量的右側,稱後綴模式。

前綴形式指變量的值加1作為表達式的值,同時變量的值加1;後綴形式指將變量的值作為表達式的值,然後變量值加1。

符號運算符、自增和自減運算符為一元運算符。

6、複合賦值運算符

複合賦值運算符有:+=、-=、*=、/=、%=,分別等同於以下:

x+=y+1等同x=x+(y+1)依次類推,注意:右側表達式為一個整體。

7、括號()

與數學上的括號一樣,能改變運算的順序。

8、算術表達式

使用算術運算符將運算對象連接起來、符合C語言語法規則的式子。

三、關係運算符和關係表達式

程序設計中需要經常對運算對象之間的大小進行比較,如:大小、相等等關係,這樣的運算符稱為關係運算符,用關係運算符將數值或表達式連接起來的式子就是關係表達式,滿足關係表達式運算符關係的結果稱為「真」,否則為假。

常用的關係運算符有:

四、邏輯運算符和邏輯表達式

有時多個關係表達式組合起來更有用,這時需要邏輯運算符將關係表達式連接起來,用邏輯運算符連接運算對象組成的表達式就是邏輯表達式。

表一:邏輯運算符

邏輯表達式運算結果:

a&&b 只有a和b都是真時,表達式結果為真,有一個為假,表達式結果為假。

a||b a或b有一個為真,表達式結果為真,a和b都為假,表達式結果為假。

!a a為真時,表達式結果為假,a為假時,表達式結果為真。

五、條件運算符和條件表達式

條件運算符是C語言中唯一的一個三目運算符,它需要三個操作數,條件表達式為:

表達式1?表達式2:表達式3。

? : 稱為條件運算符

執行情況:

先計算表達式1的值,若為真,則整個表達式的值為表達式2的值,否則,為表達式3的值。

當有多個條件表達式組成的符合條件表達式時,運算順序從右向左。

如:a>b?a:c>d?c:d相當於a>b?a:(c>d?c:d)

六、逗號運算符和逗號表達式

逗號運算符是特殊的運算符,將兩個表達式連接起來,一般形式:

表達式1,表達式2

執行情況:先求解表達式1,再求解表達式2,最後的結果是表達式2的值。

相關焦點

  • 單片機c語言教程:C51運算符和表達式
    typedef 的語法是typedef 已有的數據類型 新的數據類型名 運算符就是完成某種特定運算的符號。運算符按其表達式中與運算符的關係可分為單目運算符,雙目運算符和三目運算符。單目就是指需要有一個運算對象,雙目就要求有兩個運 算對象,三目則要三個運算對象。
  • c語言基礎語法五:運算符與表達式
    >一:運算符根據操作數的數量可以分為:根據用途可以分為:1.賦值運算符使用形式:含義:把右邊的值存儲到左邊變量名所標識的內存空間中。4.逗號運算符比如:int a, b, c;定義了三個變量。[,]運算符,它沒有具體的運算規則,一般起一個分隔的作用。
  • 單片機c語言教程:運算符和表達式(關係運算符)
    單片機C語言中有六種關係運算符,這些東西同樣是在我們小時候學算術時就已經學習過了的:本文引用地址:http://www.eepw.com.cn/article/170887.htm> 大於< 小於>= 大於等於<= 小於等於== 等於!
  • C語言中的運算符
    一、前言在嵌入式開發中,我們一般選用C語言作為開發語言。一個主要的原因在於C語言提供了大量的運算符,比如我們對硬體的操作一般涉及到對位的操作,而C語言就提供了這樣的運算符,這是其他語言不具備的。即 a=10,a=a-1,b=a上例中a++/++a/a--/--a代表表達式,我們可以理解為:b=a++/b=++a/b=a--/b=--a算術運算符:+、-、*、/、%。需要注意的是,在做相乘運算時,*不能省略。/表示除號,%表示取餘。例:10/3=3 10%3=1 這裡%是取10除以3後的餘數,所以結果為1。
  • c程序的運算符和表達式(一)
    一、計算a/b和a%b的值「/」是運算符中的除,在使用該運算符時除了分母不能為0外,還要特別注意在c語言中如果兩個操作數a、b的值都是整型,結果也是整型;「%」是取餘運算,要求兩個操作數必須是整型。例如9%2的值為1,而9.5%2是非法的。
  • 單片機c語言教程第七章--運算符和表達式(關係運算符)
    單片機c語言教程第七章--運算符和表達式(關係運算符) 佚名 發表於 2009-04-15 09:37:37 關係運算符,同樣我們也並不陌生。
  • C語言入門教程運算符
    乘號、除號因為ASCII符號中沒有與數學中相對應的符號,所以使用星號表示乘號,使用斜線表示除號。C語言中增加了一個求模運算符,是用來取餘的。需要注意的是,求模運算符的兩個操作數必須是整型。C語言中的除法運算,不同類型的除數和被除數會導致不同類型的運算結果。一種情況是,當除數和被除數都是整數時,運算結果也是整數。當不能整除時,就直接捨棄小數部分,只保留整數部分。另一種情況是,一旦除數和被除數中有一個是小數,那麼運算結果也是小數,並且是double類型的小數。C語言中的取餘運算,就是求相除後的餘數。取餘運算中%的兩邊都必須是整數,不能出現小數,否則會報錯。
  • C語言——選擇結構設計(switch語句和關係運算符及關係表達式)
    廢話不多說了,我們先來看例題;#include<stdio.h>int main(){char grade;scanf("%c",&grade);注意;其中括號內的『表達式』,其值的類型應為整型類型(包括字符型);可以沒有default標號;每一個case常量必須不同,以免發生衝突。case標號僅僅起標記作用。關係運算符和關係表達式在循環語句中,少不了判斷,大家都知道判斷的符號有大於,小於等等。
  • C語言中的三目運算符是啥?有何用處?
    一般來說,C語言中的三目運算符為a?b:c即有三個參與運算的量。由條件運算符組成條件表達式的一般形式為:表達式1?表達式2: 表達式3求值規則為:如果表達式1的值為真,則以表達式2 的值作為條件表達式的值,否則以表達式2的值作為整個條件表達式的值。 條件表達式通常用於賦值語句之中。
  • 有意思的C語言運算符
    在C語言中,運算符用於執行程序代碼運算,會針對兩個或者兩個以上操作數進行運算。
  • C的基礎:帶你們接觸運算符和表達式(一)
    之前講的都是認識這個程序,今天我們就開始接觸基礎的運算符和表達式了。C的運算符大致分為這麼幾類:1. 算術運算符:用於各類數值運算。包括加(+)、減(-)、乘(*)、除(/)、求餘(或稱模運算,%)、 自增(++)、自減(--)共七種。
  • C語言為什麼要有「->」運算符,為何不使用點運算符代替它呢?
    基本上,每一個C語言程式設計師都明白點運算符「.」和箭頭運算符「->」可以用於訪問結構體的成員,只不過箭頭運算符「->」需要與結構體指針結合使用。事實上按照現在流行的C語言語法,通過結構體指針直接訪問成員,也只能通過箭頭運算符。
  • C語言有大約40個運算符,最常用的有這些
    左值(lvalue)是C語言的術語,用於標識特定數據對象的名稱或表達式。因此,對象指的是實際的數據存儲,而左值是用於標識或定位存儲位置的標籤。對於早期的C語言,提到左值意味著:1.它指定一個對象,可以引用內存中的地址;2.它可用在賦值運算符的左側,左值(lvalue)中的l源自left。但是後來,標準中新增了const限定符。
  • C/C++中的三目運算符
    三目運算符作用:通過三目運算符實現簡單的判斷語法:表達式1 ?表達式2 :表達式3解釋:如果表達式1的值為真,執行表達式2,並返回表達式2的結果;如果表達式1的值為假,執行表達式3,並返回表達式3的結果。
  • 詳解Java表達式與運算符
    求圓面積的表達式為:S =π* r *r;表達式是由變量、常量和運算符的組合,它執行計算並返回計算結果。在表達式中運算符作用的變量或常量稱為操作數。在求圓面積的表達式中,乘號(*)為運算符,π和r為操作數。
  • 《第3章 Python 運算符與表達式》3.1.3 比較(關係)運算符!
    《高中信息技術 Python編程》 教學案 《第3章 Python 運算符與表達式》3.1.3 比較(關係)運算符!3.1.3、比較(關係)運算符用於對變量或表達式的結果進行大小,真假的比較,返回結果True 、False,通常用在條件語句中作為判斷的依據。
  • 《第3章 Python 運算符與表達式》3.1.1 算術運算符!
    《高中信息技術 Python編程》 教學案 《第3章 Python 運算符與表達式》3.1.1 算術運算符!3.1.1、算術運算符: 常規: + - * / 編程實例:原始碼:python = 95 # 定義變量,存儲Python的分數english = 92 # 定義變量,存儲English的分數c = 89
  • 單片機c語言教程:C51運算符和表達式(指針和地址運算符)
    指針是單片機C語言中一個十分重要的概念,也是學習單片機C語言中的一個難點。對於指針將會在第九課中做詳細的講解。在這裡我們先來了解一下單片機C語言中供給的兩個專門用於指針和地址的運算符:本文引用地址:http://www.eepw.com.cn/article/170885.htm* 取內容 取地址取內容和地址的一般形式分別為:變量 = * 指針變量 指針變量 = 目標變量
  • Python中的條件表達式,也稱之為三元運算符,使用方法和技巧
    Python中的條件表達式在其他程式語言中也稱之為三元運算符,在C#和JAVA中都有三元運算符,Python中的條件表達式是基於真(true)假(false)的條件進行判斷的,或者說三元運算符在操作的過程中使用了三個元素如:【條件為真的結果】
  • LabVIEW編程技巧:如何實現C語言中條件運算符「?:」的功能
    目的在C語言中,條件運算符「?: 」是唯一的一個三目運算符,它對第一個表達式作真/假檢測,然後根據其結果返回另外兩個表達式中的一個,其通用表達式形式如下圖所示:上式中y的值取決於表達式1的值,當其值為真時,y的值為表達式2的值,否則,y的值為表達式3的值。