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

下載本文檔

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

文檔簡(jiǎn)介

1、Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C1 C C語言程序設(shè)計(jì)語言程序設(shè)計(jì)第第2 2章章 基本數(shù)據(jù)類型、運(yùn)算符與表達(dá)式基本數(shù)據(jù)類型、運(yùn)算符與表達(dá)式Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C2問題:人類的語言書寫時(shí),不同國(guó)家有不同的要求,基本問題:人類的語言書寫時(shí),不同國(guó)家有不同的要求,基本的如:的如: 有哪些數(shù)據(jù)是規(guī)定可用的,可進(jìn)行什么樣的有哪些數(shù)據(jù)是規(guī)定

2、可用的,可進(jìn)行什么樣的運(yùn)算和加工?運(yùn)算和加工?用字要求用字要求格式要求格式要求標(biāo)點(diǎn)要求標(biāo)點(diǎn)要求 C C語言作為一種計(jì)算機(jī)語言,在用于編語言作為一種計(jì)算機(jī)語言,在用于編程時(shí),程時(shí),C C語言中對(duì)數(shù)據(jù)的類型,哪些操作運(yùn)語言中對(duì)數(shù)據(jù)的類型,哪些操作運(yùn)算是合法的,都進(jìn)行了相關(guān)的規(guī)范和要求。算是合法的,都進(jìn)行了相關(guān)的規(guī)范和要求。引子引子Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C3l 本章要點(diǎn)本章要點(diǎn)第第2 2章章 數(shù)據(jù)類型、運(yùn)算符和表達(dá)式數(shù)據(jù)類型、運(yùn)算符和表達(dá)式l 本章難點(diǎn)本章難點(diǎn)n

3、C C語言的基本數(shù)據(jù)類型語言的基本數(shù)據(jù)類型n 變量的定義、賦值、初始化及使用方法變量的定義、賦值、初始化及使用方法n 基本運(yùn)算符的運(yùn)算規(guī)則及優(yōu)先級(jí)別基本運(yùn)算符的運(yùn)算規(guī)則及優(yōu)先級(jí)別n 表達(dá)式的構(gòu)成規(guī)則和計(jì)算表達(dá)式的構(gòu)成規(guī)則和計(jì)算n 數(shù)據(jù)類型轉(zhuǎn)換的意義和實(shí)質(zhì)數(shù)據(jù)類型轉(zhuǎn)換的意義和實(shí)質(zhì)Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C42.12.22.32.42.5C語言的數(shù)據(jù)類型語言的數(shù)據(jù)類型常量與變量常量與變量整型數(shù)據(jù)整型數(shù)據(jù)實(shí)型數(shù)據(jù)實(shí)型數(shù)據(jù)字符型數(shù)據(jù)字符型數(shù)據(jù)本章主要內(nèi)容本章主要內(nèi)容C

4、opyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C52.62.72.82.92.10算術(shù)運(yùn)算符與算術(shù)表達(dá)式算術(shù)運(yùn)算符與算術(shù)表達(dá)式賦值運(yùn)算符與賦值表達(dá)式賦值運(yùn)算符與賦值表達(dá)式逗號(hào)運(yùn)算符與逗號(hào)表達(dá)式逗號(hào)運(yùn)算符與逗號(hào)表達(dá)式位運(yùn)算符位運(yùn)算符數(shù)據(jù)類型轉(zhuǎn)換與計(jì)算類型長(zhǎng)度運(yùn)算符數(shù)據(jù)類型轉(zhuǎn)換與計(jì)算類型長(zhǎng)度運(yùn)算符本章主要內(nèi)容本章主要內(nèi)容Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C6數(shù)據(jù)類

5、型總表數(shù)據(jù)類型總表數(shù)數(shù)據(jù)據(jù)類類型型基本類型基本類型構(gòu)造類型構(gòu)造類型指針類型指針類型空類型空類型void字符類型字符類型char枚舉類型枚舉類型整整 型型實(shí)實(shí) 型型單精度型單精度型float雙精度型雙精度型double數(shù)組數(shù)組結(jié)構(gòu)體結(jié)構(gòu)體struct共用體共用體union短整型短整型short長(zhǎng)整型長(zhǎng)整型long整型整型int數(shù)據(jù)類型決定:數(shù)據(jù)類型決定:1. 數(shù)據(jù)占內(nèi)存字節(jié)數(shù)數(shù)據(jù)占內(nèi)存字節(jié)數(shù)2. 數(shù)據(jù)取值范圍數(shù)據(jù)取值范圍2.1 C2.1 C語言的數(shù)據(jù)類型語言的數(shù)據(jù)類型不可再將其分解成其他類型構(gòu)造類型數(shù)據(jù)可以分解成若干個(gè)成員或元素 ,各成員的類型可以相同,也可以不同,可以是基本數(shù)據(jù)類型,也可以是構(gòu)

6、造類型。值用來表示某個(gè)量在內(nèi)存儲(chǔ)器中的地址函數(shù)類型說明了返回值的類型,但有些函數(shù)沒有返回值,這種函數(shù)類型定義為空類型(void)。Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C72.12.22.32.42.5C語言的數(shù)據(jù)類型語言的數(shù)據(jù)類型常量與變量常量與變量整型數(shù)據(jù)整型數(shù)據(jù)實(shí)型數(shù)據(jù)實(shí)型數(shù)據(jù)字符型數(shù)據(jù)字符型數(shù)據(jù)本章主要內(nèi)容本章主要內(nèi)容Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)

7、達(dá)式式C C8常量常量定義:程序運(yùn)行時(shí)其值不能改變的量(即常數(shù))定義:程序運(yùn)行時(shí)其值不能改變的量(即常數(shù))分類分類: :字面常量字面常量: :又稱直接常量又稱直接常量整型常量整型常量 : 1212、0 0、3 3; 實(shí)型常量實(shí)型常量 : 4.64.6、1.23 1.23 字符常量字符常量 :a、b符號(hào)常量符號(hào)常量: :Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C9標(biāo)識(shí)符標(biāo)識(shí)符定義:標(biāo)識(shí)符是用戶自定義的一種字符序列,用于表示程序中需要定義:標(biāo)識(shí)符是用戶自定義的一種字符序列,用于表

8、示程序中需要辨認(rèn)的對(duì)象,比如變量、數(shù)組、函數(shù)等對(duì)象的名字。辨認(rèn)的對(duì)象,比如變量、數(shù)組、函數(shù)等對(duì)象的名字。分類:分類:關(guān)鍵字、關(guān)鍵字、預(yù)定義標(biāo)識(shí)符預(yù)定義標(biāo)識(shí)符和和用戶標(biāo)識(shí)符用戶標(biāo)識(shí)符 命名原則:命名原則:由由字母字母、數(shù)字?jǐn)?shù)字、下劃線下劃線組成的一串符號(hào),但必修以英文字母或組成的一串符號(hào),但必修以英文字母或下劃線開頭下劃線開頭標(biāo)識(shí)符區(qū)分大小寫標(biāo)識(shí)符區(qū)分大小寫不能使用關(guān)鍵字作為用戶標(biāo)識(shí)符不能使用關(guān)鍵字作為用戶標(biāo)識(shí)符見名知意見名知意建議用戶標(biāo)識(shí)符不要與預(yù)定義標(biāo)識(shí)符相同建議用戶標(biāo)識(shí)符不要與預(yù)定義標(biāo)識(shí)符相同 不宜混淆不宜混淆 如如l l與與I, oI, o與與0 0長(zhǎng)度:長(zhǎng)度:VC 6.0VC 6.0為

9、為255255個(gè)字符個(gè)字符例例: :判斷下列標(biāo)識(shí)符號(hào)合法性判斷下列標(biāo)識(shí)符號(hào)合法性sum Sum M.D.John day Date 3days student_name #33 lotus_1_2_3 char ab _above $123M.D.John3days#33char$123ab2.2 2.2 常量與變量常量與變量由由C語言規(guī)定的具有語言規(guī)定的具有特定含義的標(biāo)識(shí)符,特定含義的標(biāo)識(shí)符,也稱為保留字也稱為保留字關(guān)鍵字均關(guān)鍵字均為小寫,為小寫,如如int、while預(yù)定義標(biāo)識(shí)符在C語言中有特定的含義,如printf、include Copyright Henan Polytechnic

10、University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C10符號(hào)常量符號(hào)常量也稱宏常量也稱宏常量定義:用一個(gè)標(biāo)識(shí)符代表一個(gè)常量。定義:用一個(gè)標(biāo)識(shí)符代表一個(gè)常量。由由C C語言中的宏定義預(yù)處理命令來定義。語言中的宏定義預(yù)處理命令來定義。定義格式:定義格式:#define 符號(hào)常量符號(hào)常量 常量標(biāo)識(shí)符常量標(biāo)識(shí)符符號(hào)常量應(yīng)遵循標(biāo)識(shí)符的命名規(guī)則符號(hào)常量應(yīng)遵循標(biāo)識(shí)符的命名規(guī)則 習(xí)慣上用大寫字母習(xí)慣上用大寫字母常量可以是任何類型常量可以是任何類型符號(hào)常量一經(jīng)定義,凡在源程序中使用該符號(hào)常量時(shí),符號(hào)常量一經(jīng)定義,凡在源程序中使用該符號(hào)常量時(shí),都用其后指定的常

11、量來替換。都用其后指定的常量來替換。 例例2.12.1符號(hào)常量的使用符號(hào)常量的使用#include #define PI 3.14159#define R 5.3main() printf(area=%fn,PI*R*R); /* 輸出圓面積輸出圓面積 */ printf(circumference=%fn,2*PI*R); /* 輸出圓周長(zhǎng)輸出圓周長(zhǎng) */運(yùn)行結(jié)果:運(yùn)行結(jié)果:area=88.247263circumference=33.300854如如 #define PRICE 30修改程序方便閱讀程序方便 Copyright Henan Polytechnic University 語語

12、言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C11變量變量功能:功能:用來保存程序運(yùn)行過程中的輸入數(shù)據(jù)、計(jì)算用來保存程序運(yùn)行過程中的輸入數(shù)據(jù)、計(jì)算獲得的中間結(jié)果和最終結(jié)果。獲得的中間結(jié)果和最終結(jié)果。變量定義的一般格式:變量定義的一般格式: 類型標(biāo)識(shí)符類型標(biāo)識(shí)符 變量名變量名1,1,變量名變量名2,; 2,; 變量初始化變量初始化: :定義時(shí)賦初值定義時(shí)賦初值 變量的使用:變量的使用:先定義,后使用先定義,后使用例例: int a,b,c; float data;類型標(biāo)識(shí)符類型標(biāo)識(shí)符 變量名變量名=初值初值;例例: int a=2,b,c=4; float da

13、ta=3.67; char ch=A; int x=1,y=1,z=1; int x=y=z=1;決定分配字節(jié)數(shù)和數(shù)的表示范圍例例: int student; stadent=19; /Undefined symbol statent in function main Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C12int a=1, b=-3,c;.地址abc4字節(jié)4字節(jié)4字節(jié)字節(jié)地址地址.-3隨機(jī)數(shù)1編譯程序根據(jù)變量定義為其分配指定字節(jié)的內(nèi)存單元變量名變量名與與變量值變量值C

14、opyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C13main() int a,b=2; a=1; float data; data=(a+b)*1.2; printf(“data=%fn”,data);變量定義位置:變量定義位置:變量定義語句可放在函數(shù)外,也可放在函變量定義語句可放在函數(shù)外,也可放在函數(shù)或復(fù)合語句內(nèi)。數(shù)或復(fù)合語句內(nèi)。Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式

15、式C C142.12.22.32.42.5C語言的數(shù)據(jù)類型語言的數(shù)據(jù)類型常量與變量常量與變量整型數(shù)據(jù)整型數(shù)據(jù)實(shí)型數(shù)據(jù)實(shí)型數(shù)據(jù)字符型數(shù)據(jù)字符型數(shù)據(jù)本章主要內(nèi)容本章主要內(nèi)容Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C15三種形式:三種形式:十進(jìn)制整數(shù):由數(shù)字十進(jìn)制整數(shù):由數(shù)字0909和正負(fù)號(hào)表示和正負(fù)號(hào)表示.(.(與日常使用的整數(shù)與日常使用的整數(shù)寫法一樣寫法一樣) ) 如如: 0,-143,87: 0,-143,87八進(jìn)制整數(shù):由數(shù)字八進(jìn)制整數(shù):由數(shù)字0 0開頭開頭, ,后面是八進(jìn)

16、制數(shù)字序列后面是八進(jìn)制數(shù)字序列, , 數(shù)字?jǐn)?shù)字取值范圍為取值范圍為0707。 如如:00:00、015015、037037十六進(jìn)制整數(shù):以十六進(jìn)制整數(shù):以0 x0 x或或0X0X開頭的十六進(jìn)制數(shù)字序列開頭的十六進(jìn)制數(shù)字序列, ,數(shù)字取數(shù)字取值范圍為值范圍為0909、afaf或或AFAF。 如如:0 x0:0 x0、-0 xABC-0 xABC、0X9fc0X9fc 2.3 2.3 整型數(shù)據(jù)整型數(shù)據(jù)整型常量(整數(shù))整型常量(整數(shù))是數(shù)字是數(shù)字0 ,不是字母不是字母o 非法的八進(jìn)制數(shù) : 0539、02A、0567 非法的十六進(jìn)制數(shù) :0 xfg、0 x-89F 問題:0123 = ( )100

17、x123 = ( )100Xff = ( )10問題:0123 = ( )100 x123 = ( )100Xff = ( )1083291255Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C16&整型變量的分類整型變量的分類根據(jù)表達(dá)范圍:根據(jù)表達(dá)范圍:基本整型基本整型(int)、 短整型(短整型(short int) 長(zhǎng)整型(長(zhǎng)整型(long int)標(biāo)準(zhǔn)標(biāo)準(zhǔn)C C語言規(guī)定:語言規(guī)定:short intintlong intshort intintlong int根據(jù)是否有符號(hào)

18、:根據(jù)是否有符號(hào):有符號(hào)型(有符號(hào)型(signed)和無符號(hào)型()和無符號(hào)型(unsigned) 若未指定是否有符號(hào),則隱含為有符號(hào)型(若未指定是否有符號(hào),則隱含為有符號(hào)型(signed) 2.3 2.3 整型數(shù)據(jù)整型數(shù)據(jù)整型變量整型變量用來存放整數(shù),基本類型為int型 如:int型數(shù)據(jù)是有符號(hào),而unsigned int是無符號(hào)的。 Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C17VC 6.0VC 6.0中整型變量的所占字節(jié)數(shù)和數(shù)值范圍中整型變量的所占字節(jié)數(shù)和數(shù)值范圍整型類型

19、符整型類型符占用占用字節(jié)字節(jié)數(shù)數(shù)數(shù)數(shù) 值值 范范 圍圍signed int421474836482147483647 即即231(2311)signed short int23276832767 即即215(2151)signed long int421474836482147483647 即即231(2311)unsigned int404294967295 即即0(2321)unsigned short int2065535 即即0(2161)unsigned long int404294967295 即即0(2321)Copyright Henan Polytechnic Univers

20、ity 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C18&整型變量的定義整型變量的定義在定義整型變量時(shí),某些類型修飾符可以省略在定義整型變量時(shí),某些類型修飾符可以省略int a,b,c; /* a,b,c為有符號(hào)整型變量為有符號(hào)整型變量 */ long x,y; /* x,y為有符號(hào)長(zhǎng)整型變量為有符號(hào)長(zhǎng)整型變量 */ unsigned p, q; /* p,q為無符號(hào)整型變量為無符號(hào)整型變量 */在存儲(chǔ)正數(shù)時(shí),在存儲(chǔ)正數(shù)時(shí),無符號(hào)整型變量無符號(hào)整型變量的數(shù)值范圍比的數(shù)值范圍比有符有符號(hào)整型變量號(hào)整型變量的數(shù)值范圍擴(kuò)大一倍,的數(shù)值范圍擴(kuò)大一倍,如果能事先確

21、定存儲(chǔ)的數(shù)是正整數(shù)(如年齡、庫存如果能事先確定存儲(chǔ)的數(shù)是正整數(shù)(如年齡、庫存量、人數(shù)等),則可將變量定義為無符號(hào)類型,以量、人數(shù)等),則可將變量定義為無符號(hào)類型,以充分利用變量的數(shù)值范圍。充分利用變量的數(shù)值范圍。Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C19&整型數(shù)據(jù)在內(nèi)存中的存放形式整型數(shù)據(jù)在內(nèi)存中的存放形式在內(nèi)存中數(shù)據(jù)是以二進(jìn)制形式存放的在內(nèi)存中數(shù)據(jù)是以二進(jìn)制形式存放的有符號(hào)整型數(shù)有符號(hào)整型數(shù)無符號(hào)整型數(shù)無符號(hào)整型數(shù)0111111111111111signed short

22、(最大值)(最大值)unsigned short(最大值)(最大值)1111111111111111符號(hào)位 0123456789101112131415Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C20實(shí)際上,整型數(shù)據(jù)是以補(bǔ)碼的形式來存儲(chǔ)的。 正數(shù)的補(bǔ)碼正數(shù)的補(bǔ)碼 負(fù)數(shù)的補(bǔ)碼負(fù)數(shù)的補(bǔ)碼 原碼相同原碼相同 將原碼的符號(hào)位保持不變,將原碼的符號(hào)位保持不變,數(shù)值位逐位取反(變?yōu)榉创a)數(shù)值位逐位取反(變?yōu)榉创a)末位(即最右邊的那一位)加末位(即最右邊的那一位)加1求:求:10的補(bǔ)碼的補(bǔ)碼

23、 (1)寫出寫出10的原碼的原碼(2)數(shù)值位取反,得數(shù)值位取反,得10的反碼的反碼 (3)末位加末位加1,得,得10的補(bǔ)碼的補(bǔ)碼100000000000101011111111111101011111111111110110Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C21&整型數(shù)據(jù)的溢出整型數(shù)據(jù)的溢出short intshort int型變量的最大允許值為型變量的最大允許值為3276732767,如果,如果再加再加1 1,會(huì)出現(xiàn)什么情況?,會(huì)出現(xiàn)什么情況? 例2.2 整型數(shù)據(jù)的

24、溢出。#include main() short a,b; a=32767; b=a+1; printf(%d,%d,a,b);a和和b的存儲(chǔ)格式:的存儲(chǔ)格式:a 0111111111111111b 1000000000000000運(yùn)行結(jié)果為:運(yùn)行結(jié)果為:32767, -32768Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C22整型常量的類型整型常量的類型整型常量也有基本整型、長(zhǎng)整型、有符整型常量也有基本整型、長(zhǎng)整型、有符號(hào)和無符號(hào)之分號(hào)和無符號(hào)之分 編譯程序會(huì)根據(jù)編譯程序會(huì)根

25、據(jù)數(shù)值大小分辨數(shù)值大小分辨出常量是出常量是int還是還是long int類型。類型。 int型和型和long型數(shù)據(jù)均占型數(shù)據(jù)均占4個(gè)字節(jié),在個(gè)字節(jié),在21474836482147483647范圍內(nèi)的常量認(rèn)為是范圍內(nèi)的常量認(rèn)為是int型。型。需要明確地指出整數(shù)是否屬于需要明確地指出整數(shù)是否屬于long int類型,類型,要在整數(shù)的末尾要加上字母要在整數(shù)的末尾要加上字母L或或l。 在表示無符號(hào)整型常量時(shí),需要在數(shù)值后添加字在表示無符號(hào)整型常量時(shí),需要在數(shù)值后添加字母母U或或u作為后綴作為后綴,若是長(zhǎng)整型無符號(hào)整型常量,若是長(zhǎng)整型無符號(hào)整型常量,則可以加后綴則可以加后綴LU或或lu, 無論是基本整型

26、數(shù)還是長(zhǎng)整型數(shù),都被識(shí)別為無論是基本整型數(shù)還是長(zhǎng)整型數(shù),都被識(shí)別為有符號(hào)整數(shù)有符號(hào)整數(shù)有符號(hào)整數(shù)有符號(hào)整數(shù)無符號(hào)整型常量無符號(hào)整型常量例:148、013、148L、0 x38Alu 、013L、 0 x38Au 、0 x16L、358U、0 x16、358LU148、013、0 x16148L013L0 x16L0 x38Au358U0 x38Alu358LUCopyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C232.12.22.32.42.5C語言的數(shù)據(jù)類型語言的數(shù)據(jù)類型常量與變量常

27、量與變量整型數(shù)據(jù)整型數(shù)據(jù)實(shí)型數(shù)據(jù)實(shí)型數(shù)據(jù)字符型數(shù)據(jù)字符型數(shù)據(jù)本章主要內(nèi)容本章主要內(nèi)容Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C24表示形式:表示形式:小數(shù)形式:小數(shù)形式:數(shù)學(xué)中常用的實(shí)數(shù)形式,由數(shù)字?jǐn)?shù)學(xué)中常用的實(shí)數(shù)形式,由數(shù)字09和小數(shù)和小數(shù)點(diǎn)組成。點(diǎn)組成。 (必須有小數(shù)點(diǎn)必須有小數(shù)點(diǎn)) 如:如:0.0、25.0、5.789、0.13、5.0、300.、267.8230 指數(shù)形式:指數(shù)形式:也稱為科學(xué)記數(shù)法,由尾數(shù)(可帶符號(hào))、也稱為科學(xué)記數(shù)法,由尾數(shù)(可帶符號(hào))、階碼標(biāo)志階

28、碼標(biāo)志“e”或或“E”以及階碼(只能為整數(shù),可以帶符以及階碼(只能為整數(shù),可以帶符號(hào))組成。(號(hào))組成。(字母字母e或或E的前后及數(shù)字之間不能插入空格的前后及數(shù)字之間不能插入空格 ) 例如:例如:2.1E5(等于(等于2.1105),),3.7E-2(等于(等于3.7102),),0.5E7(等于(等于0.5107),),2.8E-2(等于(等于2.8102) 2.4 2.4 實(shí)型數(shù)據(jù)實(shí)型數(shù)據(jù)實(shí)型常量(浮點(diǎn)型常量、實(shí)數(shù)或浮點(diǎn)數(shù))實(shí)型常量(浮點(diǎn)型常量、實(shí)數(shù)或浮點(diǎn)數(shù))345E7553.-E32.7E無小數(shù)點(diǎn) 階碼標(biāo)志E之前無數(shù)字無階碼標(biāo)志負(fù)號(hào)位置不對(duì) 無階碼Copyright Henan Poly

29、technic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C25floatfloat(單精度):占(單精度):占3232位,提供位,提供7 7位有效數(shù)字位有效數(shù)字doubledouble(雙精度):占(雙精度):占6464位,提供位,提供1616位有效數(shù)字位有效數(shù)字longlong doubledouble(長(zhǎng)雙精度型):占(長(zhǎng)雙精度型):占6464位,提供位,提供1616位有效位有效數(shù)字?jǐn)?shù)字 2.4 2.4 實(shí)型數(shù)據(jù)實(shí)型數(shù)據(jù)實(shí)型變量(浮點(diǎn)變量實(shí)型變量(浮點(diǎn)變量 )float a=1.5,b=0.35,c; /* 定義單精度實(shí)型變量

30、a、b、c,并對(duì)a、b初始化 */double x,y,z; /* 定義雙精度實(shí)型變量x、y、z */Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C26實(shí)型數(shù)據(jù)在內(nèi)存中的存放形式實(shí)型數(shù)據(jù)在內(nèi)存中的存放形式 無論表示形式是小數(shù)還是指數(shù),均以指數(shù)格式存儲(chǔ)無論表示形式是小數(shù)還是指數(shù),均以指數(shù)格式存儲(chǔ) 實(shí)數(shù)的存儲(chǔ)由符號(hào)位、指數(shù)(階碼)以及尾數(shù)(小數(shù))等三實(shí)數(shù)的存儲(chǔ)由符號(hào)位、指數(shù)(階碼)以及尾數(shù)(小數(shù))等三部分組成。部分組成。 例如:實(shí)數(shù)例如:實(shí)數(shù)31.4159 尾數(shù)尾數(shù)指數(shù)指數(shù)+2314

31、159符號(hào)位float:共占32位。1位符號(hào)位、8位指數(shù)和23位尾數(shù);double:占64位。1位符號(hào)位、11位指數(shù)和52位尾數(shù)。指數(shù)部分占的位數(shù)多,則表示的數(shù)值范圍大。尾數(shù)部分占的位數(shù)多,實(shí)型數(shù)據(jù)的有效數(shù)字就多,精度就高。尾數(shù)部分就是有效二進(jìn)制數(shù)字,經(jīng)過計(jì)算可換算成十進(jìn)制有效數(shù)字位數(shù)(近似值)。Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C27實(shí)型變量的舍入誤差實(shí)型變量的舍入誤差由于實(shí)型變量是用有限的存儲(chǔ)單元存儲(chǔ)的,因此提供的有效由于實(shí)型變量是用有限的存儲(chǔ)單元存儲(chǔ)的,因此提供的

32、有效數(shù)字是有限的,往往會(huì)產(chǎn)生誤差。數(shù)字是有限的,往往會(huì)產(chǎn)生誤差。 在十進(jìn)制小數(shù)轉(zhuǎn)換成二進(jìn)制時(shí),如果小數(shù)最后一位不是5,則轉(zhuǎn)換的二進(jìn)制小數(shù)往往是無限位,此時(shí)產(chǎn)生舍入誤差 一個(gè)很大的數(shù)和一個(gè)很小的數(shù)直接進(jìn)行加或減時(shí),可能會(huì)“丟失”小的數(shù)。例2.3 實(shí)型變量的舍入誤差。#include main() float a,b; a=123456.72e5; b=a+20; printf(a=%fn,a); printf(b=%fn,b);本例程序運(yùn)行的結(jié)果是:a=12345671680.000000b=12345671680.000000Copyright Henan Polytechnic Univer

33、sity 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C28例 4.5E1F、-4.5E-2F實(shí)型常量的類型實(shí)型常量的類型默認(rèn)默認(rèn)doubledouble型型在實(shí)型常量后加字母在實(shí)型常量后加字母f f或或F F,認(rèn)為它是,認(rèn)為它是float float 型型Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C292.12.22.32.42.5C語言的數(shù)據(jù)類型語言的數(shù)據(jù)類型常量與變量常量與變量整型數(shù)據(jù)整型數(shù)據(jù)實(shí)型數(shù)據(jù)實(shí)型數(shù)據(jù)字符型數(shù)據(jù)字符型數(shù)據(jù)本章主

34、要內(nèi)容本章主要內(nèi)容Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C Caaa30定義定義: :用用單引號(hào)(單引號(hào)()括起來的括起來的一個(gè)字符一個(gè)字符。 2.5 2.5 字符型數(shù)據(jù)字符型數(shù)據(jù)字符型常量字符型常量如 a b = + ?存儲(chǔ):字符常量占用一個(gè)字節(jié),具體存放的是存儲(chǔ):字符常量占用一個(gè)字節(jié),具體存放的是該字符對(duì)應(yīng)的該字符對(duì)應(yīng)的ASCIIASCII代碼值代碼值。如 A65A65, a97 a97, 048 , 048 , 149149可以進(jìn)行運(yùn)算可以進(jìn)行運(yùn)算例如:例如:a+5a+5

35、、AA5 5、1+101+1010210260605959Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C31&字符常量的特點(diǎn)字符常量的特點(diǎn) :字符常量只能用字符常量只能用單引號(hào)單引號(hào)括起來,不能用雙引號(hào)或括起來,不能用雙引號(hào)或其他括號(hào)其他括號(hào)abc是非法的是非法的字符常量只能是字符常量只能是單個(gè)字符單個(gè)字符C C語言規(guī)定,字母是區(qū)分大小寫的,所以語言規(guī)定,字母是區(qū)分大小寫的,所以aa和和AA是不同的字符常量是不同的字符常量Copyright Henan Polytechnic U

36、niversity 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C32轉(zhuǎn)義字符轉(zhuǎn)義字符一種特殊形式的字符常量一種特殊形式的字符常量轉(zhuǎn)義字符轉(zhuǎn)義字符某些控制字符(如某些控制字符(如回車符、換行符回車符、換行符等)和一些等)和一些ASCII字符卻字符卻無法使用字符常量進(jìn)行表示無法使用字符常量進(jìn)行表示轉(zhuǎn)義字符以反斜線轉(zhuǎn)義字符以反斜線“”開頭,后跟開頭,后跟一個(gè)或幾個(gè)一個(gè)或幾個(gè)字符。字符。轉(zhuǎn)義字符及其含義:轉(zhuǎn)義字符及其含義:轉(zhuǎn)義字符含義nvradddtbf“xhh轉(zhuǎn)義字符含義換行垂直制表回車響鈴單引號(hào)13位8進(jìn)制數(shù)代表的字符水平制表退格換頁反斜線雙引號(hào)12位16進(jìn)

37、制數(shù)代表的字符如 101 -A 012 -n 376 - x61 -a 60 -0 483 -()例:A-101-x41-65Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C33定義:用雙引號(hào)定義:用雙引號(hào)(“”)(“”)括起來的字符序列括起來的字符序列 字符串常量字符串常量CHINA,C program,12365478 轉(zhuǎn)義字符也可以出現(xiàn)在字符串轉(zhuǎn)義字符也可以出現(xiàn)在字符串ABCD、101102x34x44字符常量與字符串常量的區(qū)別字符常量與字符串常量的區(qū)別字符常量由單引號(hào)括起來

38、,字符串常量由雙字符常量由單引號(hào)括起來,字符串常量由雙引號(hào)括起來引號(hào)括起來字符常量只能是單個(gè)字符,字符串常量可以字符常量只能是單個(gè)字符,字符串常量可以為空字符串,也可以含為空字符串,也可以含1 1個(gè)或多個(gè)字符個(gè)或多個(gè)字符可以把一個(gè)字符常量賦予一個(gè)字符變量,可以把一個(gè)字符常量賦予一個(gè)字符變量,語言中沒有字符串變量,不能把一個(gè)字符串語言中沒有字符串變量,不能把一個(gè)字符串常量賦予一個(gè)字符串變量。但可以用一個(gè)字常量賦予一個(gè)字符串變量。但可以用一個(gè)字符數(shù)組來存放一個(gè)字符串常量符數(shù)組來存放一個(gè)字符串常量字符常量占字符常量占1 1個(gè)字節(jié)的內(nèi)存空間。字符串常個(gè)字節(jié)的內(nèi)存空間。字符串常量占的量占的內(nèi)存字節(jié)數(shù)內(nèi)存

39、字節(jié)數(shù)等于等于字符串中字符數(shù)字符串中字符數(shù)加加1 1,增加的一個(gè)字節(jié)由系統(tǒng)自動(dòng)存入字符增加的一個(gè)字節(jié)由系統(tǒng)自動(dòng)存入字符00(ASCIIASCII碼為碼為0 0),作為字符串結(jié)束的標(biāo)志。),作為字符串結(jié)束的標(biāo)志。Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C34h e l l o 0例例 字符串字符串“hello”“hello”在內(nèi)存中在內(nèi)存中例例 空串空串 “” “”0a a a a 00例例 aa“a”例: char ch; ch=“A”; 例: char ch; ch=A;

40、Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C35例例 轉(zhuǎn)義字符舉例轉(zhuǎn)義字符舉例 main() printf(101 x42 Cn); printf(I say:How are you?n); printf(C Programn); printf(Turbo C);例例 main() printf(“¥b=n”); 運(yùn)行結(jié)果:運(yùn)行結(jié)果:( (屏幕顯示屏幕顯示) )A B CIsay:”How are you?”C ProgramTurbo C運(yùn)行結(jié)果:運(yùn)行結(jié)果:屏幕顯示:屏幕顯示

41、:=Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C36&字符變量字符變量用于存放單個(gè)字符常量,使用用于存放單個(gè)字符常量,使用charchar來定義。來定義。字符變量在內(nèi)存中占字符變量在內(nèi)存中占一個(gè)一個(gè)字節(jié)字節(jié)例例2.4 字符變量的值。字符變量的值。#include main() char a=0 x1261,b; b=a-32; printf(%c,%cn%d,%dn ,a,b,a,b);沒有沒有字符串變量字符串變量,用字符數(shù)組存放,用字符數(shù)組存放字符型變量字符型變量char c

42、1=x,c2=y,c3;char optr;字符型數(shù)據(jù)和整型數(shù)據(jù)之間可以通用。字符型數(shù)據(jù)和整型數(shù)據(jù)之間可以通用。程序運(yùn)行的結(jié)果為: a,A 97,65當(dāng)整型變量按字符變量處理時(shí),只有低當(dāng)整型變量按字符變量處理時(shí),只有低八位參與處理。八位參與處理。Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C372.62.72.82.92.10算術(shù)運(yùn)算符與算術(shù)表達(dá)式算術(shù)運(yùn)算符與算術(shù)表達(dá)式賦值運(yùn)算符與賦值表達(dá)式賦值運(yùn)算符與賦值表達(dá)式逗號(hào)運(yùn)算符與逗號(hào)表達(dá)式逗號(hào)運(yùn)算符與逗號(hào)表達(dá)式位運(yùn)算符位運(yùn)算符數(shù)據(jù)類型

43、轉(zhuǎn)換與計(jì)算類型長(zhǎng)度運(yùn)算符數(shù)據(jù)類型轉(zhuǎn)換與計(jì)算類型長(zhǎng)度運(yùn)算符本章主要內(nèi)容本章主要內(nèi)容Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C38學(xué)習(xí)運(yùn)算符應(yīng)注意:學(xué)習(xí)運(yùn)算符應(yīng)注意:運(yùn)算符功能運(yùn)算符功能與運(yùn)算量關(guān)系與運(yùn)算量關(guān)系要求運(yùn)算量個(gè)數(shù)要求運(yùn)算量個(gè)數(shù)要求運(yùn)算量類型要求運(yùn)算量類型運(yùn)算符優(yōu)先級(jí)別運(yùn)算符優(yōu)先級(jí)別結(jié)合方向結(jié)合方向結(jié)果的類型結(jié)果的類型 2.6 2.6 算術(shù)運(yùn)算符和算術(shù)表達(dá)式算術(shù)運(yùn)算符和算術(shù)表達(dá)式Copyright Henan Polytechnic University 語語言言第第

44、2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C39基本算術(shù)運(yùn)算符基本算術(shù)運(yùn)算符基本算術(shù)運(yùn)算符:基本算術(shù)運(yùn)算符: + - * / %說明:說明:雙目運(yùn)算符兩邊的運(yùn)算對(duì)象的類型不一致,使運(yùn)算雙目運(yùn)算符兩邊的運(yùn)算對(duì)象的類型不一致,使運(yùn)算符兩邊的類型達(dá)到一致后,再進(jìn)行運(yùn)算。符兩邊的類型達(dá)到一致后,再進(jìn)行運(yùn)算。除運(yùn)算的結(jié)果與運(yùn)算對(duì)象的數(shù)據(jù)類型有關(guān),兩整數(shù)除運(yùn)算的結(jié)果與運(yùn)算對(duì)象的數(shù)據(jù)類型有關(guān),兩整數(shù)相除,結(jié)果為整數(shù)相除,結(jié)果為整數(shù)% %要求兩側(cè)均為整型數(shù)據(jù)要求兩側(cè)均為整型數(shù)據(jù)C C語言中,所有實(shí)型數(shù)的運(yùn)算均以雙精度方式進(jìn)行。語言中,所有實(shí)型數(shù)的運(yùn)算均以雙精度方式進(jìn)行。若是單精度,則

45、在尾數(shù)部分補(bǔ)若是單精度,則在尾數(shù)部分補(bǔ)0 0,使之轉(zhuǎn)化為雙精度,使之轉(zhuǎn)化為雙精度數(shù)。數(shù)。正負(fù)號(hào)運(yùn)算符為正負(fù)號(hào)運(yùn)算符為+ +(正號(hào))和(正號(hào))和(負(fù)號(hào))。它們?yōu)閱危ㄘ?fù)號(hào))。它們?yōu)閱文窟\(yùn)算符,必須出現(xiàn)在運(yùn)算對(duì)象的左邊,運(yùn)算對(duì)象目運(yùn)算符,必須出現(xiàn)在運(yùn)算對(duì)象的左邊,運(yùn)算對(duì)象可以是整型,也可以是實(shí)型可以是整型,也可以是實(shí)型例 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 ()運(yùn)算結(jié)果是兩數(shù)相除后所得的余數(shù),結(jié)果的符號(hào)與編譯系統(tǒng)

46、有關(guān)。在Turbo C和VC中,所得結(jié)果的符號(hào)與被除數(shù)相同。 Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C40算術(shù)表達(dá)式及算術(shù)運(yùn)算符的優(yōu)先級(jí)和結(jié)合性算術(shù)表達(dá)式及算術(shù)運(yùn)算符的優(yōu)先級(jí)和結(jié)合性算術(shù)表達(dá)式:算術(shù)表達(dá)式:用算術(shù)運(yùn)算符將運(yùn)算對(duì)象連接起來的表用算術(shù)運(yùn)算符將運(yùn)算對(duì)象連接起來的表達(dá)式稱為算術(shù)表達(dá)式。達(dá)式稱為算術(shù)表達(dá)式。算術(shù)表達(dá)式運(yùn)算規(guī)則和要求:算術(shù)表達(dá)式運(yùn)算規(guī)則和要求:可使用可使用多層圓括號(hào)多層圓括號(hào),但左右,但左右括號(hào)必須配對(duì)括號(hào)必須配對(duì),運(yùn)算,運(yùn)算時(shí)時(shí)從內(nèi)層圓括號(hào)從內(nèi)層圓括號(hào)

47、開始,由內(nèi)向外依次計(jì)算表達(dá)式開始,由內(nèi)向外依次計(jì)算表達(dá)式的值。的值。按運(yùn)算符的優(yōu)先級(jí)別由高到低進(jìn)行,若表達(dá)式中運(yùn)按運(yùn)算符的優(yōu)先級(jí)別由高到低進(jìn)行,若表達(dá)式中運(yùn)算符的級(jí)別相同,則按運(yùn)算符的結(jié)合方向進(jìn)行。算符的級(jí)別相同,則按運(yùn)算符的結(jié)合方向進(jìn)行。算術(shù)運(yùn)算符的結(jié)合性算術(shù)運(yùn)算符的結(jié)合性兩個(gè)兩個(gè)優(yōu)先級(jí)相同優(yōu)先級(jí)相同的運(yùn)算符,則按結(jié)合方向的運(yùn)算符,則按結(jié)合方向順序處順序處理理 。自左至右(稱為左結(jié)合性)和自右至左(稱為右結(jié)自左至右(稱為左結(jié)合性)和自右至左(稱為右結(jié)合性)合性)同級(jí)單目算術(shù)運(yùn)算符的結(jié)合性是自右向左,同級(jí)雙同級(jí)單目算術(shù)運(yùn)算符的結(jié)合性是自右向左,同級(jí)雙目算術(shù)運(yùn)算符的結(jié)合性是自左向右。目算術(shù)運(yùn)算符

48、的結(jié)合性是自左向右。Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C41基本算術(shù)運(yùn)算符基本算術(shù)運(yùn)算符對(duì)對(duì) 象象 數(shù)數(shù)優(yōu)優(yōu) 先先 級(jí)級(jí)名名 稱稱運(yùn)運(yùn) 算算 符符運(yùn)運(yùn) 算算 規(guī)規(guī) 則則運(yùn)運(yùn) 算算 對(duì)對(duì) 象象結(jié)結(jié) 合合 性性單單目目1正正+取原值取原值整型或?qū)嵭驼突驅(qū)嵭妥杂易杂蚁蜃笙蜃筘?fù)負(fù)-取負(fù)值取負(fù)值雙雙目目2乘乘*乘法乘法整型或?qū)嵭驼突驅(qū)嵭妥宰笞宰笙蛴蚁蛴页?除法除法模模%整除取余整除取余整型整型3加加+加法加法整型或?qū)嵭驼突驅(qū)嵭蜏p減-減法減法Copyright Henan

49、Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C42算術(shù)運(yùn)算符的優(yōu)先級(jí)算術(shù)運(yùn)算符的優(yōu)先級(jí)當(dāng)表達(dá)式中出現(xiàn)多個(gè)運(yùn)算符時(shí),就會(huì)碰到哪個(gè)當(dāng)表達(dá)式中出現(xiàn)多個(gè)運(yùn)算符時(shí),就會(huì)碰到哪個(gè)先算,哪個(gè)后算的問題,這個(gè)問題稱為運(yùn)算符先算,哪個(gè)后算的問題,這個(gè)問題稱為運(yùn)算符的優(yōu)先級(jí)的優(yōu)先級(jí)若一個(gè)運(yùn)算對(duì)象兩側(cè)有不同的運(yùn)算符,應(yīng)先執(zhí)若一個(gè)運(yùn)算對(duì)象兩側(cè)有不同的運(yùn)算符,應(yīng)先執(zhí)行行“優(yōu)先級(jí)別優(yōu)先級(jí)別”高的運(yùn)算,例如先乘除后加減。高的運(yùn)算,例如先乘除后加減。Copyright Henan Polytechnic University 語語言言第第 2

50、 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C43自增、自減運(yùn)算符自增、自減運(yùn)算符+ -+ -作用:使變量值加作用:使變量值加1 1或減或減1 1種類:種類:前置前置 +i, -i ( +i, -i (先執(zhí)行先執(zhí)行i i+1+1或或i-1i-1,再使用,再使用i i值)值)后置后置 i+,i- ( i+,i- (先使用先使用i i值值, ,再執(zhí)行再執(zhí)行i i+1+1或或i-1i-1)例例2.5 自增、自減運(yùn)算符的使用。自增、自減運(yùn)算符的使用。#include main() int i=5,x; x=i+; printf(i=%d,x=%dn,i,x); printf(%d

51、t,+i); printf(%dt,-i); printf(%dt,i-); printf(%dt,-i+); printf(%dn,-i-);程序運(yùn)行結(jié)果如下:i=6,x=57 6 6 -5 -6使用自增、自減運(yùn)算符時(shí)應(yīng)注意:使用自增、自減運(yùn)算符時(shí)應(yīng)注意:運(yùn)算對(duì)象運(yùn)算對(duì)象不能是常量和表達(dá)式不能是常量和表達(dá)式當(dāng)出現(xiàn)難以區(qū)分的若干個(gè)當(dāng)出現(xiàn)難以區(qū)分的若干個(gè)+ +或或- -組成運(yùn)算符串時(shí),組成運(yùn)算符串時(shí),自自左向右左向右取盡可能多的符號(hào)組成運(yùn)算符。取盡可能多的符號(hào)組成運(yùn)算符。不要在一個(gè)表達(dá)式中對(duì)同一個(gè)變量進(jìn)行多次諸如不要在一個(gè)表達(dá)式中對(duì)同一個(gè)變量進(jìn)行多次諸如i+i+或或+i+i等運(yùn)算等運(yùn)算例如寫成:

52、例如寫成:i+i+* *+i+i+i+i* *i i如i+j應(yīng)理解為(i+)+j,而不是i+(+j)。Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C442.62.72.82.92.10算術(shù)運(yùn)算符與算術(shù)表達(dá)式算術(shù)運(yùn)算符與算術(shù)表達(dá)式賦值運(yùn)算符與賦值表達(dá)式賦值運(yùn)算符與賦值表達(dá)式逗號(hào)運(yùn)算符與逗號(hào)表達(dá)式逗號(hào)運(yùn)算符與逗號(hào)表達(dá)式位運(yùn)算符位運(yùn)算符數(shù)據(jù)類型轉(zhuǎn)換與計(jì)算類型長(zhǎng)度運(yùn)算符數(shù)據(jù)類型轉(zhuǎn)換與計(jì)算類型長(zhǎng)度運(yùn)算符本章主要內(nèi)容本章主要內(nèi)容Copyright Henan Polytechnic Univ

53、ersity 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C45簡(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è)變量復(fù)合賦值運(yùn)算符復(fù)合賦值運(yùn)算符種類種類:+= -= += -= * *= /= %= /= %= = = = &= = |= &= = |=含義:含義: exp1 op= exp2exp1 op= exp2 exp1 = exp1 op exp2exp1 = exp1 op exp2a+=3a=a+3x*=y+

54、8x=x*(y+8)x%=3x=x%3例例 a=3;a=3; d=func(); d=func(); c=d+2; c=d+2; 2.7 2.7 賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符和賦值表達(dá)式Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C46說明說明: :結(jié)合方向:結(jié)合方向:自右向左自右向左優(yōu)先級(jí)優(yōu)先級(jí): :只高于逗號(hào)運(yùn)算符,比任何其他運(yùn)算符的優(yōu)先級(jí)都低只高于逗號(hào)運(yùn)算符,比任何其他運(yùn)算符的優(yōu)先級(jí)都低左側(cè)必須是變量,不能是常量或表達(dá)式左側(cè)必須是變量,不能是常量或表達(dá)式賦值表達(dá)式的值與

55、變量值相等賦值表達(dá)式的值與變量值相等, ,且可嵌套且可嵌套賦值轉(zhuǎn)換賦值轉(zhuǎn)換規(guī)則規(guī)則: :使賦值號(hào)右邊表達(dá)式值使賦值號(hào)右邊表達(dá)式值自動(dòng)自動(dòng)轉(zhuǎn)換成其左邊變量的轉(zhuǎn)換成其左邊變量的類型類型例例 3=x-23=x-2* *y;y; a+b=3; a+b=3;例例 float f; int i; i=10; f=i;則則 f=10.0例例 int i; i=2.56; /結(jié)果結(jié)果i=2;例例: a=b=c=5: a=b=c=5 a=(b=5) a=(b=5) a=5+(c=6) a=5+(c=6) a=(b=4)+(c=6) a=(b=4)+(c=6) a=(b=10)/(c=2) a=(b=10)/(c

56、=2)/表達(dá)式值為表達(dá)式值為5 5,a,b,ca,b,c值為值為5 5/ b=5;a=5/ b=5;a=5/表達(dá)式值表達(dá)式值1111,c=6,a=11c=6,a=11/表達(dá)式值表達(dá)式值1010,a=10,b=4,c=6a=10,b=4,c=6/表達(dá)式值表達(dá)式值5 5,a=5,b=10,c=2a=5,b=10,c=2Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C47說明說明: :結(jié)合方向:結(jié)合方向:自右向左自右向左優(yōu)先級(jí)優(yōu)先級(jí): : 1212左側(cè)必須是變量,不能是常量或表達(dá)式左側(cè)必

57、須是變量,不能是常量或表達(dá)式賦值表達(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=12; a+=a-=a a+=a-=a* *a a例例:int a=2; :int a=2; a%=4-1; a%=4-1; a+=a a+=a* *=a-=a=a-=a* *=3; =3; /a=-264 /a=-264 等價(jià)于等價(jià)于a=a+(a=a-(aa=a+(a=a-(a* *a)a)/a=0 /a=0 等價(jià)于等價(jià)于a=a+(a=aa=a

58、+(a=a* *(a=a-(a=a(a=a-(a=a* *3)3)Copyright Henan Polytechnic University 語語言言第第 2 2 章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C482.62.72.82.92.10算術(shù)運(yùn)算符與算術(shù)表達(dá)式算術(shù)運(yùn)算符與算術(shù)表達(dá)式賦值運(yùn)算符與賦值表達(dá)式賦值運(yùn)算符與賦值表達(dá)式逗號(hào)運(yùn)算符與逗號(hào)表達(dá)式逗號(hào)運(yùn)算符與逗號(hào)表達(dá)式位運(yùn)算符位運(yùn)算符數(shù)據(jù)類型轉(zhuǎn)換與計(jì)算類型長(zhǎng)度運(yùn)算符數(shù)據(jù)類型轉(zhuǎn)換與計(jì)算類型長(zhǎng)度運(yùn)算符本章主要內(nèi)容本章主要內(nèi)容Copyright Henan Polytechnic University 語語言言第第 2 2

59、章章基基本本數(shù)數(shù)據(jù)據(jù)類類型型運(yùn)運(yùn)算算符符及及表表達(dá)達(dá)式式C C49形式:形式:表達(dá)式表達(dá)式1 1, ,表達(dá)式表達(dá)式2 2, ,表達(dá)式表達(dá)式n n結(jié)合性結(jié)合性: :從左向右從左向右優(yōu)先級(jí)優(yōu)先級(jí): :在所有運(yùn)算符中是最低的在所有運(yùn)算符中是最低的逗號(hào)表達(dá)式的值:等于表達(dá)式逗號(hào)表達(dá)式的值:等于表達(dá)式n n的值的值用途:常用于循環(huán)用途:常用于循環(huán)forfor語句中語句中例例 a=3*5,a*4 a=3*5,a*4,a+5例例 x=(a=3,6*3) x=a=3,6*a例例 a=1;b=2;c=3; printf(“%d,%d,%d”,a,b,c); printf(“%d,%d,%d”,(a,b,c),b

60、,c); /a=15,表達(dá)式值表達(dá)式值60/a=15,表達(dá)式值表達(dá)式值20/賦值表達(dá)式,表達(dá)式值賦值表達(dá)式,表達(dá)式值18,x=18/逗號(hào)表達(dá)式逗號(hào)表達(dá)式,表達(dá)式值表達(dá)式值18,x=3/1,2,3/3,2,3 2.8 2.8 逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式例例2.6 逗號(hào)運(yùn)算符。逗號(hào)運(yùn)算符。#include main() int x,a; x=(a=3,6*3); printf(a=%d,x=%dn,a,x); x=a=3,6*a; printf(a=%d,x=%dn,a,x);程序運(yùn)行的結(jié)果應(yīng)為:程序運(yùn)行的結(jié)果應(yīng)為:a=3,x=18a=3,x=3Copyright Henan P

溫馨提示

  • 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)論