第3章C語言數(shù)據(jù)類型、運算符和表達式ppt課件_第1頁
第3章C語言數(shù)據(jù)類型、運算符和表達式ppt課件_第2頁
第3章C語言數(shù)據(jù)類型、運算符和表達式ppt課件_第3頁
第3章C語言數(shù)據(jù)類型、運算符和表達式ppt課件_第4頁
第3章C語言數(shù)據(jù)類型、運算符和表達式ppt課件_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第3章 C言語數(shù)據(jù)類型、運算符和表達式本章要點:數(shù)據(jù)的描畫規(guī)那么數(shù)據(jù)的操作規(guī)那么主要內容:3.1 C3.1 C言語的數(shù)據(jù)類型言語的數(shù)據(jù)類型3.2 3.2 常量與變量常量與變量3.3 3.3 整型數(shù)據(jù)整型數(shù)據(jù)3.4 3.4 浮點型實型數(shù)據(jù)浮點型實型數(shù)據(jù)3.5 3.5 字符型數(shù)據(jù)字符型數(shù)據(jù)3.6 3.6 變量賦初值變量賦初值 3.7 3.7 各類數(shù)值型數(shù)據(jù)間的混合運算各類數(shù)值型數(shù)據(jù)間的混合運算 3.8 3.8 算數(shù)運算符和算術表達式算數(shù)運算符和算術表達式 3.9 3.9 賦值運算符和賦值表達式賦值運算符和賦值表達式3.10 3.10 逗號運算符和逗號表達式逗號運算符和逗號表達式 3.1 C的數(shù)據(jù)類

2、型C C言語提供了以下一些數(shù)據(jù)類型言語提供了以下一些數(shù)據(jù)類型 3.2 常量與變量3.3.1 常量和符號常量常量和符號常量1、常量、常量在程序運轉過程中在程序運轉過程中,其值不能被改動的量稱為常量其值不能被改動的量稱為常量常量區(qū)分為不同的類型:常量區(qū)分為不同的類型:整型整型 100 100,125125,-100-100,0 0實型實型 3.14 3.14 , 0.125 0.125,-3.789-3.789字符型字符型 a, b a, b, 22字符串字符串 “a “a, “ab, “ab, “1232“12322、符號常量 用一個標識符代表一個常量的符號,稱為符號常量。用一個標識符代表一個常

3、量的符號,稱為符號常量。 定義方法定義方法 define 標識符標識符 數(shù)值常量數(shù)值常量 例:例:#define PRICE 40 運用符號常量的益處是:運用符號常量的益處是: 含義清楚;含義清楚; 能做到能做到“一改全改。一改全改。 3.2 常量與變量3.2.2變量變量概念:在程序運轉期間,其值是可以改動的量。概念:在程序運轉期間,其值是可以改動的量。用標識符變量名來表示。用標識符變量名來表示。變量代表內存中具有特定屬性的一個存儲單元,它用變量代表內存中具有特定屬性的一個存儲單元,它用來存放數(shù)據(jù),這就是變量的值。來存放數(shù)據(jù),這就是變量的值。從變量中取值,實踐上是經(jīng)過變量名找到相應的內存從變量

4、中取值,實踐上是經(jīng)過變量名找到相應的內存地址,從該存儲單元中讀取數(shù)據(jù)。地址,從該存儲單元中讀取數(shù)據(jù)。變量的定義方法:變量的定義方法: 類型符類型符 標識符標識符 3.2 常量與變量(續(xù)) 變量命名的規(guī)定:言語規(guī)定標識符只能由字母、數(shù)字和下劃線三種字符組成,且第一個字符必需為字母或下劃線。 例: sum,_total, month, Student_name, lotus_1_2_,BASIC, li_ling M.D.John, ¥123,3D64,ab 3.2 常量與變量根本數(shù)據(jù)類型根本數(shù)據(jù)類型類型類型符號符號關鍵字關鍵字數(shù)的表示范圍數(shù)的表示范圍所占位數(shù)所占位數(shù)整型整型字符型字符型實型實型有

5、有無無(signed)int16-3276832767(signed)short16-3276832767(signed)long32-2147483648214748364716unsigned0655353204294967295unsigned longunsigned short16065535有有float323.4e-383.4e38有有double641.7e-3081.7e308有有char8-128127無無unsigned char80255闡明闡明:數(shù)據(jù)類型所占字節(jié)數(shù)隨機器硬件不同而不同數(shù)據(jù)類型所占字節(jié)數(shù)隨機器硬件不同而不同,上表以上表以IBM PC機為例機為例: 3.3

6、 整型數(shù)據(jù)一、整型常量的表示方法一、整型常量的表示方法 整型常量即整常數(shù)。在言語中,整常數(shù)可用以下整型常量即整常數(shù)。在言語中,整常數(shù)可用以下三種方式表示:三種方式表示: (1) 十進制整數(shù)。十進制整數(shù)。 如:如:123, -456, 4。 (2) 八進制整數(shù)。最高位必需用八進制整數(shù)。最高位必需用0作引導符。作引導符。 如:如:0123表示八進制數(shù)表示八進制數(shù)123,等于十進制數(shù),等于十進制數(shù)83, -011表示八進制數(shù)表示八進制數(shù)-11,即十進制數(shù)即十進制數(shù)-9。(3)(3)十六進制整數(shù)。以十六進制整數(shù)。以0 x(0X)0 x(0X)開頭的數(shù)是開頭的數(shù)是1616進制數(shù)。進制數(shù)。 如:如:0 x

7、1230 x123,代表,代表1616進制數(shù)進制數(shù)123,123,等于十進制數(shù)等于十進制數(shù) 291291。 -0 x12 -0 x12等于十進制數(shù)等于十進制數(shù)1010。 二、整型變量二、整型變量 (1)整型數(shù)據(jù)在內存中的存放方式整型數(shù)據(jù)在內存中的存放方式 數(shù)據(jù)在內存中是以二進制方式存放的。數(shù)據(jù)在內存中是以二進制方式存放的。 如如: int i; /* 定義為整型變量定義為整型變量 */ i=10; /* 給給i賦以整數(shù)賦以整數(shù)10 */ 數(shù)值是以補碼數(shù)值是以補碼(complement) 表示的。表示的。 3.3 整型數(shù)據(jù)(續(xù)) 整數(shù)類型的有關數(shù)據(jù):整數(shù)類型的有關數(shù)據(jù): 3.3 整型數(shù)據(jù)(3)(

8、3)整型變量的定義和運用整型變量的定義和運用 規(guī)定在程序中一切用到的變量都必需在程序規(guī)定在程序中一切用到的變量都必需在程序中定義,即中定義,即“強迫類型定義。強迫類型定義。 定義的普通方式:定義的普通方式: 類型闡明符類型闡明符 變量名變量名1 1,變量名,變量名2, 2, ; 例如例如: : int a,b int a,b; / /* *指定變量、為整型指定變量、為整型* */ / unsigned short c,d;/ unsigned short c,d;/* *指定變量、為無符指定變量、為無符號短整型號短整型* */ / long e,f; / long e,f; /* *指定變量、

9、為長整型指定變量、為長整型* */ / 3.4 浮點型數(shù)據(jù) (實型數(shù)據(jù))3.4.13.4.1實型常量的表示方法實型常量的表示方法兩種兩種表示方式表示方式小數(shù)小數(shù)指數(shù)指數(shù)0.1230.1233e-33e-3留意留意: :字母字母e(e(或或E)E)之前必需有數(shù)字,且之前必需有數(shù)字,且e e后面的后面的指數(shù)必需為整數(shù)指數(shù)必需為整數(shù) 3.4.2 實型變量 實型變量的分類實型變量的分類 實型變量分為單精度實型變量分為單精度float型、雙精度型、雙精度double型和長雙精度型型和長雙精度型long double三類方式。三類方式。 3.4.3 3.4.3 實型數(shù)據(jù)在內存中的存放方式實型數(shù)據(jù)在內存中的

10、存放方式 浮點型數(shù)據(jù)是按照指數(shù)方式存儲的。 系統(tǒng)把一個實型數(shù)據(jù)分成小數(shù)部分和指數(shù)部分,分別存放。指數(shù)部分采用規(guī)范化的指數(shù)方式。 3.5 字符型數(shù)據(jù) 3.5.1 字符常量字符常量用單引號包含的一個字符是字符型常量用單引號包含的一個字符是字符型常量只能包含一個字符只能包含一個字符a a, , A A, , 1 1abcabc、“a al 字符型常量簡稱字符常量 包括可視字符常量和本義字符常量 ASCII ASCII根本字符集中包括根本字符集中包括9494個可視字符和個可視字符和3434個控制個控制字符。字符。 2. 本義字符 ASCII中的控制字符是不可見字符,不能直接用單引號括起的方式表示。n

11、n 換行換行t t 橫向跳格橫向跳格, ,跳到下一個跳到下一個TabTab位置位置r r 回車回車, ,將當前位置移到本行開頭將當前位置移到本行開頭 在某些特定字符前加“ ,表示某種特殊的意義或控制動作。稱這種方式的字符為本義字符。 3.5 字符型數(shù)據(jù) 3.5.2 字符變量字符變量字符型變量用來存放字符常量,留意只能放一字符型變量用來存放字符常量,留意只能放一個字符。個字符。字符變量的定義方式如下:字符變量的定義方式如下:char c1,c2;在本函數(shù)中可以用下面語句對在本函數(shù)中可以用下面語句對c1,c2賦值:賦值: c1a;c2 b ;一個字符變量在內存中占一個字節(jié)。一個字符變量在內存中占一

12、個字節(jié)。 3.5 字符型數(shù)據(jù) 3.5.3 字符數(shù)據(jù)在內存中的存儲方式一個字符常量存放到一個字符變量中,是將該字符的相應的ASCII代碼放到存儲單元中。使字符型數(shù)據(jù)和整型數(shù)據(jù)之間可以通用。留意留意: : 一個字符一個字符數(shù)據(jù)既可以數(shù)據(jù)既可以以字符方式以字符方式輸出,也可輸出,也可以整數(shù)方式以整數(shù)方式輸出。輸出。 3.6 字符型數(shù)據(jù)3.6.4 字符串常量字符串常量字符串常量是一對雙撇號括起來的字符序列字符串常量是一對雙撇號括起來的字符序列.合法的字符串常量合法的字符串常量:“How do you do., “CHINA, “a , “$123.45可以輸出一個字符串,如可以輸出一個字符串,如pri

13、ntf(“How do you do.); 3.6 字符型數(shù)據(jù) 是字符常量,是字符串常量,二者不同。 如:假設c被指定為字符變量 :char c c=a; a;cCHINA; 結論: 不能把一個字符串常量賦給一個字符變量。 規(guī)定:在每一個字符串常量的結尾加一個規(guī)定:在每一個字符串常量的結尾加一個 “字符字符串終了標志,以便系統(tǒng)據(jù)此判別字符串能否終了串終了標志,以便系統(tǒng)據(jù)此判別字符串能否終了。 規(guī)定以字符規(guī)定以字符作為字符串終了標志。作為字符串終了標志。 如:假設有一個字符串常量 ,實踐上在內存中是: 它占內存單元不是個字符,而是個字符,最后一個字符為。但在輸出時不輸出。 3.6 字符型數(shù)據(jù) 3

14、.6 變量賦初值 (2)(2)可以使被定義的變量的一部分賦初值。可以使被定義的變量的一部分賦初值。 如如: int a,b,c=5: int a,b,c=5; 表示指定、為整型表示指定、為整型變量,但只對初始化,變量,但只對初始化,c c的初值為的初值為 。(3)(3)假設對幾個變量賦以同一個初值,假設對幾個變量賦以同一個初值, 應寫成:應寫成:int a=3,b=3,c=3; int a=3,b=3,c=3; 表示、的初值都是。表示、的初值都是。 不能寫成不能寫成 int a=b=c=3; int a=b=c=3;(1)(1)言語允許在定義變量的同時使變量初始化言語允許在定義變量的同時使變量

15、初始化 如如:int a=3; / :int a=3; / 指定為整型變量,初值為指定為整型變量,初值為 float f=3.56; / float f=3.56; / 指定為浮點型變量,初值指定為浮點型變量,初值為為.56 .56 char c= char c=a a; / ; / 指定為字符變量,初值為指定為字符變量,初值為a a 3.7 各類數(shù)值型數(shù)據(jù)間的混合運算 混合運算:整型包括混合運算:整型包括int,short,longint,short,long、浮點型、浮點型包括包括float,doublefloat,double、字符型數(shù)據(jù)間可以混合運、字符型數(shù)據(jù)間可以混合運算。在進展運算

16、時,不同類型的數(shù)據(jù)要先轉換成同算。在進展運算時,不同類型的數(shù)據(jù)要先轉換成同一類型一類型, ,然后進展運算然后進展運算. .闡明:闡明: 這種類型轉換是由這種類型轉換是由系統(tǒng)自動進展的。系統(tǒng)自動進展的。總趨勢:總趨勢: 存儲長度較短存儲長度較短 存儲長度較長存儲長度較長例:例:int x=2;float y=1.6;char c=Aint x=2;float y=1.6;char c=A;c+xc+x* *y=y=?65(int)65(int)2(int)2(int)1.60(dou1.60(double)ble)3.20(double3.20(double) )68.20(doubl68.20

17、(double)e)2.0(dou2.0(double)ble)65.0(do65.0(double)uble) 3.8 算術運算符和算術表達式 的運算符有以下幾類:的運算符有以下幾類:(1) (1) 算術運算符算術運算符 + - + - * * / % / %(2) (2) 關系運算符關系運算符 !(3) (3) 邏輯運算符邏輯運算符 !|(4) (4) 位運算符位運算符 | |(5) (5) 賦值運算符賦值運算符 及其擴展賦值運算符及其擴展賦值運算符(6) (6) 條件運算符條件運算符 ?:?:(7) (7) 逗號運算符逗號運算符 ( (,(8) (8) 指針運算符指針運算符 * *和和

18、3.8.1 算術運算符和算術表達式1. 1. 根本的算術運算符根本的算術運算符: : 加法運算符,或正值運算符。如加法運算符,或正值運算符。如: :、 減法運算符,或負值運算符。如減法運算符,或負值運算符。如: :、* * 乘法運算符。如乘法運算符。如: :* * 除法運算符。如除法運算符。如: : 模運算符,或稱求余運算符,兩側均應為整模運算符,或稱求余運算符,兩側均應為整型數(shù)據(jù),如型數(shù)據(jù),如: :的值為。的值為。 3.8.1 算術運算符和算術表達式2. 2. 算術表達式和運算符的優(yōu)先級與結合性算術表達式和運算符的優(yōu)先級與結合性 用算術運算符和括號將運算對象用算術運算符和括號將運算對象( (

19、也稱操作也稱操作數(shù)銜接起來的、符合語法規(guī)那么的式子,數(shù)銜接起來的、符合語法規(guī)那么的式子,稱為算術表達式。稱為算術表達式。 運算對象包括常量、變量、函數(shù)等。運算對象包括常量、變量、函數(shù)等。 例如例如: : * *.5.5aa 是一個合法的表達式是一個合法的表達式言語規(guī)定了運算符的優(yōu)先級和結合性。 在表達式求值時,先按運算符的優(yōu)先級別高低次序執(zhí)行,例如先乘除后加減。 規(guī)定了各種運算符的結合方向(結合性) 算術運算符的結合方向為“自左至右,即先左后右 。 3.8.1 算術運算符和算術表達式例如例如: *.5a2、 強迫類型轉換運算符 (要轉換成的數(shù)據(jù)類型)(被轉換的表達式)留意:留意:方式:方式:強

20、迫類型轉換時強迫類型轉換時, ,得到所需類型的值,得到所需類型的值, 原來變量的類型和值都不變。原來變量的類型和值都不變。例:例:int a=2, b=5; float x=4.4;int a=2, b=5; float x=4.4;(float)b/a(float)b/a2.50(dou2.50(doubleble型型) ) (int)x/a(int)x/a2(int2(int型型) )例:例: (double) 將轉換成將轉換成double類型類型 (int)(x+y) 將將x+y的值轉換成整型的值轉換成整型 (float)5%3 將將5%3的值轉換成的值轉換成float型型2、 數(shù)據(jù)類型

21、間的強迫轉換留意:強迫類型轉換方式中的表達式一定要用括號括起來。否那么強迫轉換僅對強迫轉換運算符的變量進展類型轉換。例如: (int)(3.5+ 8) (int)3.5+8 3.8.1 算術運算符和算術表達式3. 3. 自增、自減運算符自增、自減運算符 作用是使變量的值增或減作用是使變量的值增或減. .如:如: , 在運用之前,先使的值加減在運用之前,先使的值加減, 在運用之后,使的值加減在運用之后,使的值加減 3.8.1 算術運算符和算術表達式i+i+與與+i+i的區(qū)別:的區(qū)別: 是先執(zhí)行后,再運用的值;是先執(zhí)行后,再運用的值; 是先運用的值后,再執(zhí)行。是先運用的值后,再執(zhí)行。例如:假設例如

22、:假設i i的值為的值為3 3 ; i i的值先變成的值先變成4, 4, 再賦給再賦給,i,i、j j的值均為的值均為 ; 先將先將 i i的值的值3 3賦給賦給, ,的值為,然后變?yōu)榈闹禐椋缓笞優(yōu)?3.8.1 算術運算符和算術表達式留意:留意: (1)自增運算符,自減運算符,只自增運算符,自減運算符,只能用于變量,而不能用于常量或表達式,能用于變量,而不能用于常量或表達式, (2)和的結合方向是和的結合方向是“自右至左。自右至左。 自增減運算符常用于循環(huán)語句中使循環(huán)變量自動加。也用于指針變量,使指針指向下一個地址。 3.8.2 賦值運算符和賦值表達式= = 數(shù)學上的等號數(shù)學上的等號功能:將

23、一個表達式的值賦給一個變量。功能:將一個表達式的值賦給一個變量。例如:例如:a=5a=5; ave= ave=a+ba+b/10;/10;留意:與數(shù)學中的等式不同。留意:與數(shù)學中的等式不同。 用法:變量用法:變量 = = 表達式表達式 2、復合賦值運算符:在賦值符“=前加上其他運算符* *= =、/=/=、%=%=、+=+=、-=-=、=、&=&=、=、= =共共1010個個由賦值運算符與算術、位移、位邏輯運算符組成。由賦值運算符與算術、位移、位邏輯運算符組成。復合賦值運算符是一個運算符復合賦值運算符是一個運算符, ,但功能上但功能上, ,是兩個是兩個運算符功能的組合。運算符功

24、能的組合。a+=b a+=b 相當于相當于 a=a+b a=a+ba a* *=b+c =b+c 相當于相當于 a=a a=a* *(b+c)(b+c)a=2; a+=aa=2; a+=a* *=a;=a;a=8;a=8;4 4留意留意: : 假設是包含假設干項的表達式,那么相當于它假設是包含假設干項的表達式,那么相當于它有有 括號。括號。如:如: x %= y+3 x %= y+3 x %= (y+3) x %= (y+3) | | | | x = x %(y+3)( x = x %(y+3)(不要錯寫成不要錯寫成x=x%y+3) x=x%y+3) 3、賦值表達式 對賦值表達式求解的過程是:

25、對賦值表達式求解的過程是: 求賦值運算符右側的求賦值運算符右側的“表達式的值表達式的值; 賦給賦值運算符左側的變量。賦給賦值運算符左側的變量。例如例如: 賦值表達式賦值表達式“=3*5的值為的值為15,執(zhí)行表達式,執(zhí)行表達式后,變量后,變量a的值也是的值也是15。 留意留意: 一個表達式應該有一個值一個表達式應該有一個值 3、 賦值表達式 賦值表達式中的“表達式,又可以是一個賦值表達式。例如: a=(b=5) 分析:分析: 括弧內的括弧內的“b=5b=5是一個賦值表達式,它是一個賦值表達式,它 的值等于的值等于5 5。執(zhí)行表達式。執(zhí)行表達式“a=(b=5)a=(b=5)相當于相當于執(zhí)行執(zhí)行“b

26、=5b=5和和“a ab b兩個賦值表達式。兩個賦值表達式。 賦值運算符按照賦值運算符按照“自右而左的結合順序自右而左的結合順序,因此,因此,“(b(b5)5) 外面的括弧可以不要,即外面的括弧可以不要,即“a=(b=5)a=(b=5)和和“a=b=5a=b=5等價。等價。 3、 賦值表達式 請分析下面的賦值表達式請分析下面的賦值表達式(a=3(a=3* *5)=45)=4* *3 3分析分析: :先執(zhí)行括弧內的運算,將先執(zhí)行括弧內的運算,將1515賦給賦給a a,然后執(zhí)行,然后執(zhí)行4 4* *3 3的運算,得的運算,得1212,再把,再把1212賦給賦給a a。最后。最后a a的值為的值為1

27、212,整個表達式的值為整個表達式的值為1212??梢钥吹健?梢钥吹?a=3(a=3* *5)5)出如今賦出如今賦值運算符的左側,因此賦值表達式值運算符的左側,因此賦值表達式(a=3(a=3* *5)5)是左值是左值 留意留意: :在對賦值表達式在對賦值表達式(a=3(a=3* *5)5)求解后,變量求解后,變量a a得到值得到值1515執(zhí)行執(zhí)行(a=3(a=3* *5)=45)=4* *3 3時,實踐上是將時,實踐上是將4 4* *3 3的積的積1212賦給變賦給變量量a a,而不是賦給,而不是賦給3 3* *5 5。不能寫成不能寫成:a=3*5=4*3 3、 賦值表達式 賦值表達式也可以包

28、含復合的賦值運算符。賦值表達式也可以包含復合的賦值運算符。 如:如: int a=12,a+=a-=a int a=12,a+=a-=a* *a a分析分析: :此賦值表達式的求解步驟如下此賦值表達式的求解步驟如下 先進展先進展“* *的運算,的運算, 它相當于它相當于* *,a a的值為的值為144144132132。再進展再進展“的運算,相當于的運算,相當于=a+(-132)=a+(-132),a a的值為的值為132-132132-132-264-264。在賦值時,將賦值符右邊值的類型轉換成在賦值時,將賦值符右邊值的類型轉換成與其左邊變量類型一致的類型。與其左邊變量類型一致的類型。幾種情

29、況:幾種情況:(1) (1) 浮點型浮點型整型、字符型整型、字符型取整數(shù)部分,去掉小數(shù)部分取整數(shù)部分,去掉小數(shù)部分(2) (2) 整型、字符型整型、字符型實型實型補足有效位補足有效位float f=23; 23.00000 float f=23; 23.00000 7 7位位double f=A; 65.00 000 000 000 000 double f=A; 65.00 000 000 000 000 1616位位int f=23.1 23int f=23.1 23(3) (3) 對對charchar、intint、shortshort、longlong、unsignedunsigned

30、型數(shù)據(jù)型數(shù)據(jù)賦值符右邊賦值符右邊數(shù)據(jù)數(shù)據(jù)a a位位 a=b a=b 原樣照賦原樣照賦 ab ab 截斷高截斷高a-ba-b位,送低位,送低b b 位位 abab無符號數(shù)據(jù)或正數(shù)無符號數(shù)據(jù)或正數(shù)有符號數(shù)據(jù)有符號數(shù)據(jù)高高a-ba-b位全補位全補0 0有符號變量有符號變量, ,符號擴展符號擴展符號擴展符號擴展符號位為符號位為0 0,剩余的高位補,剩余的高位補0 0符號位為符號位為1 1,剩余的高位補,剩余的高位補1 1賦值符左邊賦值符左邊變量變量b b位位 4、賦值轉換例如:將一個例如:將一個intint、shortshort、longlong型數(shù)據(jù)賦給一個型數(shù)據(jù)賦給一個charchar型變量時,只

31、將其低型變量時,只將其低8 8位原封不動地送到位原封不動地送到charchar型型變量即截斷。變量即截斷。 “長長 數(shù)據(jù)賦給數(shù)據(jù)賦給“短變短變量量例如:例如:int i= 289; char c=a; c=i;int i= 289; char c=a; c=i;c c的值為的值為3333,假設用假設用“%c“%c輸輸出出c c,將得到字符,將得到字符“!“! ! !的的ASCIIASCII碼為碼為3333。 賦值情況賦值情況 : 4、賦值轉換 例如:例如:int a;long b65536;a=b; 賦值情況如下賦值情況如下 : “長數(shù)據(jù)賦給長數(shù)據(jù)賦給“短變量短變量 結果:賦值后值為。結果:賦

32、值后值為。 將帶符號的整型數(shù)據(jù)將帶符號的整型數(shù)據(jù)intint型賦給型賦給longlong型變量型變量時,要進展符號擴展,將整型數(shù)的時,要進展符號擴展,將整型數(shù)的1616位送到位送到longlong型型低低1616位中位中: : “短數(shù)據(jù)賦給短數(shù)據(jù)賦給“長變量長變量 假設假設intint型數(shù)據(jù)為正值符號位為,那么型數(shù)據(jù)為正值符號位為,那么longlong型變量的高型變量的高1616位補;位補; 假設假設intint型變量為負值符號位為,那么型變量為負值符號位為,那么longlong型變量的高型變量的高1616位補,以堅持數(shù)值不改動。位補,以堅持數(shù)值不改動。 反之,假設將一個反之,假設將一個lon

33、glong型數(shù)據(jù)賦給一個型數(shù)據(jù)賦給一個intint型變型變量,只將量,只將longlong型數(shù)據(jù)中低型數(shù)據(jù)中低1616位原封不動地送到整型位原封不動地送到整型變量即截斷。變量即截斷。 “長數(shù)據(jù)賦給長數(shù)據(jù)賦給“短變量短變量例: 有符號數(shù)據(jù)傳送給無符號變量。 #include void main unsigned ; int ; ; printfn,; 運轉結果:運轉結果: 3.10 逗號運算符和逗號表達式逗號運算符逗號運算符: :將兩個表達式銜接起來將兩個表達式銜接起來, ,又稱為又稱為“順序求順序求值運算符值運算符 如:如:5 5, 普通方式普通方式: 表達式,表達式表達式,表達式求解過程:求

34、解過程: 先求解表達式,再求解表達式。整個逗號先求解表達式,再求解表達式。整個逗號表達式的值是表達式的值。表達式的值是表達式的值。 逗號表達式逗號表達式 的的值為值為14 3.8.6 逗號運算符和逗號表達式例:逗號表達式例:逗號表達式* *5 5,* * 分析分析: :賦值運算符的優(yōu)先級別高于逗號運算符,賦值運算符的優(yōu)先級別高于逗號運算符, 因因此應先求解此應先求解* *5 5。的值為的值為5,然后求解然后求解*,得。整個得。整個逗號表達式的逗號表達式的值為。值為。 一個逗號表達式又可以與另一個表達式組成一個新的逗號表達式 如:*,* ,a+5 分析: 先計算出的值等于,再進展*的運算得60但值未變,仍為15,再進展得,即整個表達式的值為。 3.8.6 逗號運算符和逗號表達式 逗號表達式的普通方式可以擴展為逗號表達式的普通方式可以擴展為 表達式,表達式,表達式,表達式,表達式,表達式,表達式,表達式 它的值為表達式的值。它的值為表達式的值。逗號運算符是一切運算符中級別最低的逗號運算符是一切運算符中級別最低的例例: ,* ,*3賦值表達式,賦值表達式,將一個逗號表將一個逗號表達式的值賦給達式的值賦給,的值等

溫馨提示

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

評論

0/150

提交評論