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

下載本文檔

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

文檔簡介

1、數(shù)據(jù)類型、運算符和表達式第第 2 章章 數(shù)據(jù)類型、運算符與表達式數(shù)據(jù)類型、運算符與表達式2.1 保留字和標識符保留字和標識符2.2 C+的基本數(shù)據(jù)類型的基本數(shù)據(jù)類型2.3 常量和變量常量和變量2.4 基本運算符和表達式基本運算符和表達式2.5 類型轉(zhuǎn)換類型轉(zhuǎn)換數(shù)據(jù)類型、運算符和表達式簡單地說:程序簡單地說:程序 = 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu) + 算法算法C+ 程序的構(gòu)成:程序的構(gòu)成:(1)數(shù)據(jù)描述)數(shù)據(jù)描述(2)執(zhí)行步驟()執(zhí)行步驟( 算法)算法)例例1.1一個簡單的一個簡單的C+程序程序 #include void main( void ) int num, square ; cout num ;

2、square = num*num; cout num的的平方平方為為: square n; 下面學(xué)習(xí):程序的各種語法元素下面學(xué)習(xí):程序的各種語法元素數(shù)據(jù)類型、運算符和表達式2.1 保留字和標識符保留字和標識符2.1.1 保留字(保留字(Reserved Word or Keyword) C+語言自身使用的,已有特殊含義和用途的英文語言自身使用的,已有特殊含義和用途的英文單詞稱為單詞稱為保留字保留字或或關(guān)鍵字關(guān)鍵字。如例如例1.1中的類型說明符中的類型說明符 int,用于定義整型變量。用于定義整型變量。用戶不能將其作為自己的變量名或函數(shù)名使用。用戶不能將其作為自己的變量名或函數(shù)名使用。數(shù)據(jù)類型、

3、運算符和表達式2.1.2 標識符標識符標識符標識符(identifier): 有效字符序列,有效字符序列, 用來標識用戶自己定義的用來標識用戶自己定義的 變量名、符號常量名、變量名、符號常量名、 函數(shù)名、數(shù)組名、類型名、文件名等函數(shù)名、數(shù)組名、類型名、文件名等命名規(guī)則命名規(guī)則:只能由字母、數(shù)字和下劃線三種字符組只能由字母、數(shù)字和下劃線三種字符組 成,且第一個字符必須為字母或下劃線成,且第一個字符必須為字母或下劃線 最大長度為最大長度為 1 247 個字符。個字符。如如: MyName average GetDay StudentName _above Lotus_1_2_3 非法標識符如非法標

4、識符如: M.D.John $123 3Dmax合法標識符如合法標識符如: (有時用匈牙利命名法)(有時用匈牙利命名法)數(shù)據(jù)類型、運算符和表達式例:例:#include void main(void)int a, b, sum; /* 定義變量定義變量 */a=123; b=456; sum = a + b; coutsum is sumn; 保留字保留字標識符標識符(變量名、函數(shù)名、對象名)(變量名、函數(shù)名、對象名)常數(shù)常數(shù)數(shù)據(jù)類型、運算符和表達式2.2 C+ 的基本數(shù)據(jù)類型的基本數(shù)據(jù)類型數(shù)據(jù)類型數(shù)據(jù)類型基本類型基本類型導(dǎo)出類型導(dǎo)出類型整型整型實型實型字符型字符型空類型空類型(無值型無值型)

5、單精度型單精度型雙精度型雙精度型數(shù)組類型數(shù)組類型指針類型指針類型結(jié)構(gòu)體類型結(jié)構(gòu)體類型共用體類型共用體類型枚舉類型枚舉類型不論是變量還是常數(shù),在計算機內(nèi)部都要按照某不論是變量還是常數(shù),在計算機內(nèi)部都要按照某種形式存放,存放形式由數(shù)據(jù)類型決定。種形式存放,存放形式由數(shù)據(jù)類型決定。數(shù)據(jù)類型、運算符和表達式類類 型型 標標 識識名名 稱稱占用占用字節(jié)數(shù)字節(jié)數(shù)取取 值值 范范 圍圍char字符型字符型1128 127int 整型整型4231(2311)float實型實型41038 1038double雙精度雙精度實型實型810308 10308以上基本類型數(shù)據(jù)以上基本類型數(shù)據(jù)占內(nèi)存字節(jié)占內(nèi)存字節(jié)不相同,

6、不相同,因此因此數(shù)值范圍數(shù)值范圍也也不同,不同,見表見表 2-1 及表及表 2-2數(shù)據(jù)類型、運算符和表達式對基本類型,可以加修飾,如:對基本類型,可以加修飾,如: int 型型int 占占4 字節(jié)字節(jié)short int 占占 2 字節(jié)字節(jié) long int 占占4 字節(jié)字節(jié)數(shù)據(jù)類型、運算符和表達式int : signed int unsigned int short int : signed short int unsigned short intlong int: signed long int unsigned long int最簡形式:最簡形式:intunsigned int short

7、unsigned shortlongunsigned long 再加修飾,如:再加修飾,如:數(shù)據(jù)類型、運算符和表達式注意注意:int 型變量與型變量與 unsigned int 型變量的區(qū)別型變量的區(qū)別 32 位位 范圍范圍 int 型:型: -231 (補碼補碼) (231 - 1) 符號位符號位 32 位位 范圍范圍unsigned int 型:型: 0 (232 - 1) 無符號位無符號位數(shù)據(jù)類型、運算符和表達式2.3 常量和變量常量和變量2.3.1 常量常量常量常量:在程序運行過程中,其值不能被改變的量:在程序運行過程中,其值不能被改變的量#include void main(void

8、)int a, b, sum; /* 定義變量定義變量 */a=123; b=456; sum = a + b; coutsum is sumn; 常量常量(常數(shù)常數(shù))數(shù)據(jù)類型、運算符和表達式1. 整型常量整型常量 十進制整數(shù)十進制整數(shù) 123, -456 八進制整數(shù)八進制整數(shù) 0123, -011 十六進制整數(shù)十六進制整數(shù) 0 x123, -0 xAB 長整型與無符號型常數(shù)長整型與無符號型常數(shù) 12L, 0234L,-0 xABL 12U, 0234U,0 xABU數(shù)據(jù)類型、運算符和表達式2. 實型常量實型常量(在內(nèi)存中以浮點形式存放)(在內(nèi)存中以浮點形式存放) (均為十進制,無數(shù)制區(qū)分)(

9、均為十進制,無數(shù)制區(qū)分) 小數(shù)形式小數(shù)形式 : 必須有小數(shù)點必須有小數(shù)點 1.65 1. .123 指數(shù)形式指數(shù)形式 (也稱為科學(xué)表示法)(也稱為科學(xué)表示法): 如如 123000.0 可寫為可寫為 1.23e5 0.00368 可寫為可寫為 3.68E-3 e 或或 E前必須有數(shù)字,前必須有數(shù)字,1000寫為寫為 1e3 不能寫為不能寫為 e3數(shù)據(jù)類型、運算符和表達式3. 字符型常量字符型常量用于表示用于表示ASCII字符,見附錄字符,見附錄A。在內(nèi)存中在內(nèi)存中存放對應(yīng)的存放對應(yīng)的ASCII碼值,如碼值,如 a 的的ASCII碼為碼為 97,則在內(nèi)存中用一個字節(jié)存放:,則在內(nèi)存中用一個字節(jié)存

10、放:在源程序中在源程序中最基本的表示形式為:最基本的表示形式為:單引號括起來的一個字符,如:單引號括起來的一個字符,如: a A ? 0 1 1 0 0 0 0 1對于不可打印的字符,可以用轉(zhuǎn)義字符形式表示對于不可打印的字符,可以用轉(zhuǎn)義字符形式表示 。數(shù)據(jù)類型、運算符和表達式注意:注意:n 與與 n 的區(qū)別的區(qū)別 !轉(zhuǎn)義字符:轉(zhuǎn)義字符:以反斜杠以反斜杠“”引導(dǎo)的特殊形式的引導(dǎo)的特殊形式的 非顯示字符或表示特定意義的字符常量非顯示字符或表示特定意義的字符常量n t b ddd xhh 見表見表 2-3注意:注意:字母字母 A 的的 ASCII 碼是碼是(65)10=(101)8=(41)16在程

11、序中表示字母在程序中表示字母A,可以有三種方法:可以有三種方法: A 101 x41n 表示表示一個一個控制字符,控制字符, n 表示一個字母。表示一個字母。數(shù)據(jù)類型、運算符和表達式4. 字符串常量字符串常量-用雙引號括起來的字符序列用雙引號括起來的字符序列(在內(nèi)存中存放字符序列的在內(nèi)存中存放字符序列的ASCII碼值,碼值, 最后加一個結(jié)尾標志)最后加一個結(jié)尾標志)如如: How do you do. CHINA a字符串結(jié)束標志符是:字符串結(jié)束標志符是: 0注意:注意: a 和和 a 是不同的。是不同的。CHINA0.數(shù)據(jù)類型、運算符和表達式符號常量符號常量:用標識符代表一個常量,:用標識符

12、代表一個常量, 必須先定義后使用。必須先定義后使用。例:定義標識符常量例:定義標識符常量#define PRICE 30#define PI 3.1425926#define S Chinaconst f loat pi=3.142.3.2 符號常量符號常量數(shù)據(jù)類型、運算符和表達式例例2.1 符號常量的使用符號常量的使用 #include#define PI 3.1425926void main(void)double angle, radian; cin angle; radian = angle * PI / 180; /角度角度弧度弧度cout radian n; 好處:好處:(1)提高

13、程序的可讀性。)提高程序的可讀性。 (2)程序中使用多處,一改全改。)程序中使用多處,一改全改。數(shù)據(jù)類型、運算符和表達式2.3.3 變量變量變量變量:其值可以改變的量。其值可以改變的量。變量名變量名:一個變量的符號名一個變量的符號名,由由標識符標識符構(gòu)成。構(gòu)成。 一個變量占據(jù)內(nèi)存一定的一個變量占據(jù)內(nèi)存一定的存儲單元存儲單元, 在存儲單元中存放該在存儲單元中存放該變量的值變量的值。int a, b ; / 定義定義2個整型變量個整型變量a, bunsigned u ; / 定義定義1個無符號整型變量個無符號整型變量ufloat f ; / 定義定義1個單精度實型變量個單精度實型變量double

14、d ; / 定義定義1個雙精度實型變量個雙精度實型變量char c1, c2, c3 ; / 定義定義3個字符型變量個字符型變量c1, c2, c3 1. 定義變量定義變量數(shù)據(jù)類型、運算符和表達式注意注意:(1) 區(qū)別大小寫區(qū)別大小寫: 如如 sum 與與 Sum 為不同的變量名。為不同的變量名。(2)先定義后使用先定義后使用: 分配單元分配單元 、確定類型、語法檢查、確定類型、語法檢查(3)在一個程序單元中不能重復(fù)定義。在一個程序單元中不能重復(fù)定義。(4)關(guān)鍵字(保留字)不能作為標識符。關(guān)鍵字(保留字)不能作為標識符。(5)最大長度隨不同的最大長度隨不同的 C+語言系統(tǒng)而定語言系統(tǒng)而定: V

15、C+識別前識別前 247 個字符,超過無效。個字符,超過無效。(6)按義取名。按義取名。 數(shù)據(jù)類型、運算符和表達式2變量賦初值變量賦初值給變量賦初值的方法有兩種:給變量賦初值的方法有兩種:(1)變量定義后,用賦值語句賦初值。)變量定義后,用賦值語句賦初值。例如:例如: int a, b ; a = 12; b = 24 ; char c1,c2 ; c1=A; c2=B ;(2)在定義變量的同時,)在定義變量的同時, 直接賦初值(稱為變量的初始化)。直接賦初值(稱為變量的初始化)。 例如例如: int a=12, b= -24 ; char c1=A, c2=B ; 數(shù)據(jù)類型、運算符和表達式2

16、.4 基本運算符和表達式基本運算符和表達式2.4.1 C+運算符及表達式簡介運算符及表達式簡介完成對常量、變量作運算的符號稱為完成對常量、變量作運算的符號稱為運算符運算符。把參與運算的對象稱為把參與運算的對象稱為操作數(shù)操作數(shù)。操作數(shù)可以是常量和變量等。操作數(shù)可以是常量和變量等。各種運算符見表各種運算符見表 2-4一元運算符、二元運算符、三元運算符一元運算符、二元運算符、三元運算符數(shù)據(jù)類型、運算符和表達式2.4.2 算術(shù)運算符和算術(shù)表達式算術(shù)運算符和算術(shù)表達式基本算術(shù)運算符基本算術(shù)運算符: + - * / % / 整數(shù)運算時為整除,結(jié)果為整數(shù)。整數(shù)運算時為整除,結(jié)果為整數(shù)。 % (模運算或稱模運

17、算或稱求余求余運算運算) 必須為整型數(shù)據(jù)。必須為整型數(shù)據(jù)。 例例: 7/3 結(jié)果?結(jié)果? 7.0/3 結(jié)果?結(jié)果? 7%3 結(jié)果?結(jié)果?22.3333331數(shù)據(jù)類型、運算符和表達式由運算符和操作數(shù)構(gòu)成由運算符和操作數(shù)構(gòu)成表達式表達式:如:如:a + b a * ( c + d ) a * c + d2.4.3 運算優(yōu)先級和結(jié)合性運算優(yōu)先級和結(jié)合性優(yōu)先級優(yōu)先級: 對于同一表達式中出現(xiàn)多個運算符,先算對于同一表達式中出現(xiàn)多個運算符,先算 哪一個。哪一個。結(jié)合性結(jié)合性: 在兩種運算優(yōu)先級相同時,在兩種運算優(yōu)先級相同時,“自左向右自左向右”還是還是“自右向左自右向左”運算稱為結(jié)合性。運算稱為結(jié)合性。

18、數(shù)據(jù)類型、運算符和表達式如:如:算術(shù)運算符的算術(shù)運算符的優(yōu)先級優(yōu)先級與與結(jié)合性結(jié)合性優(yōu)先級優(yōu)先級: + - 較低較低* / % 較高較高結(jié)合性結(jié)合性: 自左向右自左向右例:表達式:例:表達式:6/3*2 “自左向右自左向右” 或或 “自右向左自右向左” 運算結(jié)果不運算結(jié)果不同同數(shù)據(jù)類型、運算符和表達式2.4.4 關(guān)系運算符和關(guān)系表達式關(guān)系運算符和關(guān)系表達式“關(guān)系運算關(guān)系運算”實際上就是實際上就是“比較運算比較運算”關(guān)系運算符及其優(yōu)先次序關(guān)系運算符及其優(yōu)先次序=!=小于小于小于等于小于等于大于大于大于等于大于等于恒等于恒等于不等于不等于優(yōu)先級相優(yōu)先級相同同(較高較高)優(yōu)先級相優(yōu)先級相同同(較低較

19、低)數(shù)據(jù)類型、運算符和表達式關(guān)系運算符及其關(guān)系運算符及其優(yōu)先級優(yōu)先級說明說明a=bc 等效于等效于 a=(ba+b 等效于等效于 c(a+b) 算術(shù)算術(shù)關(guān)系(關(guān)系( , 和和 = )關(guān)系(關(guān)系( = 和和 != ) 高高 低低數(shù)據(jù)類型、運算符和表達式關(guān)系表達式關(guān)系表達式1. 用關(guān)系運算符連接兩個表達式用關(guān)系運算符連接兩個表達式如:如:ab, a+bb+c, ab 的值為的值為 0則表達式則表達式 bb)&(xy)ab&xy(a=b) | (x=y)a=b | x=y(!a)b!a b數(shù)據(jù)類型、運算符和表達式(2)C+ 編譯系統(tǒng)在給出編譯系統(tǒng)在給出邏輯運算結(jié)果邏輯運算結(jié)果時,時,

20、 以以數(shù)值數(shù)值 1 代表代表 “真真” 以以數(shù)值數(shù)值 0 代表代表 “假假”(1)運算時,在)運算時,在判斷一個量判斷一個量是否為是否為“真真”時時, 以以非非0 代表代表 “真真” 以以0 代表代表 “假假”例如:例如:已知已知 a=4則則 !a 的值是的值是 0 已知已知 a=0, b=5 則則 a&b 的值是的值是 0則則 a|b 的值是的值是 1則則 !a&b 的值是的值是 1注意:注意:數(shù)據(jù)類型、運算符和表達式注意:注意:在在C+程序中,程序中,欲表示數(shù)學(xué)關(guān)系欲表示數(shù)學(xué)關(guān)系 0 x10 ,C+的邏輯表達式必須寫成的邏輯表達式必須寫成 0=x & x=10,而不

21、能寫成而不能寫成 0= x =10。 為什么?為什么?數(shù)據(jù)類型、運算符和表達式 2.4.6 位運算符和位運算表達式位運算符和位運算表達式 位運算是對整型數(shù)據(jù)的運算位運算是對整型數(shù)據(jù)的運算(可以操作到位可以操作到位),符號位參與運算,符號位參與運算,主要用于系統(tǒng)程序設(shè)計。主要用于系統(tǒng)程序設(shè)計。位運算符共有位運算符共有6 種種:它們是:按位它們是:按位與與(&) 按位按位或或(|) 按位按位異或異或() 按位按位取反取反() 左移左移() 數(shù)據(jù)類型、運算符和表達式舉例:按位舉例:按位“與與”例如:已知:例如:已知:char a=3, b=2 , c ; 求:求: c = a & b

22、 ; 此時,可將此時,可將a、b、c看成是看成是一個字節(jié)長度的整型數(shù)。一個字節(jié)長度的整型數(shù)。 a 0000 0011 & b 1111 1110 c 0000 0010結(jié)果變量結(jié)果變量 c 的值為的值為 2。其它位運算,自學(xué)。其它位運算,自學(xué)。數(shù)據(jù)類型、運算符和表達式 2.4.7 自增、自減運算符和表達式自增、自減運算符和表達式使變量的值加使變量的值加 1 或減或減 1 的運算的運算如如: +i, - -i在使用在使用 i 之前加或減之前加或減 1i+, i- -在使用在使用 i 之后加或減之后加或減 1int i=3, j;j=+i;運算后運算后 i = ?,j = ?int i=3

23、, j;j=i+;運算后運算后 i = ?,j = ?注意注意:只能用于變量,不能用于常量和表達式,只能用于變量,不能用于常量和表達式, 如:如: 3+; (a+b)+; 錯誤錯誤i = 4,j = 4i = 4,j = 3數(shù)據(jù)類型、運算符和表達式2.4.8 賦值運算符和賦值表達式賦值運算符和賦值表達式1賦值運算符賦值運算符 “ “=” ” 是賦值運算符,是賦值運算符,賦值表達式格式:賦值表達式格式: 求解過程:求解過程:求出求出 的值,賦給的值,賦給 賦值表達式的值:賦值表達式的值:為為 的值的值如:如:a = b + c 還可以是另一個賦值表達式,還可以是另一個賦值表達式,數(shù)據(jù)類型、運算符

24、和表達式如如: a=b=5 a=5+(c=6) a=(b=4)+(c=6)如果如果 a 初值為初值為 2,表達式結(jié)果?,表達式結(jié)果?結(jié)果為結(jié)果為 7如如: a=33是最簡單的表達式是最簡單的表達式i=i+1它不同于它不同于“等于號等于號”注意優(yōu)先級注意優(yōu)先級 與結(jié)合性與結(jié)合性 b = c = d = a+5自右向左自右向左表達式結(jié)果分別為:?表達式結(jié)果分別為:? 5 11 10數(shù)據(jù)類型、運算符和表達式2. 復(fù)合賦值運算符復(fù)合賦值運算符復(fù)合賦值運算符復(fù)合賦值運算符x*=y+8等價于等價于 x=x*(y+8)x%=3等價于等價于 x=x%3x/=9簡寫為:簡寫為: a += 3 a=a+3簡寫為:

25、簡寫為: a - = b a=a-b同理:同理:賦值運算符賦值運算符 以及以及 復(fù)合賦值運算符復(fù)合賦值運算符的運算優(yōu)先級比的運算優(yōu)先級比算術(shù)運算符算術(shù)運算符優(yōu)先級低,優(yōu)先級低,運算結(jié)合性為運算結(jié)合性為自右向左。自右向左。等價于等價于 x=x/9數(shù)據(jù)類型、運算符和表達式例例: a+=a-=a*a如果如果 a 初值為初值為 2,表達式結(jié)果?,表達式結(jié)果? a+=a-=a*a結(jié)果結(jié)果 a 的值為的值為 - 4表達式的結(jié)果也為表達式的結(jié)果也為 - 4數(shù)據(jù)類型、運算符和表達式2.4.9 逗號運算符和逗號表達式逗號運算符和逗號表達式逗號運算符逗號運算符:, 逗號表達式逗號表達式: ,. ,如如: a=3*

26、5 , a*4 , a+5逗號運算符逗號運算符優(yōu)先級最低優(yōu)先級最低,結(jié)合性:自左向右結(jié)合性:自左向右求解過程:求解過程:依次計算依次計算 、 . 的值。的值。逗號表達式的值:逗號表達式的值:為為 的值的值運算結(jié)束后:運算結(jié)束后:a 的值為的值為 15 整個表達式的值為整個表達式的值為 20數(shù)據(jù)類型、運算符和表達式a=3*5, a*4x=(a=3, 6*3) 賦值表達式賦值表達式x=a=3, 6*3逗號表達式逗號表達式例:例:如下表達式,如下表達式, 運算結(jié)束后運算結(jié)束后 a=? x=? 表達式表達式=?a=15, 表達式表達式=60a=3, x=18, 表達式表達式=18a=3, x=3, 表

27、達式表達式=18逗號表達式逗號表達式數(shù)據(jù)類型、運算符和表達式2.4.10 sizeof( ) 運算符運算符和表達式和表達式 例例 int i ; double x; sizeof(int) sizeof(i) sizeof(double) sizeof(x)格式:格式: sizeof (類型標識類型標識/變量名變量名) 功能:功能: 求某類型變量所占字節(jié)數(shù)求某類型變量所占字節(jié)數(shù)結(jié)果均為結(jié)果均為 4結(jié)果均為結(jié)果均為 8數(shù)據(jù)類型、運算符和表達式例:例: 求求 & 2.4.11 邏輯表達式運算優(yōu)化時的副作用邏輯表達式運算優(yōu)化時的副作用從左向右掃描,計算從左向右掃描,計算,當當 為為真真時,繼

28、續(xù)計算時,繼續(xù)計算 當當 為為假假時,即能確定整個表達式時,即能確定整個表達式的值為假,則停止計算的值為假,則停止計算數(shù)據(jù)類型、運算符和表達式例:例:求求 | | 從左向右掃描,計算從左向右掃描,計算,當當 為為假假時,繼續(xù)計算時,繼續(xù)計算 當當 為為真真時,即能確定整個表達式時,即能確定整個表達式的值為真,則停止計算的值為真,則停止計算數(shù)據(jù)類型、運算符和表達式課堂練習(xí)課堂練習(xí)int x , y , z , w ; 輸出結(jié)果?輸出結(jié)果?x = y = z = 1 ;w = +x | +y & +z ;cout x t y t z n ;cout w n ;輸出:輸出: 2 1 1 1數(shù)

29、據(jù)類型、運算符和表達式2.5 類型轉(zhuǎn)換類型轉(zhuǎn)換2.5.1 賦值時的自動類型轉(zhuǎn)換賦值時的自動類型轉(zhuǎn)換 如果賦值運算符兩側(cè)的類型不一致,則遵循以下如果賦值運算符兩側(cè)的類型不一致,則遵循以下幾條原則進行類型轉(zhuǎn)換后賦值。幾條原則進行類型轉(zhuǎn)換后賦值。1. 整型變量整型變量實型數(shù)據(jù)實型數(shù)據(jù), 舍棄小數(shù)舍棄小數(shù)(無四舍五入無四舍五入)。int i=3.96 ; i 為為 32. 實型變量實型變量整型數(shù)據(jù)整型數(shù)據(jù), 數(shù)值不變數(shù)值不變, 有效數(shù)位增加。有效數(shù)位增加。float f=23 ; f 為為 23.0 double d=23 ; d 為為 23.0數(shù)據(jù)類型、運算符和表達式3整型數(shù)據(jù)之間相互賦值整型數(shù)據(jù)之

30、間相互賦值 整型數(shù)據(jù)類型有:整型數(shù)據(jù)類型有:signed char unsigned charsigned short unsigned shortsigned int unsigned intsigned long unsigned long各種類型的整型數(shù)占用的字節(jié)數(shù)是不同的,其二進各種類型的整型數(shù)占用的字節(jié)數(shù)是不同的,其二進制位數(shù)有長有短。它們之間相互賦值,其實就是它制位數(shù)有長有短。它們之間相互賦值,其實就是它們內(nèi)存數(shù)據(jù)之間的賦值,分兩種情況。們內(nèi)存數(shù)據(jù)之間的賦值,分兩種情況。下面以下面以 int 型數(shù)據(jù)與型數(shù)據(jù)與 char 型數(shù)據(jù)之間的賦值進行說明:型數(shù)據(jù)之間的賦值進行說明:數(shù)據(jù)類型、

31、運算符和表達式 將將 int 型變量賦給字符型變量時型變量賦給字符型變量時 (長長短短) 方法:方法:截取低位賦值截取低位賦值例:例:signed char c1=250 ; c1真值為真值為 -6 250 為為int型常數(shù)型常數(shù), 32 位:位:00000000 1111 1010 c1: 1111 1010 數(shù)據(jù)類型、運算符和表達式將字符型變量賦給將字符型變量賦給 int 型變量時型變量時(短短長長),又分成兩種情況:又分成兩種情況: 有符號的字符型數(shù)據(jù)有符號的字符型數(shù)據(jù)整型變量整型變量 需符號位擴展需符號位擴展 例:例:char c1=15 ; int i ; i=c1 ; i 為整型變

32、量為整型變量 32 位:位: 00000000 0000 1111 c1(正號正號): 0000 1111擴展擴展正號,結(jié)果正號,結(jié)果i 的的真值為真值為 15 15 為整型常數(shù)為整型常數(shù) 32 位:位: 00000000 0000 1111 數(shù)據(jù)類型、運算符和表達式 char c1=250 ; int i ; i=c1 ; i 為整型變量為整型變量 32 位:位: 11111111 1111 1010 250 為整型常數(shù)為整型常數(shù) 32 位:位: 00000000 1111 1010 c1(負號負號): 1111 1010 擴展擴展負號,結(jié)果負號,結(jié)果 i 的的真值為真值為 - 6數(shù)據(jù)類型、

33、運算符和表達式無符號的字符型數(shù)據(jù)無符號的字符型數(shù)據(jù)整型變量整型變量 前面補前面補 0 unsigned char c1=250 ; int i ; i=c1 ; i 為整型變量為整型變量 32 位:位: 00000000 1111 1010 前面前面補補0,結(jié)果,結(jié)果 i 的的真值為真值為 250250 為整型常數(shù)為整型常數(shù) 32 位:位: 00000000 1111 1010 c1(無符號數(shù)無符號數(shù)): 1111 1010 數(shù)據(jù)類型、運算符和表達式2.5.2 各種類型運算量混合運算時的自動類型轉(zhuǎn)換各種類型運算量混合運算時的自動類型轉(zhuǎn)換 C 語言的數(shù)值型數(shù)據(jù)語言的數(shù)值型數(shù)據(jù)(常量變量常量變量)包括包括:整型整型int, short int, long int, unsigned int, unsigned short, unsigned long實型實型float, double字符型字符型char,

溫馨提示

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

最新文檔

評論

0/150

提交評論