第03章數(shù)據(jù)類型運算符與表達式-2次課ppt課件_第1頁
第03章數(shù)據(jù)類型運算符與表達式-2次課ppt課件_第2頁
第03章數(shù)據(jù)類型運算符與表達式-2次課ppt課件_第3頁
第03章數(shù)據(jù)類型運算符與表達式-2次課ppt課件_第4頁
第03章數(shù)據(jù)類型運算符與表達式-2次課ppt課件_第5頁
已閱讀5頁,還剩78頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、主要內(nèi)容:主要內(nèi)容:1.數(shù)據(jù)、數(shù)據(jù)類型的了解數(shù)據(jù)、數(shù)據(jù)類型的了解2.常量和變量等概念常量和變量等概念3.根本類型的常量和變量根本類型的常量和變量4.變量賦初值變量賦初值5.不同數(shù)值類型數(shù)據(jù)間的混合運算不同數(shù)值類型數(shù)據(jù)間的混合運算6.幾種根本類型運算符和表達式幾種根本類型運算符和表達式1.1.數(shù)據(jù)及數(shù)據(jù)類型數(shù)據(jù)及數(shù)據(jù)類型對數(shù)據(jù)的了解對數(shù)據(jù)的了解狹義上的數(shù)據(jù)和廣義上的數(shù)據(jù)狹義上的數(shù)據(jù)和廣義上的數(shù)據(jù) 狹義的數(shù)據(jù)被了解為數(shù)字、數(shù)值的信息:如今天的溫度為24攝氏度,數(shù)24,考試成果為88分,數(shù)88; 在計算機科學技術(shù)中,數(shù)據(jù)的概念是廣義的。凡是存儲在數(shù)字計算機中的信息,都可稱作數(shù)據(jù),數(shù)據(jù)是信息的表示方式

2、。如:數(shù)字、字符、聲音、圖形、圖像等。數(shù)據(jù)有類型之分: 信息要在計算機內(nèi)存儲,為了區(qū)別數(shù)據(jù),分為各種類型。主要是為了分配存儲空間和可執(zhí)行的操作等。C C數(shù)數(shù)據(jù)據(jù)類類型型根本類型根本類型構(gòu)造類型構(gòu)造類型指針類型指針類型空類型空類型void定義類型定義類型typedef數(shù)值類型數(shù)值類型字符類型字符類型char枚舉類型枚舉類型enum整整 型型浮點型浮點型單精度型單精度型float雙精度型雙精度型double短整型短整型short長整型長整型long整型整型int數(shù)組數(shù)組構(gòu)造體構(gòu)造體struct共用體共用體union1.1.數(shù)據(jù)及數(shù)據(jù)類型數(shù)據(jù)及數(shù)據(jù)類型小結(jié):小結(jié): 計算機要表示現(xiàn)實中的各種數(shù)據(jù),但由

3、于數(shù)據(jù)在計計算機要表示現(xiàn)實中的各種數(shù)據(jù),但由于數(shù)據(jù)在計算機內(nèi)最終的存儲都是一串算機內(nèi)最終的存儲都是一串01的二進制編碼,所以計算的二進制編碼,所以計算機要對數(shù)據(jù)分類型,目的在于,為不同的類型數(shù)據(jù)分配機要對數(shù)據(jù)分類型,目的在于,為不同的類型數(shù)據(jù)分配不同字節(jié)的存儲空間、存取的編碼識別方式以及在程序不同字節(jié)的存儲空間、存取的編碼識別方式以及在程序中對這些數(shù)據(jù)可執(zhí)行的操作等。中對這些數(shù)據(jù)可執(zhí)行的操作等。1.1.數(shù)據(jù)及數(shù)據(jù)類型數(shù)據(jù)及數(shù)據(jù)類型2.2.常量、變量常量、變量 數(shù)據(jù)在程序中可以常量或變量的方式存在,常量方式的數(shù)據(jù),程序中可以直接運用,而變量方式的數(shù)據(jù),程序可以經(jīng)過變量名來訪問變量的存儲單元,從而

4、實現(xiàn)對數(shù)據(jù)的運用。常量常量常量:常量: 在程序執(zhí)行過程中,其值不能被改動的量在程序執(zhí)行過程中,其值不能被改動的量常量常量常量:常量: 在程序執(zhí)行過程中,其值不能被改動的量在程序執(zhí)行過程中,其值不能被改動的量#include void main() int a,b,sum; a=120; b=180; sum=a+b; printf(“sum=%dn,sum);#include void main() int a,b,sum; scanf(“%d,%d,&a,&b) sum=a+b; printf(“sum=%dn,sum); #include void main() int s

5、um; sum=120+180; printf(sum=%dn,sum);圖圖1圖圖2圖圖3常量常量常量:常量: 在程序執(zhí)行過程中,其值不能被改動的量在程序執(zhí)行過程中,其值不能被改動的量常量的類型:普通從字面方式即可判別。常量的類型:普通從字面方式即可判別。如:如:120(120(整型整型) )、3.14(3.14(實型實型) )、a a( (字符型字符型) )常量常量常量:常量: 在程序執(zhí)行過程中,其值不能被改動的量在程序執(zhí)行過程中,其值不能被改動的量常量的類型:普通從字面方式即可判別。常量的類型:普通從字面方式即可判別。如:如:120(120(整型整型) )、3.14(3.14(實型實型)

6、 )、a a( (字符型字符型) )符號常量:用一個標識符表示一個常量符號常量:用一個標識符表示一個常量常量常量常量:常量: 在程序執(zhí)行過程中,其值不能被改動的量在程序執(zhí)行過程中,其值不能被改動的量常量的類型:普通從字面方式即可判別。常量的類型:普通從字面方式即可判別。如:如:120(120(整型整型) )、3.14(3.14(實型實型) )、a a( (字符型字符型) )符號常量:用一個標識符表示一個常量符號常量:用一個標識符表示一個常量#define PI 3.1415926#include void main ( ) float r,s; scanf (“%f,&r); s=r*

7、r* PI; printf(“s=%10.4fn,s);常量常量常量:常量: 在程序執(zhí)行過程中,其值不能被改動的量在程序執(zhí)行過程中,其值不能被改動的量常量的類型:普通從字面方式即可判別。常量的類型:普通從字面方式即可判別。如:如:120(120(整型整型) )、3.14(3.14(實型實型) )、a a( (字符型字符型) )符號常量:用一個標識符表示一個常量符號常量:用一個標識符表示一個常量#define PI 3.1415926#include void main ( ) float r,s; scanf (“%f,&r); s=r*r* PI; printf(“s=%10.4fn

8、,s);1.符號常量用宏定義#define命令行定義2.習慣上用大寫標識符表示符號常量3.符號常量在其作用域中不可改動和再賦值4.含義清楚、修正方便變量變量變量:變量: 在程序運轉(zhuǎn)期間,其值是可以改動的。在程序運轉(zhuǎn)期間,其值是可以改動的。變量變量變量:變量: 在程序運轉(zhuǎn)期間,其值是可以改動的。在程序運轉(zhuǎn)期間,其值是可以改動的。本質(zhì):變量代表內(nèi)存中具有特定屬性的一個存儲本質(zhì):變量代表內(nèi)存中具有特定屬性的一個存儲單元,用來存放數(shù)據(jù)。單元,用來存放數(shù)據(jù)。變量變量變量:變量: 在程序運轉(zhuǎn)期間,其值是可以改動的。在程序運轉(zhuǎn)期間,其值是可以改動的。本質(zhì):變量代表內(nèi)存中具有特定屬性的一個存儲本質(zhì):變量代表內(nèi)

9、存中具有特定屬性的一個存儲單元,用來存放數(shù)據(jù)。單元,用來存放數(shù)據(jù)。表示:變量名和變量值。表示:變量名和變量值。9變量值存儲單元變量名a變量變量變量:變量: 在程序運轉(zhuǎn)期間,其值是可以改動的。在程序運轉(zhuǎn)期間,其值是可以改動的。本質(zhì):變量代表內(nèi)存中具有特定屬性的一個存儲本質(zhì):變量代表內(nèi)存中具有特定屬性的一個存儲單元,用來存放數(shù)據(jù)。單元,用來存放數(shù)據(jù)。表示:變量名和變量值。表示:變量名和變量值。9變量值存儲單元變量名a1.C中經(jīng)過聲明語句定義變量中經(jīng)過聲明語句定義變量2.變量名對應(yīng)變量值的存儲地址變量名對應(yīng)變量值的存儲地址3.經(jīng)過對變量名的賦值來改動變經(jīng)過對變量名的賦值來改動變量值量值4.經(jīng)過變量名

10、來援用變量值經(jīng)過變量名來援用變量值int a;float s; a=120;c=a+b; b=a;c=100;標識符標識符標識符標識符: 在在C中用來對變量、符號常量、函數(shù)、數(shù)組及文中用來對變量、符號常量、函數(shù)、數(shù)組及文件等對象命名的有效字符序列。簡單講,標識符件等對象命名的有效字符序列。簡單講,標識符就是一個名字。就是一個名字。標識符標識符標識符標識符: 在在C中用來對變量、符號常量、函數(shù)、數(shù)組及文中用來對變量、符號常量、函數(shù)、數(shù)組及文件等對象命名的有效字符序列。簡單講,標識符件等對象命名的有效字符序列。簡單講,標識符就是一個名字。就是一個名字。有效字符:有效字符:1.大寫英文字母大寫英文字

11、母 AZ 3. 阿拉伯數(shù)字阿拉伯數(shù)字092.小寫英文字母小寫英文字母 az 4. 下劃線下劃線 _標識符標識符標識符標識符: 在在C中用來對變量、符號常量、函數(shù)、數(shù)組及文中用來對變量、符號常量、函數(shù)、數(shù)組及文件等對象命名的有效字符序列。簡單講,標識符件等對象命名的有效字符序列。簡單講,標識符就是一個名字。就是一個名字。有效字符:有效字符:1.大寫英文字母大寫英文字母 AZ 3. 阿拉伯數(shù)字阿拉伯數(shù)字092.小寫英文字母小寫英文字母 az 4. 下劃線下劃線 _命名規(guī)那么:命名規(guī)那么:1.以字母以字母(大小寫均可大小寫均可)或下劃線開頭或下劃線開頭2.隨后可跟假設(shè)干個隨后可跟假設(shè)干個(可可0個個

12、)字母、數(shù)字、下劃線字母、數(shù)字、下劃線3.標識符的長度各系統(tǒng)不同標識符的長度各系統(tǒng)不同,最好不超越最好不超越8個字符個字符關(guān)鍵字關(guān)鍵字什么是什么是: 它是它是C言語中具有特定含義、專門用作言語特定言語中具有特定含義、專門用作言語特定成分的一類標識符。成分的一類標識符。一切關(guān)鍵字都有固定的意義,不能用作其它一切關(guān)鍵字都有固定的意義,不能用作其它一切的關(guān)鍵字都必需小寫,大小寫有區(qū)別一切的關(guān)鍵字都必需小寫,大小寫有區(qū)別auto break case char constcontinue default do double elseenum extern float for gotoif int lo

13、ng register returnshort signed sizeof static structswitch typedef unsigned union voidvolatile while請留意請留意 在在C C言語中,要求對一切用到的變量做強迫定義,言語中,要求對一切用到的變量做強迫定義,即先定義后運用。即先定義后運用。變量定義的格式:類型變量定義的格式:類型 變量名變量名聲明變量:保證程序中變量名得到正確運用。聲明變量:保證程序中變量名得到正確運用。聲明時,每個變量被指定一個確定的類型,在編譯聲明時,每個變量被指定一個確定的類型,在編譯時變量可以被分配相應(yīng)的存儲單元。時變量可以被

14、分配相應(yīng)的存儲單元。每個變量屬于一個類型,也便于編譯時檢查對變量每個變量屬于一個類型,也便于編譯時檢查對變量進展的運算能否合法。進展的運算能否合法。習慣上變量用小寫標識符習慣上變量用小寫標識符, ,符號常量用大寫標識符符號常量用大寫標識符 int a; float s;1.1.數(shù)據(jù)及數(shù)據(jù)類型數(shù)據(jù)及數(shù)據(jù)類型2.2.常量、變量常量、變量3.3.整型數(shù)據(jù)整型數(shù)據(jù)整型數(shù)據(jù)整型數(shù)據(jù)整型常量的表示方法整型常量的表示方法1.1.十進制整數(shù)。如:十進制整數(shù)。如:123123,-234-234等等整型數(shù)據(jù)整型數(shù)據(jù)整型常量的表示方法整型常量的表示方法1.1.十進制整數(shù)。如:十進制整數(shù)。如:123123,-234-

15、234等等2.2.八進制整數(shù)。以八進制整數(shù)。以0 0開頭的數(shù),由開頭的數(shù),由0-70-7數(shù)字組成,數(shù)字組成, 如:如:012012,-011-011等等整型數(shù)據(jù)整型數(shù)據(jù)整型常量的表示方法整型常量的表示方法1.1.十進制整數(shù)。如:十進制整數(shù)。如:123123,-234-234等等2.2.八進制整數(shù)。以八進制整數(shù)。以0 0開頭的數(shù),由開頭的數(shù),由0-70-7數(shù)字組成,數(shù)字組成, 如:如:012012,-011-011等等3.3.十六進制整數(shù)。以十六進制整數(shù)。以0 x0 x或者或者0X0X開頭的數(shù),由開頭的數(shù),由0-90-9數(shù)字和數(shù)字和a-f(a-f(或者或者 A-F)A-F)字符組成,如:字符組成

16、,如:0 x1a0 x1a,-0 x11-0 x11,OX1FOX1F等等整型數(shù)據(jù)整型數(shù)據(jù)整型變量整型變量1.1.整型數(shù)據(jù)在內(nèi)存中的存放方式整型數(shù)據(jù)在內(nèi)存中的存放方式 數(shù)據(jù)在內(nèi)存中是以二進制方式存放的。不同的系統(tǒng)為一個整數(shù)據(jù)在內(nèi)存中是以二進制方式存放的。不同的系統(tǒng)為一個整型數(shù)據(jù)分配型數(shù)據(jù)分配n n個字節(jié)的存儲單元。數(shù)值是采用補碼編碼方式表示的。個字節(jié)的存儲單元。數(shù)值是采用補碼編碼方式表示的。整型數(shù)據(jù)整型數(shù)據(jù)整型變量整型變量1.1.整型數(shù)據(jù)在內(nèi)存中的存放方式整型數(shù)據(jù)在內(nèi)存中的存放方式 數(shù)據(jù)在內(nèi)存中是以二進制方式存放的。不同的系統(tǒng)為一個整數(shù)據(jù)在內(nèi)存中是以二進制方式存放的。不同的系統(tǒng)為一個整型數(shù)據(jù)分

17、配型數(shù)據(jù)分配n n個字節(jié)的存儲單元。數(shù)值是采用補碼編碼方式表示的。個字節(jié)的存儲單元。數(shù)值是采用補碼編碼方式表示的。 Torbo C2.0為根本整型數(shù)據(jù)分配2個字節(jié)的存儲單元,而VC+6.0那么分配了4個字節(jié)。 分配不同字節(jié)的存儲單元意味著什么?整型數(shù)據(jù)整型數(shù)據(jù)整型變量整型變量1.1.整型數(shù)據(jù)在內(nèi)存中的存放方式整型數(shù)據(jù)在內(nèi)存中的存放方式 數(shù)據(jù)在內(nèi)存中是以二進制方式存放的。不同的系統(tǒng)為一個整數(shù)據(jù)在內(nèi)存中是以二進制方式存放的。不同的系統(tǒng)為一個整型數(shù)據(jù)分配型數(shù)據(jù)分配n n個字節(jié)的存儲單元。數(shù)值是采用補碼編碼方式表示的。個字節(jié)的存儲單元。數(shù)值是采用補碼編碼方式表示的。 Torbo C2.0為根本整型數(shù)據(jù)

18、分配2個字節(jié)的存儲單元,而VC+6.0那么分配了4個字節(jié)。 補碼:正數(shù)的補碼是該數(shù)二進制方式(本身),負數(shù)的補碼是該數(shù)絕對值得二進制方式,按位取反加1。 存儲單元中,最左邊一位是符號位,0闡明值為整數(shù),1闡明值為負數(shù),其他是數(shù)值位。整型數(shù)據(jù)整型數(shù)據(jù)整型變量整型變量1.1.整型數(shù)據(jù)在內(nèi)存中的存放方式整型數(shù)據(jù)在內(nèi)存中的存放方式 2.2.整型變量的分類整型變量的分類 有符號根本整型,用有符號根本整型,用signed intsigned int表示表示 無符號根本整型,用無符號根本整型,用unsigned intunsigned int表示表示 有符號短整型,用有符號短整型,用signed short

19、 intsigned short int表示表示 無符號短整型,用無符號短整型,用unsigned short intunsigned short int表示表示 有符號長整型,用有符號長整型,用signed long intsigned long int表示表示 無符號長整型,用無符號長整型,用unsigned long intunsigned long int表示表示整型的分類是以分配的存儲單元的字節(jié)數(shù)來區(qū)分的。整型的分類是以分配的存儲單元的字節(jié)數(shù)來區(qū)分的。有符號否:分配的存儲單元的最高位能否是符號位。有符號否:分配的存儲單元的最高位能否是符號位。假設(shè)短整型是分配兩個字節(jié),無符號短整型變量

20、可表示的數(shù)值范圍是:0216-1,而有符號短整型變量可表示的數(shù)值范圍是:-215215-1整型數(shù)據(jù)整型數(shù)據(jù)整型變量整型變量1.1.整型數(shù)據(jù)在內(nèi)存中的存放方式整型數(shù)據(jù)在內(nèi)存中的存放方式 2.2.整型變量的分類整型變量的分類 3.3.整型變量的定義整型變量的定義 類型標識類型標識 變量名標識符變量名標識符( (列表列表) ) 整型數(shù)據(jù)整型數(shù)據(jù)整型變量整型變量1.1.整型數(shù)據(jù)在內(nèi)存中的存放方式整型數(shù)據(jù)在內(nèi)存中的存放方式 2.2.整型變量的分類整型變量的分類 3.3.整型變量的定義整型變量的定義 類型標識類型標識 變量名標識符變量名標識符( (列表列表) ) 1.1.變量的定義普通放在一個函數(shù)的函數(shù)體

21、的開頭部分變量的定義普通放在一個函數(shù)的函數(shù)體的開頭部分2.2.類型標識可選六種類型標識可選六種int,short,long,unsigned int,unsigned shortint,short,long,unsigned int,unsigned short,unsigned longunsigned long如:如:int a,b,c;int a,b,c; long e,f,t; long e,f,t;整型數(shù)據(jù)整型數(shù)據(jù)整型變量整型變量1.1.整型數(shù)據(jù)在內(nèi)存中的存放方式整型數(shù)據(jù)在內(nèi)存中的存放方式 2.2.整型變量的分類整型變量的分類 3.3.整型變量的定義整型變量的定義 4.4.整型數(shù)據(jù)的

22、溢出整型數(shù)據(jù)的溢出/* 整型數(shù)據(jù)的溢出整型數(shù)據(jù)的溢出 */#include void main() short a,b; a=32767; b=a+1; printf(“a=%dnb=%dn,a,b);運轉(zhuǎn)結(jié)果:a=32767b=-32768整型數(shù)據(jù)整型數(shù)據(jù)整型變量整型變量1.1.整型數(shù)據(jù)在內(nèi)存中的存放方式整型數(shù)據(jù)在內(nèi)存中的存放方式 2.2.整型變量的分類整型變量的分類 3.3.整型變量的定義整型變量的定義 4.4.整型數(shù)據(jù)的溢出整型數(shù)據(jù)的溢出/* 整型數(shù)據(jù)的溢出整型數(shù)據(jù)的溢出 */#include void main() short a,b; a=32767; b=a+1; printf(“

23、a=%dnb=%dn,a,b);運轉(zhuǎn)結(jié)果:a=32767b=-327680 1 1 1 1 1 11 1 1 1 1 1 1 1 1a:1 0 0 0 0 00 0 0 0 0 0 0 0 0 0b:32767-32768整型數(shù)據(jù)整型數(shù)據(jù)整型變量整型變量整型常量的表示方法整型常量的表示方法1.1.整型數(shù)據(jù)在內(nèi)存中的存放方式整型數(shù)據(jù)在內(nèi)存中的存放方式 2.2.整型變量的分類整型變量的分類 3.3.整型變量的定義整型變量的定義 4.4.整型數(shù)據(jù)的溢出整型數(shù)據(jù)的溢出整型常數(shù)的類型整型常數(shù)的類型整型數(shù)據(jù)整型數(shù)據(jù)整型變量整型變量整型常量的表示方法整型常量的表示方法1.1.整型數(shù)據(jù)在內(nèi)存中的存放方式整型數(shù)

24、據(jù)在內(nèi)存中的存放方式 2.2.整型變量的分類整型變量的分類 3.3.整型變量的定義整型變量的定義 4.4.整型數(shù)據(jù)的溢出整型數(shù)據(jù)的溢出整型常數(shù)的類型整型常數(shù)的類型1.1.在在-32768-32767-32768-32767范圍內(nèi)的數(shù),以為是范圍內(nèi)的數(shù),以為是shortshort型型2.2.在在-2147483648-2147483647-2147483648-2147483647范圍內(nèi)的數(shù),以為是范圍內(nèi)的數(shù),以為是intint或或longlong型型3.3.常量后面加一個字母常量后面加一個字母u u或或U U,以為是無符號數(shù),以為是無符號數(shù)4.4.常量后面加一個字母常量后面加一個字母l l或或

25、L L,系統(tǒng)以為是,系統(tǒng)以為是longlong型型 1:-215215-12:-231231-11.1.數(shù)據(jù)及數(shù)據(jù)類型數(shù)據(jù)及數(shù)據(jù)類型2.2.常量、變量常量、變量3.3.整型數(shù)據(jù)整型數(shù)據(jù)4.4.浮點型數(shù)據(jù)浮點型數(shù)據(jù)浮點型數(shù)據(jù)浮點型數(shù)據(jù)(實型數(shù)據(jù)實型數(shù)據(jù))浮點型常量的表示方法浮點型常量的表示方法1.1.十進制小數(shù)方式。如:十進制小數(shù)方式。如:0.1230.123,-2.34-2.34等等( (必需有小數(shù)點必需有小數(shù)點) )浮點型數(shù)據(jù)浮點型數(shù)據(jù)浮點型常量的表示方法浮點型常量的表示方法1.1.十進制小數(shù)方式。如:十進制小數(shù)方式。如:0.1230.123,-2.34-2.34等等( (必需有小數(shù)點必需有

26、小數(shù)點) )2.2.指數(shù)方式。如指數(shù)方式。如123e4123e4或或123E4123E4表示表示123123104104,即,即12300001230000 浮點型數(shù)據(jù)浮點型數(shù)據(jù)浮點型常量的表示方法浮點型常量的表示方法1.1.十進制小數(shù)方式。如:十進制小數(shù)方式。如:0.1230.123,-2.34-2.34等等( (必需有小數(shù)點必需有小數(shù)點) )2.2.指數(shù)方式。如指數(shù)方式。如123e4123e4或或123E4123E4表示表示123123104 104 ,即,即12300001230000 留意:字母留意:字母e e之前后必需有數(shù)字,之前后必需有數(shù)字,e e后面的數(shù)字必需是整數(shù)后面的數(shù)字必需

27、是整數(shù) 浮點型數(shù)據(jù)浮點型數(shù)據(jù)浮點型常量的表示方法浮點型常量的表示方法1.1.十進制小數(shù)方式。如:十進制小數(shù)方式。如:0.1230.123,-2.34-2.34等等( (必需有小數(shù)點必需有小數(shù)點) )2.2.指數(shù)方式。如指數(shù)方式。如123e4123e4或或123E4123E4表示表示123123104 104 ,即,即12300001230000 留意:字母留意:字母e e之前后必需有數(shù)字,之前后必需有數(shù)字,e e后面的數(shù)字必需是整數(shù)后面的數(shù)字必需是整數(shù) 規(guī)范化的方式:在字母規(guī)范化的方式:在字母e e之前的數(shù)字中,小數(shù)點左邊有且只需之前的數(shù)字中,小數(shù)點左邊有且只需 一位非零的數(shù)字一位非零的數(shù)字浮

28、點型數(shù)據(jù)浮點型數(shù)據(jù)浮點型常量的表示方法浮點型常量的表示方法1.1.十進制小數(shù)方式。如:十進制小數(shù)方式。如:0.1230.123,-2.34-2.34等等( (必需有小數(shù)點必需有小數(shù)點) )2.2.指數(shù)方式。如指數(shù)方式。如123e4123e4或或123E4123E4表示表示123123104 104 ,即,即12300001230000 留意:字母留意:字母e e之前后必需有數(shù)字,之前后必需有數(shù)字,e e后面的數(shù)字必需是整數(shù)后面的數(shù)字必需是整數(shù) 規(guī)范化的方式:在字母規(guī)范化的方式:在字母e e之前的數(shù)字中,小數(shù)點左邊有且只需之前的數(shù)字中,小數(shù)點左邊有且只需 一位非零的數(shù)字一位非零的數(shù)字舉例:實數(shù)舉

29、例:實數(shù)12.34合法的指數(shù)方式:合法的指數(shù)方式:12.34e0,123.4e-1,1.234e1,0.1234e2,1234e-2規(guī)范化的方式:規(guī)范化的方式: 1.234e1浮點型數(shù)據(jù)浮點型數(shù)據(jù)浮點型變量浮點型變量1.1.浮點型數(shù)據(jù)在內(nèi)存中的存放方式浮點型數(shù)據(jù)在內(nèi)存中的存放方式 一個浮點型數(shù)據(jù)普通在內(nèi)存中占一個浮點型數(shù)據(jù)普通在內(nèi)存中占4 4個字節(jié)。個字節(jié)。浮點型數(shù)據(jù)浮點型數(shù)據(jù)浮點型變量浮點型變量1.1.浮點型數(shù)據(jù)在內(nèi)存中的存放方式浮點型數(shù)據(jù)在內(nèi)存中的存放方式 一個浮點型數(shù)據(jù)普通在內(nèi)存中占一個浮點型數(shù)據(jù)普通在內(nèi)存中占4 4個字節(jié)。個字節(jié)。對于恣意一個數(shù)均可表示為方式:對于恣意一個數(shù)均可表示為方

30、式: (N)R=S*RE 其中,其中,S稱為尾數(shù),它表示了數(shù)稱為尾數(shù),它表示了數(shù)N的有效數(shù)字,計算機中普通表示的有效數(shù)字,計算機中普通表示為純小數(shù);為純小數(shù); R稱為基數(shù)稱為基數(shù)(或基值或基值); E稱為階碼,它表示了數(shù)稱為階碼,它表示了數(shù)N的小的小數(shù)點的實踐位置,普通表示為純整數(shù)。數(shù)點的實踐位置,普通表示為純整數(shù)。1 1位位 7 7位位 2424位位符號位符號位階碼部分階碼部分尾碼部分尾碼部分數(shù)值范圍數(shù)據(jù)精度浮點型數(shù)據(jù)浮點型數(shù)據(jù)浮點型變量浮點型變量1.1.浮點型數(shù)據(jù)在內(nèi)存中的存放方式浮點型數(shù)據(jù)在內(nèi)存中的存放方式 2.2.浮點型變量的分類浮點型變量的分類 單精度,用單精度,用floatfloa

31、t表示,表示,4 4字節(jié)存儲,有效數(shù)字字節(jié)存儲,有效數(shù)字7 7 雙精度,用雙精度,用doubledouble表示,表示,8 8字節(jié)存儲,有效數(shù)字字節(jié)存儲,有效數(shù)字15-1615-16 長雙精度,用長雙精度,用long doublelong double表示,表示,1616字節(jié)存儲,有效數(shù)字字節(jié)存儲,有效數(shù)字18-19 18-19 浮點型數(shù)據(jù)浮點型數(shù)據(jù)浮點型變量浮點型變量1.1.浮點型數(shù)據(jù)在內(nèi)存中的存放方式浮點型數(shù)據(jù)在內(nèi)存中的存放方式 2.2.浮點型變量的分類浮點型變量的分類 3.3.浮點型變量的定義浮點型變量的定義 類型標識類型標識 變量名標識符變量名標識符( (列表列表) ) 1.1.變量的

32、定義普通放在一個函數(shù)的函數(shù)體的開頭部分變量的定義普通放在一個函數(shù)的函數(shù)體的開頭部分2.2.類型標識可選三種類型標識可選三種floatfloat,doubledouble,long doublelong double如:如:float a,b,c;float a,b,c; double e,f,t; double e,f,t;浮點型數(shù)據(jù)浮點型數(shù)據(jù)浮點型變量浮點型變量1.1.浮點型數(shù)據(jù)在內(nèi)存中的存放方式浮點型數(shù)據(jù)在內(nèi)存中的存放方式 2.2.浮點型變量的分類浮點型變量的分類 3.3.浮點型變量的定義浮點型變量的定義 4.4.浮點型數(shù)據(jù)的舍入誤差浮點型數(shù)據(jù)的舍入誤差/* 浮點數(shù)的舍入誤差浮點數(shù)的舍入誤

33、差 */#include void main() float a,b; a=123456.789e5; b=a+20; printf(“a=%f b=%fn ,a,b); 程序運轉(zhuǎn)結(jié)果是程序運轉(zhuǎn)結(jié)果是a與與b的值一樣。的值一樣。緣由是:緣由是:由于實數(shù)采用浮點計數(shù)法,有效位數(shù)會由于實數(shù)采用浮點計數(shù)法,有效位數(shù)會遭到限制,會產(chǎn)生舍入誤差。遭到限制,會產(chǎn)生舍入誤差。執(zhí)行浮點型數(shù)據(jù)浮點型數(shù)據(jù)浮點型變量浮點型變量1.1.浮點型數(shù)據(jù)在內(nèi)存中的存放方式浮點型數(shù)據(jù)在內(nèi)存中的存放方式 2.2.浮點型變量的分類浮點型變量的分類 3.3.浮點型變量的定義浮點型變量的定義 4.4.浮點型數(shù)據(jù)的舍入誤差浮點型數(shù)據(jù)的舍

34、入誤差浮點型常量的表示方法浮點型常量的表示方法浮點型常數(shù)的類型浮點型常數(shù)的類型浮點型數(shù)據(jù)浮點型數(shù)據(jù)浮點型變量浮點型變量1.1.浮點型數(shù)據(jù)在內(nèi)存中的存放方式浮點型數(shù)據(jù)在內(nèi)存中的存放方式 2.2.浮點型變量的分類浮點型變量的分類 3.3.浮點型變量的定義浮點型變量的定義 4.4.浮點型數(shù)據(jù)的舍入誤差浮點型數(shù)據(jù)的舍入誤差浮點型常量的表示方法浮點型常量的表示方法浮點型常數(shù)的類型浮點型常數(shù)的類型1.1.系統(tǒng)將實型常量默以為雙精度值,分配系統(tǒng)將實型常量默以為雙精度值,分配8 8字節(jié)存儲字節(jié)存儲2.2.假設(shè)在數(shù)的后面加字母假設(shè)在數(shù)的后面加字母f f或或F F,系統(tǒng)將其作為單精度處置,系統(tǒng)將其作為單精度處置3

35、.3.一個實數(shù)常量可以賦值給一個實數(shù)常量可以賦值給floatfloat、doubledouble和和long doublelong double型型 變量,根據(jù)變量的類型截取實型常量中相應(yīng)的有效位數(shù)字變量,根據(jù)變量的類型截取實型常量中相應(yīng)的有效位數(shù)字1.1.數(shù)據(jù)及數(shù)據(jù)類型數(shù)據(jù)及數(shù)據(jù)類型2.2.常量、變量常量、變量3.3.整型數(shù)據(jù)整型數(shù)據(jù)4.4.浮點型數(shù)據(jù)浮點型數(shù)據(jù)5.5.字符型數(shù)據(jù)字符型數(shù)據(jù)字符型數(shù)據(jù)字符型數(shù)據(jù)字符常量字符常量字符型數(shù)據(jù)字符型數(shù)據(jù)字符常量字符常量表示:字符常量是用單撇號括起來的一個字符,如表示:字符常量是用單撇號括起來的一個字符,如 a, A, a, A, $字符型數(shù)據(jù)字符型數(shù)

36、據(jù)字符常量字符常量表示:字符常量是用單撇號括起來的一個字符,如表示:字符常量是用單撇號括起來的一個字符,如 a, A, a, A, $本義字符:一種特殊方式的字符常量,是以一個字符本義字符:一種特殊方式的字符常量,是以一個字符“ 開頭的開頭的字符序列。字符序列。字符型數(shù)據(jù)字符型數(shù)據(jù)字符常量字符常量表示:字符常量是用單撇號括起來的一個字符,如表示:字符常量是用單撇號括起來的一個字符,如 a, A, a, A, $本義字符:一種特殊方式的字符常量,是以一個字符本義字符:一種特殊方式的字符常量,是以一個字符“ 開頭的開頭的字符序列。字符序列。字符方式字符方式 定義定義ASCII代碼代碼n 換行,將當

37、前位置移到下一行開頭換行,將當前位置移到下一行開頭10t 程度制表程度制表(跳到下一個跳到下一個Tab位置位置)9b 退格,將當前位置移到前一列退格,將當前位置移到前一列8r 回車,將當前位置移到本行的開頭回車,將當前位置移到本行的開頭13f 換頁,將當前位置移到下頁的開頭換頁,將當前位置移到下頁的開頭12a 報警響鈴報警響鈴7 代表一個反斜杠字符代表一個反斜杠字符“92 代表一個單引號字符代表一個單引號字符39ddd 1到到3位八進制所代表的字符位八進制所代表的字符(ASCII碼碼)xhh 1到到2位十六進制所代表的字符位十六進制所代表的字符(ASCII碼碼)(x必需小寫必需小寫)字符型數(shù)據(jù)

38、字符型數(shù)據(jù)字符常量字符常量表示:字符常量是用單撇號括起來的一個字符,如表示:字符常量是用單撇號括起來的一個字符,如 a, A, a, A, $本義字符:一種特殊方式的字符常量,是以一個字符本義字符:一種特殊方式的字符常量,是以一個字符“ 開頭的開頭的字符序列。字符序列。字符方式字符方式 定義定義ASCII代碼代碼n 換行,將當前位置移到下一行開頭換行,將當前位置移到下一行開頭10t 程度制表程度制表(跳到下一個跳到下一個Tab位置位置)9b 退格,將當前位置移到前一列退格,將當前位置移到前一列8r 回車,將當前位置移到本行的開頭回車,將當前位置移到本行的開頭13f 換頁,將當前位置移到下頁的開

39、頭換頁,將當前位置移到下頁的開頭12a 報警響鈴報警響鈴7 代表一個反斜杠字符代表一個反斜杠字符“92 代表一個單引號字符代表一個單引號字符39ddd 1到到3位八進制所代表的字符位八進制所代表的字符(ASCII碼碼)xhh 1到到2位十六進制所代表的字符位十六進制所代表的字符(ASCII碼碼)舉例:printf(“007); 報警 printf(“a); 報警printf(101); Aprintf(x41); Aprintf(141); aprintf(“x61); a執(zhí)行字符型數(shù)據(jù)字符型數(shù)據(jù)字符變量字符變量1.1.字符數(shù)據(jù)在內(nèi)存中的存放方式字符數(shù)據(jù)在內(nèi)存中的存放方式 一個字符數(shù)據(jù)普通在內(nèi)

40、存中占一個字符數(shù)據(jù)普通在內(nèi)存中占1 1個字節(jié)。無論是字符常量還是個字節(jié)。無論是字符常量還是字符變量的值,都是將其字符變量的值,都是將其ASCIIASCII代碼存放在存儲單元中。代碼存放在存儲單元中。留意:由于字符數(shù)據(jù)在內(nèi)存中的留意:由于字符數(shù)據(jù)在內(nèi)存中的ASCII碼的存儲,使字符型數(shù)據(jù)碼的存儲,使字符型數(shù)據(jù)和整型數(shù)據(jù)之間可以通用。和整型數(shù)據(jù)之間可以通用。字符型數(shù)據(jù)可以參與算術(shù)運算字符型數(shù)據(jù)可以參與算術(shù)運算本質(zhì)是其本質(zhì)是其ASCII碼參與運算碼參與運算字符型數(shù)據(jù)既可以字符型數(shù)據(jù)輸出,也可以整型數(shù)據(jù)輸出字符型數(shù)據(jù)既可以字符型數(shù)據(jù)輸出,也可以整型數(shù)據(jù)輸出留意:由于字符數(shù)據(jù)占單字節(jié),數(shù)值范圍在留意:由

41、于字符數(shù)據(jù)占單字節(jié),數(shù)值范圍在0255之間之間字符型數(shù)據(jù)字符型數(shù)據(jù)字符變量字符變量1.1.字符數(shù)據(jù)在內(nèi)存中的存放方式字符數(shù)據(jù)在內(nèi)存中的存放方式 2.2.字符變量的定義字符變量的定義 類型標識類型標識 變量名標識符變量名標識符( (列表列表) ) 字符型數(shù)據(jù)字符型數(shù)據(jù)字符變量字符變量1.1.字符數(shù)據(jù)在內(nèi)存中的存放方式字符數(shù)據(jù)在內(nèi)存中的存放方式 2.2.字符變量的定義字符變量的定義 類型標識類型標識 變量名標識符變量名標識符( (列表列表) ) 闡明:闡明:1.1.變量的定義應(yīng)放在變量運用之前變量的定義應(yīng)放在變量運用之前2.2.類型標識:類型標識:charchar如:如:char a,b,c;ch

42、ar a,b,c; 字符型數(shù)據(jù)字符型數(shù)據(jù)字符串常量字符串常量字符串常量是用雙撇號括起來的字符序列字符串常量是用雙撇號括起來的字符序列如:如: a,helloa,hello闡明:闡明:1.1.不要混淆字符常量和字符串常量,如:不要混淆字符常量和字符串常量,如: a, aa, a2.2.字符常量可以給字符變量賦值,而字符串常量不可以字符常量可以給字符變量賦值,而字符串常量不可以3.3.在在C C中,在字符串常量的結(jié)尾加一個字符串終了標志:中,在字符串常量的結(jié)尾加一個字符串終了標志:00,系統(tǒng),系統(tǒng)以此判別字符串能否終了。以此判別字符串能否終了。1.1.數(shù)據(jù)及數(shù)據(jù)類型數(shù)據(jù)及數(shù)據(jù)類型2.2.常量、變量

43、常量、變量3.3.整型數(shù)據(jù)整型數(shù)據(jù)4.4.浮點型數(shù)據(jù)浮點型數(shù)據(jù)5.5.字符型數(shù)據(jù)字符型數(shù)據(jù)6.6.變量賦初值變量賦初值變量初始化變量初始化請留意:請留意:前面我們引見了三種根本數(shù)據(jù)類型的常量、變量,以及變量前面我們引見了三種根本數(shù)據(jù)類型的常量、變量,以及變量的定義等,我們知道,無論是哪種數(shù)據(jù)類型,變量的定義意味著的定義等,我們知道,無論是哪種數(shù)據(jù)類型,變量的定義意味著系統(tǒng)為這個變量分配一定字節(jié)的存儲空間,并可以在程序執(zhí)行過系統(tǒng)為這個變量分配一定字節(jié)的存儲空間,并可以在程序執(zhí)行過程中,按變量名進展變量值的存和取。程中,按變量名進展變量值的存和取。但是,在變量定義時,但是,在變量定義時,C言語并不

44、對變量存儲空間作清零處言語并不對變量存儲空間作清零處置。這就意味著,變量被聲明后,變量存儲單元的值是非零的,置。這就意味著,變量被聲明后,變量存儲單元的值是非零的,是不定的。是不定的。C言語允許在定義變量的同時給變量送值言語允許在定義變量的同時給變量送值變量初始化變量初始化舉例:舉例:int a=3int a=3,b,c=9; /b,c=9; /部分賦初值部分賦初值float f=3.45;float f=3.45;char c=char c=a a; ;float f=3.45;相當于: float f; f=3.45;主要內(nèi)容:主要內(nèi)容:1.數(shù)據(jù)、數(shù)據(jù)類型的了解數(shù)據(jù)、數(shù)據(jù)類型的了解2.常量

45、和變量等概念常量和變量等概念3.根本類型的常量和變量根本類型的常量和變量4.變量賦初值變量賦初值5.不同數(shù)值類型數(shù)據(jù)間的混合運算不同數(shù)值類型數(shù)據(jù)間的混合運算6.幾種根本類型運算符和表達式幾種根本類型運算符和表達式整型、實型、字符型數(shù)據(jù)間可以混合運算。在運算整型、實型、字符型數(shù)據(jù)間可以混合運算。在運算時,不同類型的數(shù)據(jù)先同類型轉(zhuǎn)換,然后才進展運算。時,不同類型的數(shù)據(jù)先同類型轉(zhuǎn)換,然后才進展運算。不同數(shù)值類型數(shù)據(jù)間的混合運算不同數(shù)值類型數(shù)據(jù)間的混合運算轉(zhuǎn)換的規(guī)那么如圖:轉(zhuǎn)換的規(guī)那么如圖:1.橫向向左箭頭表示必定轉(zhuǎn)換2.縱向向上箭頭表示當運算對象為不同類型時轉(zhuǎn)換方向3.縱向箭頭表示轉(zhuǎn)化的高低級別,不

46、同類型數(shù)據(jù)運算時,低級別類型的數(shù)據(jù)直接轉(zhuǎn)換為最高級類型的數(shù)據(jù),再進展運算舉例:int i;float f;long l;double d10+a+2*f d/l 執(zhí)行主要內(nèi)容:主要內(nèi)容:1.數(shù)據(jù)、數(shù)據(jù)類型的了解數(shù)據(jù)、數(shù)據(jù)類型的了解2.常量和變量等概念常量和變量等概念3.根本類型的常量和變量根本類型的常量和變量4.變量賦初值變量賦初值5.不同數(shù)值類型數(shù)據(jù)間的混合運算不同數(shù)值類型數(shù)據(jù)間的混合運算6.幾種根本類型運算符和表達式幾種根本類型運算符和表達式C言語運算符簡介言語運算符簡介算術(shù)運算符:算術(shù)運算符: + - + - * * / % + - / % + -關(guān)系運算符:關(guān)系運算符: = != =

47、!=邏輯運算符:邏輯運算符: ! & |& |位運算符位運算符 : | & | &賦值運算符:賦值運算符: = = 及其擴展及其擴展條件運算符:條件運算符: ?:?:逗號運算符:逗號運算符: , ,指針運算符:指針運算符: * * & &求字節(jié)數(shù)求字節(jié)數(shù) : sizeofsizeof強迫類型轉(zhuǎn)換:強迫類型轉(zhuǎn)換:( (類型類型分量運算符:分量運算符: . -. -下標運算符:下標運算符: 其它其它 : ( ) -( ) -算術(shù)運算符和算術(shù)表達式算術(shù)運算符和算術(shù)表達式1.根本的算術(shù)運算符根本的算術(shù)運算符+ + 加法運算符,或正值運算符,如:加法運算符

48、,或正值運算符,如:3+53+5、+3+3- - 減法運算符,或負值運算符,如:減法運算符,或負值運算符,如:5-25-2、-6-6* * 乘法運算符,如:乘法運算符,如:5 5* *3 3/ / 除法運算符,如:除法運算符,如:5/35/3% % 模運算符模運算符, ,或稱求余運算符或稱求余運算符,%,%兩側(cè)均為整型數(shù)據(jù)兩側(cè)均為整型數(shù)據(jù), ,如如5%35%3值為值為2 2算術(shù)運算符和算術(shù)表達式算術(shù)運算符和算術(shù)表達式1.根本的算術(shù)運算符根本的算術(shù)運算符+ + 加法運算符,或正值運算符,如:加法運算符,或正值運算符,如:3+53+5、+3+3- - 減法運算符,或負值運算符,如:減法運算符,或負

49、值運算符,如:5-25-2、-6-6* * 乘法運算符,如:乘法運算符,如:5 5* *3 3/ / 除法運算符,如:除法運算符,如:5/35/3% % 模運算符模運算符, ,或稱求余運算符或稱求余運算符,%,%兩側(cè)均為整型數(shù)據(jù)兩側(cè)均為整型數(shù)據(jù), ,如如5%35%3值為值為2 2算術(shù)運算符和算術(shù)表達式算術(shù)運算符和算術(shù)表達式2. 算術(shù)表達式算術(shù)表達式由算術(shù)運算符和括號將運算對象由算術(shù)運算符和括號將運算對象( (也稱操作數(shù)也稱操作數(shù)) )銜接銜接起來,符合起來,符合C C語法規(guī)那么的式子,稱為語法規(guī)那么的式子,稱為C C的算術(shù)表達式。的算術(shù)表達式。運算對象包括常量、變量、函數(shù)等。運算對象包括常量、

50、變量、函數(shù)等。如:如:a+b-20+c/4.0+max(i,j,k) a+b-20+c/4.0+max(i,j,k) 等等算術(shù)運算符和算術(shù)表達式算術(shù)運算符和算術(shù)表達式3. 運算符的優(yōu)先級和結(jié)合性運算符的優(yōu)先級和結(jié)合性在表達式求值時,按運算符的優(yōu)先級由高到低的次在表達式求值時,按運算符的優(yōu)先級由高到低的次序執(zhí)行。假設(shè)一個運算對象兩側(cè)的運算符的優(yōu)先級別一序執(zhí)行。假設(shè)一個運算對象兩側(cè)的運算符的優(yōu)先級別一樣,按規(guī)定的樣,按規(guī)定的“結(jié)合方向處置。結(jié)合方向處置。運算符 要求運算對象個數(shù) 結(jié)合方向*、/、% 2(雙目運算符) 左結(jié)合+、- 2(雙目運算符) 左結(jié)合高低參見附錄C代數(shù)式 ,那么下面不正確的C言

51、語表達式是: a/b/c*e*3 b) 3*a*e/b/cc) 3*a*e/d*c d) a*e/c/b*3bc3ae算術(shù)運算符和算術(shù)表達式算術(shù)運算符和算術(shù)表達式4. 強迫類型轉(zhuǎn)換運算符強迫類型轉(zhuǎn)換運算符可以利用強迫類型轉(zhuǎn)換運算符將一個表達式轉(zhuǎn)換為可以利用強迫類型轉(zhuǎn)換運算符將一個表達式轉(zhuǎn)換為所需類型。所需類型。格式格式: (: (類型名類型名)()(表達式表達式) )如:如:(int)c (int)c 、(double)(a+b)(double)(a+b)、(float)2(float)2強迫類型轉(zhuǎn)換運算符優(yōu)先級高于根本算術(shù)運算符,它屬強迫類型轉(zhuǎn)換運算符優(yōu)先級高于根本算術(shù)運算符,它屬于單目運算

52、符。于單目運算符。 (int)(a+b) (int)(a+b)和和(int)a+b(int)a+b不同不同例:例:(int)a%2(int)a%2算術(shù)運算符和算術(shù)表達式算術(shù)運算符和算術(shù)表達式4. 強迫類型轉(zhuǎn)換運算符強迫類型轉(zhuǎn)換運算符(char)(char)(整型數(shù)據(jù)整型數(shù)據(jù)) ):取數(shù)據(jù)的最低一個字節(jié)的:取數(shù)據(jù)的最低一個字節(jié)的ASCIIASCII碼碼(char)(char)(實型數(shù)據(jù)實型數(shù)據(jù)) ):取整數(shù)部分最低一個字節(jié)的:取整數(shù)部分最低一個字節(jié)的ASCIIASCII碼碼(int)(int)(實型數(shù)據(jù)實型數(shù)據(jù)) ):取實型數(shù)據(jù)的整數(shù)部分:取實型數(shù)據(jù)的整數(shù)部分分析輸出結(jié)果分析輸出結(jié)果: : pr

53、intf( printf(“%dn%dn,(int)(4.6);,(int)(4.6); printf( printf(“%dn%dn,(char)(321.9);,(char)(321.9);算術(shù)運算符和算術(shù)表達式算術(shù)運算符和算術(shù)表達式5. 求字節(jié)數(shù)運算符求字節(jié)數(shù)運算符sizeof格式格式:sizeof(:sizeof(表達式表達式) ) 單目運算符,與強迫轉(zhuǎn)換符同級單目運算符,與強迫轉(zhuǎn)換符同級功能:求表達式值所占內(nèi)存字節(jié)數(shù)功能:求表達式值所占內(nèi)存字節(jié)數(shù)#include void main() int i=0; printf( i的字節(jié)數(shù) %2dn,sizeof(i); printf( 2占

54、字節(jié)數(shù) %2dn,sizeof(2); printf(char %2dn,sizeof(char); printf(int %2dn,sizeof(int); printf(unsigned %2dn,sizeof(unsigned); printf(short %2dn,sizeof(short); printf(long %2dn,sizeof(long); printf(float %2dn,sizeof(float); printf(double %2dn,sizeof(double); 執(zhí)行算術(shù)運算符和算術(shù)表達式算術(shù)運算符和算術(shù)表達式6. 自增、自減運算符自增、自減運算符 + -作用

55、作用: :使變量的值增使變量的值增1 1或減或減1 1。方式。方式:+i,-i:+i,-i或或i+,i-i+,i-單目運算符,運算優(yōu)先級同單目運算符,運算優(yōu)先級同sizeof()sizeof()。留意:+i、-i 在運用i之前先使i的值加(減)1 i+、i- 在運用i之后,使i的值加(減)1i=3;j=+i;等同于:i=3;i=i+1;j=i;i=3;j=i+;等同于:i=3;j=i;i=i+1;執(zhí)行請留意請留意1. 留意結(jié)合性留意結(jié)合性單目運算符的運算優(yōu)先級高于根本算術(shù)運算符,并單目運算符的運算優(yōu)先級高于根本算術(shù)運算符,并且是遵照且是遵照“右結(jié)合的結(jié)合方向。右結(jié)合的結(jié)合方向。如:-i+ 相當

56、于 -(i+) i+j 相當于(i+)+j2. 盡量防止歧義盡量防止歧義由于由于C C運算符和表達式的運用靈敏性,運算符和表達式的運用靈敏性,ANSI CANSI C并沒有并沒有詳細規(guī)定表達式中各個自表達式的求值次序,各編譯系詳細規(guī)定表達式中各個自表達式的求值次序,各編譯系統(tǒng)存在差別。運用時盡量采用多語句,防止分歧。統(tǒng)存在差別。運用時盡量采用多語句,防止分歧。如:printf(“%d,%d,i,i+); 寫成 j=i+; printf(“%d,%d,i,j); 賦值運算符和賦值表達式賦值運算符和賦值表達式1. 賦值運算符賦值運算符賦值符號賦值符號“= =就是賦值運算符,作用是將一個數(shù)據(jù)就是賦值

57、運算符,作用是將一個數(shù)據(jù)賦給一個變量。雙目運算符、右結(jié)合、運算優(yōu)先級極低,賦給一個變量。雙目運算符、右結(jié)合、運算優(yōu)先級極低,僅強于逗號運算符。僅強于逗號運算符。賦值運算符和賦值表達式賦值運算符和賦值表達式2. 賦值表達式賦值表達式由賦值運算符由賦值運算符“= =將一個變量和一個表達式銜接起將一個變量和一個表達式銜接起來而成,構(gòu)成賦值表達式。來而成,構(gòu)成賦值表達式。格式:變量名格式:變量名= =表達式表達式 ( (可以是可以是C C中允許的各種表達式中允許的各種表達式) )意義:先求賦值運算符意義:先求賦值運算符“= =右側(cè)表達式的值,再將賦值右側(cè)表達式的值,再將賦值給給“= =左側(cè)的變量。左側(cè)

58、的變量。例:例:a=b=c=5 /表達式的值是表達式的值是5,a,b,c的值均為的值均為5a=5+(b=6) /表達式值為表達式值為11,a的值為的值為11,b的值為的值為6a=(b=3)+(c=8) /表達式值為表達式值為11,b的值為的值為3,c的值為的值為8賦值運算符和賦值表達式賦值運算符和賦值表達式3. 類型轉(zhuǎn)換類型轉(zhuǎn)換賦值運算符完成的功能就是將賦值運算符右側(cè)的表達式的值賦給賦值運算符左側(cè)的變量,這就會存在,賦值運算符兩個的數(shù)據(jù)類型不匹配的問題。在實踐中,系統(tǒng)會在賦值的同時自動進展類型轉(zhuǎn)換。在C中,數(shù)據(jù)根本類型有三種:整型、實型和字符型。整型數(shù)據(jù)的存儲是采用補碼編碼方式,實型數(shù)據(jù)的存儲是采用浮點法,字符數(shù)據(jù)的存儲是采用ASCII碼,并且各種類型數(shù)據(jù)在存儲時分配的存儲空間也不一樣。轉(zhuǎn)換是圍繞存儲空間匹配否進展的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論