C語言程序設(shè)計基礎(chǔ)課件 第2章數(shù)據(jù)類型運算符和表達式_第1頁
C語言程序設(shè)計基礎(chǔ)課件 第2章數(shù)據(jù)類型運算符和表達式_第2頁
C語言程序設(shè)計基礎(chǔ)課件 第2章數(shù)據(jù)類型運算符和表達式_第3頁
C語言程序設(shè)計基礎(chǔ)課件 第2章數(shù)據(jù)類型運算符和表達式_第4頁
C語言程序設(shè)計基礎(chǔ)課件 第2章數(shù)據(jù)類型運算符和表達式_第5頁
已閱讀5頁,還剩53頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

C語言程序設(shè)計

第2章數(shù)據(jù)類型運算符和表達式第2章數(shù)據(jù)類型、運算符和表達式2.算術(shù)運算1.基本數(shù)據(jù)類型1)整型和浮點型(實型)數(shù)據(jù)

2)整型和浮點型(實型)的轉(zhuǎn)換3)字符型數(shù)據(jù)4)字符串型數(shù)據(jù)4.自增與自減運算

5.逗號運算6.位運算3.賦值運算

整型常量和浮點型常量涇渭分明整型常量浮點型(實型)常量整型常量表示法,十進制數(shù)直接打,數(shù)前添零進制八,十六進制再加叉(x或X)。浮點小數(shù)莫忘點。指數(shù)E(e)挑兩邊全,E(e)后必須是整數(shù),前后兩邊緊相連。10

-247(十進制)

前加0: 八進制前加0x或0X: 十六進制(不能寫為二進制)012100xA或0Xaa=018;八進制數(shù)由0-7組成,不能含8、9

只能十進制E(或e)代表×10小數(shù)形式:3.14-2.012..36指數(shù)形式:0.21E5-35.8e-21e011.01.a=0175;a=125;a=0x7d;5.6Ee38E1.5整型變量和浮點型變量涇渭分明整型變量浮點型(實型)變量int

變量名1,變量名2,…;float

變量名1,變量名2,…;double

變量名1,變量名2,…;1)單精度型2)雙精度型1)基本型2)帶修飾詞short:短整型,占2字節(jié)(范圍約±3萬)long:長整型,占4字節(jié)signed:有符號型(signed

可省略)unsigned:無符號型,不能存負數(shù)

占4字節(jié),范圍±1038

,7位有效數(shù)字占8字節(jié),范圍±10308

,15位有效數(shù)字a:inta;a=1;1a=10000;10000

1.23E50b:floatb=1.5;1.5b=5.25e-8;5.25e-8doublex=2.0,y;y:b=0.001234567;0.001234567b=0.00123456789;0.001234568

y=1.23E50;x:2.0signedshortintm;shortintm;signedlongintn;longn;unsignedshortintd;unsignedintk;在VC2010中占4字節(jié),可表示范圍±21億編程時應(yīng)根據(jù)實際需要選用不同類型的變量應(yīng)根據(jù)需要選用不同類型、不同規(guī)格的變量:既滿足精度,又盡量避免大材小用。

定義變量保存地球到太陽之間的距離:

1.495978707x1011

doubleem=1.495978707e11;

定義變量保存全班同學平均成績

floatscore;

定義變量保存宇宙間共有粒子數(shù)的估

計值:1080

doublennn=1E80;

定義變量保存某超市進貨數(shù)量

intnumber;

定義變量保存人的年齡

unsignedintage;整型和實型數(shù)據(jù)在計算機中的存儲計算機內(nèi)存只能存儲0和1

123588976345整數(shù)例:8存作8的二進制:

00000000…00001000實數(shù)小數(shù)×2指數(shù)轉(zhuǎn)換為二進制存儲(補碼)3.142.08.122.5e-30.3E51.5小數(shù)部分和指數(shù)部分分別存儲4字節(jié)或8字節(jié)指數(shù)部分

小數(shù)部分(固定為1.f)符號位正數(shù):0

負數(shù):1

例:8.0變?yōu)?.0×23

再分別存1.0和3的二進制存儲方式截然不同第2章數(shù)據(jù)類型、運算符和表達式2.算術(shù)運算1.基本數(shù)據(jù)類型3)字符型數(shù)據(jù)4)字符串型數(shù)據(jù)4.自增與自減運算

5.逗號運算6.位運算3.賦值運算

1)整型和浮點型(實型)數(shù)據(jù)2)整型和浮點型(實型)的轉(zhuǎn)換變量賦值的自動類型轉(zhuǎn)換只能保存整數(shù),不能保存實數(shù)。inta;a=2.8;a:doubley;y=3;整型變量實型變量float、doubleint(或有int的修飾詞)只能保存實數(shù),不能保存整數(shù)。

y:變量定空間,塑身再搬遷。若為空間窄,舍點也情愿。23.0inta=1.2,b,c;

b=3.4;c=a+b;c的值為________4floata=1.2,b;intc; b=3.4;c=a+b;c的值為________4floata=1.2,b,c;

b=3.4;c=a+b;c的值為________4.6常量的后綴L(或l)U(或u)F(或f)為了對應(yīng)變量的類型,常量也有類型:-65u在程序中直接寫不帶小數(shù)點的整數(shù),默認為基本型整型(int

型);帶小數(shù)點或E(e)的常量,默認為雙精度實型(double

型)。若要改變常量的類型,可在常量后加后綴:整數(shù)后加L(l)表示常量為長整型(long),實數(shù)后加L(l)表示常量為長雙精度型(longdouble),二者在VC2010中與不加L(l)的效果都相同。

如:0L、125L、100000L、1.234567L只能加在整數(shù)后面,表示常量為無符號型,即非負:如0U、6U、65535u可既用L又用U,表示常量為無符號長整型,如:

0LU、6LU、65535lu表示常量為單精度型(float),加在整數(shù)后也表示為float型(不再為整數(shù))。例如:1.23f、356f,即有后綴F(f)時,可不加小數(shù)點,也表示實數(shù)。

第2章數(shù)據(jù)類型、運算符和表達式2.算術(shù)運算1.基本數(shù)據(jù)類型3)字符型數(shù)據(jù)

4)字符串型數(shù)據(jù)4.自增與自減運算

5.逗號運算6.位運算3.賦值運算

1)整型和浮點型(實型)數(shù)據(jù)2)整型和浮點型(實型)的轉(zhuǎn)換字符型量概述//類似QQ的程序main(){....;

發(fā)送"你好!";....;}現(xiàn)代計算機除能計算數(shù)值之外,還能處理文字。用QQ與好友聊天就是一個處理文字的例子。如何編寫一個類似QQ的程序呢?文字型數(shù)據(jù)

用QQ收發(fā)消息時,消息是文字的,而不是數(shù)值的如何用C語言表示文字型數(shù)據(jù)呢(用C語言怎樣說)?

先學習1個字符的文字——字符型數(shù)據(jù);再學習多個字符組成的文字——字符串。單引號必須為英文,不分左右;單引號內(nèi)只能有字符,如'ab'錯誤!''也錯誤!每個字符常量占1個字節(jié)(8個bit位);單引號是定界符,它不屬于字符內(nèi)容;字符型常量一個先考慮字符如何用C語言表示?例如要向好友發(fā)送一個字符‘a(chǎn)’,該如何做呢?main(){....;

發(fā)送a;....;}main(){....;

發(fā)送'a';....;}a為變量,發(fā)送的是a的值不是字符a本身用單引號括起,發(fā)送的才是字符a本身一個用單引號括起的一個

字符,是要處理的字符數(shù)據(jù),不是變量名,這稱字符型常量。'a'、'b'、'c'

'a'、'b'、'c'、'1'、'5'、'0'、','、'!'、'='、'+'、'#'、'$'、''(一個空格字符)

好友只能收到a,收不到單引號的哦!

字符型數(shù)據(jù)在計算機中如何存儲?計算機內(nèi)存由只能存儲0和1的存儲單元組成123588976345字符編號(整數(shù))'a''b''-''5''0''=''*''#''c'字符型數(shù)據(jù)ASCII碼(AmericanStandardCodeforInformationInterchange)例如:

'a'

編號為97,存作97的二進制;

']'編號為93,存作93的二進制。ASCII碼標準ASCII碼0~127

0~31,127:控制字符(不可顯示)32:空格字符''48~57:數(shù)字字符'0'~'9'按'0'-'9'的順序依次遞增排列;65~90:大寫字母字符'A'~'Z'按字母表的順序依次遞增排列97~122:小寫字母字符'a'~'z'按字母表的順序依次遞增排列附錄一*128~255為擴展字符。對應(yīng)的大小寫字母ASCII碼差32。?已知字符'A'的ASCII碼為65,則字符'B'的ASCII碼是

,字符'd'的ASCII碼是

。66100數(shù)字字符'0'的ASCII碼是

0嗎?數(shù)字字符'1'的ASCII碼是

1嗎?

字符型數(shù)據(jù)與整數(shù)的混用97整數(shù)'a'字符97的二進制or字符與整數(shù)是混用的字符變作對應(yīng)的ASCII碼

'C'+1 'D'-'C' '7'+'1' 'a' 'A' '' 'a' '1' 'A' 'a' 65

='D'=68=68-67=1=55+49=104='h';≠'8'97>6532<9749<6597>65><<>數(shù)字字符常量與整型常量的區(qū)別'5'

5

'5'的ASCII碼不是5!字符型常量,ASCII碼為53,存作53的二進制;整型常量,直接存作

5的二進制;完全不同'5'

-'0'='5'-48=+'0'=5+48=5

5

'5'

'9'

-'0'='9'-48=+'0'=9+48=9

9

'9'

'0'(48)字符對應(yīng)的一位整數(shù)數(shù)字字符魔術(shù)棒——轉(zhuǎn)義字符是唯一特殊的字符,并不表示\

本身,而是改變其后字符的原有含義轉(zhuǎn)義字符\換行符:'\n'跳格符:'\t'響鈴符:'\a'n換行符a響鈴符t跳格符'普通單引號定界符'普通斜杠字符轉(zhuǎn)義字符\'\' 錯誤'\\' 表示\字符''' 錯誤'\'' 表示'字符'\"' 表示"字符轉(zhuǎn)義字符(3)轉(zhuǎn)義字符用途

①可表示特殊字符(\'")。

②可表示不能顯示的控制字符。③可通過ASCII碼表示任意一個字符。ASCII碼的八進制(1-3位)一個字符ASCII碼的十六進制(1-2位)一個字符轉(zhuǎn)義字符(4)'\61''1''\101''A''\x41''A''\19'這使得一種字符可以有多種表示方法,如字符A可表示為:'A'、'\101'、'\x41''\012'、'\xA'、'\12'、'\x0A'換行符除可寫為'\n'外,還有哪些表示法呢?(已知換行符的ASCII碼為10)八進制數(shù)不能有數(shù)符8、9'\ddd'ddd為1~3位八進制數(shù)。

表示ASCII碼的八進制為ddd的字符。'\xhh'hh為1~2位十六進制數(shù)(x必須小寫)。

表示ASCII碼的十六進制為hh的字符。字符型變量字符型變量占1個字節(jié),保存一個字符(保存字符的ASCII碼)

c:charc;c='a';c=98;'a''b'

有符號

無符號

或省略signed

signedchar

變量名1,變量名2,…;可保存負數(shù),范圍:-128~127unsignedchar

變量名1,變量名2,…;不能保存負數(shù),范圍:0~255第2章數(shù)據(jù)類型、運算符和表達式2.算術(shù)運算1.基本數(shù)據(jù)類型3)字符型數(shù)據(jù)4)字符串型數(shù)據(jù)

4.自增與自減運算

5.逗號運算6.位運算3.賦值運算

1)整型和浮點型(實型)數(shù)據(jù)2)整型和浮點型(實型)的轉(zhuǎn)換字符串型數(shù)據(jù)羊肉串"iPhone"雙引號括起(英文雙引號,不分左右),0~多個字符字符串:由一個個的單個字符組成——一串字符。字符串常量"BMWZ4""$12.5""a"""空串在內(nèi)存中的存儲方式每字符占1個字節(jié)連續(xù)存儲,多占1個字節(jié)存'\0'。

"iPhone""BMWZ4""$12.5""a"""空串'B''M''W''''Z''4''\0''$''1''2''.''5''\0''a''\0''\0''i''P''h''o''n''e''\0'字符串的長度長度66510"m\n"2"m\\n"'m''\\''n''\0'3"m\\\n"'m''\\''\n''\0'3"iPhone""BMWZ4""$12.5""a"""空串'B''M''W''''Z''4''\0''$''1''2''.''5''\0''a''\0''\0''i''P''h''o''n''e''\0'所包含的字符個數(shù)(不含'\0',但計空格)'m''\n''\0'"m\\\n""m\\n""m\n"字符常量和字符串常量的區(qū)別字符常量字符串常量引號單引號雙引號字符個數(shù)只能含1個字符(轉(zhuǎn)義字符形式上多個實際仍為1個)可含0~多個字符能否能將值賦給char型變量)可以不可以有無對應(yīng)變量有字符型變量無字符串型變量占用內(nèi)存字節(jié)數(shù)一律1個字節(jié)字符串字符數(shù)(長度)+1沒有字符串變量不能企圖將字符串常量賦值給字符型的變量charc;c="abcde";字符串常量的簡單輸出#include<stdio.h>main(){ printf("*****\n"); printf("*****\n"); printf("*★*★**\n"); printf("*★**\n"); printf(">>>------Iloveyou!------>*\n"); printf("***\n"); printf("*★**\n"); printf("***\n"); printf("***\n"); printf("**\n");}printf("nihao!"); /*在屏幕原樣輸出nihao!*/printf("\101"); /*在屏幕輸出A,即僅包含1個字符A的字符串*/注意先關(guān)閉當前的解決方案,或重新開啟VS2010,再新建項目。程序中引號之內(nèi)的空格不是可有可無的,引號之內(nèi)空格的有無雖然都沒有語法錯誤,但會影響輸出結(jié)果。第2章數(shù)據(jù)類型、運算符和表達式2.算術(shù)運算

1.基本數(shù)據(jù)類型3)字符型數(shù)據(jù)4)字符串型數(shù)據(jù)4.自增與自減運算

5.逗號運算6.位運算3.賦值運算

1)整型和浮點型(實型)數(shù)據(jù)2)整型和浮點型(實型)的轉(zhuǎn)換算術(shù)運算符17%5 值為23%10 值為30%10 值為0-5%3 值為-25%-3 值為2%:運算量必須為整型或字符型50.823%9+(加,或正號)-

(減,或負號)*(乘)/(除)%(取余數(shù),求模)優(yōu)先級先乘除,后加減

*/%優(yōu)先級相同,高于+-

doubled=1.0;printf("%d",d%10);求余%嚴,整符才能算?!馈痢滤阈g(shù)表達式表達式的大、中、小括號一律使用小括號(),如:c*(a/(b+c))(1+((2+3)*4-8)/2+5)*2其中最內(nèi)層()表示小括號,向外逐層分別表示中括號、大括號…;還可繼續(xù)在外層嵌套(),()的層數(shù)理論上沒有限制。10+20(a*2)/b(x+r)*8-(a+b)/10sin(x)+sin(y)5a×b a?ba±b a÷b2ab 2(a+b)a2c*[a/(b+c)]運算符與數(shù)據(jù)組成表達式。如用單引號或雙引號括起來的就不是運算符,也不是表達式了:'+'、'-'不是運算符,是字符型常量"5+2"不是表達式,是字符串常量第②類自動類型轉(zhuǎn)換所有表達式都有一個值及類型。低類型轉(zhuǎn)換為高類型:char→int→float

→double特殊:所有浮點數(shù)必然都轉(zhuǎn)換為double再運算(即使兩個float型量的運算也都先轉(zhuǎn)換為double)表達式的值:就是表達式的運算結(jié)果;表達式的類型:兩個運算量類型一致時,與兩個運算量的類型一致。兩個運算量類型不一致時,表達式的類型與其中較高類型運算量的類型一致(較低類型運算量先被自動轉(zhuǎn)換為高類型再運算)。類型不怕亂,結(jié)果向高看。2.4+1.6

結(jié)果為double型4.0,結(jié)果不能為int型的42.4+3 結(jié)果為double型為5.4,結(jié)果不能為整數(shù)5area:

12兩類自動類型轉(zhuǎn)換綜合練習類型不怕亂,結(jié)果向高看。變量定空間,塑身再搬遷。若為空間窄,舍點也情愿。第①類(變量賦值)第②類(運算過程中)兩類自動類型轉(zhuǎn)換:intv=2;doublet=2.8;ints;s=v*t;double:2.0double:5.6

s:

5①②就“變量”就“高”main(){

doublepai=3.14;

intarea,r=2;area=r*r*pai;printf("%d",area);}int:4

double:4.0double:12.56

①②12整數(shù)除法5/2 結(jié)果為2不是2.55.0/2 結(jié)果為2.55/2.0 結(jié)果為2.55.0/2.0 結(jié)果為2.51/2 結(jié)果為0不是0.51./2 結(jié)果為0.5-20/7 的結(jié)果為-2若有變量intx=3510;則表達式x/1000*1000的值是?如已定義float型的變量a,b,c,則表達式(a+b+c)/2與1/2*(a+b+c)等效嗎?整數(shù)除法:兩個整數(shù)相除,結(jié)果只取商的整數(shù)部分;只有兩個運算數(shù)至少有一個為實數(shù),結(jié)果才為實數(shù)。(答案:3000)5/2int:?int:25.0/2double:2.0double:2.5答案:不等效!后者必為0。但等效形式可寫為:1.0/2*(a+b+c)或1/2.0*(a+b+c)或1.0/2.0*(a+b+c)整數(shù)整除商,小數(shù)門外攔。強制類型轉(zhuǎn)換強制類型轉(zhuǎn)換:floatx=4.5,y=2.1;(int)(x+y)的值為:6 先求和,再將“和”轉(zhuǎn)換(int)x+y的值為:6.1 先把x轉(zhuǎn)換后再求和(類型說明符)量類型說明符為int、long、unsigned、float、double、char等。功能是強制把“量”臨時轉(zhuǎn)換為類型說明符的類型(轉(zhuǎn)換后精度可能會受損,如將實數(shù)強制轉(zhuǎn)換為int、將double強制轉(zhuǎn)換為float都受損)

。(int)3.8值為3floatf=5.75;則(int)f的值為

5,而f的值仍為5.75。括起類型字,臨時強轉(zhuǎn)換。算術(shù)運算小結(jié)和練習類型不怕亂,結(jié)果向高看。整數(shù)整除商,小數(shù)門外攔。求余%嚴,整符才能算。括起類型字,臨時強轉(zhuǎn)換。表達式(int)((double)(3/2)+0.5+(int)1.99*2)的值是_______表達式(int)((double)(3/2)+0.5+(int)1.99*2)

的值是_______311.0123.5四舍五入公式若x是實數(shù)(單精度或雙精度),把x四舍五入保留小數(shù)點后d位的計算公式是:(int)(x*10d+0.5)/10d

除數(shù)的10d必須加“.0”若有floatx=123.4567,y;要將x四舍五入保留小數(shù)點后2位,將結(jié)果存入變量y中的表達式語句是:y=(int)(x*100+0.5)/100.0;y=(int)(x*100.0+0.5)/100.0;y=(int)(12345.67+0.5)/100.0;y=(int)12346.17/100.0;y=12346/100.0;y=12346.0/100.0;y=123.46;如將最后的除法寫作“/100”,則y中的值為123.0是錯誤的。y=12346/100;y=123;y=123.0;取整數(shù)的個、十、百、千位……#include<stdio.h>main(){ intn=1234;

intge,shi,bai,qian; ge=n%10; shi=n/10%10; bai=n/100%10; qian=n/1000; printf("%d\n",ge); printf("%d\n",shi); printf("%d\n",bai); printf("%d\n",qian);}4321取一個整數(shù)x的個位:

x%10 如1234%10得到4取十位、百位、千位…都轉(zhuǎn)換為“取個位”的問題。取十位:①先縮小10倍生成新數(shù),原數(shù)的十位成為新數(shù)的個位②然后取新數(shù)的個位

(x/10)

%10 如1234/10%10得到3取百位:①先縮小100倍生成新數(shù),原數(shù)的百位成為新數(shù)的個位②然后取新數(shù)的個位

(x/100)

%10 如1234/100%10得到2……取最高位時,生成的新數(shù)只有一位,不再

%10

也是可以的。取整數(shù)x的個位:x%10取整數(shù)x的十位:x/10%10取整數(shù)x的百位:x/100%10取整數(shù)x的千位:x/1000%10……取最高位時,/n后可不再%10。第2章數(shù)據(jù)類型、運算符和表達式2.算術(shù)運算1.基本數(shù)據(jù)類型3)字符型數(shù)據(jù)4)字符串型數(shù)據(jù)4.自增與自減運算

5.逗號運算6.位運算3.賦值運算

1)整型和浮點型(實型)數(shù)據(jù)2)整型和浮點型(實型)的轉(zhuǎn)換賦值運算符a=10;a:10走,進去?、俨煌跀?shù)學上的等號,它沒有相等的含義。=不是相等,而是賦值。②是把右邊的內(nèi)容賦予左邊,而不是相反。③賦值后右邊內(nèi)容不變。例:intx=10,y=20;x=y;賦值后x、y均為20。④“=”左邊必須是變量,不能是常量也不能是表達式。a=a+1;a+1求值

走,進去!a:x+1=3;3x+1求值

嘿,搞什么嘛,這里不能裝東西!111011=走,進去!===賦值表達式+-*/%

運算符a+10a=10int:12a:2int:1010=

表達式5*(b=10+20)的值是

。=運算符的優(yōu)先級相當?shù)?,排在C語言所有運算符的倒數(shù)第二位。150同時:b被賦值變?yōu)?0表達式x=(a=5)+(b=8)的值是

。13賦值表達式也有表達式的值和類型,均與賦值后左邊變量的值和類型相同。=的兩個作用1表達式求值;

改變=左邊變量的值。

2+、-、*、/、%的一個作用1表達式求值;

同時:a被賦值為5,b被賦值為8,x被賦值為133058賦值表達式(2)

同優(yōu)先級運算符,從左到右運算——“從左到右”的結(jié)合性+-*/%

都是“從左到右”的1+2-3+4+5

同優(yōu)先級運算符,從右到左運算——“從右到左”的結(jié)合性=

是“從右到左”的x=y=25;x=25;x、y均被賦值為25定義變量時賦初值不能寫為連等的形式intx=y=25;25同時:y被賦值為2525同時:x被賦值為2525是剛才表達式計算的結(jié)果值已知整型變量n的值為8,求表達式n+=n*=n-2的值:

,表達式求值后n的值為

。

復(fù)合的賦值運算符

a+=5

a=a+5

r%=p

r=r%p

x*=y+7

x=x*(y+7)右邊要加()復(fù)合的賦值運算符與賦值運算

符(=)相同:優(yōu)先級倒數(shù)第二,

“從右到左”的結(jié)合性。n+=n*=n-2n+=n*=6n:848n*=6n=n*6n=4848n+=48n=n+48n=9696969696左邊也必須是變量。+-*/%=運算符+=-=*=/=%=

48同時:n被賦值為96同時:n被賦值為48n+=n*=n-2復(fù)合的賦值運算符(2)a+=b+c+=12;b+c=b+c+12a+=b+c+=12;b+c+12

b+c求值嘿,搞什么嘛,這里不能裝東西!走,進去!=a=7+1=b;a=7+1=b;b8

嘿,搞什么嘛,這里不能裝東西!走,進去!=8=b第2章數(shù)據(jù)類型、運算符和表達式2.算術(shù)運算1.基本數(shù)據(jù)類型3)字符型數(shù)據(jù)4)字符串型數(shù)據(jù)4.自增與自減運算

5.逗號運算6.位運算3.賦值運算

1)整型和浮點型(實型)數(shù)據(jù)2)整型和浮點型(實型)的轉(zhuǎn)換計數(shù)器按一次,計數(shù)+1

自增和自減運算+-*/%=+=-=*=/=%=

運算符++--

i=i+1;i:56

7i=i+1;j=j-1;j:109

8

j=j-1;自增運算符++:使變量的值自增1(結(jié)果仍存回該變量)自減運算符--:使變量的值自減1(結(jié)果仍存回該變量)單目運算優(yōu)先級很高,僅次于括號()

i++;或

++i;

i++;或

++i;

j--;或

--j;

j--;或

--j;都使i自增1,這一點沒有區(qū)別自增和自減運算設(shè)i=5;j=10;i:5j:10表達式i+j表達式的值計算表達式后變量的值15i仍為5j仍為10i++++i56i變?yōu)?i變?yōu)?j----j109j變?yōu)? j變 為9i++

++i

j--

--j

表達式

表達式

表達式

表達式

i+j

表達式表達式的值區(qū)別表達式的值區(qū)別+1后i的值-1后j的值都使j自減1,這一點沒有區(qū)別-1前j的值+1前i的值++在先,先加后用;++在后,后加先用;--在先,先減后用;--在后,后減先用。自增和自減運算(2)=的兩個作用1表達式求值;

改變=左邊變量的值。

2+、-、*、/、%的一個作用1表達式求值;

++、--也有兩個作用1表達式求值;

改變變量的值。

2表達式i+j表達式的值計算表達式后變量的值15i仍為5j仍為10i++++i56i變?yōu)?i變?yōu)?j----j109j變?yōu)? j變 為9+1后i的值-1后j的值-1前j的值+1前i的值++--

會改變運算量的值,也不能用于常量、表達式,只能用于變量!如5++錯誤--(a*b)錯誤自增和自減運算(3)inta=1,b;b=5-a++; 執(zhí)行后,b值為

,a值為

。等價于b=5-a;a=a+1;

inta=1,b;b=5-++a; 執(zhí)行后,b值為

,a值為

。a:1b:?a:1b:?1244222332inta=3,b=4;intx,y;x=a+++b++;y=a+++(++b);a:3b:43445x:?y:?7456610執(zhí)行后,x值為7,y值為10等價于a=a+1;b=5-a;第2章數(shù)據(jù)類型、運算符和表達式2.算術(shù)運算1.基本數(shù)據(jù)類型3)字符型數(shù)據(jù)4)字符串型數(shù)據(jù)4.自增與自減運算

5.逗號運算6.位運算3.賦值運算

1)整型和浮點型(實型)數(shù)據(jù)2)整型和浮點型(實型)的轉(zhuǎn)換5

逗號運算符和逗號表達式逗號運算符優(yōu)先級最低(倒數(shù)第一),結(jié)合順序為自左至右。表達式1,表達式2,表達式3逗號運算符① 依次從左到右分別計算各個表達式的值② 整個“逗號表達式”的值為其中最后一個表達式(上例為表達式3)的值。表達式1;表達式2;表達式3;取剛才表達式3的值;相當于一小段程序

1+1,2+3表達式的值為5x=5,5+2,x-3表達式的值為2(x被賦值為5,必須依次計算)x=(a=1,b=3,++b,a+b);此為賦值語句,x被賦值為5a:1b:341345x:53

如有inta=2,b=4,c=6,x,y;1)若執(zhí)行y=((x=a+b),(b+c));

后,x值為

6

,y值為

10

;2)若執(zhí)行y=(x=a+b),(b+c);

后,x值為

6

,y值為

6

。y=(6,10);y=10;y=((x=6),10);逗號表達式(2)y=6,10;6,10;10(被丟棄)y=(x=6),10;設(shè)變量已正確定義為整型,則表達式n=i=2,++i,i++的值為_______。n:2i:234

233第2章數(shù)據(jù)類型、運算符和表達式2.算術(shù)運算1.基本數(shù)據(jù)類型3)字符型數(shù)據(jù)4)字符串型數(shù)據(jù)4.自增與自減運算

5.逗號運算6.位運算3.賦值運算

1)整型和浮點型(實型)數(shù)據(jù)2)整型和浮點型(實型)的轉(zhuǎn)換位在我心中——位運算二進制1001011010100110101001…位(bit)位運算就是在二進制位的基礎(chǔ)上的運算①數(shù)據(jù)必須轉(zhuǎn)換為二進制才能進行;②只能對整型數(shù)據(jù)和字符型數(shù)據(jù)進行。2個條件+-*/%=+=-=*=/=%=

++--運算符&

|^~<<>>6個運算①按位與&參與運算的兩個數(shù)取二進制,然后將對應(yīng)的各二進制位相“與”:只有對應(yīng)的兩個二進制位都為1時,結(jié)果位才為1,有一個為0結(jié)果位為

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論