C語言程序設計(何欽銘_顏暉_主編)完整PPT課件_第1頁
C語言程序設計(何欽銘_顏暉_主編)完整PPT課件_第2頁
C語言程序設計(何欽銘_顏暉_主編)完整PPT課件_第3頁
C語言程序設計(何欽銘_顏暉_主編)完整PPT課件_第4頁
C語言程序設計(何欽銘_顏暉_主編)完整PPT課件_第5頁
已閱讀5頁,還剩66頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選,1,Chap6數(shù)據(jù)類型和表達式,6.1數(shù)據(jù)的存儲和基本數(shù)據(jù)類型6.2常量和變量6.3數(shù)據(jù)的輸入和輸出6.4類型轉換6.5表達式,精選,2,本章要點,C語言的基本數(shù)據(jù)類型有哪些?各種基本數(shù)據(jù)類型的常量和變量是怎樣定義的?C語言有哪些表達式?各種表達式的求解規(guī)則是什么?,精選,3,數(shù)據(jù)類型和表達式,數(shù)據(jù)類型基本數(shù)據(jù)類型整型int實型(浮點型)floatdouble字符型char構造數(shù)據(jù)類型數(shù)組、結構、聯(lián)合、枚舉指針類型空類型運算:對數(shù)據(jù)的操作運算符數(shù)據(jù)表達式,精選,4,6.1數(shù)據(jù)的存儲和基本數(shù)據(jù)類型,6.1.1數(shù)據(jù)的存儲整型、實型、字符型數(shù)據(jù)的存儲6.1.2基本數(shù)據(jù)類型整型、實型、字符型,精

2、選,5,6.1.1數(shù)據(jù)的存儲整型數(shù)據(jù),設整數(shù)在內存中用2個字節(jié)存儲10000001100000010000000110000001,符號位1:負數(shù)0:正數(shù),精選,6,數(shù)值的表示方法原碼反碼補碼,正數(shù)的原碼、反碼和補碼相同1的補碼000000000000000132767的補碼0111111111111111(215-1,2個字節(jié)的存儲單元能表示的最大正數(shù))負數(shù)的原碼、反碼和補碼不同-1原碼1000000000000001反碼1111111111111110原碼取反補碼1111111111111111反碼1,精選,7,原碼反碼補碼,32767補碼0111111111111111-32767原碼1

3、111111111111111反碼1000000000000000原碼取反補碼1000000000000001反碼1-32768=-32767-1補碼1000000000000000(2個字節(jié)的存儲單元能表示的最小負數(shù)),-32768-10132767,3276701111111111111111000000000000000100000000000000000-11111111111111111-21111111111111110-327671000000000000001-327681000000000000000,32767+1=32768?100000000000000=-32768-

4、32768-1=-32769?0111111111111111=32767,精選,9,實型和字符型數(shù)據(jù)的存儲,實型數(shù)據(jù)的存儲-1.2345e+02符號位階碼尾數(shù)字符型數(shù)據(jù)的存儲一個字節(jié)存儲ASCII碼,精選,10,5.1.2基本數(shù)據(jù)類型,整型有符號整型無符號整型數(shù)據(jù)長度intunsignedint16或32位shortintunsignedshortint16位longintunsignedlongint32位字符型char8位實型(浮點型)單精度浮點型float32位雙精度浮點型double64位,精選,11,基本數(shù)據(jù)類型整型,擴展的整數(shù)類型:shortlongunsignedint有符號整

5、型無符號整型數(shù)據(jù)長度intunsignedint16或32位shortintunsignedshortint16位longintunsignedlongint32位,有符號short1000000000000000-32768-215011111111111111132767215-1無符號unsignedshort00000000000000000111111111111111165535216-1,精選,12,整數(shù)類型的取值范圍,int32位-21474836482147483647-231231-1shortint16位-3276832767-215215-1longint32位-214

6、74836482147483647-231231-1unsignedint32位042949672950232-1unsignedshortint16位0655350216-1unsignedlongint32位042949672950232-1,精選,13,基本數(shù)據(jù)類型字符型,字符具有數(shù)值特征A6501000001整型變量和字符變量的定義和賦值可以互換【ASCII碼范圍】charc;c=A;或c=65;,inti;i=65;或i=A;,精選,14,基本數(shù)據(jù)類型實型,實型(浮點型)數(shù)據(jù)單精度浮點型float雙精度浮點型double存儲數(shù)據(jù)精度取值范圍(有效數(shù)字)float4字節(jié)七/八位(10-

7、381038)double8字節(jié)十六位(1030810308),精選,15,數(shù)據(jù)精度和取值范圍,數(shù)據(jù)精度與取值范圍是兩個不同的概念:floatx=1234567.89;雖在取值范圍內,但無法精確表達。floaty=1.2e55;y的精度要求不高,但超出取值范圍。并不是所有的實數(shù)都能在計算機中精確表示實型常量的類型都是double,1234567.80,精選,16,6.2.1常量符號常量整型常量、實型常量、字符型常量6.2.2變量變量的定義和使用,6.2常量和變量,精選,17,6.2.1常量,常量的類型通常由書寫格式決定123(整型)4.56(實型)A(字符型)符號常量:用一個標識符代表一個常量

8、:PI:EPS,精選,18,例5-1求球的表面積和體積,#include#definePI3.14intmain(void)doubler,s,v;printf(“Enterr:);scanf(%lf,加分號?,通常用大寫字母,精選,19,符號常量的優(yōu)點,#includeintmain(void)doubler,s,v;scanf(%lf,#include#definePI3.14intmain(void)doubler,s,v;scanf(%lf,3.14159,3.14159,3.14159,精選,20,整型常量(整數(shù)),整數(shù)的表示三種表現(xiàn)形式:十進制整數(shù):正、負號,09,首位不是0例:1

9、0,123八進制整數(shù):正、負號,07,首位是0例:010,012316進制整數(shù):正、負號,09,a-f,A-F,前綴是0 x,0X例:0 x10,0 x123,精選,21,整數(shù)的表示,123=01111011(B)二進制=173(O)八進制=7B(X)十六進制12301730 x7b160200 x10100120XA100100 x10不能超出整型數(shù)據(jù)的取值范圍比長整型數(shù)還要大的數(shù)只能用實數(shù)來表示,精選,22,整數(shù)的類型,判斷整數(shù)的類型整數(shù)后的字母后綴123Llong123Uunsigned123LUunsignedlong整數(shù)的值,精選,23,實型常量(實數(shù)、浮點數(shù)),實數(shù)的表示浮點表示法

10、0.123123.412.12科學計數(shù)法6.026E-271.2e+301E-5實數(shù)的類型double,精選,24,字符型常量,字符常量aA9+$ASCII字符集列出所有可用的字符(256個)每個字符:惟一的次序值(ASCII碼)0-9升序排列A-Za-z,精選,25,字符的數(shù)值特征,字符ASCII碼對字符進行運算對字符的ASCII碼進行運算例如:A的ASCII碼65則:A+1=66,對應字符B,區(qū)分數(shù)字字符和數(shù)字11,精選,26,轉義字符,反斜杠后跟一個字符或數(shù)字字符常量,代表一個字符n101x41A所有字符都可以用轉義字符表示,精選,27,6.2.2變量,在程序運行過程中,其值可以被改變的

11、量。變量必須先定義,后使用定義變量時要指定變量名和數(shù)據(jù)類型變量應該先賦值,后引用,精選,28,變量的定義,變量名:合法的標識符小寫字母;見名知義變量的類型:在定義時指定變量定義的一般形式類型名變量名表;intcelsius,fahr;floatx;doublearea,length;變量名代表內存中的一個存儲單元,存放該變量的值該存儲單元的大小由變量的數(shù)據(jù)類型決定,精選,29,變量的使用,必須先定義,后使用應該先賦值,后引用變量的賦值方法變量賦初值:在定義變量時對它賦值inta=5,b=3;賦值表達式inta,b;a=5;b=3;輸入inta,b;scanf(%d%d,精選,30,6.3.1整

12、型數(shù)據(jù)的輸入和輸出6.3.2實型數(shù)據(jù)的輸入和輸出6.3.3字符型數(shù)據(jù)的輸入和輸出,6.3數(shù)據(jù)的輸入和輸出,精選,31,6.3.1整型數(shù)據(jù)的輸入輸出,printf(格式控制,輸出參數(shù)1,.,輸出參數(shù)n);scanf(格式控制,輸入參數(shù)1,.,輸入參數(shù)n);格式控制說明%十進制八進制十六進制int%d%o%xlong%ld%lo%lxunsigned%u%o%xunsignedlong%lu%lo%lx,精選,32,例6-2(1)輸出整型數(shù)據(jù),#includeintmain(void)printf(%d,%o,%xn,10,10,10);printf(%d,%d,%dn,10,010,0 x10)

13、;printf(%d,%xn,012,012);return0;,10,12,a10,8,1610,a,精選,33,例6-2(2)輸入整型數(shù)據(jù),#includeintmain(void)inta,b;printf(inputa,b:);scanf(%o%d,inputa,b:17171517f,17,%x%d,精選,34,6.3.2實型數(shù)據(jù)的輸入和輸出,輸入scanf()float:%f或%e以小數(shù)或指數(shù)形式輸入一個單精度浮點數(shù)double:%lf或%le以小數(shù)或指數(shù)形式輸入一個雙精度浮點數(shù)輸出printf()float和double使用相同的格式控制說明%f以小數(shù)形式輸出浮點數(shù),保留6位小數(shù)

14、%e以指數(shù)形式輸出,精選,35,實型數(shù)據(jù)輸出示例,#includeintmain(void)doubled=3.1415926;printf(%f,%en,d,d);printf(%5.3f,%5.2f,%.2fn,d,d,d);return0;,3.141593,3.14159e+003.142,3.14,3.14,一共5位,小數(shù)3位,小數(shù)點一位,精選,36,實型數(shù)據(jù)輸入輸出示例,假定float的精度為7位,double的精度為16位#includeintmain(void)floatf;doubled;printf(inputf,d:);scanf(%f%lf,inputf,d:12345

15、67890123.1234561234567890123.123456f=1234567954432.000000d=1234567890123.123540d=1234567890123.120120,精選,37,6.3.3字符型數(shù)據(jù)輸入輸出,scanf()和printf()%ccharch;scanf(%c,輸入輸出一個字符,精選,38,例6-3(1)輸入輸出字符示例,#includeintmain(void)charch1,ch2;ch1=getchar();ch2=getchar();putchar(ch1);putchar(#);putchar(ch2);return0;,AbA#b

16、,精選,39,例6-3(2)輸入輸出字符示例,#includeintmain(void)charch1,ch2,ch3;scanf(%c%c%c,AbCA#b#C,AbCA#b,精選,40,例6-4輸出字符型數(shù)據(jù),b的ASCII碼98#includeintmain(void)charch=b;printf(%c,%dn,b,b);printf(%c,%dn,98,98);printf(%c,%dn,97,b-1);printf(%c,%dn,ch-a+A,ch-a+A);return0;,b,98b,98a,97B,66,#includeintmain()charch;ch=b;printf(

17、%c,%dn,ch,ch);return0;,printfb%cputchar98%d142%o62%x,scanfb%cgetchar98%d142%o62%x,scanf(%c,精選,42,字符運算,大小寫英文字母轉換b-a=B-Az-a=Z-AmM,a-AA-a,0,m-a+A=MM-A+a=m,8-0=88+0=8,數(shù)字字符和數(shù)字轉換9-0=9-09=9+088,精選,43,不同類型數(shù)據(jù)的混合運算,先轉換為同一類型,再運算。6.4.1自動類型轉換非賦值運算的類型轉換賦值運算的類型轉換6.4.2強制類型轉換,6.4類型轉換,精選,44,6.4.1自動類型轉換(非賦值運算),水平方向:自動

18、垂直方向:低高,精選,45,自動類型轉換(非賦值運算),A+1210.05657766.95,精選,46,自動類型轉換(賦值運算),變量=表達式計算賦值運算符右側表達式的值將賦值運算符右側表達式的值賦給左側的變量,將賦值運算符右側表達式的類型自動轉換成賦值號左側變量的類型,精選,47,自動類型轉換(賦值運算),doublex;x=1;,x=?,shorta=1000;charb=A;longc;c=a+b;,c=?,intai;ai=2.56;,ai=?,shortbi;bi=0 x12345678L,bi=?,精選,48,5.4.2強制類型轉換,強制類型轉換運算符(類型名)表達式(doubl

19、e)3(int)3.8(double)(5/2)(double)5/2,3.032.02.5,精選,49,強制類型轉換示例,#includeintmain(void)inti;doublex;x=3.8;i=(int)x;printf(x=%f,i=%dn,x,i);printf(double)(int)x=%fn,(double)(int)x);printf(xmod3=%dn,(int)x%3);return0;,x=3.800000,i=3(double)(int)x=3.000000 xmod3=0,精選,50,表達式:由運算符和運算對象(操作數(shù))組成的有意義的運算式子,它的值和類型由

20、參加運算的運算符和運算對象決定。運算符:具有運算功能的符號運算對象:常量、變量和函數(shù)等表達式算術表達式、賦值表達式、關系表達式、邏輯表達式、條件表達式和逗號表達式等,6.5表達式,精選,51,6.5.1算術表達式算術運算符,單目+-+-雙目+-*/%注意/整數(shù)除整數(shù),得整數(shù)1/4=0,10/3=3%模(求余):針對整型數(shù)據(jù)5%6=5,9%4=1,100%4=0+和單目運算符,+10和10雙目運算符,x+10和y10雙目運算符兩側操作數(shù)的類型要相同,否則,自動類型轉換后,再運算。,精選,52,自增運算符+和自減運算符-,intn;n+nn-n(只適合變量運算)使變量的值增1或減1+nn+n=n+

21、1-nn-n=n-1取變量的值作為表達式的值+n:n=n+1;取n值作為表達式+n的值n+:取n值作為表達式n+的值;n=n+1,精選,53,自增運算和自減運算,intn,m;n=2;m=+n;n=2;m=n+;,n=3,n=3,m=3,m=2,m=nm=n+1,n=n+1m=n,精選,54,算術運算符的優(yōu)先級和結合性,單目+-+-雙目*/%雙目+-,從右向左,-5+3%2=(-5)+(3%2)=-43*5%3=(3*5)%3=0-i+,-(i+),精選,55,寫出C表達式,數(shù)學式C算術表達式s(s-a)(s-b)(s-c)(x+2)e2x,精選,56,6.5.2賦值表達式,賦值運算符=x=3*4優(yōu)先級較低,結合性從右向左x=y=3,x=(y=3),精選,57,賦值表達式,變量=表達式計算賦值運算符右側表達式的值將賦值運算符右側表

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論