《程序設(shè)計(jì)基礎(chǔ)》課件-第2章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式_第1頁
《程序設(shè)計(jì)基礎(chǔ)》課件-第2章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式_第2頁
《程序設(shè)計(jì)基礎(chǔ)》課件-第2章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式_第3頁
《程序設(shè)計(jì)基礎(chǔ)》課件-第2章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式_第4頁
《程序設(shè)計(jì)基礎(chǔ)》課件-第2章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡介

課程名稱可修改COURSETITLE 課程名稱可修改COURSETITLE NAME可修改

課程名稱可修改COURSETITLE NAME可修改

第2章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式任務(wù)1:數(shù)據(jù)類型及常量變量1.掌握常量與變量的書寫和定義2.掌握三種基本數(shù)據(jù)類型的應(yīng)用知識目標(biāo)教學(xué)目標(biāo)技能目標(biāo)1.會編寫變量與常量的簡單C程序2.會進(jìn)行數(shù)制之間的轉(zhuǎn)換3.會調(diào)試和運(yùn)行程序1.學(xué)習(xí)過程中形成樂于探究的意識和敢于創(chuàng)新的精神。2.養(yǎng)成主動與他人交流合作的精神。素質(zhì)目標(biāo)1.基本數(shù)據(jù)類型提綱2.常量與變量3.數(shù)據(jù)類型轉(zhuǎn)換1.基本數(shù)據(jù)類型生活中智能儲存柜的例子:根據(jù)物品的大小存放到相應(yīng)大小的抽屜中。存放大物品存放小物品存放中等大小物品1.基本數(shù)據(jù)類型數(shù)據(jù)類型構(gòu)造類型指針類型空類型void枚舉類型enum數(shù)組類型如:inta[10]。結(jié)構(gòu)類型struct聯(lián)合類型union基本類型整型int如:1、20、30。

字符型char如:’a’、’b’、’#’。實(shí)型(浮點(diǎn)型)單精度實(shí)型float如:6.12雙精度實(shí)型double1.基本數(shù)據(jù)類型類型符號關(guān)鍵字?jǐn)?shù)的表示范圍所占字節(jié)數(shù)整型字符型實(shí)型有無(signed)int4-2147483648~2147483647(signed)short2-32768~32767(signed)long4-2147483648~21474836474unsigned

int0~429496729540~4294967295unsigned

longunsigned

short20~65535有float43.4e-38~3.4e38有double81.7e-308~1.7e308有char1-128~127無unsignedchar10~255數(shù)據(jù)類型決定:數(shù)據(jù)占內(nèi)存字節(jié)數(shù)

(1字節(jié)=8位)2.數(shù)據(jù)取值范圍3.允許的操作。

2.常量與變量標(biāo)識符關(guān)鍵字常量變量標(biāo)識符(identifier)是對變量名、函數(shù)名、標(biāo)號和其他各種用戶定義的對象命名。注意:(1)標(biāo)識符區(qū)分大小寫;如:a與A不是一個標(biāo)識符。(2)標(biāo)識符的有效長度取決于具體的C編譯系統(tǒng);(3)標(biāo)識符的書寫一般采用具有一定實(shí)際含義的單詞,這樣可提高程序的可讀性;(4)標(biāo)識符不能與C語言的關(guān)鍵字同名,也不能與自定義函數(shù)或C語言庫函數(shù)同名;命名規(guī)則:標(biāo)識符由字母、數(shù)字或者下劃線組成,且第一個字符必須是字母或下劃線。2.常量與變量標(biāo)識符關(guān)鍵字常量變量關(guān)鍵字(keywords)是具有固定名字和特定含義的特殊標(biāo)識符,也稱保留字,不允許將它們另作別用。

32個關(guān)鍵字:(1)數(shù)據(jù)類型定義:typedef(2)數(shù)據(jù)類型:char,double,enum,float,int,long,short,struct,union,unsigned,void,signed,volatile,auto,extern,register,static,const(3)運(yùn)算符:sizeof(4)語句:break,case,continue,default,do,else,for,goto,if,return,switch,

while2.常量與變量標(biāo)識符

關(guān)鍵字常量變量直接常量1、整型常量:(2)八進(jìn)制整數(shù):最高位為0,如十進(jìn)制的128,用八進(jìn)制表示為0200,每個數(shù)字位是0~7,屬于合法的;如256(無前綴0)、02A6(包含了非八進(jìn)制數(shù)碼A)、-0256(出現(xiàn)了負(fù)號),屬于不合法的。(1)十進(jìn)制整數(shù):如250、-12,每個數(shù)字位是0~9,屬于合法的;如058、35D,含有非十進(jìn)制數(shù)碼,屬于不合法的。(3)十六進(jìn)制整數(shù):以0x或0X開頭,如十進(jìn)制的128,用十六進(jìn)制表示為0x80或0X80,每個數(shù)字位可以是0~9,A~F,其中A代表10,B代表11…,屬于合法的;如3A(無前綴0x)、0x8H(包含了數(shù)碼H),屬于不合法的。

2.常量與變量標(biāo)識符

關(guān)鍵字常量變量補(bǔ)充:進(jìn)制之間的轉(zhuǎn)換1、十進(jìn)制轉(zhuǎn)二進(jìn)制方法為:十進(jìn)制數(shù)除2取余法,即十進(jìn)制數(shù)除2,余數(shù)為權(quán)位上的數(shù),得到的商值繼續(xù)除2,依此步驟繼續(xù)向下運(yùn)算直到商為0為止。2.常量與變量標(biāo)識符

關(guān)鍵字常量變量2、二進(jìn)制轉(zhuǎn)十進(jìn)制方法為:把二進(jìn)制數(shù)按權(quán)展開、相加即得十進(jìn)制數(shù)。補(bǔ)充:進(jìn)制之間的轉(zhuǎn)換2.常量與變量標(biāo)識符

關(guān)鍵字常量變量3、二進(jìn)制轉(zhuǎn)八進(jìn)制方法為:3位二進(jìn)制數(shù)按權(quán)展開相加得到1位八進(jìn)制數(shù)。(注意事項(xiàng),3位二進(jìn)制轉(zhuǎn)成八進(jìn)制是從右到左開始轉(zhuǎn)換,不足時補(bǔ)0)。補(bǔ)充:進(jìn)制之間的轉(zhuǎn)換2.常量與變量標(biāo)識符

關(guān)鍵字常量變量4、八進(jìn)制轉(zhuǎn)二進(jìn)制方法為:八進(jìn)制數(shù)通過除2取余法,得到二進(jìn)制數(shù),對每個八進(jìn)制為3個二進(jìn)制,不足時在最左邊補(bǔ)零。補(bǔ)充:進(jìn)制之間的轉(zhuǎn)換2.常量與變量標(biāo)識符

關(guān)鍵字常量變量5、二進(jìn)制轉(zhuǎn)十六進(jìn)制方法為:與二進(jìn)制轉(zhuǎn)八進(jìn)制方法近似,八進(jìn)制是取三合一,十六進(jìn)制是取四合一。(注意事項(xiàng),4位二進(jìn)制轉(zhuǎn)成十六進(jìn)制是從右到左開始轉(zhuǎn)換,不足時補(bǔ)0)。補(bǔ)充:進(jìn)制之間的轉(zhuǎn)換2.常量與變量標(biāo)識符

關(guān)鍵字常量變量6、十六進(jìn)制轉(zhuǎn)二進(jìn)制方法為:十六進(jìn)制數(shù)通過除2取余法,得到二進(jìn)制數(shù),對每個十六進(jìn)制為4個二進(jìn)制,不足時在最左邊補(bǔ)零。補(bǔ)充:進(jìn)制之間的轉(zhuǎn)換2.常量與變量標(biāo)識符

關(guān)鍵字常量變量直接常量2、實(shí)型常量:(2)指數(shù)形式:(e或E之前必須有數(shù)字,指數(shù)必須為整數(shù)),如12.3e3、123E2、1.23e4屬于合法的;而e-5、1.2E-3.5屬于不合法的。(1)十進(jìn)制數(shù)形式:(必須有小數(shù)點(diǎn)),如0.123、.123、123.0、0.0都屬于合法的。實(shí)型也叫浮點(diǎn)型,實(shí)型常量也叫實(shí)數(shù)或浮點(diǎn)數(shù),在C語言中,實(shí)數(shù)只用十進(jìn)制表示。2.常量與變量標(biāo)識符

關(guān)鍵字常量變量直接常量3、字符常量:(2)字符常量只能是單個字符,不能是字符串。(1)字符常量只能用單引號括起來,不能用雙引號或其它括號。如‘a(chǎn)’、‘b’、‘=’、‘+’、‘?’

都屬于合法的。

字符常量是用單引號括起來的一個字符。(3)字符可以是字符集中任意字符。但數(shù)字被定義為字符型之后就不能參與數(shù)值運(yùn)算。如'5'和5是不同的。

2.常量與變量標(biāo)識符

關(guān)鍵字常量變量直接常量4、轉(zhuǎn)義字符:轉(zhuǎn)義字符以反斜線"\"開頭,后跟一個或幾個字符。字符形式功能\n換行\(zhòng)t橫向跳格(即跳到下一個輸出區(qū))\b退格\r回車\f走紙換頁\\反斜杠字符'\'\'單撇號字符\"雙撇號字符\a報警,相當(dāng)于’\007’\ddd1~3位8進(jìn)制數(shù)所代表的字符\xhh1~2位16進(jìn)制數(shù)所代表的字符運(yùn)行結(jié)果語句編寫main(){}printf("Ilovemusic!\n");printf("themusicis\"D:\\music\\love.mp3\".\n");themusicis"D:\music\love.mp3".Ilovemusic!2.常量與變量標(biāo)識符

關(guān)鍵字常量變量符號常量一般形式:#define標(biāo)識符常量已知圓的半徑為1.5,求圓的面積。運(yùn)行結(jié)果語句編寫#include"stdio.h"#definePI3.14//符號常量

main(){}floatr,area;//定義變量

r=1.5;//賦值area=PI*r*r;//計(jì)算語句printf("area=%f\n",area);//輸出結(jié)果area=7.065注意說明:(1)宏定義必須以#define開頭,標(biāo)識符和常量之間不加等于號,行末不加分號。(2)宏定義#define應(yīng)該放在函數(shù)外部,這樣可以控制到程序結(jié)束。(3)符號常量的標(biāo)識符用大寫字母(也可以用小寫字母),變量標(biāo)識符用小寫字母,以示區(qū)別。2.常量與變量標(biāo)識符

關(guān)鍵字常量變量變量描述變量是其值可以變化的量,在使用之前必須先定義,變量在內(nèi)存中占據(jù)一定的存儲單元。r1.5變量名變量值存儲單元定義一個變量r,那么內(nèi)存中就應(yīng)該開辟一個空間,可以存儲數(shù)據(jù)。例題:2.常量與變量標(biāo)識符

關(guān)鍵字常量變量變量分類1、整型變量

(1)整型變量的分類

基本型:類型說明符為int,在內(nèi)存中占4個字節(jié)。短整型:類型說明符為shortint或者short,在內(nèi)存中占2個字節(jié)。長整型:類型說明符為longint或者long,在內(nèi)存中占4個字節(jié)。無符號型:類型說明符為unsigned。注:無符號型也可以和上述三種類型匹配使用。2.常量與變量標(biāo)識符

關(guān)鍵字常量變量變量分類1、整型變量

(2)整型變量的定義

整型變量的定義一般形式為:類型說明符變量1[=值1],變量2[=值2],…;例題:inta,b;//a,b為整型變量longx,y;//x,y為長整型變量運(yùn)行結(jié)果語句編寫main(){}intx,y,z;x=2;y=3;z=x+y;x+y=5printf("x+y=%d\n",z);注意說明:類型說明符與變量名之間至少要有一個空格間隔。在一個類型說明符后,可定義多個相同類型的變量,但變量間要用逗號間隔。最后一個變量名后必須用分號“;”結(jié)束。[]內(nèi)的為可選項(xiàng),即為變量的初始化。

2.常量與變量標(biāo)識符

關(guān)鍵字常量變量變量分類2、實(shí)型變量

(1)實(shí)型變量的分類

單精度:類型說明符為float,在內(nèi)存中占4個字節(jié)。雙精度:類型說明符為double,在內(nèi)存中占8個字節(jié)。(2)實(shí)型變量的定義

實(shí)型變量的定義一般形式為:類型說明符變量1[=值1],變量2[=值2],…;例題:floata,b,c;//a,b,c為單精度實(shí)型變量doublex,y,z;//x,y,z為雙精度實(shí)型變量2.常量與變量標(biāo)識符

關(guān)鍵字常量變量已知圓的半徑,求圓的面積。運(yùn)行結(jié)果語句編寫main(){}floatr=1.5,pi,area;pi=3.14;area=pi*r*r;area=7.065000printf("area=%f\n",area);注意說明:(1)實(shí)型變量由有限的存儲單元組成,能提供的有效數(shù)字有限,這樣就存在舍入誤差。(2)一個單精度實(shí)型變量只能保證7位有效數(shù)字(指整數(shù)部分與小數(shù)部分共7位,不包括小數(shù)點(diǎn)),后面的數(shù)字是無意義的,并不準(zhǔn)確地表示該數(shù)。應(yīng)當(dāng)避免將一個很大的數(shù)和一個很小的數(shù)直接相加或相減,否則就會“丟失”小的數(shù)。(3)%f格式輸出6位小數(shù),但不能保證這6位小數(shù)全部有效,需要看整數(shù)和小數(shù)的位數(shù)之和。2.常量與變量標(biāo)識符

關(guān)鍵字常量變量變量分類3、字符變量

(1)字符變量的定義

字符變量的定義一般形式為:類型說明符變量1[=值1],變量2[=值2],…;例題:chara,b;//a,b為字符變量運(yùn)行結(jié)果語句編寫main(){}intm;charc;m='A'; //字符賦值給整型變量A,65c=66; //整數(shù)賦值給字符變量printf("%c,%d\n",m,m);printf("%c,%d\n",c,c);B,66注意說明:字符變量用來存放字符常量,只能放一個字符。C語言允許對整型變量賦以字符值,也允許對字符變量賦以整型值。允許把字符變量按整型量輸出,也允許把整型量按字符量輸出。

3.數(shù)據(jù)類型轉(zhuǎn)換自動類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換轉(zhuǎn)換規(guī)則(1)若參與運(yùn)算量的類型不同,則先轉(zhuǎn)換成同一類型,然后進(jìn)行運(yùn)算。

(2)轉(zhuǎn)換按數(shù)據(jù)長度增加的方向進(jìn)行,以保證精度不降低。如int型和long型運(yùn)算時,先把int量轉(zhuǎn)成long型后再進(jìn)行運(yùn)算。(3)所有的浮點(diǎn)運(yùn)算都是以雙精度進(jìn)行的,即使僅含float單精度量運(yùn)算的表達(dá)式,也要先轉(zhuǎn)換成double型,再作運(yùn)算。(4)char型和short型參與運(yùn)算時,必須先轉(zhuǎn)換成int型。(5)在賦值運(yùn)算中,兩邊的數(shù)據(jù)類型不同時,賦值號右邊量的類型將轉(zhuǎn)換為左邊量的類型。char,shortintunsignedlongdoublefloat低高3.數(shù)據(jù)類型轉(zhuǎn)換自動類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換假設(shè)已指定i為整型變量,f為float型變量,d為double型變量,e為long型變量,表達(dá)式為:10+'a'+i*f-d/e,則表達(dá)式的運(yùn)行次序?運(yùn)行次序:

第一步運(yùn)行:i*f第二步運(yùn)行:d/e第三步運(yùn)行:10+'a'第四步運(yùn)行:10+'a'+i*f

第五步運(yùn)行:10+'a'+i*f-d/e運(yùn)行結(jié)果語句編寫main(){}inti=2;floatf=1.5;doubled=4.0;longe=2;printf(“i*f=%f,i轉(zhuǎn)化為float類型參與運(yùn)算",i*f);printf(“d/e=%lf,e轉(zhuǎn)化為double類型參與運(yùn)算",d/e);i*f=3.000000,i轉(zhuǎn)化為float類型參與運(yùn)算printf("10+'a'=%d,'a'轉(zhuǎn)化為int類型參與運(yùn)算",10+'a');printf("10+'a'+i*f=%f,int轉(zhuǎn)化為float類型",10+'a'+i*f);printf("10+'a'+i*f-d/e=%lf,float轉(zhuǎn)化為double類型",10+'a'+i*f-d/e);d/e=2.000000,e轉(zhuǎn)化為double類型參與運(yùn)算10+'a'=107,'a'轉(zhuǎn)化為int類型參與運(yùn)算10+'a'+i*f=110.000000,int轉(zhuǎn)化為float類型10+'a'+i*f-d/e=108.000000,float轉(zhuǎn)化為double類型3.數(shù)據(jù)類型轉(zhuǎn)換自動類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換一般形式(類型說明符)(表達(dá)式)

例題:(double)a將變量a強(qiáng)制轉(zhuǎn)換為double類型(int)(x+y)將x+y的值強(qiáng)制轉(zhuǎn)換為int類型(float)(5%3)將5%3的值強(qiáng)制轉(zhuǎn)換為float類型(float)x/y將x強(qiáng)制轉(zhuǎn)換成float類型后,再參與運(yùn)算運(yùn)行結(jié)果語句編寫main(){}floatf;f=9.8;(int)f=9,f=9.8printf("(int)f=%d,f=%f\n",(int)f,f);注意說明:表達(dá)式應(yīng)該用括號括起來。進(jìn)行強(qiáng)制類型轉(zhuǎn)換時,得到的是一個所需類型的中間變量,原來變量的類型并未發(fā)生改變。同步訓(xùn)練一、選擇題1.以下標(biāo)識符不是關(guān)鍵字的是()。A.

breakB.char

C.SwitchD.return2.在以下各組標(biāo)識符中,合法的標(biāo)識符是()。A.A01、IntB.t_1、t%1C.0a、a1D.r#、if3.以下所列的C語言常量中,錯誤的是()。A.0xFFB.1.2e0.5C.2LD.’\72’4.若有以下定義:Chara;intb;floatc;doubled;

則C語言表達(dá)式“a*b+d-c”值的類型是()A.floatB.intC.charD.doubleCABD任務(wù)小結(jié)1.學(xué)會了常量與變量的書寫和定義2.學(xué)會了三種基本數(shù)據(jù)類型的應(yīng)用3.學(xué)會了數(shù)制之間的轉(zhuǎn)換。我學(xué)會了什么?課程名稱可修改COURSETITLE 課程名稱可修改COURSETITLE NAME可修改

課程名稱可修改COURSETITLE NAME可修改

第2章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式任務(wù)2:運(yùn)算符與表達(dá)式的應(yīng)用1.各種運(yùn)算符及表達(dá)式的含義及應(yīng)用2.運(yùn)算符的優(yōu)先級知識目標(biāo)教學(xué)目標(biāo)技能目標(biāo)1.會應(yīng)用各種運(yùn)算符及表達(dá)式2.會調(diào)試和運(yùn)行程序1.學(xué)習(xí)過程中形成樂于探究的意識和敢于創(chuàng)新的精神。2.養(yǎng)成主動與他人交流合作的精神。素質(zhì)目標(biāo)1.算術(shù)運(yùn)算符與表達(dá)式運(yùn)算符表達(dá)式基本算術(shù)運(yùn)算符2、優(yōu)先級:1、分類:()>

、/、%>+,–運(yùn)行結(jié)果語句編寫main(){}printf("%d,%d\n",3+2,3-2);printf("%d,%d,%f\n",3*2,3/2,3.0/2);printf("%d\n",3%2);5,16,1,1.5000001(1)加法“+”,或正值運(yùn)算符,如2+9=11,+6。(2)減法“–”,或負(fù)值運(yùn)算符,如9-5=4,-5。

(3)乘法“

”,如4*8=32。(4)除法“/”,如7/2=3,整除結(jié)果為整數(shù),舍去小數(shù),只取商。

7/2.0=?。(5)求模“%”,或稱求余運(yùn)算符,要求兩側(cè)均為整數(shù),如9%2=1。英文知識:操作數(shù)(operand)[?ɑ?p?r?nd]運(yùn)算符(operator)[?ɑ?p?re?t?r]

1.算術(shù)運(yùn)算符與表達(dá)式運(yùn)算符表達(dá)式自加自減運(yùn)算符(單目運(yùn)算符)

1、作用:自增運(yùn)算使單個變量的值增1,自減運(yùn)算使單個變量的值減1。2、運(yùn)算規(guī)則:(1)前置運(yùn)算:運(yùn)算符放在變量之前:++a、--a,先使變量的值增(或減)1,然后再以變化后的值參與其它運(yùn)算,即先增減、后運(yùn)算。(2)后置運(yùn)算:運(yùn)算符放在變量之后:a++、a--,變量先參與其它運(yùn)算,然后再使變量的值增(或減)1,即先運(yùn)算、后增減。main(){}j=--i;1.算術(shù)運(yùn)算符與表達(dá)式運(yùn)算符表達(dá)式算術(shù)運(yùn)算符應(yīng)用舉例。運(yùn)行結(jié)果語句編寫inti=3,j;j=i++;printf("i=%d,j=%d\n",i++,j);j=++i;i=4,j=3printf("i=%d,j=%d\n",++i,j);printf("i=%d,j=%d\n",i--,j);j=i--;printf("i=%d,j=%d\n",--i,j);注意說明:(1)++和--只能用于變量,而不能用于常量或表達(dá)式。如:(i+j)++或5--是不合法的。(2)++和--的結(jié)合方向是“自右至左”。如:i=4,則-i--相當(dāng)于-(i--)結(jié)果為-4,而i的值為3。(3)運(yùn)算符的組合原則是自左而右。如:a+++b等價于(a++)+b,而不是a+(++b)。i=7,j=6i=6,j=6i=3,j=5(4)++和--常用于循環(huán)語句中,使循環(huán)控制變量加(或減)1,指針變量中,使指針上移(或下移)一個位置。1.算術(shù)運(yùn)算符與表達(dá)式運(yùn)算符表達(dá)式定義:

算術(shù)表達(dá)式是用算術(shù)運(yùn)算符和括號將運(yùn)算對象(也稱操作數(shù))連接起來的、符合C語法規(guī)則的式子,其中運(yùn)算對象可以是常量、變量、函數(shù)等。例如:a*b/c-1.5+’a’是一個合法的算術(shù)表達(dá)式。注意說明:(1)與數(shù)學(xué)表達(dá)式的書寫形式的區(qū)別:C語言算術(shù)表達(dá)式的乘號(*)不能省略。例如:b2-4ac,應(yīng)該寫成b*b-4*a*c。C語言表達(dá)式中只能出現(xiàn)字符集允許的字符。例如:πr2應(yīng)該寫成PI*r*r。C語言算術(shù)表達(dá)式不允許有分子分母的形式。例如:(a+b)/(c+d)不等于a+b/c+d。C語言算術(shù)表達(dá)式只使用圓括號改變運(yùn)算的優(yōu)先順序(不能用{}[])。1.算術(shù)運(yùn)算符與表達(dá)式運(yùn)算符表達(dá)式定義:

算術(shù)表達(dá)式是用算術(shù)運(yùn)算符和括號將運(yùn)算對象(也稱操作數(shù))連接起來的、符合C語法規(guī)則的式子,其中運(yùn)算對象可以是常量、變量、函數(shù)等。例如:a*b/c-1.5+’a’是一個合法的算術(shù)表達(dá)式。注意說明:(2)各運(yùn)算符的“優(yōu)先級”和“結(jié)合性”:在表達(dá)式求值時,按運(yùn)算符的優(yōu)先級高低次序執(zhí)行,如:a-b*c等價于a-(b*c)。如果優(yōu)先級別相同,則按規(guī)定的“結(jié)合方向”,如表達(dá)式:a-b+c結(jié)合性為“自左向右”,所以等價于(a-b)+c。C對于復(fù)雜表達(dá)式為了清晰起見可以加圓括號“()”強(qiáng)制規(guī)定計(jì)算順序。2.賦值運(yùn)算符與表達(dá)式運(yùn)算符表達(dá)式賦值運(yùn)算符x=12;作用是執(zhí)行一次賦值操作,將12賦給變量x。a=5+x;作用是將表達(dá)式5+x的值賦給變量a。例如:符號“=”為賦值運(yùn)算符,作用是將賦值運(yùn)算符右邊的表達(dá)式的值賦給其左邊的變量。

注意說明:在賦值號“=”的左邊只能是變量,而不能是常量或表達(dá)式,如不能寫成:2=x;或x+y=a+b;2.賦值運(yùn)算符與表達(dá)式運(yùn)算符表達(dá)式復(fù)合賦值運(yùn)算符+=,-=,*=,/=,%=,<<=,>>=,&=,^=,|=例如:在賦值符“=”之前加上其它二目運(yùn)算符可構(gòu)成復(fù)合賦值符。一般形式:變量復(fù)合賦值符=表達(dá)式

變量=變量運(yùn)算符表達(dá)式a+=5等價于a=a+5x*=y+7等價于x=x*(y+7)//注意:不要寫成x=x*y+7

r%=p等價于r=r%p例如:2.賦值運(yùn)算符與表達(dá)式運(yùn)算符表達(dá)式定義:

由賦值運(yùn)算符組成的表達(dá)式稱為賦值表達(dá)式。例如:x=5賦值表達(dá)式x=5的值為5,x的值也為5。x=7%2+(y=5)賦值表達(dá)式的值為6,x的值也為6,y的值為5。a=(b=6)或a=b=6賦值表達(dá)式的值為6,a、b的值均為6。a+=a*(a=5) 相當(dāng)于a=5+5*5,賦值表達(dá)式的值為30,a的值最終也是30。一般形式:變量=表達(dá)式

功能:賦值表達(dá)式的功能是計(jì)算表達(dá)式的值再賦予左邊的變量。2.賦值運(yùn)算符與表達(dá)式運(yùn)算符表達(dá)式賦值語句應(yīng)用舉例。運(yùn)行結(jié)果語句編寫main(){}inta;

printf("a=%d\n",a);

a=34.567;a=34注意說明:(1)賦值表達(dá)式加上一個分號則可構(gòu)成賦值語句,即:變量=表達(dá)式;(2)賦值語句不是表達(dá)式,表達(dá)式可以用在其它語句或表達(dá)式中,而語句只能作為一個單獨(dú)的語句使用。(3)

C語言規(guī)定:可以在定義變量的同時給變量賦值,也叫給變量初始化。

例如:intx=5;但inta=b=5;是錯誤的(4)賦值運(yùn)算時,當(dāng)賦值運(yùn)算符兩邊數(shù)據(jù)類型不同時,系統(tǒng)自動進(jìn)行類型轉(zhuǎn)換,轉(zhuǎn)換原則是:先將賦值號右邊表達(dá)式類型轉(zhuǎn)換為左邊變量的類型,然后賦值。3.逗號運(yùn)算符與表達(dá)式逗號運(yùn)算符C語言提供一種用逗號“,”運(yùn)算符,逗號運(yùn)算符又稱順序求值運(yùn)算符。

表達(dá)式一般形式:表達(dá)式1,表達(dá)式2,……,表達(dá)式n

運(yùn)行結(jié)果語句編寫main(){}inta=1,b=2,c=3,x,y;printf("x=%d,y=%d\n",x,y);

y=(x=a+b,b+c,x+c);x=3,y=6注意說明:(1)逗號表達(dá)式的求解過程為:先求解表達(dá)式1,再求解表達(dá)式2,依次類推。結(jié)合性自左向右。(2)表達(dá)式n的值就是整個逗號表達(dá)式的值。(3)逗號運(yùn)算符的優(yōu)先級是所有運(yùn)算符中最低的。4.關(guān)系表達(dá)式設(shè)計(jì)關(guān)系運(yùn)算符關(guān)系表達(dá)式C語言中提供了6種關(guān)系運(yùn)算符:<(小于)<=(小于或等于)>(大于)>=(大于或等于)優(yōu)先級高==(等于)!=(不等于)優(yōu)先級低4.關(guān)系表達(dá)式設(shè)計(jì)關(guān)系運(yùn)算符關(guān)系表達(dá)式注意說明:(2)關(guān)系運(yùn)算符的優(yōu)先級低于算術(shù)運(yùn)算符。

(3)關(guān)系運(yùn)算符的優(yōu)先級高于賦值運(yùn)算符。(1)前4種關(guān)系運(yùn)算符的優(yōu)先級別相同,后兩種也相同,但前4種高于后2種。例如:“>”優(yōu)先于“==”,“<=”與“>=”優(yōu)先級相同。

表達(dá)式c>a+b,應(yīng)該先算a+b,然后再和c進(jìn)行比較。

表達(dá)式a=b>c,應(yīng)該先b和c進(jìn)行比較,然后再將結(jié)果賦值給a。

4.關(guān)系表達(dá)式設(shè)計(jì)關(guān)系運(yùn)算符關(guān)系表達(dá)式定義:用關(guān)系運(yùn)算符將兩個表達(dá)式(可以是算術(shù)表達(dá)式、關(guān)系表達(dá)式、邏輯表達(dá)式、賦值表達(dá)式等)連接起來的式子,稱為關(guān)系表達(dá)式。結(jié)果描述:關(guān)系表達(dá)式的值有兩個1和0,當(dāng)關(guān)系表達(dá)式成立時,其值為1,當(dāng)關(guān)系表達(dá)式不成立時,其值為0,C語言中以1代表“真”,以0代表“假”。例如:已知a=1,b=2,c=3,則關(guān)系表達(dá)式a>b的結(jié)果為假,值為0。關(guān)系表達(dá)式a+b==c的結(jié)果為真,值為1。4.關(guān)系表達(dá)式設(shè)計(jì)關(guān)系運(yùn)算符關(guān)系表達(dá)式判斷整型變量n為偶數(shù),怎么書寫關(guān)系表達(dá)式?何如編寫關(guān)系表達(dá)式?結(jié)果:能被2整除的數(shù)據(jù)稱為偶數(shù),那么可以寫成n%2==0。判斷成績變量score為及格,怎么書寫關(guān)系表達(dá)式?結(jié)果:成績大于等于60分稱為考試及格,那么可以寫成score>=60。ab!a!ba&&ba||b真假真假假假真真邏輯運(yùn)算真值表真假假假假假真真假假真真真假真真5.邏輯運(yùn)算符與表達(dá)式C語言中提供了3種邏輯運(yùn)算符:&&(邏輯與)||(邏輯或)!(邏輯非)邏輯運(yùn)算符邏輯表達(dá)式例:a<=x&&x<=b

a>b&&x>ya==b||x==y!a||a>ba+b>c&&x+y<b//等價于(a<=x)&&(x<=b)//等價于(a>b)&&(x>y)//等價于(a==b)||(x==y)//等價于(!a)||(a>b)5.邏輯運(yùn)算符與表達(dá)式邏輯運(yùn)算符!(2)&&(11)||(12)高低優(yōu)先級:!(非)算術(shù)運(yùn)算符關(guān)系運(yùn)算符&&和||賦值運(yùn)算符高低

//等價于((a+b)>c)&&((x+y)<b)邏輯運(yùn)算符邏輯表達(dá)式5.邏輯運(yùn)算符與表達(dá)式定義:用邏輯運(yùn)算符將兩個表達(dá)式連接起來的式子稱為邏輯表達(dá)式。注意說明:(1)C語言編譯系統(tǒng)在給出邏輯運(yùn)算結(jié)果時,以數(shù)字1表示“真”,以數(shù)字0表示“假”。(2)在判斷一個量是否為“真”時,以0表示“假”,以非0表示“真”。邏輯運(yùn)算符邏輯表達(dá)式例a=4;b=5;!aa&&ba||b!a||b4&&0||25>3&&2||8<4-!0‘c’&&‘

溫馨提示

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

評論

0/150

提交評論