第2章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式_第1頁
第2章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式_第2頁
第2章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式_第3頁
第2章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式_第4頁
第2章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、C語言程序設(shè)計(jì)第第2 2章章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式數(shù)據(jù)類型、運(yùn)算符與表達(dá)式&前言前言8常量和變量常量和變量,屬程序操作的對(duì)象,屬程序操作的對(duì)象&程序運(yùn)行時(shí)其值不能改變的量程序運(yùn)行時(shí)其值不能改變的量, ,稱為常量,包括字面稱為常量,包括字面常量和符號(hào)常量常量和符號(hào)常量&程序運(yùn)行時(shí)程序運(yùn)行時(shí)其值可以改變的量,稱為變量其值可以改變的量,稱為變量8符號(hào)常量和變量需命名,名稱又稱標(biāo)識(shí)符。符號(hào)常量和變量需命名,名稱又稱標(biāo)識(shí)符。標(biāo)識(shí)符命名標(biāo)識(shí)符命名需滿足一定的規(guī)則。需滿足一定的規(guī)則。8常量和變量的常量和變量的數(shù)據(jù)類型數(shù)據(jù)類型需指明,亦即說明它是整型、實(shí)需指明,亦即說明它是整型、實(shí)

2、型、字符型或其它類型。型、字符型或其它類型。8程序中,常量或變量是需要參與運(yùn)算的,因此需要掌握程序中,常量或變量是需要參與運(yùn)算的,因此需要掌握運(yùn)算符及表達(dá)式運(yùn)算符及表達(dá)式。C語言程序設(shè)計(jì)2.1 數(shù)據(jù)類型數(shù)據(jù)類型&數(shù)據(jù)類型總表數(shù)據(jù)類型總表C數(shù)數(shù)據(jù)據(jù)類類型型基本類型基本類型構(gòu)造類型構(gòu)造類型指針類型指針類型typedef (用別名來代替已有的類型名用別名來代替已有的類型名)字符類型字符類型char枚舉類型枚舉類型enum整整 型型實(shí)型實(shí)型單精度型單精度型float雙精度型雙精度型double數(shù)組數(shù)組結(jié)構(gòu)體結(jié)構(gòu)體struct共用體共用體union短整型短整型short長(zhǎng)整型長(zhǎng)整型long整型整

3、型int數(shù)據(jù)類型決定:數(shù)據(jù)類型決定:1. 數(shù)據(jù)占內(nèi)存字節(jié)數(shù)數(shù)據(jù)占內(nèi)存字節(jié)數(shù)2. 數(shù)據(jù)取值范圍數(shù)據(jù)取值范圍3. 其上可進(jìn)行的操作其上可進(jìn)行的操作空類型空類型 voidC語言程序設(shè)計(jì)&基本數(shù)據(jù)類型基本數(shù)據(jù)類型類型符號(hào)關(guān)鍵字?jǐn)?shù)的表示范圍所占位數(shù)整型字符型實(shí)型有無(signed)int16-3276832767(signed)short16-3276832767(signed)long32-2147483648214748364716unsigned int0655353204294967295unsigned longunsigned short16065535有float32-3.4e-3

4、83.4e38有double64-1.7e-3081.7e308有char8-128127無unsigned char80255說明:數(shù)據(jù)類型所占字節(jié)數(shù)隨機(jī)器硬件不同而不同。C語言程序設(shè)計(jì)2.22.2常量與變量常量與變量v標(biāo)識(shí)符是字符序列的總稱。標(biāo)識(shí)符是字符序列的總稱。v標(biāo)識(shí)符可用來標(biāo)識(shí)常量、變量、函數(shù)等的名字。標(biāo)識(shí)符可用來標(biāo)識(shí)常量、變量、函數(shù)等的名字。vC C語言中,標(biāo)識(shí)符可分為:語言中,標(biāo)識(shí)符可分為:用戶自定義標(biāo)識(shí)符用戶自定義標(biāo)識(shí)符標(biāo)準(zhǔn)標(biāo)識(shí)符標(biāo)準(zhǔn)標(biāo)識(shí)符( (又稱關(guān)鍵字,由系統(tǒng)專用又稱關(guān)鍵字,由系統(tǒng)專用) )v用戶自定義標(biāo)識(shí)符須符合以下規(guī)范:用戶自定義標(biāo)識(shí)符須符合以下規(guī)范:由字母由字母(A-

5、Z,a-z)(A-Z,a-z)、數(shù)字、數(shù)字(0-9)(0-9)和下劃線和下劃線(_)(_)組成組成第一個(gè)字符不能是數(shù)字字符第一個(gè)字符不能是數(shù)字字符不能是關(guān)鍵字不能是關(guān)鍵字C語言程序設(shè)計(jì)補(bǔ)充:補(bǔ)充: C語言的字符集語言的字符集 字符是組成語言的最基本的元素。語言字符集由字母,數(shù)字,空格,字符是組成語言的最基本的元素。語言字符集由字母,數(shù)字,空格,標(biāo)點(diǎn)和特殊字符組成。在字符常量,字符串常量和注釋中還可以使用漢字標(biāo)點(diǎn)和特殊字符組成。在字符常量,字符串常量和注釋中還可以使用漢字或其它可表示的圖形符號(hào)。或其它可表示的圖形符號(hào)。& 1.字母字母 小寫字母小寫字母az共共26個(gè)個(gè) 大寫字母大寫字母A

6、Z共共26個(gè)個(gè)& 2.數(shù)字?jǐn)?shù)字 09共共10個(gè)個(gè)& 3.空白符空白符 空格符、制表符、換行符等統(tǒng)稱為空白符。空白符只在字符常量和字符空格符、制表符、換行符等統(tǒng)稱為空白符??瞻追辉谧址A亢妥址A恐衅鹱饔?。在其它地方出現(xiàn)時(shí),只起間隔作用,編譯程序?qū)λ鼈兒龃A恐衅鹱饔?。在其它地方出現(xiàn)時(shí),只起間隔作用,編譯程序?qū)λ鼈兒雎圆挥?jì)。因此在程序中使用空白符與否,對(duì)程序的編譯不發(fā)生影響,但在略不計(jì)。因此在程序中使用空白符與否,對(duì)程序的編譯不發(fā)生影響,但在程序中適當(dāng)?shù)牡胤绞褂每瞻追麑⒃黾映绦虻那逦院涂勺x性。程序中適當(dāng)?shù)牡胤绞褂每瞻追麑⒃黾映绦虻那逦院涂勺x性。& 4.標(biāo)點(diǎn)和特殊

7、字符標(biāo)點(diǎn)和特殊字符C語言程序設(shè)計(jì)補(bǔ)充:補(bǔ)充: C語言詞匯語言詞匯 在語言中使用的詞匯分為六類:標(biāo)識(shí)符,關(guān)鍵字,運(yùn)算符,分隔符,在語言中使用的詞匯分為六類:標(biāo)識(shí)符,關(guān)鍵字,運(yùn)算符,分隔符,常量,注釋符等。常量,注釋符等。& 1. 標(biāo)識(shí)符標(biāo)識(shí)符 & 2. 關(guān)鍵字關(guān)鍵字& 3. 運(yùn)算符運(yùn)算符& 4. 分隔符分隔符& 5. 常量常量& 6. 注釋符注釋符 在程序中使用的變量名、函數(shù)名、標(biāo)號(hào)等統(tǒng)稱為標(biāo)識(shí)符。 除庫函數(shù)的函數(shù)名由系統(tǒng)定義外,其余都由用戶自定義。 C 規(guī)定,標(biāo)識(shí)符只能是字母(AZ,az)、數(shù)字(09)、下劃線(_)組成的字符串,并且其第一個(gè)字符

8、必須是字母或下劃線。即以下標(biāo)識(shí)符是非法的: 3s 以數(shù)字開頭 s*T 出現(xiàn)非法字符* -3x 以減號(hào)開頭 bowy-1 出現(xiàn)非法字符-(減號(hào)) 在使用標(biāo)識(shí)符時(shí)還必須注意以下幾點(diǎn): (1) 標(biāo)準(zhǔn)C不限制標(biāo)識(shí)符的長(zhǎng)度,但它受各種版本的C 語言編譯系統(tǒng)限制,同時(shí)也受到具體機(jī)器的限制。例如在某版本C 中規(guī)定標(biāo)識(shí)符前八位有效,當(dāng)兩個(gè)標(biāo)識(shí)符前八位相同時(shí),則被認(rèn)為是同一個(gè)標(biāo)識(shí)符。 (2) 在標(biāo)識(shí)符中,大小寫是有區(qū)別的。例如BOOK和book 是兩個(gè)不同的標(biāo)識(shí)符。 (3) 標(biāo)識(shí)符雖然可由程序員隨意定義,但標(biāo)識(shí)符是用于標(biāo)識(shí)某個(gè)量的符號(hào)。因此,命名應(yīng)盡量有相應(yīng)的意義,以便于閱讀理解,做到“顧名思義”。 關(guān)鍵字是由

9、語言規(guī)定的具有特定意義的字符串,通常也稱為保留字。用戶定義的標(biāo)識(shí)符不應(yīng)與關(guān)鍵字相同。 語言的關(guān)鍵字分為以下幾類: : (1) 類型說明符 用于定義、說明變量、函數(shù)或其它數(shù)據(jù)結(jié)構(gòu)的類型,如例題中用 int 等 。 (2) 語句定義符 用于表示一個(gè)語句的功能,如實(shí)例2中用到的 if 就是條件語句的語句定義符。 (3) 預(yù)處理命令字 用于表示一個(gè)預(yù)處理命令,如實(shí)例中用到的include。 語言中含有相當(dāng)豐富的運(yùn)算符。運(yùn)算符與變量,函數(shù)一起組成表達(dá)式,表示各種運(yùn)算功能。運(yùn)算符由一個(gè)或多個(gè)字符組成(詳見第3章3.8節(jié))。 語言中采用的分隔符有逗號(hào)和空格兩種。 逗號(hào):主要用在類型說明和函數(shù)參數(shù)表中,分隔各

10、個(gè)變量。 空格:多用于語句各單詞之間,作間隔符。 在關(guān)鍵字,標(biāo)識(shí)符之間必須要有一個(gè)以上的空格符作間隔,否則將會(huì)出現(xiàn)語法錯(cuò)誤,例如把int a;寫成 inta; C編譯器會(huì)把inta當(dāng)成一個(gè)標(biāo)識(shí)符處理,其結(jié)果必然出錯(cuò)。 C 語言中使用的常量可分為數(shù)字常量、字符常量、字符串常量、符號(hào)常量、轉(zhuǎn)義字符等多種。在后面章節(jié)中將專門給予介紹。 C 語言的注釋符是以“/*”開頭并以“*/”結(jié)尾的串。在“/*”和“*/”之間的即為注釋。程序編譯時(shí),不對(duì)注釋作任何處理。 注釋可出現(xiàn)在程序中的任何位置。注釋用來向用戶提示或解釋程序的意義。在調(diào)試程序中對(duì)暫不使用的語句也可用注釋符括起來,使翻譯跳過不作處理,待調(diào)試結(jié)束

11、后再去掉注釋符。C語言程序設(shè)計(jì)v一般用大寫字母一般用大寫字母v是宏定義預(yù)處理命令,不是是宏定義預(yù)處理命令,不是C語句語句直接常量直接常量: :v整型常量整型常量 v實(shí)型常量實(shí)型常量 v字符常量字符常量 v字符串常量字符串常量如 #define PRICE 30 2.22.2常量與變量常量與變量&常量常量v定義:程序運(yùn)行時(shí)其值不能改變的量(即常數(shù))定義:程序運(yùn)行時(shí)其值不能改變的量(即常數(shù))v分類分類: : 包括符號(hào)常量和直接常量包括符號(hào)常量和直接常量符號(hào)常量符號(hào)常量: :用標(biāo)識(shí)符代表常量用標(biāo)識(shí)符代表常量v定義格式:定義格式: #define#define 符號(hào)常量符號(hào)常量 常量常量 例例

12、 符號(hào)常量舉例符號(hào)常量舉例#define PRICE 30#define PRICE 30#include #include “stdio.hstdio.h”void main()void main() int num,total; int num,total; num=10; num=10; total=num total=num* *PRICE;PRICE; printf(total=%d,total); printf(total=%d,total); 運(yùn)行結(jié)果:total=300C語言程序設(shè)計(jì)&整型常量(整常數(shù))整型常量(整常數(shù))v三種形式:三種形式:十進(jìn)制整數(shù):由數(shù)字十進(jìn)制整數(shù)

13、:由數(shù)字0 09 9和正負(fù)號(hào)表示和正負(fù)號(hào)表示. .如如 123,-456,0123,-456,0八進(jìn)制整數(shù):由數(shù)字八進(jìn)制整數(shù):由數(shù)字0 0開頭開頭, ,后跟數(shù)字后跟數(shù)字0 07 7表示表示. .如如0123,0110123,011十六進(jìn)制整數(shù):由十六進(jìn)制整數(shù):由0 x0 x開頭開頭, ,后跟后跟0 09,a9,af,Af,AF F表示表示. . 如如0 x123,0 xff0 x123,0 xff例 12 與 12L例 30000 為int型 65536 為long int 型v整型常量的類型整型常量的類型根據(jù)其值所在范圍確定其數(shù)據(jù)類型根據(jù)其值所在范圍確定其數(shù)據(jù)類型在在整常量后加字母整常量后加

14、字母l l或或L L,認(rèn)為它是認(rèn)為它是long int 型常量型常量問題:0123 = ( )100 x123 = ( )100 xff = ( )1083291255問題:0123 = ( )100 x123 = ( )100 xff = ( )10C語言程序設(shè)計(jì)&實(shí)型常量(實(shí)數(shù)或浮點(diǎn)數(shù))實(shí)型常量(實(shí)數(shù)或浮點(diǎn)數(shù))v表示形式:表示形式:十進(jìn)制數(shù)形式:(必須有小數(shù)點(diǎn))十進(jìn)制數(shù)形式:(必須有小數(shù)點(diǎn)) 如如0.123, .123, 0.123, .123, 123.0, 0.0, 123.123.0, 0.0, 123.指數(shù)形式:(指數(shù)形式:(e e或或E E之前必須有數(shù)字;指數(shù)必須為整數(shù))

15、之前必須有數(shù)字;指數(shù)必須為整數(shù))如如12.312.3e3 ,123E2, 1.23e4 , e3 ,123E2, 1.23e4 , e-5e-5 , , 1.2E-3.5 1.2E-3.5 v實(shí)型常量的類型實(shí)型常量的類型默認(rèn)默認(rèn)doubledouble型型在在實(shí)型常量后加字母實(shí)型常量后加字母f f或或F F,認(rèn)為它是認(rèn)為它是float float 型型C語言程序設(shè)計(jì)&字符常量字符常量v定義定義: :用用單引號(hào)單引號(hào)括起來的單個(gè)括起來的單個(gè)普通字符普通字符或或轉(zhuǎn)義字符轉(zhuǎn)義字符. v字符常量的字符常量的值值:該字符的:該字符的ASCIIASCII碼碼值值如 a A ? n 101-* *

16、/ % / % - - + -+ - (2) (3) (4)(2) (3) (4)說明:說明:“- -”可為可為單目單目運(yùn)算符時(shí)運(yùn)算符時(shí), ,右結(jié)合性右結(jié)合性兩整數(shù)相除,結(jié)果為整數(shù);實(shí)數(shù)相除,結(jié)果為實(shí)數(shù)兩整數(shù)相除,結(jié)果為整數(shù);實(shí)數(shù)相除,結(jié)果為實(shí)數(shù)% %要求兩側(cè)均為整型數(shù)據(jù)要求兩側(cè)均為整型數(shù)據(jù)例 5/2 = -5/2.0 =例 5%2 = -5%2 = 1%10 = 5%1 = 5.5%2例 5/2 = 2 -5/2.0 = -2.5例 5%2 = 1 -5%2 = -1 1%10 = 1 5%1 = 0 5.5%2 ()C語言程序設(shè)計(jì)v自增、自減運(yùn)算符自增、自減運(yùn)算符+ -+ -作用:使變量值

17、加作用:使變量值加1 1或減或減1 1種類:種類:v前置前置 +i, -i (+i, -i (先執(zhí)行先執(zhí)行i i+1+1或或i-1i-1,再使用再使用i i值)值)v后置后置 i+,i- (i+,i- (先使用先使用i i值值, ,再執(zhí)行再執(zhí)行i i+1+1或或i-1i-1)例 j=3; k=+j; j=3; k=j+; j=3; printf(“%d”,+j); j=3; printf(“%d”,j+); /k=4,j=4/k=3,j=4/4/3說明:說明:v+ - + - 不能用于常量和表達(dá)式不能用于常量和表達(dá)式, ,如如5+5+,( (a+b)+a+b)+v+ -+ -結(jié)合方向:結(jié)合方向

18、: 自右向左自右向左v優(yōu)先級(jí):優(yōu)先級(jí):- + - - + - -* * / % -+ - / % -+ - (2) (3) (4)(2) (3) (4)例 i=3; printf(%dn,-i+); /-3 C語言程序設(shè)計(jì)&賦值運(yùn)算符和表達(dá)式賦值運(yùn)算符和表達(dá)式v簡(jiǎn)單賦值運(yùn)算符簡(jiǎn)單賦值運(yùn)算符符號(hào):符號(hào): = =格式:格式: 變量標(biāo)識(shí)符變量標(biāo)識(shí)符= =表達(dá)式表達(dá)式作用:將一個(gè)數(shù)據(jù)(常量或表達(dá)式)賦給一個(gè)變量作用:將一個(gè)數(shù)據(jù)(常量或表達(dá)式)賦給一個(gè)變量v復(fù)合賦值運(yùn)算符復(fù)合賦值運(yùn)算符種類種類:+= -= += -= * *= /= %= /= %= = = = &= = |= &

19、;= = |=含義:含義: exp1 op= exp2exp1 op= exp2 exp1 = exp1 op exp2exp1 = exp1 op exp2a+=3a=a+3x*=y+8x=x*(y+8)x%=3x=x%3例 a=3; d=func(); c=d+2;C語言程序設(shè)計(jì)v說明說明: :結(jié)合方向:結(jié)合方向:自右向左自右向左優(yōu)先級(jí)優(yōu)先級(jí): 14左側(cè)必須是變量,不能是常量或表達(dá)式左側(cè)必須是變量,不能是常量或表達(dá)式賦值表達(dá)式的值與變量值相等賦值表達(dá)式的值與變量值相等,且可嵌套且可嵌套賦值轉(zhuǎn)換賦值轉(zhuǎn)換規(guī)則規(guī)則: :使賦值號(hào)右邊表達(dá)式值使賦值號(hào)右邊表達(dá)式值自動(dòng)自動(dòng)轉(zhuǎn)換成其左邊轉(zhuǎn)換成其左邊變量

20、的類型變量的類型例 3=x-2*y; a+b=3;例 float f; int i; i=10; f=i;則 f=10.0例 int i; i=2.56; /結(jié)果i=2;例: a=b=c=5 a=(b=5) a=5+(c=6) a=(b=4)+(c=6) a=(b=10)/(c=2)/表達(dá)式值為5,a,b,c值為5/ b=5;a=5/表達(dá)式值11,c=6,a=11/表達(dá)式值10,a=10,b=4,c=6/表達(dá)式值5,a=5,b=10,c=2C語言程序設(shè)計(jì)v說明說明: :結(jié)合方向:結(jié)合方向:自右向左自右向左優(yōu)先級(jí)優(yōu)先級(jí): 12左側(cè)必須是變量,不能是常量或表達(dá)式左側(cè)必須是變量,不能是常量或表達(dá)式賦

21、值表達(dá)式的值與變量值相等賦值表達(dá)式的值與變量值相等,且可嵌套且可嵌套賦值轉(zhuǎn)換賦值轉(zhuǎn)換規(guī)則規(guī)則: :使賦值號(hào)右邊表達(dá)式值使賦值號(hào)右邊表達(dá)式值自動(dòng)自動(dòng)轉(zhuǎn)換成其左邊轉(zhuǎn)換成其左邊變量的類型變量的類型例: a=12; a+=a-=a*a例: int a=2; a%=4-1; a+=a*=a-=a*=3; /a=-264 等價(jià)于a=a+(a=a-(a*a)/a=0 等價(jià)于a=a+(a=a*(a=a-(a=a*3)C語言程序設(shè)計(jì)&逗號(hào)運(yùn)算符和表達(dá)式逗號(hào)運(yùn)算符和表達(dá)式v形式:形式:表達(dá)式表達(dá)式1,表達(dá)式表達(dá)式2,表達(dá)式表達(dá)式nv結(jié)合性結(jié)合性:從左向右從左向右v優(yōu)先級(jí)優(yōu)先級(jí): 15v逗號(hào)表達(dá)式逗號(hào)表達(dá)式的值:等于表達(dá)式的值:等于表達(dá)式n的值的值例 a=

溫馨提示

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