項(xiàng)目二 簡易計(jì)算器frz_第1頁
項(xiàng)目二 簡易計(jì)算器frz_第2頁
項(xiàng)目二 簡易計(jì)算器frz_第3頁
項(xiàng)目二 簡易計(jì)算器frz_第4頁
項(xiàng)目二 簡易計(jì)算器frz_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 Copyright Wethink Corporation 2010項(xiàng)目二項(xiàng)目二 簡易計(jì)算器簡易計(jì)算器 C C語言程序設(shè)計(jì)語言程序設(shè)計(jì) Copyright Wethink Corporation 2010技能要求技能要求1 1、數(shù)值型變量的使用。、數(shù)值型變量的使用。2 2、編寫簡單的、編寫簡單的C C語言程序?qū)崿F(xiàn)數(shù)學(xué)計(jì)算。語言程序?qū)崿F(xiàn)數(shù)學(xué)計(jì)算。 1 1、C C語言語言的的數(shù)據(jù)類型數(shù)據(jù)類型。2 2、C C語言的運(yùn)算符和表達(dá)式。語言的運(yùn)算符和表達(dá)式。學(xué)習(xí)目標(biāo)學(xué)習(xí)目標(biāo)教學(xué)目標(biāo)和技能要求教學(xué)目標(biāo)和技能要求 Copyright Wethink Corporation 2010項(xiàng)目情景 1相關(guān)知識(shí)2項(xiàng)目

2、實(shí)施與實(shí)現(xiàn) 3知識(shí)拓展 4 Copyright Wethink Corporation 2010項(xiàng)目情景項(xiàng)目情景 1 Copyright Wethink Corporation 2010簡易計(jì)數(shù)器簡易計(jì)數(shù)器程序要做三件事程序要做三件事:p輸入數(shù)據(jù)輸入數(shù)據(jù)p處理數(shù)據(jù)處理數(shù)據(jù)p輸出結(jié)果輸出結(jié)果 Copyright Wethink Corporation 2010相關(guān)知識(shí)相關(guān)知識(shí) 2 Copyright Wethink Corporation 2010C C數(shù)數(shù)據(jù)據(jù)類類型型基本類型基本類型構(gòu)造類型構(gòu)造類型指針類型指針類型空類型空類型void定義類型定義類型typedef數(shù)值類型數(shù)值類型字符類型字符類

3、型char枚舉類型枚舉類型enum整整 型型浮點(diǎn)型浮點(diǎn)型單精度型單精度型float雙精度型雙精度型double短整型短整型short長整型長整型long整型整型int數(shù)組數(shù)組結(jié)構(gòu)體結(jié)構(gòu)體struct共用體共用體union布爾型布爾型 boolC C語言的數(shù)據(jù)類型語言的數(shù)據(jù)類型 Copyright Wethink Corporation 2010一般用大寫字母一般用大寫字母是宏定義預(yù)處理命令,不是是宏定義預(yù)處理命令,不是C語句語句直接常量直接常量: :整型常量整型常量 實(shí)型常量實(shí)型常量 字符常量字符常量 字符串常量字符串常量如如 #define PRICE 30n分類分類: :符號(hào)常量符號(hào)常量:

4、 :用標(biāo)識(shí)符代表常量用標(biāo)識(shí)符代表常量定義格式:定義格式: #define#define 符號(hào)常量符號(hào)常量 常量常量例例 符號(hào)常量舉例符號(hào)常量舉例#define PRICE 30main() int num,total; num=10; total=num*PRICE; printf(total=%d,total);運(yùn)行結(jié)果:運(yùn)行結(jié)果:total=300常量常量程序運(yùn)行時(shí)其值不能改變的量程序運(yùn)行時(shí)其值不能改變的量 Copyright Wethink Corporation 2010如:如:a,b,4, n04230 x1232.01.23456e2常量常量 Copyright Wethink C

5、orporation 2010概念:概念: 每個(gè)變量有一個(gè)名字:用標(biāo)識(shí)符表示。每個(gè)變量有一個(gè)名字:用標(biāo)識(shí)符表示。 每個(gè)變量有一個(gè)存儲(chǔ)空間(存儲(chǔ)單元),該單每個(gè)變量有一個(gè)存儲(chǔ)空間(存儲(chǔ)單元),該單元中的狀態(tài)所表示的數(shù)為此時(shí)變量的值。元中的狀態(tài)所表示的數(shù)為此時(shí)變量的值。n變量初始化變量初始化:定義時(shí)可以賦初值定義時(shí)可以賦初值 合法標(biāo)識(shí)符合法標(biāo)識(shí)符n變量的使用:變量的使用:先定義,后使用先定義,后使用v變量定義的一般格式:變量定義的一般格式: 數(shù)據(jù)類型數(shù)據(jù)類型 變量變量1,變量,變量2,變量,變量n;如:如:int a,b,c; float x,y;變量變量程序運(yùn)行時(shí)其值可以改變的量程序運(yùn)行時(shí)其值可

6、以改變的量如:如:int a=1,b,c; float x,y=1.2; Copyright Wethink Corporation 2010數(shù)據(jù)在內(nèi)存中始終是以二進(jìn)制形式存放的。數(shù)據(jù)在內(nèi)存中始終是以二進(jìn)制形式存放的。 問題:問題:數(shù)據(jù)在內(nèi)存中是以什么形式存放的?數(shù)據(jù)在內(nèi)存中是以什么形式存放的? Copyright Wethink Corporation 2010 C C語言的數(shù)據(jù)類型語言的數(shù)據(jù)類型數(shù)據(jù)類型決定:數(shù)據(jù)類型決定:1. 數(shù)據(jù)占內(nèi)存字節(jié)數(shù)數(shù)據(jù)占內(nèi)存字節(jié)數(shù)2. 數(shù)據(jù)取值范圍數(shù)據(jù)取值范圍3. 其上可進(jìn)行的操作其上可進(jìn)行的操作 Copyright Wethink Corporation 2

7、010編譯程序根據(jù)變量定義為其編譯程序根據(jù)變量定義為其分配指定字節(jié)的內(nèi)存單元分配指定字節(jié)的內(nèi)存單元.地址地址int a=1, b=-3,c;abc2字節(jié)字節(jié)2字節(jié)字節(jié)2字節(jié)字節(jié)地址地址地址地址.內(nèi)存內(nèi)存1-3隨機(jī)數(shù)隨機(jī)數(shù)變量變量程序運(yùn)行時(shí)其值可以改變的量程序運(yùn)行時(shí)其值可以改變的量 Copyright Wethink Corporation 2010例例: int a=2,b,c=4; float data=3.67; char ch=A; int x=1,y=1,z=1; int x=y=z=1;例例2 float a,b,c; c=a%b; /Illegal use of floating

8、point in function main n變量定義位置:變量定義位置:一般一般放在函數(shù)開頭放在函數(shù)開頭main() int a,b=2; float data; a=1; data=(a+b)*1.2; printf(“data=%fn”,data);變量定義變量定義可執(zhí)行語句可執(zhí)行語句main() int a,b=2; a=1; float data; data=(a+b)*1.2; printf(“data=%fn”,data);例例1 int student; stadent=19; /Undefined symbol statent in function main Copyri

9、ght Wethink Corporation 2010#include void main() int x,y; /定義了兩個(gè)整型變量定義了兩個(gè)整型變量x,y x=10; /x的值為的值為10 y=x*x; / *就是乘號(hào),就是乘號(hào),y的值等于的值等于x乘以乘以x printf(”%d的平方是:的平方是:%dn”,x,y); x=15; /x的值改為的值改為15 y=x*x; /y的值也變化了的值也變化了 printf(”%d的平方是:的平方是:%dn”,x,y); 例例2.1 變量應(yīng)用實(shí)例變量應(yīng)用實(shí)例 Copyright Wethink Corporation 2010C運(yùn)運(yùn)算算符符算術(shù)運(yùn)

10、算符算術(shù)運(yùn)算符 : + - + - * * / % + - / % + - 關(guān)系運(yùn)算符關(guān)系運(yùn)算符 : = != = !=邏輯運(yùn)算符邏輯運(yùn)算符 : ! & | & |位運(yùn)算符位運(yùn)算符 : | & | &賦值運(yùn)算符賦值運(yùn)算符 : = = 及其擴(kuò)展及其擴(kuò)展條件運(yùn)算符條件運(yùn)算符 : ?:?:逗號(hào)運(yùn)算符逗號(hào)運(yùn)算符 : , ,指針運(yùn)算符指針運(yùn)算符 : * * & &求字節(jié)數(shù)求字節(jié)數(shù) : sizeofsizeof強(qiáng)制類型轉(zhuǎn)換:強(qiáng)制類型轉(zhuǎn)換:(類型)(類型)分量運(yùn)算符分量運(yùn)算符 : . -. -下標(biāo)運(yùn)算符下標(biāo)運(yùn)算符 : 其它其它 : 如函數(shù)調(diào)用預(yù)算符如函數(shù)調(diào)用預(yù)

11、算符( )( ) 13類類算術(shù)運(yùn)算符算術(shù)運(yùn)算符 :(:(+ - + - * * / % + - / % + - )賦值運(yùn)算符賦值運(yùn)算符 :(:(= = 及其擴(kuò)展)及其擴(kuò)展)逗號(hào)運(yùn)算符逗號(hào)運(yùn)算符 :(:(, ,)C C語言的運(yùn)算符語言的運(yùn)算符 Copyright Wethink Corporation 2010所謂表達(dá)式所謂表達(dá)式 : 用用運(yùn)算符運(yùn)算符和和括號(hào)括號(hào)將將運(yùn)算對象運(yùn)算對象連接起來的連接起來的、符合、符合C語法規(guī)則的式子,稱為語法規(guī)則的式子,稱為 C語言表達(dá)式語言表達(dá)式 。這里運(yùn)算對象包括這里運(yùn)算對象包括 : 常量、變量、函數(shù)等,例如常量、變量、函數(shù)等,例如 :x+3 , x+y ,

12、x*y+3 , x/y+10%5 , x+sin(x) , sqrt(x).C C語言表達(dá)式語言表達(dá)式 Copyright Wethink Corporation 2010運(yùn)算符功能運(yùn)算符功能與與運(yùn)算量運(yùn)算量關(guān)系關(guān)系運(yùn)算符優(yōu)先級(jí)別運(yùn)算符優(yōu)先級(jí)別結(jié)果的類型結(jié)果的類型結(jié)合方向結(jié)合方向注意注意13種類型的運(yùn)算符號(hào)種類型的運(yùn)算符號(hào)常量、變量、常量、變量、表達(dá)式表達(dá)式要求:要求:運(yùn)算量個(gè)數(shù)運(yùn)算量個(gè)數(shù)運(yùn)算量類型運(yùn)算量類型左結(jié)合性左結(jié)合性右結(jié)合性右結(jié)合性表表2-4 為了使算術(shù)表達(dá)式能按正確的法則運(yùn)算,為了使算術(shù)表達(dá)式能按正確的法則運(yùn)算,C規(guī)定了規(guī)定了運(yùn)算符的優(yōu)先級(jí)和結(jié)合性。運(yùn)算符的優(yōu)先級(jí)和結(jié)合性。 在表達(dá)式

13、求值時(shí),在表達(dá)式求值時(shí),先按運(yùn)算符的優(yōu)先級(jí)別高低次先按運(yùn)算符的優(yōu)先級(jí)別高低次序執(zhí)行,如果優(yōu)先級(jí)相同,再按結(jié)合方向處理。序執(zhí)行,如果優(yōu)先級(jí)相同,再按結(jié)合方向處理。C C語言的運(yùn)算符與表達(dá)式語言的運(yùn)算符與表達(dá)式 Copyright Wethink Corporation 2010算術(shù)運(yùn)算符和算術(shù)表達(dá)式算術(shù)運(yùn)算符和算術(shù)表達(dá)式一元運(yùn)算符一元運(yùn)算符 (取負(fù)取負(fù)) +(自增自增)- (自減自減) 算術(shù)運(yùn)算符算術(shù)運(yùn)算符二元運(yùn)算符二元運(yùn)算符+ - * / % :模運(yùn)算符模運(yùn)算符 (求余運(yùn)算符求余運(yùn)算符) Copyright Wethink Corporation 2010p 一元運(yùn)算符一元運(yùn)算符: - + -

14、 - + - 結(jié)合方向:從右向左結(jié)合方向:從右向左p 二元運(yùn)算符:二元運(yùn)算符: + - + - * * / % / % 結(jié)合方向:從左向右結(jié)合方向:從左向右優(yōu)先級(jí):優(yōu)先級(jí): - - + -+ - - * * / % / % - - + -+ -說明:說明:兩整數(shù)相除,結(jié)果為整數(shù)兩整數(shù)相除,結(jié)果為整數(shù)% %要求兩側(cè)均為整型數(shù)據(jù)要求兩側(cè)均為整型數(shù)據(jù)算術(shù)運(yùn)算符和算術(shù)表達(dá)式算術(shù)運(yùn)算符和算術(shù)表達(dá)式 Copyright Wethink Corporation 2010算術(shù)表達(dá)式算術(shù)表達(dá)式: : 用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算對象用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算對象( (也稱操作數(shù))也稱操作數(shù))連接起來的、符合語法規(guī)則的

15、式子,稱為算術(shù)表連接起來的、符合語法規(guī)則的式子,稱為算術(shù)表達(dá)式。運(yùn)算對象包括常量、變量、函數(shù)等。達(dá)式。運(yùn)算對象包括常量、變量、函數(shù)等。例如例如: : * *.5.5aa 是一個(gè)合法的表達(dá)式是一個(gè)合法的表達(dá)式算術(shù)運(yùn)算符和算術(shù)表達(dá)式算術(shù)運(yùn)算符和算術(shù)表達(dá)式 Copyright Wethink Corporation 2010(4)(4) 自增、自減運(yùn)算符自增、自減運(yùn)算符 作用是使變量的值增或減,作用是使變量的值增或減,如:如: v,v, 等價(jià)于等價(jià)于i = i+1 / i = i-1, i+, i+與與+i+i的區(qū)別:的區(qū)別: +i/ -i是先執(zhí)行是先執(zhí)行i=i+1/i=i-1后,再使用后,再使用i

16、的值;的值; i+/ i-是先使用是先使用i的值后,再執(zhí)行的值后,再執(zhí)行i=i+1/i=i-1 。算術(shù)運(yùn)算符和算術(shù)表達(dá)式算術(shù)運(yùn)算符和算術(shù)表達(dá)式 Copyright Wethink Corporation 2010 n = 3 ; m = n+ ; 結(jié)果是結(jié)果是m為為3 , n為為4 即即n 值先賦給變量值先賦給變量m, 然后然后n自增自增1 n = 3 ; m = +n ; 結(jié)果是結(jié)果是m為為4 , n為為4 即即n值先自增值先自增1,然后賦,然后賦給變量給變量m算術(shù)運(yùn)算符和算術(shù)表達(dá)式算術(shù)運(yùn)算符和算術(shù)表達(dá)式 Copyright Wethink Corporation 2010注意注意 : (1

17、)自增、自減運(yùn)算符只能用于變量,不能用于常量自增、自減運(yùn)算符只能用于變量,不能用于常量或表達(dá)式?;虮磉_(dá)式。例如例如 : 5+ , (x + y) + 不允許不允許 (2)自增自增+、自減、自減 -運(yùn)算符是自右至左結(jié)合的。運(yùn)算符是自右至左結(jié)合的。例如例如 : -n+ 表示表示 -(n+) , 不允許不允許 (-n )+表達(dá)式表達(dá)式注意;并非注意;并非n加加1后取負(fù)!后取負(fù)!如果有語句如果有語句 : n=3;m=-n+;printf(%d, -n+) ;printf(%d, m) ;printf(%d, n) ;若若 n值為值為 3,則先輸出,則先輸出 -3,然后,然后 n加加 1 .算術(shù)運(yùn)算符和

18、算術(shù)表達(dá)式算術(shù)運(yùn)算符和算術(shù)表達(dá)式 Copyright Wethink Corporation 2010 語言中有的運(yùn)算符為一個(gè)字符,有的運(yùn)算符由語言中有的運(yùn)算符為一個(gè)字符,有的運(yùn)算符由兩個(gè)字符組成,為避免誤解,最好采取大家都能理解兩個(gè)字符組成,為避免誤解,最好采取大家都能理解的寫法。的寫法。例如例如: 不要寫成不要寫成i+ji+j的形式,而應(yīng)寫成的形式,而應(yīng)寫成(i+)+j(i+)+j的形式的形式 算術(shù)運(yùn)算符和算術(shù)表達(dá)式算術(shù)運(yùn)算符和算術(shù)表達(dá)式 Copyright Wethink Corporation 2010在調(diào)用函數(shù)時(shí),實(shí)參數(shù)的求值順序,標(biāo)準(zhǔn)并無統(tǒng)在調(diào)用函數(shù)時(shí),實(shí)參數(shù)的求值順序,標(biāo)準(zhǔn)并無統(tǒng)

19、一規(guī)定。一規(guī)定。例如:例如:的初值為,如果有下面的函數(shù)調(diào)用:的初值為,如果有下面的函數(shù)調(diào)用: printf(,i+) 在有的系統(tǒng)中,從左至右求值,輸出在有的系統(tǒng)中,從左至右求值,輸出“3,33,3”。在多數(shù)系統(tǒng)中對函數(shù)參數(shù)的求值順序是自右而左,輸在多數(shù)系統(tǒng)中對函數(shù)參數(shù)的求值順序是自右而左,輸出的是出的是“4,34,3”。以上這種寫法不提倡,最好改寫成。以上這種寫法不提倡,最好改寫成 j = i+;j = i+; printf(%d printf(%d, %d%d, j j,i)i)不要寫出別人看不懂的也不不要寫出別人看不懂的也不知道系統(tǒng)會(huì)怎樣執(zhí)行程序知道系統(tǒng)會(huì)怎樣執(zhí)行程序算術(shù)運(yùn)算符和算術(shù)表達(dá)式

20、算術(shù)運(yùn)算符和算術(shù)表達(dá)式 Copyright Wethink Corporation 2010 1. 賦值運(yùn)算符賦值運(yùn)算符 賦值號(hào)賦值號(hào) “=” 就是賦值運(yùn)算符。就是賦值運(yùn)算符。 它的作用是將一個(gè)數(shù)據(jù)或表達(dá)式的值賦給一個(gè)變它的作用是將一個(gè)數(shù)據(jù)或表達(dá)式的值賦給一個(gè)變量量 。 如如 : x = 1 ; x = a+b ;注意類型轉(zhuǎn)換:注意類型轉(zhuǎn)換:把右邊的數(shù)據(jù)類型轉(zhuǎn)換為左邊的變把右邊的數(shù)據(jù)類型轉(zhuǎn)換為左邊的變量類型后,再賦值。量類型后,再賦值。賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符和賦值表達(dá)式 Copyright Wethink Corporation 2010 (2) 整型整型 賦給實(shí)型賦給實(shí)型 (單單,

21、雙精度型雙精度型) 變量時(shí),值不變,變量時(shí),值不變,但以浮點(diǎn)數(shù)但以浮點(diǎn)數(shù) 形式存入變量中。形式存入變量中。 如如 : float f ; f = 23 ; 則則 f 的值為的值為 23.000000 (1) 實(shí)型賦給整型變量時(shí),取實(shí)型的整數(shù)部分實(shí)型賦給整型變量時(shí),取實(shí)型的整數(shù)部分 如如 : int i ; i = 3 . 56 ; 則則 i 的值為的值為 3具體有以下幾種情況具體有以下幾種情況 :賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符和賦值表達(dá)式 Copyright Wethink Corporation 2010(3) 雙精度浮點(diǎn)數(shù)賦給單精度浮點(diǎn)數(shù)雙精度浮點(diǎn)數(shù)賦給單精度浮點(diǎn)數(shù) float f ;

22、double d =123.456789e100 ; f = d ; 有效位取有效位取7位位。 (4)字符型數(shù)據(jù)賦給整型變量時(shí),由于字符只占一個(gè)字字符型數(shù)據(jù)賦給整型變量時(shí),由于字符只占一個(gè)字節(jié)節(jié), 而整型占二個(gè)字節(jié),因此,而整型占二個(gè)字節(jié),因此, 字符數(shù)據(jù)放到整型變量字符數(shù)據(jù)放到整型變量的低的低 8 位中。位中。 int i ; char c = a ; i = c ;賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符和賦值表達(dá)式 Copyright Wethink Corporation 20100 1 1 0 0 0 0 10 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 ic 若字符型數(shù)據(jù)定

23、義為若字符型數(shù)據(jù)定義為 signed char,當(dāng)最高位為當(dāng)最高位為1時(shí),時(shí),則前則前8位全補(bǔ)位全補(bǔ)1。例如:例如: signed char c=376;int i;i=c ;1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0ci賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符和賦值表達(dá)式376代表代表8進(jìn)制的進(jìn)制的3763*8*8+7*8+6=254D=1111 1110Bi=-2 Copyright Wethink Corporation 2010(6) 如果如果 long int 賦給賦給 int ,則取,則取 long int 中的低中的低 16 位位給給

24、int 變量變量 int a ; int a ; long b= 8 ; long b = 65536 ; a = b ; a = b ;(5) 如果如果 int 型數(shù)據(jù)賦給型數(shù)據(jù)賦給 long int 型變量,則型變量,則 long int 中低中低16位放位放 int 數(shù)據(jù),高數(shù)據(jù),高 16 位如果是正數(shù)位如果是正數(shù)(+)則全補(bǔ)則全補(bǔ)0,如果是負(fù)數(shù),如果是負(fù)數(shù)(-)則全補(bǔ)則全補(bǔ)1。 int a = 3; int a = -3 ; long b ; long b ; b = a ; b = a;賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符和賦值表達(dá)式 Copyright Wethink Corporat

25、ion 2010(7) 將將 unsigned int 數(shù)據(jù)賦給數(shù)據(jù)賦給 long int 時(shí),時(shí),long int 高位高位補(bǔ)補(bǔ)0 ;如果將;如果將 unsigned int 數(shù)據(jù)賦給同長度的數(shù)據(jù)賦給同長度的 int 變量變量時(shí),將時(shí),將 unsigned 型變量的內(nèi)容原樣賦給非型變量的內(nèi)容原樣賦給非unsigned 變變量,但如果數(shù)據(jù)超出量,但如果數(shù)據(jù)超出 非非 unsigned 的范圍,則出錯(cuò)。的范圍,則出錯(cuò)。 unsigned int a=65535 ; int b ; b=a ; /* b= -1 */ (8) 如果將如果將 非非unsigned 數(shù)據(jù)賦給等長數(shù)據(jù)賦給等長 unsig

26、ned 型變量型變量,則原樣照賦則原樣照賦 (包括符號(hào)位包括符號(hào)位)。賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符和賦值表達(dá)式 Copyright Wethink Corporation 2010void main( ) unsigned a ; int b = -1 ; a = b ; printf(a = %u, a) ; /* 結(jié)果為結(jié)果為 65535 */ 有符號(hào)數(shù)據(jù)賦給無符號(hào)變量。有符號(hào)數(shù)據(jù)賦給無符號(hào)變量。賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符和賦值表達(dá)式 Copyright Wethink Corporation 2010 2. 賦值組合運(yùn)算符賦值組合運(yùn)算符 在賦值運(yùn)算符之前加上其它運(yùn)算符可以構(gòu)成復(fù)

27、合運(yùn)在賦值運(yùn)算符之前加上其它運(yùn)算符可以構(gòu)成復(fù)合運(yùn)算符。算符。 例如例如 : 在在 = 之前加上之前加上 + 則構(gòu)成則構(gòu)成 += a += 3 相當(dāng)于相當(dāng)于 a = a+3 如果表達(dá)式是由多項(xiàng)構(gòu)成,則相當(dāng)于有括號(hào)如果表達(dá)式是由多項(xiàng)構(gòu)成,則相當(dāng)于有括號(hào) a = a+(表達(dá)式表達(dá)式) 例如例如 : a += 5*3 ; 相當(dāng)于相當(dāng)于 a = a + (5*3) ; 凡是二元凡是二元(二目二目)運(yùn)算符都可以與運(yùn)算符都可以與“=”一起組成賦值組合運(yùn)算。一起組成賦值組合運(yùn)算。賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符和賦值表達(dá)式 Copyright Wethink Corporation 20103. 賦值運(yùn)算符結(jié)

28、合性賦值運(yùn)算符結(jié)合性 賦值表達(dá)式由賦值表達(dá)式由(單一或組合單一或組合)賦值運(yùn)算符將一個(gè)變量和賦值運(yùn)算符將一個(gè)變量和一個(gè)表達(dá)式連接起來的式子。一個(gè)表達(dá)式連接起來的式子。 賦值表達(dá)式的求解過程是賦值表達(dá)式的求解過程是 : (1)對表達(dá)式求值對表達(dá)式求值 ; (2)將該值賦給運(yùn)算符左邊的變量。將該值賦給運(yùn)算符左邊的變量。 賦值運(yùn)算符是賦值運(yùn)算符是自右至左結(jié)合自右至左結(jié)合,如,如 : a=(b=5) 等價(jià)于等價(jià)于 a=b=5 運(yùn)行順序運(yùn)行順序 :( 1 ) b=5 ( 2 ) a=b 賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符和賦值表達(dá)式 Copyright Wethink Corporation 2010 表

29、達(dá)式為表達(dá)式為 a + = a - = a*a 如如 a=12 運(yùn)行次序:運(yùn)行次序: (1) a = a - a*a = -132 (2) a = a+a = -264 表達(dá)式表達(dá)式 運(yùn)行結(jié)果運(yùn)行結(jié)果 a=b=c=5 a=5 , b=5 , c=5 a=5+(c=6) c=6 , a=11 a=(b=4)+(c=6) c=6 , b=4 , a=10 a=(b=10)/ (c=2) c=2 , b=10 , a=5賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符和賦值表達(dá)式 Copyright Wethink Corporation 2010關(guān)系運(yùn)算符和關(guān)系表達(dá)式關(guān)系運(yùn)算符和關(guān)系表達(dá)式1.1.關(guān)系運(yùn)算符及其優(yōu)

30、先次序關(guān)系運(yùn)算符及其優(yōu)先次序1 1) ( (小于小于) )2 2)= ( ( (大于大于) )4 4)= (= (大于或等于大于或等于) )5 5)= (= (等于等于) )6 6)!= (!= (不等于不等于) )優(yōu)先級(jí)相同(高)優(yōu)先級(jí)相同(高)優(yōu)先級(jí)相同(低)優(yōu)先級(jí)相同(低)說明:說明:關(guān)系運(yùn)算符的優(yōu)先級(jí)低于算術(shù)運(yùn)算符關(guān)系運(yùn)算符的優(yōu)先級(jí)低于算術(shù)運(yùn)算符關(guān)系運(yùn)算符的優(yōu)先級(jí)高于賦值運(yùn)算符關(guān)系運(yùn)算符的優(yōu)先級(jí)高于賦值運(yùn)算符 Copyright Wethink Corporation 20102.2.關(guān)系表達(dá)式關(guān)系表達(dá)式用關(guān)系運(yùn)算符將兩個(gè)表達(dá)式(可以是算術(shù)表達(dá)式或用關(guān)系運(yùn)算符將兩個(gè)表達(dá)式(可以是算術(shù)表

31、達(dá)式或 關(guān)系表達(dá)式,邏輯表達(dá)式,賦值表達(dá)式,字符表達(dá)式)關(guān)系表達(dá)式,邏輯表達(dá)式,賦值表達(dá)式,字符表達(dá)式) 接起來的式子,稱關(guān)系表達(dá)式接起來的式子,稱關(guān)系表達(dá)式例:例:ab,a+bb+c,(a=3)(b=5),ab)(bb”的值為的值為“真真”,表達(dá)式的值為,表達(dá)式的值為1。C C語言中沒有專語言中沒有專用的邏輯值,用的邏輯值,1 1代表真,代表真,0 0代表代表假假關(guān)系運(yùn)算符和關(guān)系表達(dá)式關(guān)系運(yùn)算符和關(guān)系表達(dá)式 Copyright Wethink Corporation 20101.1.邏輯運(yùn)算符及其優(yōu)先次序邏輯運(yùn)算符及其優(yōu)先次序(1)& (1)& (邏輯與邏輯與) ) 相當(dāng)于其

32、他語言中的相當(dāng)于其他語言中的ANDAND(2)| (2)| (邏輯或邏輯或) ) 相當(dāng)于其他語言中的相當(dāng)于其他語言中的OROR(3)! (3)! (邏輯非邏輯非) ) 相當(dāng)于其他語言中的相當(dāng)于其他語言中的NOTNOT例:例:a&b a&b 若若a,ba,b為真,則為真,則a&ba&b為真。為真。 a|b a|b 若若a,ba,b之一為真,則之一為真,則a|ba|b為真。為真。 !a a 若若a a為真,則為真,則!a!a為假。為假。優(yōu)先次序:優(yōu)先次序:p !(非非)-&()-|()p 邏輯運(yùn)算符中的邏輯運(yùn)算符中的“&”和和“|”低于關(guān)系運(yùn)算符低于

33、關(guān)系運(yùn)算符p “!”高于算高于算 術(shù)運(yùn)算符術(shù)運(yùn)算符邏輯運(yùn)算符和邏輯表達(dá)式邏輯運(yùn)算符和邏輯表達(dá)式 Copyright Wethink Corporation 20102.2.邏輯表達(dá)式邏輯表達(dá)式用邏輯運(yùn)算符將關(guān)系表達(dá)式或邏輯量連接起來的式子就用邏輯運(yùn)算符將關(guān)系表達(dá)式或邏輯量連接起來的式子就 是邏輯表達(dá)式。是邏輯表達(dá)式。邏輯表達(dá)式的值應(yīng)該是一個(gè)邏輯量邏輯表達(dá)式的值應(yīng)該是一個(gè)邏輯量“真真”或或“假假”。例:例:設(shè)設(shè)a=4a=4,b=5b=5:!a!a的值為的值為0 a&b0 a&b的值為的值為1 1a|ba|b的值為的值為1 !a|b1 !a|b的值為的值為1 14&0|24

34、&0|2的值為的值為1 1任何非零的數(shù)值被認(rèn)作任何非零的數(shù)值被認(rèn)作“真真”邏輯運(yùn)算符和邏輯表達(dá)式邏輯運(yùn)算符和邏輯表達(dá)式 Copyright Wethink Corporation 2010例:例:53&83&84-!0 自左向右運(yùn)算自左向右運(yùn)算 1&0邏輯值為邏輯值為083邏輯值為邏輯值為1表達(dá)式值為表達(dá)式值為0邏輯運(yùn)算符和邏輯表達(dá)式邏輯運(yùn)算符和邏輯表達(dá)式 Copyright Wethink Corporation 2010 在邏輯表達(dá)式的求解中,并不是所有的邏輯運(yùn)算符在邏輯表達(dá)式的求解中,并不是所有的邏輯運(yùn)算符都要被執(zhí)行。都要被執(zhí)行。(1)a&b&am

35、p;c (1)a&b&c 只有只有a a為真時(shí),才需要判斷為真時(shí),才需要判斷b b的值,只有的值,只有a a和和b b都為真時(shí),才需要判斷都為真時(shí),才需要判斷c c的值。的值。(2)a|b|c (2)a|b|c 只要只要a a為真,就不必判斷為真,就不必判斷b b和和c c的值,只有的值,只有a a為為假,才判斷假,才判斷b b。a a和和b b都為假才判斷都為假才判斷c c例例:(m=ab)&(n=cd)當(dāng)當(dāng)a=1,b=2,c=3,d=4,ma=1,b=2,c=3,d=4,m和和n n的原值為的原值為1 1時(shí),由于時(shí),由于“abab”的值的值為為0 0,因此,因此m=

36、0m=0,而,而“n=cdn=cd”不被執(zhí)行,因此不被執(zhí)行,因此n n的值不是的值不是0 0而仍保持原值而仍保持原值1 1。邏輯運(yùn)算符和邏輯表達(dá)式邏輯運(yùn)算符和邏輯表達(dá)式 Copyright Wethink Corporation 2010 用邏輯表達(dá)式來表示閏年的條件用邏輯表達(dá)式來表示閏年的條件能被能被4整除,但不能被整除,但不能被100整除。整除。能被能被4整除,又能被整除,又能被400整除整除。答答 (year%4=0&year%100!=0)|year%400=0案案 值為真值為真(1)是閏年,否則為非閏年。是閏年,否則為非閏年。邏輯運(yùn)算符和邏輯表達(dá)式邏輯運(yùn)算符和邏輯表達(dá)式 Co

37、pyright Wethink Corporation 2010 ?:?:條件表達(dá)式?表達(dá)式條件表達(dá)式?表達(dá)式1:表達(dá)式:表達(dá)式2;Max=(ab)?a:b;例題例題2.3輸入兩個(gè)數(shù),求最大值,最小值輸入兩個(gè)數(shù),求最大值,最小值條件運(yùn)算符與條件表達(dá)式條件運(yùn)算符與條件表達(dá)式 Copyright Wethink Corporation 2010 用用 “ , ” 將兩個(gè)表達(dá)式連接起來所構(gòu)成的表達(dá)式稱將兩個(gè)表達(dá)式連接起來所構(gòu)成的表達(dá)式稱為為逗號(hào)表達(dá)式。逗號(hào)表達(dá)式。 例如例如 : 3+5 , 6+8 逗號(hào)表達(dá)式的形式逗號(hào)表達(dá)式的形式 : 表達(dá)式表達(dá)式 1 , 表達(dá)式表達(dá)式 2 求解過程求解過程 : 先

38、求表達(dá)式先求表達(dá)式 1 的值,再求表達(dá)式的值,再求表達(dá)式 2 的值的值,整個(gè)表達(dá)式的值是表達(dá)式整個(gè)表達(dá)式的值是表達(dá)式 2 的值。的值。 如上式如上式, 結(jié)果是結(jié)果是14。 又如又如 : a = 3*5 , a*4 運(yùn)行結(jié)果是運(yùn)行結(jié)果是 a = 15 而整個(gè)而整個(gè)表達(dá)式的值是表達(dá)式的值是60。 逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式 Copyright Wethink Corporation 2010例例 1 : ( a = 3*5 , a* 4 ) , a+5運(yùn)行結(jié)果運(yùn)行結(jié)果 :(1) a = 15 (2) ( 15 , 60 ) = 值為值為 60 (3) 60 , 20 = 整個(gè)表達(dá)

39、式的值為整個(gè)表達(dá)式的值為20 例例 2 :x = ( a = 3 , 6*3 ) 運(yùn)行結(jié)果運(yùn)行結(jié)果 : a為為 3 ,x 為為 18; 例例 3 :x = a = 3 , 6*a 運(yùn)行結(jié)果運(yùn)行結(jié)果 : x 為為 3 ,a為為 3逗號(hào)表達(dá)式一般形式逗號(hào)表達(dá)式一般形式 : 表達(dá)式表達(dá)式1 , 表達(dá)式表達(dá)式2, . , 表達(dá)式表達(dá)式n 它的值是表達(dá)式它的值是表達(dá)式n 的值的值逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式 Copyright Wethink Corporation 20101. 由于逗號(hào)運(yùn)算符是所有運(yùn)算符中級(jí)別最低的,因此由于逗號(hào)運(yùn)算符是所有運(yùn)算符中級(jí)別最低的,因此書寫表達(dá)式時(shí)要注意求

40、解的次序。書寫表達(dá)式時(shí)要注意求解的次序。2. 并非所有的并非所有的 “,” 都是運(yùn)算符,例如都是運(yùn)算符,例如 : printf(“%d,%d,%d”, a , b , c) ; -這里的這里的“,”都只都只是分隔符。是分隔符。 而而printf(“%d,%d,%d”,(a,b,c),b,c);-這里這里(a , b , c)中的中的“,”是運(yùn)算符。是運(yùn)算符。注意:注意:逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式 Copyright Wethink Corporation 2010項(xiàng)目實(shí)施與實(shí)現(xiàn)項(xiàng)目實(shí)施與實(shí)現(xiàn)3 Copyright Wethink Corporation 2010#include void main() float x,y,a,b,c,d; /定義了定義了6個(gè)個(gè)float類型的變量類型的變量 printf(“請輸入請輸入x的值:的值:x=”); /提示用戶輸入提示用戶輸入x的值的值 scanf(“%f”,&x); /輸入輸入x printf(“請輸入請輸入y的值:的值:y=”); /提示用戶輸入提示用戶輸入y的值的值 scanf(“%f”,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論