基本數(shù)據(jù)類型與運(yùn)算課件_第1頁
基本數(shù)據(jù)類型與運(yùn)算課件_第2頁
基本數(shù)據(jù)類型與運(yùn)算課件_第3頁
基本數(shù)據(jù)類型與運(yùn)算課件_第4頁
基本數(shù)據(jù)類型與運(yùn)算課件_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、C C語言程序設(shè)計語言程序設(shè)計第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算2第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算C C的基本數(shù)據(jù)類型的基本數(shù)據(jù)類型常量常量變量變量運(yùn)算符及表達(dá)式運(yùn)算符及表達(dá)式為什么討論為什么討論這些知識這些知識?通常通常程序程序要對數(shù)據(jù)進(jìn)行操作處理:要對數(shù)據(jù)進(jìn)行操作處理: 處理的對象是處理的對象是數(shù)據(jù)數(shù)據(jù) 通過通過運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式進(jìn)行操作進(jìn)行操作C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算3#include main( ) in

2、t r; float area ; r = 5 ; area = 3.14*r*r; printf (%fn , area) ;程序中用到的數(shù)據(jù):程序中用到的數(shù)據(jù):r、area、5、3.14對數(shù)據(jù)進(jìn)行的運(yùn)算:對數(shù)據(jù)進(jìn)行的運(yùn)算:* 、=C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算4計算機(jī)操作處理時,要完成以下工作:計算機(jī)操作處理時,要完成以下工作:n在內(nèi)存中給半徑在內(nèi)存中給半徑 r r 和運(yùn)算結(jié)果和運(yùn)算結(jié)果 areaarea 開辟開辟存儲空間,存放它們的值。存儲空間,存放它們的值。應(yīng)該留多大的應(yīng)該留多大的地方來存放它們的值?地方來存放它們的值?n數(shù)據(jù)數(shù)據(jù)5

3、5、3.14 3.14 與與 r r、areaarea 不同,它們是在不同,它們是在編寫程序時就給出確定的值,在運(yùn)算過程編寫程序時就給出確定的值,在運(yùn)算過程中不會改變。中不會改變。這樣的數(shù)計算機(jī)怎么處理?這樣的數(shù)計算機(jī)怎么處理?n對對整數(shù)整數(shù) 5 5 和和小數(shù)小數(shù)3.143.14 ,計算機(jī),計算機(jī)存放時是存放時是否有區(qū)別?否有區(qū)別?C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算5數(shù)據(jù):計算機(jī)程序加工處理的對象數(shù)據(jù):計算機(jī)程序加工處理的對象數(shù)據(jù)類型:具有數(shù)據(jù)類型:具有相同性質(zhì)相同性質(zhì)的數(shù)據(jù)對象的集合的數(shù)據(jù)對象的集合2.1 C2.1 C的基本數(shù)據(jù)類型的基本數(shù)據(jù)類

4、型C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算6短整型短整型 shortshort數(shù)據(jù)類型數(shù)據(jù)類型基本類型基本類型構(gòu)造類型構(gòu)造類型指針類型指針類型空類型空類型 voidvoid整整 型型字符型字符型 charchar實(shí)實(shí) 型型單精度型單精度型 floatfloat雙精度型雙精度型 doubledouble數(shù)數(shù) 組類型組類型共用體類型共用體類型 unionunion結(jié)構(gòu)體類型結(jié)構(gòu)體類型 structstruct長整型長整型 longlong整整 型型 intint枚枚 舉類型舉類型 enumenum數(shù)據(jù)類型決定:數(shù)據(jù)類型決定:1. 1. 數(shù)據(jù)占內(nèi)存字節(jié)數(shù)數(shù)據(jù)

5、占內(nèi)存字節(jié)數(shù)2. 2. 數(shù)據(jù)取值范圍數(shù)據(jù)取值范圍3. 3. 其上可進(jìn)行的操作其上可進(jìn)行的操作C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算7數(shù)據(jù)類型數(shù)據(jù)類型關(guān)鍵字關(guān)鍵字字節(jié)字節(jié)數(shù)值范圍數(shù)值范圍I/O有有符符號號短整型短整型 signed short2-215(215-1) hd整整 型型signed int2-215(215-1) d長整型長整型 signed long4-231(231-1) ld無無符符號號短整型短整型unsigned short20(216-1)hu整整 型型unsigned int20(216-1)u長整型長整型 unsigned l

6、ong40(232-1)lu注意注意: :數(shù)據(jù)類型所占字節(jié)數(shù)隨機(jī)器硬件和編譯器數(shù)據(jù)類型所占字節(jié)數(shù)隨機(jī)器硬件和編譯器的不同而不同的不同而不同, ,上表以上表以1616位機(jī)為例。位機(jī)為例。C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算8#include main()int a, b, sum;printf(Please input two integers:);scanf(%d%d, &a, &b );sum=a+b; printf(The sum of %d and %d is %dn,a,b,sum);輸入:輸入:5 10輸出:輸出:The

7、sum of 5 and 10 is 15.C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算9#include main( ) unsigned int m;m= 65535;printf(m=%dn,m);printf(m=%un,m);輸出結(jié)果為:輸出結(jié)果為:m= -1m= 65535按按有符號有符號數(shù)輸出數(shù)輸出按按無符號無符號數(shù)輸出數(shù)輸出C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算10#include main()int a ; printf(please input :);scanf(%d,&a); pri

8、ntf(a=%dn,a); 運(yùn)行結(jié)果運(yùn)行結(jié)果:please input :1234a=1234Why?! 運(yùn)行結(jié)果運(yùn)行結(jié)果:please input :123456a=-7616C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算11 運(yùn)行結(jié)果運(yùn)行結(jié)果:please input :1234a=1234 運(yùn)行結(jié)果運(yùn)行結(jié)果:please input :123456a=-76161234的補(bǔ)碼是的補(bǔ)碼是 0000 0100 1101 0010123456的補(bǔ)碼是的補(bǔ)碼是1 1110 0010 0100 0000補(bǔ)碼:補(bǔ)碼: 1110 0010 0100 0000補(bǔ)碼求反

9、:補(bǔ)碼求反:1001 1101 1011 1111原碼:原碼: 1001 1101 1100 0000 (-7616)C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算12數(shù)據(jù)數(shù)據(jù)類型類型關(guān)鍵字關(guān)鍵字字字節(jié)節(jié)有效數(shù)字有效數(shù)字位數(shù)位數(shù)(10進(jìn)制進(jìn)制)范圍范圍I/O單精度單精度 float47-3.41038 3.41038%fe雙精度雙精度 double816-1.7103081.710308lfe注意注意: :數(shù)據(jù)類型所占字節(jié)數(shù)隨機(jī)器硬件和編譯數(shù)據(jù)類型所占字節(jié)數(shù)隨機(jī)器硬件和編譯器的不同而不同器的不同而不同, ,上表以上表以1616位機(jī)為例。位機(jī)為例。C C語言程

10、序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算13#include main()float a, b, sum;printf(“Please input two decimals:”);scanf(“%f%f”, &a, &b );sum=a+b;printf(“The sum of %f and %f is %f.n”, a, b, sum);輸入:輸入:1.5 10.6輸出:輸出:The sum of 1.5 and 10.6 is 12.1.C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算14數(shù)據(jù)數(shù)據(jù)類型類型關(guān)鍵字

11、關(guān)鍵字字節(jié)字節(jié)范圍范圍I/O格式格式有符號有符號字符字符signed char1128127%c無符號無符號字符字符unsigned char10255%c注意注意: :不同的編譯器處理有所不同,此處以不同的編譯器處理有所不同,此處以Turbo CTurbo C為例為例。C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算15#include main() char a, b; printf(Please input a char:); scanf(%c, &a ); printf(The ASCII value of char %c is %d.n,a,

12、a); b=A; printf(The ASCII value of char %c is %d.n,b,b);輸入:輸入:a輸出:輸出:The ASCII value of char a is 97. The ASCII value of char A is 65.C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算16計算機(jī)中的存儲:計算機(jī)中的存儲:-9: 1111 1111 1111 0111-10: 1111 1111 1111 0110247 246#include stdio.hmain() char a,b; a = -9; b= -10; /* s

13、igned char type */ printf(%c %c, a,b);輸出:輸出: C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算17#include main() char c1,c2; c1=97; c2=98; printf(%c,%cn,c1,c2);運(yùn)行結(jié)果:運(yùn)行結(jié)果:a, b#include main() char c1,c2; c1=97; c2=98; printf(%d,%dn,c1,c2);運(yùn)行結(jié)果:運(yùn)行結(jié)果:97, 98思考思考p如果將例中如果將例中char改成改成int,結(jié)果如何,結(jié)果如何?p如果將如果將c1=97 改為改為c1

14、=97+3,結(jié)果如何?,結(jié)果如何?p如果將如果將c2=98 改為改為c1=98-32,結(jié)果如何?,結(jié)果如何?C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算18#include main() char c1,c2; c1=97; c2=98; printf(%d,%dn,c1,c2); printf(%c,%cn,c1,c2);運(yùn)行結(jié)果:運(yùn)行結(jié)果:97, 98a, b思考思考p如果將例中如果將例中char改成改成int,結(jié)果如何,結(jié)果如何?p如果將如果將c1=97 改為改為c1=97+3,結(jié)果如何?,結(jié)果如何?p如果將如果將c2=98 改為改為c2=98-32

15、,結(jié)果如何?,結(jié)果如何?intc1=97+3;c2=98-32;運(yùn)行結(jié)果:運(yùn)行結(jié)果:100, 98d, b運(yùn)行結(jié)果:運(yùn)行結(jié)果:100, 66d, B原始運(yùn)行結(jié)果原始運(yùn)行結(jié)果:97, 98a, bC C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算19數(shù)據(jù)類型數(shù)據(jù)類型 變量名變量名; 概念:概念:在程序運(yùn)行過程中其值可以改變的量。在程序運(yùn)行過程中其值可以改變的量。 變量名:變量名:必須使用合法的必須使用合法的標(biāo)識符標(biāo)識符作變量名作變量名 不能使用關(guān)鍵字為變量命名不能使用關(guān)鍵字為變量命名 三個要素:三個要素:變量類型、變量名和變量值。變量類型、變量名和變量值。 內(nèi)涵:

16、內(nèi)涵:變量名實(shí)際代表存儲空間地址的一個符變量名實(shí)際代表存儲空間地址的一個符號。號。編寫程序時通過變量名來存、取編寫程序時通過變量名來存、取變量值。變量值。 定義格式:定義格式:決定分配字節(jié)數(shù)決定分配字節(jié)數(shù)和數(shù)的表示范圍和數(shù)的表示范圍合法標(biāo)識符合法標(biāo)識符C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算20 標(biāo)識符標(biāo)識符(identifier)是用來標(biāo)識是用來標(biāo)識變量、常量、變量、常量、函數(shù)函數(shù)等的字符序列。等的字符序列。n命名規(guī)則:命名規(guī)則:只能由只能由字母字母、數(shù)字?jǐn)?shù)字、下劃線下劃線組成,且組成,且開頭開頭必須是字母或下劃線必須是字母或下劃線。大小寫敏感大小寫

17、敏感。不能使用關(guān)鍵字不能使用關(guān)鍵字。n命名原則:見名知意。命名原則:見名知意。C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算21例如:例如:int a , b=5; char c; float s;a1變量值變量值為變量分配為變量分配的存儲單元的存儲單元變量名變量名例如:例如: int a=1, b=-3, c;int a=1, b=-3, c; 2字節(jié)字節(jié) 2字節(jié)字節(jié) 2字節(jié)字節(jié).內(nèi)存示意圖內(nèi)存示意圖地址地址地址地址地址地址1-3?abc編譯程序根據(jù)變量定義為其編譯程序根據(jù)變量定義為其分配指定字節(jié)的內(nèi)存單元分配指定字節(jié)的內(nèi)存單元隨機(jī)值隨機(jī)值C C語言程序設(shè)

18、計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算22n定義位置:定義位置:置于函數(shù)的開頭,而且必須位于所置于函數(shù)的開頭,而且必須位于所有的執(zhí)行語句之前。有的執(zhí)行語句之前。n使用方法:使用方法:必須先定義,再使用。必須先定義,再使用。n變量初始化變量初始化: 允許在定義變量的時對變量賦初允許在定義變量的時對變量賦初值。表示定義變量并對變量存儲單元賦值。值。表示定義變量并對變量存儲單元賦值。main() int a,b=2; float data; a=1; data=(a+b)*1.2; printf(“data=%fn”,data);變量定義變量定義可執(zhí)行語句可執(zhí)行語句C C

19、語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算23main() int a,b=2; a=1; float data; data=(a+b)*1.2; printf(“data=%fn”,data);error : syntax error : missing ; before typeerror : data : undeclared identifierC C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算241、常量、常量在程序運(yùn)行過程中,其值不能改變的量稱為常在程序運(yùn)行過程中,其值不能改變的量稱為常量。常量可分為量。常量可分為:

20、n符號常量:符號常量:用用標(biāo)識符標(biāo)識符(identifier)代表常量。代表常量。定定義格式為:義格式為:標(biāo)識符一般用標(biāo)識符一般用大寫字母大寫字母是宏定義預(yù)處理命令,不是是宏定義預(yù)處理命令,不是C語句語句n直接常量:直接常量:即具體的常數(shù),如即具體的常數(shù),如5,-4.6,a等。等。p整型常量整型常量 p實(shí)型常量實(shí)型常量 p字符常量字符常量 p字符串常量字符串常量#define PI 3.1416C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算25符號常量:符號常量:用用標(biāo)識符(標(biāo)識符(identifier)代表常量。代表常量。標(biāo)識符一般用大寫字母標(biāo)識符一般用大

21、寫字母是宏定義預(yù)處理命令,不是是宏定義預(yù)處理命令,不是C語句語句#include #define PI 3.14main() int r=2;float s, l;l=2*PI*r;s=PI*r*r; printf(l=%f,s=%f n,l,s);運(yùn)行結(jié)果:運(yùn)行結(jié)果:l=12.560000,s=12.560000定義符號常量定義符號常量使用符號常量使用符號常量編譯前系統(tǒng)進(jìn)行替換編譯前系統(tǒng)進(jìn)行替換C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算26#include #define PI 3.14main() int r=2;float s, l;l=2*PI*

22、r;s=PI*r*r; printf(l=%f,s=%f n,l,s); 一般用大寫字母一般用大寫字母 是宏定義預(yù)處理命令,不是是宏定義預(yù)處理命令,不是C語句語句(沒有(沒有“;”) 編譯時先由系統(tǒng)替換為它所代表的常量,再進(jìn)編譯時先由系統(tǒng)替換為它所代表的常量,再進(jìn)行編譯行編譯 雖然是用標(biāo)識符來表示標(biāo)識,但本質(zhì)是常量,雖然是用標(biāo)識符來表示標(biāo)識,但本質(zhì)是常量,具有常量值不能改變的具有常量值不能改變的 性質(zhì)性質(zhì)C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算27常量形式常量形式構(gòu)成構(gòu)成示例示例10進(jìn)制進(jìn)制(09)-1118進(jìn)制進(jìn)制0(07)012716進(jìn)制進(jìn)制0 x

23、(0f)0X(0F)0 x1af0X1AFC C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算28#include main( ) int a,b,c;a=123; b=0123; /注意注意,是數(shù)字是數(shù)字0,不是字母不是字母Oc=0 x123;printf(a=%d,b=%d,c=%dn,a,b,c);運(yùn)行結(jié)果:運(yùn)行結(jié)果:a=123, b=83, c=291C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算29例例 30000 為為int型型 65536 為為long int 型型整型常量的類型整型常量的類型 根據(jù)其值所在范圍確定

24、其數(shù)據(jù)類型根據(jù)其值所在范圍確定其數(shù)據(jù)類型1. 在在整常量后加字母整常量后加字母l或或L,認(rèn)為它是認(rèn)為它是long int 型常量型常量長整型示例長整型示例: 129L/ 129ul/ 0X1FFLU。C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算30常量形式常量形式構(gòu)成構(gòu)成示例示例10進(jìn)制進(jìn)制必須有小數(shù)點(diǎn)必須有小數(shù)點(diǎn)-10.101指數(shù)形式指數(shù)形式指數(shù)部分指數(shù)部分必須為整數(shù)必須為整數(shù) -0.1e-5-0.1E-5e或或E之前之前,之后之后 必須有數(shù)字必須有數(shù)字實(shí)型常量的類型實(shí)型常量的類型默認(rèn)默認(rèn)double型型在在實(shí)型常量后加字母實(shí)型常量后加字母f或或F,認(rèn)為

25、它是認(rèn)為它是float型型例如:例如:3.5f、1e2F例如:例如: e-5, 1.2E-3.5,1eC C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算31常量形式常量形式構(gòu)成格式構(gòu)成格式示例示例字符字符單個字符單個字符字符字符ASCII值值048a97A65字符串字符串“字符序列字符序列”“CHINA”“Hello, world.”C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算32轉(zhuǎn)義字符轉(zhuǎn)義字符含義含義轉(zhuǎn)義字符轉(zhuǎn)義字符含義含義n回車換行回車換行t水平制表水平制表v垂直制表垂直制表b退格退格r回車回車f換頁換頁a響鈴響鈴反斜

26、線反斜線單引號單引號“雙引號雙引號ddd3位位8進(jìn)制數(shù)進(jìn)制數(shù)代表的字符代表的字符xhh2位位16進(jìn)制數(shù)進(jìn)制數(shù)代表的字符代表的字符(x小寫)小寫)000 377x00 xFFC C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算33main() int a,b,c; a=1; b=2; c=3; printf(t%dn%d%dn%d%dtb%dn,a,b,c,a,b,c);輸出:輸出:1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 12 31 2 3C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算34#include ma

27、in() printf(123t56an); printf(The directory of TC.exe is E:Turbocn ); printf(Look 16 and x15n); 運(yùn)行結(jié)果:運(yùn)行結(jié)果:123 56The directory of TC.exe is E:TurbocLook and C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算35C C運(yùn)運(yùn)算算符符算術(shù)運(yùn)算符:算術(shù)運(yùn)算符:+, -, *, /, %, +, -關(guān)系運(yùn)算符:關(guān)系運(yùn)算符:, , =, !=邏輯運(yùn)算符邏輯運(yùn)算符:!:!, &, |位運(yùn)算符位運(yùn)算符 :, , |,

28、 , &賦值運(yùn)算符:賦值運(yùn)算符:= 及其擴(kuò)展及其擴(kuò)展條件運(yùn)算符:條件運(yùn)算符:? :逗號運(yùn)算符:逗號運(yùn)算符:,指針運(yùn)算符:指針運(yùn)算符:*, &求字節(jié)數(shù)求字節(jié)數(shù) :sizeof( )強(qiáng)制類型轉(zhuǎn)換:(類型)強(qiáng)制類型轉(zhuǎn)換:(類型)分量運(yùn)算符:分量運(yùn)算符: . , -下標(biāo)運(yùn)算符:下標(biāo)運(yùn)算符: C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算36p運(yùn)算符功能運(yùn)算符功能p與運(yùn)算量關(guān)系與運(yùn)算量關(guān)系 要求運(yùn)算量個數(shù)要求運(yùn)算量個數(shù): :單目、雙目、三目單目、雙目、三目 要求運(yùn)算量類型要求運(yùn)算量類型p運(yùn)算符優(yōu)先級別運(yùn)算符優(yōu)先級別:同一個表達(dá)式中不同運(yùn)算符:同一個表達(dá)

29、式中不同運(yùn)算符進(jìn)行運(yùn)算時的先后次序進(jìn)行運(yùn)算時的先后次序p結(jié)合方向結(jié)合方向:左結(jié)合性與右結(jié)合性:左結(jié)合性與右結(jié)合性。當(dāng)一個運(yùn)算。當(dāng)一個運(yùn)算對象兩側(cè)的運(yùn)算符的對象兩側(cè)的運(yùn)算符的優(yōu)先級別相同優(yōu)先級別相同,則按規(guī)定,則按規(guī)定的結(jié)合方向處理。的結(jié)合方向處理。p結(jié)果的類型結(jié)果的類型C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算37 a=3; b=4;n 表達(dá)式:表達(dá)式:由變量、常量以及運(yùn)算符按照語法規(guī)由變量、常量以及運(yùn)算符按照語法規(guī)則組成的序列。表達(dá)式的特點(diǎn)是則組成的序列。表達(dá)式的特點(diǎn)是能夠求值能夠求值。例如:例如: a+b*c%d n 語句:語句:特點(diǎn)是以特點(diǎn)是以 ;

30、 結(jié)束,可產(chǎn)生執(zhí)行代碼:結(jié)束,可產(chǎn)生執(zhí)行代碼:1、表達(dá)式語句、表達(dá)式語句。 如:如: y=x+3;2、空語句、空語句。 如:如: ; 3、函數(shù)調(diào)用語句、函數(shù)調(diào)用語句。如:。如: printf(“%d”, &a);4、復(fù)合語句、復(fù)合語句。 如:如: 5、控制語句、控制語句。 如:如: if、while等等C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算38#include main()int a; float b;a=1/2; b=1.0/2printf(“na=%d, b=%f n ”, a, b );輸出:輸出:a=0, b=0.500000 注意:

31、注意:兩整數(shù)相除,結(jié)果為整數(shù)兩整數(shù)相除,結(jié)果為整數(shù)C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算392、 求模運(yùn)算符號:求模運(yùn)算符號: %n結(jié)合方向:從左向右結(jié)合方向:從左向右n 說明:說明:%要求兩側(cè)均為要求兩側(cè)均為整型整型數(shù)據(jù)數(shù)據(jù)例:例: 5%2 = -5%2 = 1%10 = 5%1 = 5.5%2 =1-110( )C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算403、 自增加、自減少運(yùn)算符:自增加、自減少運(yùn)算符:+ -n作用:使變量值加作用:使變量值加1或減或減1,常用于循環(huán)語句中常用于循環(huán)語句中n種類:種類:前

32、置前置,形式如,形式如 +i, -i , 先執(zhí)行先執(zhí)行i+1或或 i-1,再使用再使用i值值。后置后置,形式如,形式如 i+,i- , 先使用先使用i值值,再執(zhí)行再執(zhí)行i+1或或i-1。n注意:注意:只能用于變量只能用于變量,不能用于常量和表達(dá)式不能用于常量和表達(dá)式C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算41main() int i=3, j=10, m, n, p, q; m=+i -1; n=i+ -1; p=-j +1; q=j- -1; printf(” i=%d, m=%d, n=%dn”, i, m, n); printf(” j=%d,

33、p=%d, q=%dn”, j, p, q);運(yùn)行結(jié)果為:運(yùn)行結(jié)果為:i=5, m=3, n=3j=8, p=10, q=8C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算42 j=3; k=+j; j=3; k=j+; j=3; printf(“%d”,+j); j=3; printf(“%d”,j+); a=3;b=5;c=(+a)*b; a=3;b=5;c=(a+)*b; /* k=4, j=4 */* k=3, j=4 */* j=4, 輸出輸出 4 */* j=4, 輸出輸出3 */* c=20, a=4 */* c=15, a=4 */C C語言程

34、序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算43說明:說明:n+ 和和 - 的運(yùn)算對象只能是變量(或運(yùn)算結(jié)的運(yùn)算對象只能是變量(或運(yùn)算結(jié)果是變量的表達(dá)式)果是變量的表達(dá)式), 不能是常量(或運(yùn)算不能是常量(或運(yùn)算結(jié)果是數(shù)值的表達(dá)式)。結(jié)果是數(shù)值的表達(dá)式)。 例如:例如: 5+、(a+2)+ 不合法。不合法。 n具有右結(jié)合性,結(jié)合方向為從右到左。具有右結(jié)合性,結(jié)合方向為從右到左。 例如:例如: a+ 等價于等價于 -(a+) 1.在有在有+ 和和 的表達(dá)式中,盡量不要使用的表達(dá)式中,盡量不要使用難于理解和容易出錯的表達(dá)方式,尤其是難于理解和容易出錯的表達(dá)方式,尤其是具有

35、二義性的表達(dá)式。具有二義性的表達(dá)式。int i=3; m=(i+)+(i+)+(i+); ()int i=3; a=i+; b=i+c=i+;c=a+b+c;()C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算441、 基本的賦值運(yùn)算符:基本的賦值運(yùn)算符: =p格式:格式:變量變量=表達(dá)式表達(dá)式p結(jié)合方向:結(jié)合方向:從右向左,從右向左, 優(yōu)先級優(yōu)先級14級級(次最低次最低)p作用:將數(shù)據(jù)作用:將數(shù)據(jù)(常量或表達(dá)式常量或表達(dá)式)賦給一個變量賦給一個變量 p注意:注意:左側(cè)必須是左側(cè)必須是變量變量,不能是常量或表達(dá)式,不能是常量或表達(dá)式p轉(zhuǎn)換規(guī)則:轉(zhuǎn)換規(guī)則:使賦值

36、號右邊表達(dá)式值使賦值號右邊表達(dá)式值自動自動轉(zhuǎn)換成轉(zhuǎn)換成其左邊變量的類型。其左邊變量的類型。p賦值號與數(shù)學(xué)中的等號含義不同賦值號與數(shù)學(xué)中的等號含義不同.n= t +210 a= (b=( (b*c)10) )數(shù)學(xué)中數(shù)學(xué)中 a=b 等價于等價于 b=a C語言中語言中 a=b 不等價于不等價于 b=aint a;a=7.99999 /a=7例例 a=3; d=func(); c=d+2;()()C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算45#include main()int a;a=10;a=a+3;a+3=10;a*3=8;5=5;error = : l

37、eft operand must be l-valueerror = : left operand must be l-valueerror = : left operand must be l-valueC C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算46例例: a=b=c=5; a=(b=5); a=5+(c=6); a=(b=4)+(c=6); a=(b=10)/(c=2);/表達(dá)式值為表達(dá)式值為5,a,b,c值為值為5/表達(dá)式值為表達(dá)式值為5,b=5;a=5/表達(dá)式值表達(dá)式值11,c=6,a=11/表達(dá)式值表達(dá)式值10,a=10,b=4,c=6/表達(dá)式

38、值表達(dá)式值5,a=5,b=10,c=2C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算472、 復(fù)合的賦值運(yùn)算符:復(fù)合的賦值運(yùn)算符:n算術(shù)運(yùn)算相關(guān):算術(shù)運(yùn)算相關(guān):+=、-=、*=、/=、%=n位運(yùn)算位運(yùn)算 相關(guān):相關(guān):=、&=、|=、=n功能:功能:x?=y 為為 x=x?y 的所寫形式的所寫形式,例如例如a+=b; 其等價于其等價于 a=a+b;a%=b; 其等價于其等價于 a=a%b;C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算48例,設(shè)例,設(shè)a=3,則:,則: a+=5; /表達(dá)式值為表達(dá)式值為8,a=8例例

39、: a=12; a+=a-=a*a ; 請試著求上面表達(dá)式的值請試著求上面表達(dá)式的值例例: int a=2; a%=4-1; 等價于:等價于: a=a%3=2%3=2;C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算49main() int a=2,b=3,c=4,d=5,x; a+=b*c; b-=c/b; printf(%d,%d,%d,%dn,a,b,c*=2*(a+c),d%=a); printf(x=%dn,x=a+b+c+d);運(yùn)行結(jié)果為:運(yùn)行結(jié)果為:14,2,144,5x=165C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本

40、數(shù)據(jù)類型與運(yùn)算50int a, b=5;x=(a=3, 6*3); printf(“x=%d”, x=(a=1, y=5) );/表達(dá)式值為表達(dá)式值為18,a=3/輸出結(jié)果:輸出結(jié)果:/定義整型變量定義整型變量a,b且且b初始化為初始化為5/變量變量x=5,a=1,y=5x=5逗號運(yùn)算符:逗號運(yùn)算符: ,p格式:格式: 表達(dá)式表達(dá)式1,表達(dá)式表達(dá)式2, , 表達(dá)式表達(dá)式n p結(jié)合方向:結(jié)合方向:從左向右,從左向右, 優(yōu)先級最低優(yōu)先級最低p逗號表達(dá)式逗號表達(dá)式的值:的值:等于表達(dá)式等于表達(dá)式n的值的值 p用途:用途:常用常用于于聲明變量聲明變量或或for循環(huán)語句循環(huán)語句中中C C語言程序設(shè)計語言

41、程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算51 例例 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,c); /a=15,表達(dá)式值表達(dá)式值60/a=15,表達(dá)式值表達(dá)式值20/賦值表達(dá)式賦值表達(dá)式,表達(dá)式值表達(dá)式值18,x=18/逗號表達(dá)式逗號表達(dá)式,表達(dá)式值表達(dá)式值18,x=3/1,2,3/3,2,3C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算52#

42、include main( ) int x,a; x=(a=3*5,a*4,a+5); printf(“x=%d,a=%dn”,x,a); #include main( ) int x,a; x=(a=3*5,a*4),a+5; printf(“x=%d,a=%dn”,x,a); 運(yùn)行結(jié)果:運(yùn)行結(jié)果:x=20, a=15運(yùn)行結(jié)果:運(yùn)行結(jié)果:x=60, a=15C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算53運(yùn)算符:運(yùn)算符: sizeofp格式:格式: sizeof(類型說明符、數(shù)組名或表達(dá)式類型說明符、數(shù)組名或表達(dá)式) p類型說明符:類型說明符:該類型數(shù)據(jù)

43、所占字節(jié)數(shù)該類型數(shù)據(jù)所占字節(jié)數(shù)p數(shù)組名:數(shù)組名:該數(shù)組所占字節(jié)數(shù)該數(shù)組所占字節(jié)數(shù)p表達(dá)式:表達(dá)式:該表達(dá)式所占字節(jié)數(shù),但該表達(dá)式所占字節(jié)數(shù),但并不并不計算表達(dá)式的值計算表達(dá)式的值C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算54main() float f=1.5, x, a10; printf(%d,%dn,sizeof(double), sizeof(char); printf(%d,%dn,sizeof(x=f+2), sizeof(f); printf(x=%fn,x); printf(%d,%dn,sizeof(2.5), sizeof(2.5f); printf(%d,%dn,sizeof(a), sizeof(a5);運(yùn)行結(jié)果:運(yùn)行結(jié)果:8, 14, 4x= 隨機(jī)值隨機(jī)值8, 440, 4C C語言程序設(shè)計語言程序設(shè)計 第二章第二章 基本數(shù)據(jù)類型與運(yùn)算基本數(shù)據(jù)類型與運(yùn)算551 1、自動類型轉(zhuǎn)換、自動類型轉(zhuǎn)換n發(fā)生情況:發(fā)生情況: 運(yùn)算轉(zhuǎn)換運(yùn)算轉(zhuǎn)換-不同類型數(shù)據(jù)混合運(yùn)算時不同類型數(shù)據(jù)混合運(yùn)算時:賦值轉(zhuǎn)換賦值轉(zhuǎn)換-把不同類型的值賦給變量時把不同類型的值賦給變量時輸出轉(zhuǎn)換輸出轉(zhuǎn)換-輸出時轉(zhuǎn)換成指定的輸出格式輸出時轉(zhuǎn)換成指定的輸出格式函數(shù)調(diào)用轉(zhuǎn)換函數(shù)調(diào)用轉(zhuǎn)換-實(shí)參與形參類型不

溫馨提示

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

評論

0/150

提交評論