運算符和表達式(1)

2020-11-26 電子產品世界

上課到這一課相隔了好長一段時間,這些日子裡收到不少網友的來信支持和鼓勵,要求儘快完成餘下的部分。出門在外的人不得不先為吃飯而努力,似乎這也成為我的藉口,以後每晚抽空打一些吧這樣大家也就可以不用隔太久就能看到一些新東西。或許我的筆記並不是很正確,但我儘量的保證每課的實驗都會親自做一次,包括硬體的部分,已求不會誤人子弟。
隨著訪問量不斷的增加,網站已啟用了www.cdle.net的國際域名,在這裡我感謝各位一直支持磁動力工作室的朋友,更要感激身在遠方一直默默支持我的女友。
明浩 2003-7-14 晚
呵,費話少說了。上兩課說了常量和變量,先來補充一個用以重新定義數據類型的的語句吧。這個語句就是typedef,這是個很好用的語句,但我自己卻不常用它,通常我定義變量的數據類型時都是使用標準的關鍵字,這樣別人可以很方便的研讀你的程序。如果你是個DELPHI編程愛好者或是程式設計師,你對變量的定義也許習慣了DELPHI的關鍵字,如int類型常會用關鍵字Integer來定義,在用C51時你還想用回這個的話,你可以這樣寫:
typedef int integer;
integer a,b;

這兩句在編譯時,其實是先把integer定義為int,在以後的語句中遇到integer就用int置換,integer就等於int,所以a,b也就被定義為int。typedef不能直接用來定義變量,它只是對已有的數據類型作一個名字上的置換,並不是產生一個新的數據類型。下面兩句就是一個錯誤的例子:
typedef int integer;
integer = 100;

使用typedef可以有方便程序的移植和簡化較長的數據類型定義。用typedef還可以定義結構類型,這一點在後面詳細解說結構類型時再一併說明。typedef的語法是
typedef 已有的數據類型 新的數據類型名

運算符就是完成某種特定運算的符號。運算符按其表達式中與運算符的關係可分為單目運算符,雙目運算符和三目運算符。單目就是指需要有一個運算對象,雙目就要求有兩個運算對象,三目則要三個運算對象。表達式則是由運算及運算對象所組成的具有特定含義的式子。C是一種表達式語言,表達式後面加";"號就構成了一個表達式語句。

賦值運算符
對於"="這個符號大家不會陌生的,在C中它的功能是給變量賦值,稱之為賦值運算符。它的作用不用多說大家也明白,就是但數據賦給變量。如,x=10;由此可見利用賦值運算符將一個變量與一個表達式連接起來的式子為賦值表達式,在表達式後面加";"便構成了賦值語句。使用"="的賦值語句格式如下:
變量 =表達式;
示例如下
a =0xFF; //將常數十六進位數FF賦於變量a
b =c = 33; //同時賦值給變量b,c
d =e; //將變量e的值賦於變量d
f =a+b; //將變量a+b的值賦於變量f

由上面的例子可以知道賦值語句的意義就是先計算出"="右邊的表達式的值,然後將得到的值賦給左邊的變量。而且右邊的表達式可以是一個賦值表達式。
在一些朋友的來信中會出現"=="與"="這兩個符號混淆的錯誤原碼,問為何編譯報錯,往往就是錯在if (a=x)之類的語句中,錯將"="用為"=="。"=="符號是用來進行相等關係運算。

算術,增減量運算符
對於a+b,a/b這樣的表達式大家都很熟悉,用在C語言中,+,/,就是算術運算符。C51中的算術運算符有如下幾個,其中只有取正值和取負值運算符是單目運算符,其它則都是雙目運算符:
+ 加或取正值運算符
- 減或取負值運算符
* 乘運算符
/ 除運算符
% 取餘運算符
算術表達式的形式:
表達式1 算術運算符 表達式2

如:a+b*(10-a), (x+9)/(y-a)

除法運算符和一般的算術運算規則有所不同,如是兩浮點數相除,其結果為浮點數,如10.0/20.0所得值為0.5,而兩個整數相除時,所得值就是整數,如7/3,值為2。像別的語言一樣C的運算符與有優先級和結合性,同樣可用用括號"()"來改變優先級。這些和我們小時候學的數學幾乎是一樣的,我也不必過多的說明了。
:( 還有這麼多運算符呀!暫時停一停吧,我們先來做一個實驗吧。學習運算符和另外一些知識時,我們還是給我們的實驗板加個串行接口吧。藉助電腦轉件直觀的看單片機的輸出結果,以後我還會用一些簡單的實例講解單片機和PC串口通訊的簡單應用和編程。如果你用的是成品實驗板或仿真器,那你就可以跳過這一段了。
在製作電路前我們先來看看要用的MAX232,這裡我們不去具體討論它,只要知道它是TTL和RS232電平相互轉換的晶片和基本的引腳接線功能就行了。通常我會用兩個小功率電晶體加少量的電路去替換MAX232,可以省一點,效果也不錯(如有興趣可以查看http://www.cdle.net網站中的相關資料)。下圖就是MAX232的基本接線圖。

相關焦點

  • C語言中的運算符和表達式
    一、賦值運算符和賦值表達式1、賦值運算符C語言的賦值運算符為等號,表示形式「=」。此外,還有複合賦值運算符,後續陸續介紹。1、加法和減法運算符加法運算符為「+」,使運算符兩側的值相加,兩側的值可以是變量、常量和表達式等。減法運算符為「-」,使運算符左側的值減去右側的值。
  • 詳解Java表達式與運算符
    在一些複雜的運算中,簡單的表達式可以組合為複雜的表達式,其操作數本身可能就是一個表達式。例如:(num1+num2)*(x+y)上面的表達式中,運算符乘號(*)兩邊的操作數(num1+num2)和(x+y)本身就是一個表達式。
  • 單片機c語言教程:C51運算符和表達式
    typedef 的語法是typedef 已有的數據類型 新的數據類型名 運算符就是完成某種特定運算的符號。運算符按其表達式中與運算符的關係可分為單目運算符,雙目運算符和三目運算符。單目就是指需要有一個運算對象,雙目就要求有兩個運 算對象,三目則要三個運算對象。
  • 《第3章 Python 運算符與表達式》3.1.1 算術運算符!
    《高中信息技術 Python編程》 教學案 《第3章 Python 運算符與表達式》3.1.1 算術運算符!3.1.1、算術運算符: 常規: + - * / 編程實例:原始碼:python = 95 # 定義變量,存儲Python的分數english = 92 # 定義變量,存儲English的分數c = 89
  • 《第3章 Python 運算符與表達式》3.1.3 比較(關係)運算符!
    《高中信息技術 Python編程》 教學案 《第3章 Python 運算符與表達式》3.1.3 比較(關係)運算符!瀏覽器版本過低,暫不支持視頻播放3.1.3、比較(關係)運算符用於對變量或表達式的結果進行大小,真假的比較,返回結果True 、False,通常用在條件語句中作為判斷的依據。
  • 單片機c語言教程:運算符和表達式(關係運算符)
    關係運算符,同樣我們也並不陌生。小學時的數學課就教授過運算符是有優先級別的,計算機的語言也不過是人類語言的一種擴展,這裡的運算符同樣有著優先級別。前四個具有相同的優先級,後兩個也具有相同的優先級,但是前四個的優先級要高於後2個的。當兩個表達式用關係運算符連接起來時,這個時候就是關係表達式。
  • JavaScript運算符與流程控制
    1 - 運算符(操作符)1.1 運算符的分類**運算符**(operator)也被稱為操作符,是於實現賦值、較和執算數運算等功能的符號。JavaScript中常的運算符有:- 算數運算符 - 遞增和遞減運算符 - 較運算符 - 邏輯運算符 - 賦值運算符1.2 算數運算符- 算術運算符概述概念:算術運算使的符號,於執兩個變量或值的算術運算。- 浮點數的精度問題浮點數值的Y精度是 17 位數,但在進算術計算時其精確度遠遠不如整數。
  • 數據類型、運算符和表達式
    數據是C語言基本字符組合成的信息表達,它既是程序加工和處理的對象,也是程序加工和處理的結果。同樣的字符組合可能會表示不同的涵義,因此需要對C語言程序裡面的每一組數據進行定義,好方便最終機器對該數據的識別和處理。
  • 跟我學java編程—Java邏輯運算符
    第四條語句邏輯與運算符「&&」連接了2個條件表達式,分別是c > a和c < b,如果這兩個表達式計算結果都為真,則bJudge為真,否則bJudge為false。此時bJudge的值為true。該運算符還有一個特點,當左側的條件表達式或布爾變量為假時,則直接返回結果false,不再執行運算符右側的表達式或布爾變量。
  • JavaScript中逗號運算符,鮮為人知的秘密
    全文共2144字,預計學習時長7分鐘逗點算符可與一組表達式運算符相配合,產生顯著作用,但是其使用方式的演變卻使人混淆不清。之所以出現這種情況,一部分原因在於逗號在JavaScript裡面有很多其他的含義。所以為了使人瞭然於心,參與逗號以下兩種表達式時,逗號就是單純的逗點算符:左手側表達和右手側表達式。
  • MySQL涉及二進位的運算符:位運算符
    截止目前我們已經學習了MySQL的三種運算符:算術運算符、比較運算符、邏輯運算符。三者有一個共同點都是針對字符型、表達式和十進位的數字。那有沒有一種專門為二進位數字提供的運算符呢?這就是本問題的主題:位運算符。
  • 什麼是js運算符?
    1.運算符(1)不能進行兩個字符串之間的大小比較;(2)當一個數字和一個數字形式的字符串進行比較的時候,字符會自動轉換成數字;(3)條件表達式: 表達式1 ?表達式2 : 表達式3;var num1 = 5;var num2 = "15";num1 < num2 ?
  • Javascript之if條件語句和三目運算符
    D、多個if語句連用我們使用昨天學過的prompt( )和 alert( )來做一個簡單的小程序。要求:用戶手動輸入年齡,當年齡大於18小於60的時候,向用戶彈出框顯示"滿足條件,可以註冊",當年齡小於18時,顯示「年齡不符合,不允許註冊」,當年齡大於60時,提示「由於您的年齡超出了系統允許註冊的最大年齡限制,給您帶來的不便,敬請諒解!」。
  • Python語言教程算術運算與算術表達式的介紹
    下面我們就詳細的向大家介紹算術運算符與算術表達式的。希望對大家有所幫助。無論使用什麼語言,我們編寫的大多數代碼(邏輯行)都包含表達式。一個表達式可以分解為運算符和操作數,運算符的功能是完成某件事,它們由一些數學運算符號或者其他特定的關鍵字表示;運算符需要數據來進行運算,這樣的數據被稱為操作數。例如,2 + 3是一個簡單的表達式,其中+是運算符,2和3是操作數。
  • matlab關係運算符
    算數運算符 + 矩陣加 - 減 * 乘 .* 數組乘 ^ 矩陣乘方.^ 數組乘方 \ 矩陣左除 / 矩陣右除 .\ 數組左除 ./ 數組右除 kron 克羅內克張量積 關係運算符 邏輯與 | 邏輯或 ~ 邏輯非 xor 邏輯異或
  • Javascript之運算符
    ECMAJavascript規定了用於操作數據值的操作符,包括了算術操作符、位操作符、關係操作符和相等操作符。一、一元操作符1、運算元:我們使用運算符所應用的對象。例如我們經常使用的加法運算:1 + 2,有兩個運算元,左邊運算元1和右邊的元算元2,但是我們在開發中經常稱之為參數。
  • Excel中公式的基本概念之運算符、絕對引用和相對引用
    一、公式的概念公式是以等號「=」開頭,按一定的規則對指定的數據進行計算的表達式。其組成要素一般包含函數、單元格引用、數學運算符、常量、字符和標點等。一個公式可計算得到一個或多個結果。二、公式中的運算符公式中的運算符可分為算術運算符、比較運算符、文本運算符、引用運算符共4種。我們以單元格A1到A4的值分別2、4、8、10為例,來分別說明一下各類運算符的使用及運算結果。
  • Python的成員運算符和身份運算符,實操演示
    一、Python的成員運算符Python的成員運算符在其他語言有這個操作,但是沒有這個稱呼,Python的成員運算符是「是否包含運算符」,主要應用在字符串或者集合中Python的成員運算符包括:Python的成員運算符實例02:在一某個集合中是否包含某一個元素
  • Mathematica函數中的運算符及特殊符號
    一、運算符及特殊符號 Line1; 執行Line,不顯示結果 Line1,line2 順次執行Line1,2,並顯示結果 ?name 關於系統變量name的信息 ??name 關於系統變量name的全部信息 !
  • MySQL如何使用正則表達式?(代碼示例)
    MySQL支持基於正則表達式和regexp運算符的另一種模式的匹配操作。下面本篇文章就帶大家認識一下MySQL的正則表達式(Regexp),通過示例來簡單介紹在MySQL中如何使用正則表達式(Regexp),希望對大家有所幫助。