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

下載本文檔

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

文檔簡介

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

2、型、字符型或其它類型。型、字符型或其它類型。8程序中,常量或變量是需要參與運算的,因此需要掌握程序中,常量或變量是需要參與運算的,因此需要掌握運算符及表達式運算符及表達式。C語言程序設(shè)計2.1 數(shù)據(jù)類型數(shù)據(jù)類型&數(shù)據(jù)類型總表數(shù)據(jù)類型總表C數(shù)數(shù)據(jù)據(jù)類類型型基本類型基本類型構(gòu)造類型構(gòu)造類型指針類型指針類型typedef (用別名來代替已有的類型名用別名來代替已有的類型名)字符類型字符類型char枚舉類型枚舉類型enum整整 型型實型實型單精度型單精度型float雙精度型雙精度型double數(shù)組數(shù)組結(jié)構(gòu)體結(jié)構(gòu)體struct共用體共用體union短整型短整型short長整型長整型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. 其上可進行的操作其上可進行的操作空類型空類型 voidC語言程序設(shè)計&基本數(shù)據(jù)類型基本數(shù)據(jù)類型類型符號關(guān)鍵字?jǐn)?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ù)隨機器硬件不同而不同。C語言程序設(shè)計2.22.2常量與變量常量與變量v標(biāo)識符是字符序列的總稱。標(biāo)識符是字符序列的總稱。v標(biāo)識符可用來標(biāo)識常量、變量、函數(shù)等的名字。標(biāo)識符可用來標(biāo)識常量、變量、函數(shù)等的名字。vC C語言中,標(biāo)識符可分為:語言中,標(biāo)識符可分為:用戶自定義標(biāo)識符用戶自定義標(biāo)識符標(biāo)準(zhǔn)標(biāo)識符標(biāo)準(zhǔn)標(biāo)識符( (又稱關(guān)鍵字,由系統(tǒng)專用又稱關(guān)鍵字,由系統(tǒng)專用) )v用戶自定義標(biāo)識符須符合以下規(guī)范:用戶自定義標(biāo)識符須符合以下規(guī)范:由字母由字母(A-

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

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

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

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

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

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

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

12、 符號常量舉例符號常量舉例#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); 運行結(jié)果:total=300C語言程序設(shè)計&整型常量(整常數(shù))整型常量(整常數(shù))v三種形式:三種形式:十進制整數(shù):由數(shù)字十進制整數(shù)

13、:由數(shù)字0 09 9和正負(fù)號表示和正負(fù)號表示. .如如 123,-456,0123,-456,0八進制整數(shù):由數(shù)字八進制整數(shù):由數(shù)字0 0開頭開頭, ,后跟數(shù)字后跟數(shù)字0 07 7表示表示. .如如0123,0110123,011十六進制整數(shù):由十六進制整數(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è)計&實型常量(實數(shù)或浮點數(shù))實型常量(實數(shù)或浮點數(shù))v表示形式:表示形式:十進制數(shù)形式:(必須有小數(shù)點)十進制數(shù)形式:(必須有小數(shù)點) 如如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實型常量的類型實型常量的類型默認(rèn)默認(rèn)doubledouble型型在在實型常量后加字母實型常量后加字母f f或或F F,認(rèn)為它是認(rèn)為它是float float 型型C語言程序設(shè)計&字符常量字符常量v定義定義: :用用單引號單引號括起來的單個括起來的單個普通字符普通字符或或轉(zhuǎn)義字符轉(zhuǎn)義字符. v字符常量的字符常量的值值:該字符的:該字符的ASCIIASCII碼碼值值如 a A ? n 101-* *

16、/ % / % - - + -+ - (2) (3) (4)(2) (3) (4)說明:說明:“- -”可為可為單目單目運算符時運算符時, ,右結(jié)合性右結(jié)合性兩整數(shù)相除,結(jié)果為整數(shù);實數(shù)相除,結(jié)果為實數(shù)兩整數(shù)相除,結(jié)果為整數(shù);實數(shù)相除,結(jié)果為實數(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è)計v自增、自減運算符自增、自減運算符+ -+ -作用:使變量值

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+ - + - 不能用于常量和表達式不能用于常量和表達式, ,如如5+5+,( (a+b)+a+b)+v+ -+ -結(jié)合方向:結(jié)合方向

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

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è)計v說明說明: :結(jié)合方向:結(jié)合方向:自右向左自右向左優(yōu)先級優(yōu)先級: 14左側(cè)必須是變量,不能是常量或表達式左側(cè)必須是變量,不能是常量或表達式賦值表達式的值與變量值相等賦值表達式的值與變量值相等,且可嵌套且可嵌套賦值轉(zhuǎn)換賦值轉(zhuǎn)換規(guī)則規(guī)則: :使賦值號右邊表達式值使賦值號右邊表達式值自動自動轉(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)/表達式值為5,a,b,c值為5/ b=5;a=5/表達式值11,c=6,a=11/表達式值10,a=10,b=4,c=6/表達式值5,a=5,b=10,c=2C語言程序設(shè)計v說明說明: :結(jié)合方向:結(jié)合方向:自右向左自右向左優(yōu)先級優(yōu)先級: 12左側(cè)必須是變量,不能是常量或表達式左側(cè)必須是變量,不能是常量或表達式賦

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

溫馨提示

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

評論

0/150

提交評論