《數(shù)據(jù)類型及表達式》PPT課件.ppt
《《數(shù)據(jù)類型及表達式》PPT課件.ppt》由會員分享,可在線閱讀,更多相關《《數(shù)據(jù)類型及表達式》PPT課件.ppt(63頁珍藏版)》請在裝配圖網(wǎng)上搜索。
第2章數(shù)據(jù)類型及表達式,本章知識要點(1)基本的數(shù)據(jù)類型。(2)常量和變量。(3)C語言各種運算符和表達式的應用。,第2章數(shù)據(jù)類型及表達式,2.1C語言的數(shù)據(jù)類型,2.2運算符及表達式,2.1C語言的數(shù)據(jù)類型,單精度實型(float),雙精度實型(double),整型(int),字符型(char),枚舉類型,數(shù)組類型,結構體類型,共用體類型,實型,基本類型,構造類型,空類型(void),指針類型,數(shù)據(jù)類型,C語言中,數(shù)據(jù)有常量和變量之分,它們分別屬于以上這些類型。在程序中對用到的所有數(shù)據(jù)都必須指定其數(shù)據(jù)類型數(shù)據(jù)類型決定:數(shù)據(jù)占內存字節(jié)數(shù)數(shù)據(jù)取值范圍其上可進行的操作,注意:,#includestdio.hvoidmain()inta,b,sum;a=123;b=456;sum=a+b;printf(sumis%dn,sum);,內存,0005,0006,0002,0003,0004,0001,0000,地址,a,b,sum,#includestdio.hvoidmain()inta,b,sum;a=1;b=2;sum=a+b;printf(sumis%dn,sum);,2.1C語言的數(shù)據(jù)類型,2.1.1基本數(shù)據(jù)類型,2.1.2常量,2.1.3變量及其類型定義,2.1.1基本數(shù)據(jù)類型,整型數(shù)據(jù),實型數(shù)據(jù),字符型數(shù)據(jù),基本數(shù)據(jù)類型,2.1.1基本數(shù)據(jù)類型,長整型(longint),整型數(shù)據(jù),一般整型(int),短整型(shortint),帶符號(signed),無符號(unsigned),帶符號(signed),無符號(unsigned),帶符號(signed),無符號(unsigned),整型數(shù)據(jù)的特性見下表:,2.1.1基本數(shù)據(jù)類型,長雙精度實型(longdouble),實型數(shù)據(jù),單精度實型(float),雙精度實型(double),實型數(shù)據(jù)的特性見下表,2.1.1基本數(shù)據(jù)類型,字符型數(shù)據(jù),一般字符型(char),帶符號字符型(signedchar),無符號字符型(unsignedchar),字符型數(shù)據(jù)的特性見下表,2.1.2常量,整型常量,實型常量,字符型常量,字符串常量,常量,整型常量,(三種表現(xiàn)形式):,十進制形式:與數(shù)學上的整數(shù)表示相同。例如:12,-100,0,八進制形式:在數(shù)碼前加數(shù)字0。例如:012,十六進制形式:在數(shù)碼前加0X(數(shù)字0和字母X,大小寫均可)。例如:0 x12,=1*81+2*80=10,=1*161+2*160=18,2.1.2常量(一),注意事項:,八進制的數(shù)碼范圍為0-7;則:018、091、0A2,十六進制的數(shù)碼除了數(shù)字0-9外,還使用英文字母a-f(或A-F)表示10-15。如:0 x1e、0Xabcdef、0 x1000但:0X2dfg、0 x100L,錯誤,都是錯誤的。,實型常量,(二種表現(xiàn)形式),十進制形式:由數(shù)字和小數(shù)點組成;,指數(shù)形式:由“十進制小數(shù)”+“e(或E)”+“十進制數(shù)整數(shù)”三部分組成。,例如:3.44.3,例如:12.5e-6表示12.510-6,十進制小數(shù),e(或E),十進制數(shù)整數(shù),2.1.2常量(二),注意事項:,小數(shù)點不能單獨出現(xiàn);,e或E的兩邊必須有數(shù),且其后面必須為整數(shù);,如:0.=.0=0=0.0.,如:6E0.2e56E,(錯誤),(錯誤),2.1.2常量(二),字符型常量,(二種表現(xiàn)形式):,用單引號括起來的一個字符;,用單引號括起來的由反斜杠()引導的轉義字符。,如:A、1、?等。,如:n101x41,在統(tǒng)計字符個數(shù)時,只能記為一個字符,一個字符的多種表示方法:,字符A可以表示為A、x41、101,2.1.2常量(三),轉義字符表,字符形式,功能,n,換行,t、V,橫向跳格、,b、r,豎向跳格,退格、,f,回車,、,8進制數(shù)表示的ASCII碼對應的字符,反斜杠、單引號、雙引號,ddd,換頁,xhh,16進制數(shù)表示的ASCII碼對應的字符,字符串常量字符串常量:用一對雙引號括起來的字符序列2.字符串結束標記0。每一個字符串常量結尾都有一個字符0(一般情況是由系統(tǒng)自動加上)。如:CHINA在內存中為:a為兩個字符a為一個字符,a,如:Hello,1999,a,2.1.2常量(四),main()printf(abctden);printf(htibbjk);,設一個輸出區(qū)占8列,試分析輸出結果。,例:,符號常量:,特點:在程序中不能給它賦值,例3-1#definePRICE30voidmain()intnum,total;num=10;total=num*PRICE;printf(“total=%d”,total);,在程序預處理時,凡是出現(xiàn)標識符PI的地方都將用數(shù)據(jù)3.14159來替換。,結果:total=300,符號常量定義方法:#define標識符常量#definePI3.14159,2.1.3變量及類型定義,1.變量定義,變量:在程序執(zhí)行過程中其值可以被改變的量。,變量三要素,變量名,變量數(shù)據(jù)類型,變量的值。,變量定義的實質是按照變量說明的數(shù)據(jù)類型為變量分配相應空間的存儲單元,在該存儲單元中存放變量的值。,數(shù)據(jù)類型,例如:inti;charc1;floatx;doubley1,y2;,變量定義一般格式:,變量名表;,內存,0005,0006,0002,0003,0004,0001,0000,地址,c1,x,i,變量名是一個符號地址,可以用運算符floatf=3.56;charc=a;intx=1,y=1,z=1;intx=y=z=1;(錯誤),inta=3;相當于inta;a=3;,2.2.2算術運算符及算術表達式,2.2.1運算符和表達式,2.2運算符及表達式,2.2.3關系運算符及關系表達式,2.2.4邏輯運算符及邏輯表達式,2.2.5條件運算符及條件表達式,2.2.6賦值運算符及賦值表達式,2.2.7逗號運算符及逗號表達式,2.2.8求字節(jié)運算符,2.2.9類型轉換,2.2.1運算符和表達式,1.運算符,2.2.1運算符和表達式,用運算符將操作對象連接起來、符合C語法規(guī)則的式子稱為表達式。表達式因運算符種類也可分為各種表達式,如3+4,是算術表達式。xy為關系表達式。,運算符的優(yōu)先級是指不同的運算符在表達式中進行運算的先后次序。如,算術運算符*、/的優(yōu)先級高于+、-的優(yōu)先級。如2+4*5/2-8,當一個運算對象的兩側的運算符的優(yōu)先級相同時,運算的結合方向稱為結合性。運算符的結合性分為左結合和右結合兩種。在C語言中,運算對象先與左面的運算符結合稱左結合,如+、-、*、/的結合方向為自左向右;運算對象先與右面的運算符結合稱右結合,如單目運算符+、-的結合方向是自右向左。如2+35。,5.據(jù)運算符的運算對象的個數(shù),C語言的運算符分為單目運算符、雙目運算符和三目運算符,2.表達式,3.運算符的優(yōu)先級,4.運算符的結合性,+加法運算符或正值運算符2+3、+6-減法運算符,或負值運算符3-4、-6*乘法運算符3*4、a*b/除法運算符3/4、(a+b)/(a-b),2.2.2算術運算符及算術表達式,1.基本的算術運算符,注意:兩個整數(shù)相除,其值為整數(shù)。5/3值為1除數(shù)、被除數(shù)有一個為負值時,結果”向零取整”-5/3值為-1除數(shù)、被除數(shù)有一個為實數(shù)時,結果為double型,2.2.2算術運算符及算術表達式,%模運算符,或稱求余運算符%兩側均為整型數(shù)據(jù)。如:7%4的值為3-7%4,7%-4,-7%-4的值為多少?,符號由被除數(shù)的值決定,-3,3,-3,2.算術表達式和運算符的優(yōu)先級與結合性1)用算術運算符和括號將運算對象連接起來的符合C語言語法規(guī)則的式子,稱為算術表達式(運算對象包括常量、變量、函數(shù)等)如:3.14*r*r/x2)運算符的優(yōu)先級和結合性優(yōu)先級:先*、/、%后+、-結合性:左結合性。即表達式從左向右進行計算,3+4*5-6/2+8%4=?(),20,2.2.2算術運算符及算術表達式,3、自增、自減運算符+i,-i在使用i之前,先使i的值加1或減1i+,i-在使用i之后,使i的值加1或減1注意:(1)自增、自減運算符只能用于變量,而不能用于常量和表達式。如:5+、-(a+b)不合法(2)+和-的優(yōu)先級別高于算術運算符,結合方向是“自右向左”如:-i+相當于-(i+),2.2.2算術運算符及算術表達式,例自增自減運算#include“stdio.h”voidmain()inti=0,j;j=i+;printf(“%d,%dn”,i,j);i=0;j=+i;printf(“%d,%dn”,i,j);,區(qū)分:j=i+1;j=+i;,1,01,1,例自增自減運算#include“stdio.h”voidmain()inti=0,j;j=i+;printf(“%d,%dn”,i,j);i=0;j=i+1;printf(“%d,%dn”,i,j);,1,00,1,下述程序段的輸出結果是_。intx=10;inty=x+;printf(%d,%d,x,y);A.11,10B.11,11C.10,10D.10,11,練一練:,C語言有六種關系運算符,2.2.3關系運算符及關系表達式,例:ab!=c等效于(ab)!=ca=bc等效于a=(bc),2.2.3關系運算符及關系表達式,關系運算:比較運算,用“關系表達式”進行運算。例:a3是一個關系表達式,它取兩個值:真(true)和假(false)。,2.2.3關系運算符及關系表達式,關系表達式:用關系運算符連接的表達式。,例:a=3,b=2,c=1,則:(ab)=c真,表達式的值為1d=abd的值等于1f=abcf的值等于0 x=a+b2x=1,關系表達式的值:,2.2.3關系運算符及關系表達式,優(yōu)先次序為:?。ǚ牵﹦t表達式!(x+y)+z-1則表達式!(x=y),max=(ab)?a:b;,條件運算符要求有三個操作對象,稱為“三目運算符”,2.2.5條件運算符(?:)及條件表達式,(1)條件運算符的優(yōu)先級高于賦值運算符,低于算術運算符和關系運算符。,(2)條件運算符的結合方向是“從右至左”。,一、賦值運算符=用法:變量=表達式作用:將表達式的值賦給左邊的變量a=5;x=y;注意:與判等符號=相區(qū)別,x=x+1;,與數(shù)學中的等式不同,2.2.6賦值運算符及賦值表達式,二、賦值結果與類型轉換1、實型數(shù)據(jù)(包括單、雙精度)賦給整型變量時,舍棄實數(shù)的小數(shù)部分2、整型數(shù)據(jù)賦給單、雙精度變量時數(shù)值不變,但以浮點數(shù)形式存儲到變量中,例:#include“stdio.h”voidmain()inti;floatf;i=5.34;f=23;printf(“%d,%fn”,i,f);,5,23.000000,2.2.6賦值運算符及賦值表達式,三、賦值表達式由賦值運算符將一個變量和一個表達式連接起來的式子稱為“賦值表達式”形式:變量=表達式結合方向:自右向左如:a=5a=(b=5)a=1+3+5計算過程:1.計算賦值運算符右側“表達式”的值2.將計算結果賦給左側的變量3.賦值表達式的值就是被賦值的變量的值。,想一想:a=b=c=5a=5+(c=6),2.2.6賦值運算符及賦值表達式,四、復合的賦值運算符,在賦值符“=”之前加上其它運算符,構成復合賦值運算符:+=,-=,*=,/=,%=,2.2.6賦值運算符及賦值表達式,練一練:,如:a=2a=(b=10)/(c=2)a+=a-=a*a,a=(),a=(),a=a+(a-(a*a)=?,a=(),5,-4,0,形式:表達式1,表達式2,,表達式i作用:用于連接表達式計算過程:1.求解表達式1的值2.再求解表達式2,表達式i3.整個逗號表達式的值是表達式i的值。,a=63,2.2.7逗號運算符及逗號表達式,如:a=(3+5,6+8,7*9),注意:并不是任何在地方出現(xiàn)的逗號者是逗號運算符:printf(“%d,%d,%d,”,a,b,c),一個逗號表達式又可與另一個表達式組成一個新的逗號表達式:(a=3*5,5*4),a+5,逗號運算符是所有運算符中級別最低的:x=(a=3,6*3)x=a=3,6*a,X=18,X=3,2.2.7逗號運算符及逗號表達式,例#includevoidmain()inta=1;printf(result:%dn,(a=3*a,3*a);,result:9,2.2.7逗號運算符及逗號表達式,2.2.8求字節(jié)運算符,1.sizeof表達式,如:sizeof(float)計算單精度實型數(shù)據(jù)在內存中所占的字節(jié)數(shù),結果為4。,sizeof(a),2.sizeof(類型名),求字節(jié)運算符是sizeof,它用于計算變量或某種類型的量在內存中所占的字節(jié)數(shù)。用法有兩種:,功能是計算出表達式計算結果所占用內存的字節(jié)數(shù),整型、實型(包括單、雙精度)、字符型數(shù)據(jù)間可以混合運算例如:10+a+12.3-3.14*A是合法的運算時,不同類型的數(shù)據(jù)要先轉換成同一類型,然后進行運算轉換規(guī)則:,float型數(shù)據(jù)在運算時一律轉換成double型,不同類型進行混合運算時,按照類型級別由低到高的順序轉換,字符型和short型在運算時一律轉換成int型,2.2.9類型轉換,1.自動類型轉換,2、強制類型轉換利用強制類型轉換運算符將一個表達式轉換成所需類型形式:(類型名)表達式如:(double)a(int)(x+y)注意:與(int)x+y不同(int)8.5%5,例強制類型轉換#includestdio.hmain()floatx;inti;x=3.6;i=(int)x;printf(“x=%.1f,i=%d”,x,i);,結果:x=3.6,i=3,2.2.9類型轉換,- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 數(shù)據(jù)類型及表達式 數(shù)據(jù)類型 表達式 PPT 課件
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權,請勿作他用。
相關資源
更多
正為您匹配相似的精品文檔
鏈接地址:http://appdesigncorp.com/p-11508628.html