




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
c語言中邏輯或的用法C語言是一門實踐性和動手能力要求很高的大學主干課程,但是C語言實驗課的教學一直不受重視,教學效果也不太理想。下面小編就跟你們詳細介紹下c語言中邏輯或的用法的用法,希望對你們有用。c語言中邏輯或的用法的用法如下:c語言中邏輯或的用法一、賦值運算符賦值語句的作用是把某個常量或變量或表達式的值賦值給另一個變量。符號為‘=’。這里并不是等于的意思,只是賦值,等于用‘==’表示。注意:賦值語句左邊的變量在程序的其他地方必須要聲明。產生值的表達式我們稱為右值,因為她它們出現在賦值語句的右邊。常數只能作為右值。例如:count=5;total1=total2=0;第一個賦值語句大家都能理解。第二個賦值語句的意思是把0同時賦值給兩個變量。這是因為賦值語句是從右向左運算的,也就是說從右端開始計算。這樣它先total2=0;然后total1=total2;那么我們這樣行不行呢?(total1=total2)=0;這樣是不可以的,因為先要算括號里面的,這時total1=total2是一個表達式,而賦值語句的左邊是不允許表達式存在的。c語言中邏輯或的用法二、算術運算符在C符號功能+單目正-單目負*乘法/除法%取模+加法-減法下面是一些賦值語句的例子,在賦值運算符右側的表達式中就使用了上面的算術運算符:Area=Height*Width;num=num1+num2/num3-num4;負最先運算。a=7%4;最終a的結果是3,因為7%4的余數是3。那么有人要問了,我要想求它們的商怎么辦呢?b=7/4;這樣b就是它們的商了,應該是1。也許有人就不明白了,7/4應該是1.75,怎么會是1呢?這里需要說明的是,當兩個整數相除時,所得到的結果仍然是整數,沒有小數部分。要想也得到小數部分,可以這樣寫7.0/4或者7/4.0,也即把其中一個數變為非整數。那么怎樣由一個實數得到它的整數部分呢?這就需要用強制類型轉換了。例如:a=(int)(7.0/4);因為7.0/4的值為1.75(int)就表示把結果強制轉換成整型,這就得到了。那么思考一下a=(float)(7/4);最終a的結果是多少?就變為正值。單目加運算符沒有意義,純粹是和單目減構成一對用的。c語言中邏輯或的用法三、邏輯運算符邏輯運算符是根據表達式的值來返回真值或是假值。其實在C語言中沒有所謂的真值和假值,只是認為非0為真值,0為假值。符號功能&&邏輯與||邏輯或!邏輯非例如:5!3;0||-2&&5;!4;只有當所有都為真時,總的式子才為真。當表達式進行||運算時,只要有一個為真,總的值就為真,只有當所有的都為假時,總的式子才為假。邏輯非(!)運算是把相應的變量數據轉換為相應的真/假值。若原先為假,則邏輯非以后為真,若原先為真,則邏輯非以后為假。還有一點很重要,當一個邏輯表達式的后一部分的取值不會影響整個表達式的值時,后一部分就不會進行運算了。例如:a=2,b=1;a||b-1;因為a=2,為真值,所以不管b-1是不是真值,總的表達式一定為真值,這時后面的表達式就不會再計算了。c語言中邏輯或的用法四、關系運算符關系運算符是對兩個表達式進行比較,返回一個真/假值。符號功能>大于<小于>=大于等于<=小于等于==等于!=不等于這些運算符大家都能明白,主要問題就是等于==和賦值=的區別了。一些剛開始學習C語言的人總是對這兩個運算符弄不明白,經常在一些簡單問題上出錯,自己檢查時還找不出來。看下面的代碼:if(Amount=123)……很多新人都理解為如果Amount等于碼的意思是先賦值Amount=123為結果為123,是真值,那么就做后面的。如果想讓當Amount等于123if(Amount==123)……c語言中邏輯或的用法五、自增自減運算符這是一類特殊的運算符,自增運算符++和自減運算符--對變量的操作結果是增加1和減少1。例如:--Couter;Couter--;++Amount;Amount++;看這些例子里,運算符在前面還是在后面對本身的影響都是一樣的,都是加1或者減1就有區別了。運算符放在變量前面,那么在運算之前,變量先完成自增或自減運算;如果運算符放在后面,那么自增自減運算是在變量參加表達式的運算后再運算。這樣講可能不太清楚,看下面的例子:num1=4;num2=8;a=++num1;b=num2++;a=++num1;這總的來看是一個賦值,把++num1的值賦給a,因為自增運算符在變量的前面,所以num1先自增加1變為5,然后賦值給a,最終a也為5。b=num2++;這是把num2++的值賦給b,因為自增運算符在變量的后面,所以先把num2賦值給b,b應該為8,然后num2自增加1變為9。那么如果出現這樣的情況我們怎么處理呢?c=num1+++num2;到底是c=(num1++)+num2;還是c=num1+(++num2);這要根據編譯器來決定,不同的編譯器可能有不同的結果。所以我們在以后的編程當中,應該盡量避免出現上面復雜的情況。c語言中邏輯或的用法六、復合賦值運算符在賦值運算符當中,還有一類C/C++獨有的復合賦值運算符。它們實際上是一種縮寫形式,使得對變量的改變更為簡潔。Total=Total+3;乍一看這行代碼,似乎有問題,這是不可能成立的。其實還是老樣子,'='是賦值不是等于。它的意思是本身的值加3本身。為了簡化,上面的代碼也可以寫成:Total+=3;符號功能+=加法賦值-=減法賦值*=乘法賦值/=除法賦值%=模運算賦值<<=左移賦值>>=右移賦值&=位邏輯與賦值|=位邏輯或賦值^=位邏輯異或賦值上面的十個復合賦值運算符中,后面五個我們到以后位運算時再說明。那么看了上面的復合賦值運算符,有人就會問,到底Total=Total+3;與Total+=3;有沒有區別?答案是有的,對于A=A+1,表達式A被計算了兩次,對于復合運算符A+=1,表達式A僅計算了一次。一般的來說,這種區別對于程序的運行沒有多大影響,但是當如果使用普通的賦值運算符,也會加大程序的開銷,使效率降低。c語言中邏輯或的用法七、條件運算符條件運算符(?:)是C語言中唯一的一個三目運算符,它是對第一個表達式作真/假檢測,然后根據結果返回兩外兩個表達式中的一個。<表達式1>?<表達式2>:<表達式3>在運算中,首先對第一個表達式進行檢驗,如果為真,則返回表達式2的值;如果為假,則返回表達式3的值。例如:a=(b>0)?b:-b;當b>0時,a=b;當b不大于0時,a=-b;這就是條件表達式。其實上面的意思就是把b的絕對值賦值給a。c語言中邏輯或的用法八、逗號運算符在C語言中,多個表達式可以用逗號分開,其中用逗號分開的表達式的值分別結算,但整個表達式的值是最后一個表達式的值。假設b=2,c=7,d=5,a1=(++b,c--,d+3);a2=++b,c--,d+3;對于第一行代碼,有三個表達式,用逗號分開,所以最終的值應該是最后一個表達式的值,也就是,為,所以行代碼,那么也是有三個表達式,這時的三個表達式為a2=++b、c--、d+3,(這是因為賦值運算符比逗號運算符優先級高)所以最終表達式的值雖然也為8,但a2=3。還有其他的如位邏輯運算符,位移運算符等等,我們等到講位運算時再說明。c語言中邏輯或的用法九、優先級和結合性從上面的逗號運算符那個例子可以看出,這些運算符計算時都有一定的順序,就好象先要算乘除后算加減一樣。優先級和結合性是運算符兩個重要的特性,結合性又稱為計算順序,它決定組成表達式的各個部分是否參與計算以及什么時候計算。下面是C語言中所使用的運算符的優先級和結合性:優先級運算符結合性(最高)()[]
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45685-2025調味品生產企業質量控制與管理技術指南
- GB/T 45645.1-2025道路交通事故深度調查技術指南第1部分:總則
- GB/T 32910.6-2025數據中心資源利用第6部分:水資源使用效率
- GB/T 45711.2-2025皮革撕裂力的測定第2部分:雙邊撕裂
- 嬰兒spa管理制度
- 小口腔診所管理制度
- 種子公司車輛管理制度
- 經營氯氣安全管理制度
- usb接口管理制度
- 科研試劑采購管理制度
- 醫療健康-肺脹中醫護理方案課件
- (完整word版)扣字詞匯124
- TPX6111B數顯臥式銑鏜床使用手冊
- 勞務管理檢查表
- GB/T 9756-2018合成樹脂乳液內墻涂料
- GB/T 27548-2011移動式升降工作平臺安全規則、檢查、維護和操作
- 國家開放大學《藥學信息檢索》形考作業參考答案
- 大管棚施工記錄表
- 筒倉使用安全管理規程
- 門診病歷的與處方書寫規范課件
- 人教版小學五下數學第九單元:總復習教學計劃
評論
0/150
提交評論