c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型課件_第1頁(yè)
c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型課件_第2頁(yè)
c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型課件_第3頁(yè)
c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型課件_第4頁(yè)
c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型課件_第5頁(yè)
已閱讀5頁(yè),還剩75頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型第二章 基本數(shù)據(jù)類(lèi)型本章主要任務(wù):1、了解C語(yǔ)言豐富的數(shù)據(jù)類(lèi)型;常量、變量的概念。2、掌握變量定義原則和符號(hào)常量定義方法。3、掌握常用基本數(shù)據(jù)類(lèi)型(整型、實(shí)型、字符型)數(shù)據(jù)的常量表示、機(jī)內(nèi)存儲(chǔ)、變量分類(lèi)以及掌握正確選擇數(shù)據(jù)類(lèi)型。4、了解數(shù)值型數(shù)據(jù)混合運(yùn)算及類(lèi)型轉(zhuǎn)換規(guī)律。 5、了解:C語(yǔ)言的豐富運(yùn)算符,豐富的運(yùn)算符可以構(gòu)成靈活的表達(dá)式。6、掌握算術(shù)、賦值、逗號(hào)運(yùn)算符及它們構(gòu)成的表達(dá)式。7、掌握運(yùn)算符的優(yōu)先級(jí)、結(jié)合性規(guī)律。 比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型一、 C C的數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型總表C數(shù)據(jù)類(lèi)型基本類(lèi)型構(gòu)造類(lèi)型指針類(lèi)型空類(lèi)型v

2、oid定義類(lèi)型typedef字符類(lèi)型char枚舉類(lèi)型enum整 型實(shí)型單精度型float雙精度型double數(shù)組結(jié)構(gòu)體struct共用體union短整型short長(zhǎng)整型long整型int數(shù)據(jù)類(lèi)型決定:1. 數(shù)據(jù)占內(nèi)存字節(jié)數(shù)2. 數(shù)據(jù)取值范圍3. 其上可進(jìn)行的操作比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型基本數(shù)據(jù)類(lèi)型類(lèi)型符號(hào)關(guān)鍵字?jǐn)?shù)的表示范圍所占位數(shù)(signed)int16-3276832767 -215(215-1)(signed)short16-3276832767(signed)long32-2147483648214748364716unsigned int065535 0(2

3、16-1)3204294967295unsigned longunsigned short16065535有Float(有效數(shù)字67位)323.4e-383.4e38有double (有效數(shù)字1516位)641.7e-3081.7e308有char8-128127無(wú)unsigned char80255整型字符型實(shí)型有無(wú)說(shuō)明:數(shù)據(jù)類(lèi)型所占字節(jié)數(shù)隨機(jī)器硬件不同而不同,上表以IBM PC機(jī)為例:比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型01 11 11 11 11 11 11 11int型:最大:3276710 00 00 00 00 00 00 00最小:-3276811 11 11 11

4、 11 11 11 11unsigned int型:最大:6553500 00 00 00 00 00 00 00最小:0比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型一、C的數(shù)據(jù)類(lèi)型說(shuō)明(1)數(shù)據(jù)有類(lèi)型。(2)不同的數(shù)據(jù)類(lèi)型有不同的取值范圍。如有符號(hào)整數(shù)取值范圍-3276832767,浮點(diǎn)數(shù)-3.4e-383.4e38。 (3)不同的數(shù)據(jù)類(lèi)型有不同的操作。如整型數(shù)可以取余操作,實(shí)型數(shù)據(jù)卻不行;整型、實(shí)型數(shù)據(jù)可以有加法,字符數(shù)組不行。 (4)不同的數(shù)據(jù)類(lèi)型即使有相同的操作有時(shí)含義也不同,如指針數(shù)據(jù)自增1與整數(shù)自增1含義是不同的。比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型一、C的數(shù)據(jù)

5、類(lèi)型(5)C語(yǔ)言的數(shù)據(jù)類(lèi)型可以構(gòu)造復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。如使用結(jié)構(gòu)體數(shù)組可以構(gòu)造線性表。使用指針類(lèi)型、結(jié)構(gòu)體類(lèi)型可以構(gòu)造線性鏈表(棧、隊(duì)列)、樹(shù)、圖。 (6)C語(yǔ)言中的數(shù)據(jù)有變量與常量,它們分別屬于上述這些類(lèi)型。 比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型0、標(biāo)識(shí)符定義:用來(lái)標(biāo)識(shí)變量、常量、函數(shù)等的字符序列組成:只能由字母、數(shù)字、下劃線組成,且第一個(gè)字母必須是字母或下劃線大小寫(xiě)敏感不能使用關(guān)鍵字長(zhǎng)度:最長(zhǎng)32個(gè)字符命名原則:見(jiàn)名知意不宜混淆 如l與I, o與0例:判斷下列標(biāo)識(shí)符號(hào)合法性sum Sum M.D.John day Date 3days student_name #33 lotus

6、_1_2_3 char ab _above $123M.D.John3days#33char$123ab比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型二、常量與變量1、常量(1)定義在程序的運(yùn)行過(guò)程中,其值不能改變的量稱為常量。 比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型二、常量與變量(2)常量類(lèi)型如:12、0、-3為整型常量4.6、-1.23為實(shí)型常量a、d字符常量。常量可以從字面形式即可判斷-字面常量或直接常量。比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型二、常量與變量(3)符號(hào)常量#define PI 3.1416使用符號(hào)常量的好處:含義清楚、見(jiàn)名知意。修改方便、一改全

7、改。例2-1:符號(hào)常量應(yīng)用#define PI 3.14void main() float area; area=10*10*PI; printf(area=%fn,area);結(jié)果:area=314.000000比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型二、常量與變量2、變量(1)定義在程序的運(yùn)行過(guò)程中,其值可以改變的量稱為變量。 比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型二、常量與變量(2)變量名(用標(biāo)識(shí)符表示)、變量在內(nèi)存中占據(jù)的存儲(chǔ)單元、變量值三者關(guān)系。變量名在程序運(yùn)行過(guò)程中不會(huì)改變,變量的值可以改變。變量名遵守標(biāo)識(shí)符準(zhǔn)則。 比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)

8、據(jù)類(lèi)型二、常量與變量(2) C語(yǔ)言中變量:“先定義,后使用”。C要求對(duì)所有用到的變量做強(qiáng)制定義。只有申明過(guò)的變量才可以在程序中使用,這使得變量名的拼寫(xiě)錯(cuò)誤容易發(fā)現(xiàn)。申明的變量屬于確定的類(lèi)型,編譯系統(tǒng)可方便地檢查變量所進(jìn)行運(yùn)算的合法性。在編譯時(shí)根據(jù)變量類(lèi)型可以為變量確定存儲(chǔ)空間,“先定義后使用”使程序效率高。比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型三、整型數(shù)據(jù)1、整型常數(shù)的表示方法1)十進(jìn)制。123,-456,0。2)八進(jìn)制。以0開(kāi)頭,后面跟幾位的數(shù)字(0-7)。0123=(123)8=(83)10;-011=(-11)8=(-9)10。 3)十六進(jìn)制。以0 x開(kāi)頭,后面跟幾位的數(shù)字(

9、0-9,A-F)。0 x123=291,-0 x12=-18。 比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型三、整型數(shù)據(jù)2、整型變量(1)整型數(shù)據(jù)在內(nèi)存中的存放形式 數(shù)據(jù)在內(nèi)存中以二進(jìn)制形式存放,事實(shí)上以補(bǔ)碼形式存放。比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型三、整型數(shù)據(jù)例如:定義一個(gè)整型變量i=10。其內(nèi)存模型如下:比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型三、整型數(shù)據(jù)(2)整型變量的分類(lèi)1)根據(jù)表達(dá)范圍可以分為:基本整型 (int)、短整型(short int)、長(zhǎng)整型(long int)。用long型可以獲得大范圍的整數(shù),但同時(shí)會(huì)降低運(yùn)算速度。 2)根據(jù)是否有符號(hào)可

10、以分為:有符號(hào)(signed,默認(rèn)),無(wú)符號(hào)(unsigned)-目的:擴(kuò)大表示范圍,有些情況只需要用正整數(shù)。 比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型三、整型數(shù)據(jù)6種整型變量:l 有符號(hào)基本整型 :signedintl 有符號(hào)短整型 :signedshortintl 有符號(hào)長(zhǎng)整型 :signedlongintl 無(wú)符號(hào)基本整型 :unsigned intl 無(wú)符號(hào)短整型 :unsigned short intl 無(wú)符號(hào)長(zhǎng)整型 :unsigned long int比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型三、整型數(shù)據(jù)例如:保存整數(shù)13的各種整型數(shù)據(jù)類(lèi)型。 比比培訓(xùn)_C語(yǔ)言程序

11、設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型三、整型數(shù)據(jù)比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型三、整型數(shù)據(jù)(3)整型變量的定義 格式:數(shù)據(jù)類(lèi)型名 變量名表;例如:void main() int a,b,c,d; unsigned u; a=12; b=-24; u=10; c=a+u; d=b+u; printf(“%d,%dn”,c,d); 比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型三、整型數(shù)據(jù)說(shuō)明:(1)變量定義時(shí),可以說(shuō)明多個(gè)相同類(lèi)型的變量。各個(gè)變量用“,”分隔。類(lèi)型說(shuō)明與變量名之間至少有一個(gè)空格間隔。(2)最后一個(gè)變量名之后必須用“;”結(jié)尾。(3)變量說(shuō)明必須在變量使用之前。(4

12、)可以在定義變量的同時(shí),對(duì)變量進(jìn)行初始化。比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型三、整型數(shù)據(jù)(4)整型數(shù)據(jù)的溢出 整型數(shù)最大允許值+1,最小允許值-1,會(huì)出現(xiàn)什么情況?結(jié)論:超出范圍就發(fā)生“溢出”,運(yùn)行時(shí)不報(bào)錯(cuò)。 例2-2a:整型數(shù)據(jù)的溢出void main() int a,b; a=32767; b=a+1; printf(na=%d,a+1=%dn,a,b); a=-32768; b=a-1; printf(na=%d,a-1=%dn,a,b); getch();a=32767,a+1=-32768a=-32768,a-1=32767比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)

13、據(jù)類(lèi)型四、實(shí)型數(shù)據(jù)1、實(shí)型常量的表示方法(1)十進(jìn)制小數(shù)形式。由數(shù)字,小數(shù)點(diǎn)組成(必須有小數(shù)點(diǎn))。例如:.123、123.、123.0、0.0(2)指數(shù)形式。格式:aEn。例如:123e3、123E3都是實(shí)數(shù)的合法表示。 比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型四、實(shí)型數(shù)據(jù)說(shuō)明:1)字母e或E之前必須有數(shù)字,e后面的指數(shù)必須為整數(shù)。例如:e3、2.1e3.5、.e3、e都不是合法的指數(shù)形式。2)規(guī)范化的指數(shù)形式。在字母e或E之前的小數(shù)部分,小數(shù)點(diǎn)左邊應(yīng)當(dāng)有且只能有一位非0數(shù)字。用指數(shù)形式輸出時(shí),是按規(guī)范化的指數(shù)形式輸出的。例如:2.3478e2、3.0999E5、6.46832e12

14、都屬于規(guī)范化的指數(shù)形式。3)實(shí)型常量都是雙精度,如果要指定它為單精度,可以加后綴f(實(shí)型數(shù)據(jù)類(lèi)型參看實(shí)型變量部分說(shuō)明)。 比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型四、實(shí)型數(shù)據(jù)2、實(shí)型變量 (1)實(shí)型數(shù)據(jù)在內(nèi)存中的存放形式 一個(gè)實(shí)型數(shù)據(jù)一般在內(nèi)存中占4個(gè)字節(jié)(32位)。與整數(shù)存儲(chǔ)方式不同,實(shí)型數(shù)據(jù)是按照指數(shù)形式存儲(chǔ)的。系統(tǒng)將實(shí)型數(shù)據(jù)分為小數(shù)部分和指數(shù)部分,分別存放。比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型四、實(shí)型數(shù)據(jù)(2)實(shí)型變量的分類(lèi) 單精度(float)、雙精度(double)、長(zhǎng)雙精度(long double)。 類(lèi)型比特?cái)?shù)有效數(shù)字?jǐn)?shù)值范圍float326-7-3.4x

15、10+38 3.4x10+38double6415-16-1.7x10+308 1.7x10+308long double12818-19-1.2x10+4932 1.2x10+4932比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型四、實(shí)型數(shù)據(jù)(3)實(shí)型數(shù)據(jù)的舍入誤差實(shí)型變量是用有限的存儲(chǔ)單元存儲(chǔ)的,因此提供的有效數(shù)字是有限的,在有效位以外的數(shù)字將被舍去,由此可能會(huì)產(chǎn)生一些誤差。例2-3a:實(shí)型數(shù)據(jù)的舍入誤差(實(shí)型變量只能保證7位有效數(shù)字,后面的數(shù)字無(wú)意義)void main() float a,b; a=123456.789e5; b=a+20; printf(a=%f,b=%fn,a,

16、b); printf(a=%e,b=%en,a,b); a=12345678848.000000,b=12345678848.000000a=1.23457e+10,b=1.23457e+10 比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型四、實(shí)型數(shù)據(jù)結(jié)論:由于實(shí)數(shù)存在舍入誤差,使用時(shí)要注意: (1)不要試圖用一個(gè)實(shí)數(shù)精確表示一個(gè)大整數(shù),記?。焊↑c(diǎn)數(shù)是不精確的。 (2)實(shí)數(shù)一般不判斷“相等”,而是判斷接近或近似。 (3)避免直接將一個(gè)很大的實(shí)數(shù)與一個(gè)很小的實(shí)數(shù)相加、相減,否則會(huì)“丟失”小的數(shù)。 (4)根據(jù)要求選擇單精度、雙精度。 比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型五、字符型

17、數(shù)據(jù)1、字符常量 (1)定義用單引號(hào)()括起來(lái)的一個(gè)字符。比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型五、字符型數(shù)據(jù)(2)形式:1)可顯示的字符常量直接用單引號(hào)括起來(lái),如,a、D、?、$等都是字符常量。2)使用字符的轉(zhuǎn)義表示法表示轉(zhuǎn)義表示格式:ddd或xhh(其中ddd,hh是字符的ASCII碼,ddd八進(jìn)制、hh十六進(jìn)制)。注意:不可寫(xiě)成0 xhh或0ddd(整數(shù))。 比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型五、字符型數(shù)據(jù)(3)預(yù)定義常用轉(zhuǎn)義字符 比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型五、字符型數(shù)據(jù)2、字符變量(1)定義字符型變量是用來(lái)存放字符數(shù)據(jù),同時(shí)只能存放一

18、個(gè)字符。所有編譯系統(tǒng)都規(guī)定以一個(gè)字節(jié)來(lái)存放一個(gè)字符,或者說(shuō),一個(gè)字符變量在內(nèi)存中占一個(gè)字節(jié)。 比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型五、字符型數(shù)據(jù)3、字符數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式字符數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式:以字符的ASCII碼,以二進(jìn)制形式存放,占用1個(gè)字節(jié)。 比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型五、字符型數(shù)據(jù)說(shuō)明:1)字符數(shù)據(jù)以ASCII碼存儲(chǔ)的形式與整數(shù)的存儲(chǔ)形式類(lèi)似,這使得字符型數(shù)據(jù)和整型數(shù)據(jù)之間可以通用(當(dāng)作整型量)。2)可以將整型量賦值給字符變量,也可以將字符量賦值給整型變量。 3)可以對(duì)字符數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算,相當(dāng)于對(duì)它們的ASCII碼進(jìn)行算術(shù)運(yùn)算。 4)一個(gè)

19、字符數(shù)據(jù)既可以以字符形式輸出(ASCII碼對(duì)應(yīng)的字符),也可以以整數(shù)形式輸出(直接輸出ASCII碼)。比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型五、字符型數(shù)據(jù)例2-7a:給字符變量賦以整數(shù)(字符型、整型數(shù)據(jù)通用)void main() /* 字符a的各種表達(dá)方法 */ char c1=a; char c2=x61;/* note:x.,. */ char c3=141; char c4=97; char c5=0 x61; /* note: 0 x.,0. */ char c6=0141; printf(nc1=%c,c2=%c,c3=%c,c4=%c,c5=%c,c6=%cn,c1,

20、c2,c3,c4,c5,c6); printf(c1=%d,c2=%d,c3=%d,c4=%d,c5=%d,c6=%dn,c1,c2,c3,c4,c5,c6); getch();c1=a,c2=a,c3=a,c4=a,c5=a,c6=ac1=97,c2=97,c3=97,c4=97,c5=97,c6=97過(guò)程:整型數(shù)=機(jī)內(nèi)表示(兩個(gè)字節(jié))=取低8位賦值給字符變量比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型五、字符型數(shù)據(jù)例2-8a:大小寫(xiě)字母的轉(zhuǎn)換(ASCII碼表:小寫(xiě)字母比對(duì)應(yīng)的大寫(xiě)字母的ASCII碼大32,本例還可以看出允許字符數(shù)據(jù)與整數(shù)直接進(jìn)行算術(shù)運(yùn)算,運(yùn)算時(shí)字符數(shù)據(jù)用ASCII碼值

21、參與運(yùn)算)void main() char c1,c2,c3; c1=a; c2=b; c1=c1-32; c2=c2-32; c3=130; printf(n%c %c %cn,c1,c2,c3); printf(%d %d %dn,c1,c2,c3); getch();A B ?65 66 -126比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型五、字符型數(shù)據(jù)4、字符串常量 (1)定義是一對(duì)雙引號(hào)(“”)括起來(lái)的字符序列。 例如:“How dow you do?”,“CHINA”,“a”,“$123.45”. 比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型五、字符型數(shù)據(jù)(2)區(qū)分字符

22、常量與字符串常量如“a”和a。 C語(yǔ)言規(guī)定:在每個(gè)字符串的結(jié)尾加一個(gè)“字符串結(jié)束標(biāo)志”,以便系統(tǒng)據(jù)此判斷字符串是否結(jié)束。C規(guī)定以0(ASCII碼為0的字符)作為字符串結(jié)束標(biāo)志。比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型五、字符型數(shù)據(jù)如:“CHINA”在內(nèi)存中的存儲(chǔ)應(yīng)當(dāng)是:(長(zhǎng)度=6)比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型五、字符型數(shù)據(jù)(3)不能將字符串賦給字符變量。 (4)C語(yǔ)言沒(méi)有專門(mén)的字符串變量,如果想將一個(gè)字符串存放在變量中,可以使用字符數(shù)組。即用一個(gè)字符數(shù)組來(lái)存放一個(gè)字符串,數(shù)組中每一個(gè)元素存放一個(gè)字符。 比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型六、各數(shù)值

23、型數(shù)據(jù)的混合運(yùn)算整型(包括int,short,long)和實(shí)型(包括float,double)數(shù)據(jù)可以混合運(yùn)算,另外字符型數(shù)據(jù)和整型數(shù)據(jù)可以通用,因此,整型、實(shí)型、字符型數(shù)據(jù)之間可以混合運(yùn)算。例如:表達(dá)式10+a+1.5-8765.1234*b是合法的。在進(jìn)行運(yùn)算時(shí),不同類(lèi)型的數(shù)據(jù)先轉(zhuǎn)換成同一類(lèi)型,然后進(jìn)行計(jì)算,轉(zhuǎn)換的方法有兩種:自動(dòng)轉(zhuǎn)換(隱式轉(zhuǎn)換);強(qiáng)制轉(zhuǎn)換。 比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型六、各數(shù)值型數(shù)據(jù)的混合運(yùn)算1、自動(dòng)動(dòng)轉(zhuǎn)換(隱式轉(zhuǎn)換) 自動(dòng)轉(zhuǎn)換發(fā)生在不同類(lèi)型數(shù)據(jù)進(jìn)行混合運(yùn)算時(shí),由編譯系統(tǒng)自動(dòng)完成。 比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型六、各數(shù)值型數(shù)據(jù)

24、的混合運(yùn)算轉(zhuǎn)換規(guī)則 : 比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型六、各數(shù)值型數(shù)據(jù)的混合運(yùn)算1)類(lèi)型不同,先轉(zhuǎn)換為同一類(lèi)型,然后進(jìn)行運(yùn)算。2)圖中縱向的箭頭表示當(dāng)運(yùn)算對(duì)象為不同類(lèi)型時(shí)轉(zhuǎn)換的方向??梢钥吹郊^由低級(jí)別數(shù)據(jù)類(lèi)型指向高級(jí)別數(shù)據(jù)類(lèi)型,即數(shù)據(jù)總是由低級(jí)別向高級(jí)別轉(zhuǎn)換。即按數(shù)據(jù)長(zhǎng)度增加的方向進(jìn)行,保證精度不降低。 比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型六、各數(shù)值型數(shù)據(jù)的混合運(yùn)算3)圖中橫向向左的箭頭表示必定的轉(zhuǎn)換(不必考慮其它運(yùn)算對(duì)象)。4)賦值運(yùn)算,如果賦值號(hào)“=”兩邊的數(shù)據(jù)類(lèi)型不同,賦值號(hào)右邊的類(lèi)型轉(zhuǎn)換為左邊的類(lèi)型。這種轉(zhuǎn)換是截?cái)嘈偷霓D(zhuǎn)換,不會(huì)四舍五入。 比比培訓(xùn)_

25、C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型六、各數(shù)值型數(shù)據(jù)的混合運(yùn)算強(qiáng)制轉(zhuǎn)換是通過(guò)類(lèi)型轉(zhuǎn)換運(yùn)算來(lái)實(shí)現(xiàn)。一般形式:(類(lèi)型說(shuō)明符)表達(dá)式功能:把表達(dá)式的結(jié)果強(qiáng)制轉(zhuǎn)換為類(lèi)型說(shuō)明符所表示的類(lèi)型。 比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型六、各數(shù)值型數(shù)據(jù)的混合運(yùn)算例如:(int)a 將a的結(jié)果強(qiáng)制轉(zhuǎn)換為整型量。(int)(x+y) 將x+y的結(jié)果強(qiáng)制轉(zhuǎn)換為整型量。(float)a+b 將a的內(nèi)容強(qiáng)制轉(zhuǎn)換為浮點(diǎn)數(shù),再與b相加。 比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型六、各數(shù)值型數(shù)據(jù)的混合運(yùn)算說(shuō)明:1)類(lèi)型說(shuō)明和表達(dá)式都需要加括號(hào)(單個(gè)變量可以不加括號(hào))2)無(wú)論隱式轉(zhuǎn)換,強(qiáng)制轉(zhuǎn)換都是臨時(shí)

26、轉(zhuǎn)換,不改變數(shù)據(jù)本身的類(lèi)型和值。 比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型六、各數(shù)值型數(shù)據(jù)的混合運(yùn)算void main() float f=5.75; printf(int)f=%dn,(int)f); /* 將f的結(jié)果強(qiáng)制轉(zhuǎn)換為整型,輸出 */ printf(f=%fn,f); /* 輸出f的值 */結(jié)果:(int)f=5f=5.750000 比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型七、C運(yùn)算符簡(jiǎn)介 運(yùn)算符:狹義的運(yùn)算符是表示各種運(yùn)算的符號(hào)。表達(dá)式: 使用運(yùn)算符將常量、變量、函數(shù)連接起來(lái),構(gòu)成表達(dá)式。比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型七、C運(yùn)算符簡(jiǎn)介C的運(yùn)

27、算符有以下幾類(lèi): +,- 比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型八、算術(shù)運(yùn)算符和算術(shù)表達(dá)式 1、算術(shù)運(yùn)算符+(加法運(yùn)算符。如3+5)-(減法運(yùn)算符或負(fù)值運(yùn)算符。如5-2,-3)*(乘法運(yùn)算符。如3*5)/(除法運(yùn)算符。如5/3,5.0/3)%(模運(yùn)算符或求余運(yùn)算符,%要求兩側(cè)均為整型數(shù)據(jù)。如7%4的值為3)。除了負(fù)值運(yùn)算符-單目運(yùn)算符外,其它都是雙目運(yùn)算符。比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型說(shuō)明(1)兩個(gè)整數(shù)相除的結(jié)果為整數(shù),如5/3的結(jié)果為1,舍去小數(shù)部分。但是如果除數(shù)或被除數(shù)中有一個(gè)為負(fù)值,則舍入的方向是不固定的,多數(shù)機(jī)器采用“向0取整”的方法(實(shí)際上就是舍去小

28、數(shù)部分,注意:不是四舍五入)。 比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型說(shuō)明 比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型說(shuō)明(2)如果參加+,-,*,/運(yùn)算的兩個(gè)數(shù)有一個(gè)為實(shí)數(shù),則結(jié)果為double型,因?yàn)樗袑?shí)數(shù)都按double型進(jìn)行計(jì)算。 (3)求余運(yùn)算符%,要求兩個(gè)操作數(shù)均為整型,結(jié)果為兩數(shù)相除所得的余數(shù)。求余也稱為求模。一般情況,余數(shù)的符號(hào)與被除數(shù)符號(hào)相同。比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型2、算術(shù)表達(dá)式 用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算對(duì)象(也稱操作數(shù))連接起來(lái)的、符合C語(yǔ)法規(guī)則的式子,稱為算術(shù)表達(dá)式。運(yùn)算對(duì)象可以是常量、變量、函數(shù)等。 例如:a * b /

29、 c - 1.5 + a 比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型注意:(1)C語(yǔ)言算術(shù)表達(dá)式的乘號(hào)(*)不能省略。例如:數(shù)學(xué)式b2-4ac,相應(yīng)的C表達(dá)式應(yīng)該寫(xiě)成:b*b-4*a*c。 (2)C語(yǔ)言表達(dá)式中只能出現(xiàn)字符集允許的字符。例如,數(shù)學(xué)r2相應(yīng)的C表達(dá)式應(yīng)該寫(xiě)成:PI*r*r。(其中PI是已經(jīng)定義的符號(hào)常量)比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型(3) C語(yǔ)言算術(shù)表達(dá)式不允許有分子分母的形式。例如,(a+b)/(c+d)。(4)C語(yǔ)言算術(shù)表達(dá)式只使用圓括號(hào)改變運(yùn)算的優(yōu)先順序(不要指望用)。可以使用多層圓括號(hào),此時(shí)左右括號(hào)必須配對(duì),運(yùn)算時(shí)從內(nèi)層括號(hào)開(kāi)始,由內(nèi)向外依次

30、計(jì)算表達(dá)式的值。比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型3、(算術(shù))運(yùn)算符的優(yōu)先級(jí)與結(jié)合性 C語(yǔ)言規(guī)定了進(jìn)行表達(dá)式求值過(guò)程中,各運(yùn)算符的“優(yōu)先級(jí)”和“結(jié)合性”。比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型(1) C語(yǔ)言規(guī)定了運(yùn)算符的“優(yōu)先級(jí)”和“結(jié)合性”。在表達(dá)式求值時(shí),先按運(yùn)算符的“優(yōu)先級(jí)別”高低次序執(zhí)行。如表達(dá)式:a-b*c等價(jià)于a-(b*c)“*”運(yùn)算符優(yōu)先級(jí)高于“-”運(yùn)算符。比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型(2)如果在一個(gè)運(yùn)算對(duì)象兩側(cè)的運(yùn)算符的優(yōu)先級(jí)別相同,則按規(guī)定的“結(jié)合方向”處理。 例如:a-b+c,到底是(a-b)+c還是a-(b+c)? (b先

31、與a參與運(yùn)算還是先于c參與運(yùn)算?)+/-運(yùn)算優(yōu)先級(jí)別相同,結(jié)合性為“自左向右”,即就是說(shuō)b先與左邊的a結(jié)合。所以a-b+c等價(jià)于(a-b)+c。比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型(3)在書(shū)寫(xiě)多個(gè)運(yùn)算符的表達(dá)式時(shí),應(yīng)當(dāng)注意各個(gè)運(yùn)算符的優(yōu)先級(jí),確保表達(dá)式中的運(yùn)算符能以正確的順序參與運(yùn)算。對(duì)于復(fù)雜表達(dá)式為了清晰起見(jiàn)可以加圓括號(hào)“()”強(qiáng)制規(guī)定計(jì)算順序。 比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型九、賦值運(yùn)算符和賦值表達(dá)式 1、賦值運(yùn)算符、賦值表達(dá)式 賦值運(yùn)算符:賦值符號(hào)“=”就是賦值運(yùn)算符。賦值表達(dá)式:由賦值運(yùn)算符組成的表達(dá)式稱為賦值表達(dá)式。一般形式: 變量賦值符表達(dá)式比比培

32、訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型賦值表達(dá)式的求解過(guò)程:將賦值運(yùn)算符右側(cè)的表達(dá)式的值賦給左側(cè)的變量,同時(shí)整個(gè)賦值表達(dá)式的值就是剛才所賦的值。賦值的含義:將賦值運(yùn)算符右邊的表達(dá)式的值存放到左邊變量名標(biāo)識(shí)的存儲(chǔ)單元中。例如:x = 10 + y; 執(zhí)行賦值運(yùn)算(操作),將10+y的值賦給變量x,同時(shí)整個(gè)表達(dá)式的值就是剛才所賦的值。 比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型說(shuō)明:(1)賦值運(yùn)算符左邊必須是變量,右邊可以是常量、變量、函數(shù)調(diào)用或常量、變量、函數(shù)調(diào)用組成的表達(dá)式。例如:x=10 y=x+10 y=func()都是合法的賦值表達(dá)式。比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型(2)賦值符號(hào)“=”不同于數(shù)學(xué)的等號(hào),它沒(méi)有相等的含義。(“=”相等)例如:C語(yǔ)言中x=x+1是合法的(數(shù)學(xué)上不合法),它的含義是取出變量x的值加1,再存放到變量x中。 比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型(3)賦值運(yùn)算時(shí),當(dāng)賦值運(yùn)算符兩邊數(shù)據(jù)類(lèi)型不同時(shí),將由系統(tǒng)自動(dòng)進(jìn)行類(lèi)型轉(zhuǎn)換。轉(zhuǎn)換原則:先將賦值號(hào)右邊表達(dá)式類(lèi)型轉(zhuǎn)換為左邊變量的類(lèi)型,然后賦值。比比培訓(xùn)_C語(yǔ)言程序設(shè)計(jì)c語(yǔ)言-第二章基本數(shù)據(jù)類(lèi)型(4)C語(yǔ)言的賦值符號(hào)“=”除了表示一個(gè)賦值操作外,還是一個(gè)運(yùn)算符,也就是說(shuō)賦值運(yùn)算符完成賦值操作后,整個(gè)賦值表達(dá)式還會(huì)產(chǎn)生一個(gè)所賦的值,這個(gè)值還可以利用。賦值表達(dá)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論