c數(shù)據(jù)類型及表達(dá)式實(shí)用_第1頁
c數(shù)據(jù)類型及表達(dá)式實(shí)用_第2頁
c數(shù)據(jù)類型及表達(dá)式實(shí)用_第3頁
c數(shù)據(jù)類型及表達(dá)式實(shí)用_第4頁
c數(shù)據(jù)類型及表達(dá)式實(shí)用_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

會(huì)計(jì)學(xué)1c數(shù)據(jù)類型及表達(dá)式實(shí)用§1數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)類型基本類型構(gòu)造類型指針類型整型浮點(diǎn)型字符型無值型基本型int,2Byte長整型long,4Byte短整型short,2Byte無符號(hào)整型unsigned,2Byte單精度浮點(diǎn)型float,4Byte雙精度浮點(diǎn)型double,8Bytechar,1Bytevoid數(shù)組類型結(jié)構(gòu)體類型聯(lián)合體枚舉類型第1頁/共41頁§2C程中數(shù)據(jù)的表示方法八進(jìn)制整型常量十六進(jìn)制整型常量十進(jìn)制整型常量小數(shù)形式指數(shù)形式直接形式八進(jìn)制形式十六進(jìn)制形式轉(zhuǎn)義字符整型常量浮點(diǎn)常量字符常量符號(hào)常量基本知識(shí)定義格式初始化命名存儲(chǔ)賦值常量變量C程中數(shù)據(jù)的表示形式第2頁/共41頁一、常量(程序運(yùn)行過程中)其值不發(fā)生改變的量1、整型常量(即整型常數(shù),有三種表示法)(1)整型常量的表示法八進(jìn)制整型常量十六進(jìn)制整型常量十進(jìn)制整型常量前綴為0,數(shù)碼0~7前綴為0x或0X,數(shù)碼0~9,a~f或A~F數(shù)碼中出現(xiàn)字母時(shí)字母的大小寫應(yīng)與前綴一致無前綴,數(shù)碼0~9第3頁/共41頁一、常量(程序運(yùn)行過程中)其值不發(fā)生改變的量1、整型常量(即整型常數(shù),有三種表示法)(2)對(duì)整型常量的說明整型常量的類型整型常量的后綴八、十六進(jìn)制表示的整型常量的真值值為-32768~+32767基本整型

0~65535無符號(hào)整型>32767或<-32768長整型L或l長整型U或u無符號(hào)數(shù)第4頁/共41頁一、常量(程序運(yùn)行過程中)其值不發(fā)生改變的量2、浮點(diǎn)常量也稱實(shí)型常量,C語言中實(shí)數(shù)用十進(jìn)制表示,有兩種形式(1)小數(shù)形式(2)指數(shù)形式由小數(shù)點(diǎn)和0~9組成,當(dāng)整數(shù)或小數(shù)部分為0時(shí),0可以省略由尾數(shù)、階碼標(biāo)志e或E及階碼組成一般形式:aEn(a為尾數(shù),n為階碼),表示a×10n第5頁/共41頁一、常量(程序運(yùn)行過程中)其值不發(fā)生改變的量3、單字符常量(1)直接形式(2)八進(jìn)制形式格式為:'\ddd',“ddd”表示1~3位八進(jìn)制數(shù),其值為某字符對(duì)應(yīng)的ASCII值用單引號(hào)括起來的一個(gè)字符(3)十六進(jìn)制形式格式為:'\xhh',“hh”表示1~2位十六進(jìn)制數(shù),其值為某字符對(duì)應(yīng)的ASCII值(4)轉(zhuǎn)義字符是一種特殊的字符常量,以“\”開頭,后跟一個(gè)或幾個(gè)字符,它具有特定的含義,不同于字符原有意義第6頁/共41頁一、常量(程序運(yùn)行過程中)其值不發(fā)生改變的量4、字符串常量由一對(duì)雙引號(hào)括起來的字符序列,可以無字符,也可只有一個(gè)字符字符串常量與單字符常量的區(qū)別:引號(hào)字符個(gè)數(shù)存儲(chǔ)單字符''只能為單個(gè)字符字符串""可為0、1或多個(gè)字符系統(tǒng)自動(dòng)加一個(gè)字符串結(jié)束標(biāo)志“\0”第7頁/共41頁一、常量(程序運(yùn)行過程中)其值不發(fā)生改變的量5、符號(hào)常量用一種標(biāo)識(shí)符代表一個(gè)常量符號(hào)常量在其作用域內(nèi)不能改變,也不能再被賦值符號(hào)常量用大寫一般形式:#define標(biāo)識(shí)符常量#definePI3.1415926P39例4.2第8頁/共41頁二、變量(程序運(yùn)行過程中)其值可以發(fā)生改變的量1、變量的基本知識(shí)(1)變量的命名(2)變量的存儲(chǔ)一個(gè)變量占據(jù)一定的存儲(chǔ)空間;在確定了變量類型后,就確定了其在內(nèi)存中所占的字節(jié)數(shù)每一個(gè)變量有且只有一種類型(3)使用變量前應(yīng)先給出確定值要符合標(biāo)識(shí)符的規(guī)定,C語言中用小寫字母表示第9頁/共41頁二、變量(程序運(yùn)行過程中)其值可以發(fā)生改變的量2、變量定義的格式一般形式:[修飾符]類型說明符變量表列;例3、變量的初始化對(duì)變量要“先定義,后使用”,在使用之前應(yīng)有確定的值,也就是要給變量賦值,賦值有兩種方法(1)定義時(shí)直接賦值,稱為初始化;(聲明部分)

[修飾符]類型說明符變量1=值1,變量2=值2,……;例(2)程序執(zhí)行過程中對(duì)變量賦值。(執(zhí)行部分)例第10頁/共41頁二、變量(程序運(yùn)行過程中)其值可以發(fā)生改變的量4、不同類型變量的說明(1)整型變量基本型短整型無符號(hào)型(2)浮點(diǎn)型變量(3)字符型變量單精度浮點(diǎn)型雙精度浮點(diǎn)型第11頁/共41頁§3

運(yùn)算符及表達(dá)式一、C語言運(yùn)算符概述1、概念描述各種不同運(yùn)算的符號(hào)稱為運(yùn)算符,參加運(yùn)算的數(shù)據(jù)稱為運(yùn)算對(duì)象或操作數(shù)用運(yùn)算符和括號(hào)將運(yùn)算對(duì)象連接起來的符合C語言語法規(guī)則的式子稱為C語言表達(dá)式C語言運(yùn)算符不僅具有優(yōu)先級(jí),而且還有結(jié)合性的特性第12頁/共41頁2、分類(1)按運(yùn)算時(shí)操作數(shù)的個(gè)數(shù)(2)按運(yùn)算符在運(yùn)算時(shí)的作用單目運(yùn)算符++、--雙目運(yùn)算符+、-、*、/三目運(yùn)算符?:算術(shù)運(yùn)算符、關(guān)系、邏輯、位操作、賦值、條件、逗號(hào)、指針、求字節(jié)數(shù)、強(qiáng)制類型轉(zhuǎn)換、成員及括號(hào)運(yùn)算符一、C語言運(yùn)算符概述第13頁/共41頁二、算術(shù)運(yùn)算符及其表達(dá)式1、算術(shù)運(yùn)算符+、-、*、/、%/:兩整數(shù)相除結(jié)果為整數(shù),“向零取整”%:兩個(gè)運(yùn)算量必須是整型量2、算術(shù)表達(dá)式用算術(shù)運(yùn)算符和括號(hào)運(yùn)算符將運(yùn)算對(duì)象連接起來的符合C語言規(guī)則的式子,稱為算術(shù)表達(dá)式第14頁/共41頁三、自增自減運(yùn)算符及含自增自減表達(dá)式++自增運(yùn)算符i++、++i--自減運(yùn)算符i--、--i注意:1、自增(減)運(yùn)算符只能用于變量,而不能用于常量或表達(dá)式2、自增(減)運(yùn)算符均為右結(jié)合3、當(dāng)自增(減)運(yùn)算符是后綴運(yùn)算符時(shí),應(yīng)先使用自增(減)運(yùn)算符的運(yùn)算對(duì)象計(jì)算整個(gè)表達(dá)式的值,在計(jì)算自增(減)例4.44、當(dāng)自增(減)運(yùn)算符是前綴運(yùn)算符時(shí),應(yīng)先完成自增自減,然后使用運(yùn)算后的結(jié)果計(jì)算整個(gè)表達(dá)式的值例4.55、當(dāng)表達(dá)式中既有前綴又有后綴自增(減)運(yùn)算符時(shí),應(yīng)先計(jì)算所有的前綴自增自減運(yùn)算,再計(jì)算整個(gè)表達(dá)式的值,最后計(jì)算所有的后綴自增自減運(yùn)算例4.6第15頁/共41頁四、賦值運(yùn)算符和賦值表達(dá)式1、簡單的賦值運(yùn)算符2、復(fù)合的賦值運(yùn)算符3、賦值表達(dá)式=雙目;僅高于逗號(hào)運(yùn)算符;右結(jié)合性將一個(gè)數(shù)據(jù)賦給一個(gè)變量,也可將一個(gè)表達(dá)式的值賦給一個(gè)變量+=、-=、*=、/=<<=、>>=、&=、^=、|=定義:由賦值運(yùn)算符將一個(gè)變量和一個(gè)表達(dá)式連接起來的式子,稱為賦值表達(dá)式形式:<變量><賦值運(yùn)算符><表達(dá)式>第16頁/共41頁五、逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式運(yùn)算符:“,”表達(dá)式:用逗號(hào)運(yùn)算符將兩個(gè)表達(dá)式連接起來的式子,稱為逗號(hào)表達(dá)式形式:表達(dá)式1,表達(dá)式2擴(kuò)展形式:表達(dá)式1,表達(dá)式2,……,表達(dá)式n第17頁/共41頁六、位運(yùn)算運(yùn)算符含義運(yùn)算符含義

&按位與~取反|按位或<<左移∧按位異或>>右移(1)位運(yùn)算符中除~以外,均為雙目運(yùn)算符,即要求兩側(cè)各有一個(gè)運(yùn)算量。(2)運(yùn)算量只能是整型或字符型的數(shù)據(jù),不能為實(shí)型數(shù)據(jù)。第18頁/共41頁1、按位與運(yùn)算&運(yùn)算的含義是對(duì)參與按位與運(yùn)算的兩個(gè)運(yùn)算對(duì)象按二進(jìn)制方式對(duì)對(duì)應(yīng)位進(jìn)行與運(yùn)算,當(dāng)與運(yùn)算的兩個(gè)對(duì)應(yīng)位都為1時(shí),運(yùn)算結(jié)果的對(duì)應(yīng)位也為1;否則為0例:-3&51111111111111101(-3)&0000000000000101(5)0000000000000101(結(jié)果為5)第19頁/共41頁2、按位或運(yùn)算|運(yùn)算的含義是對(duì)參與按位或運(yùn)算的兩個(gè)運(yùn)算對(duì)象按二進(jìn)制方式對(duì)對(duì)應(yīng)位進(jìn)行或運(yùn)算,當(dāng)或運(yùn)算的兩個(gè)對(duì)應(yīng)位都為0時(shí),運(yùn)算結(jié)果的對(duì)應(yīng)位也為0;否則為1例:-3|51111111111111101(-3)|0000000000000101(5)1111111111111101(結(jié)果為-3)第20頁/共41頁3、按位異或運(yùn)算^運(yùn)算的含義是對(duì)參與按位異或運(yùn)算的兩個(gè)運(yùn)算對(duì)象按二進(jìn)制方式對(duì)對(duì)應(yīng)位進(jìn)行異或運(yùn)算,當(dāng)異或運(yùn)算的兩個(gè)對(duì)應(yīng)位不相同時(shí),運(yùn)算結(jié)果的對(duì)應(yīng)位為1時(shí);否則為0例:-3^51111111111111101(-3)^0000000000000101(5)1111111111111000(結(jié)果為-8)第21頁/共41頁4、按位取反運(yùn)算~運(yùn)算的含義是對(duì)參與取反運(yùn)算的運(yùn)算對(duì)象按二進(jìn)制方式對(duì)每一個(gè)位求反,如果某位為1,則運(yùn)算結(jié)果的對(duì)應(yīng)位為0時(shí);否則為1。取反為單目運(yùn)算符例:~5~0000000000000101(5)1111111111111010(結(jié)果為-6)第22頁/共41頁5、按位左移運(yùn)算<<運(yùn)算的作用是對(duì)參與運(yùn)算的運(yùn)算對(duì)象按規(guī)定的位移數(shù)進(jìn)行左移,<<運(yùn)算符的左操作數(shù)是需要移位的數(shù)據(jù),右操作數(shù)是移位的位數(shù),在移位過程中高位移出的位舍棄,低位左移后補(bǔ)0例:5<<3<<0000000000000101(5)0000000000101000(結(jié)果為40)第23頁/共41頁6、按位右移運(yùn)算>>運(yùn)算的作用是對(duì)參與運(yùn)算的運(yùn)算對(duì)象按規(guī)定的位移數(shù)進(jìn)行右移,>>運(yùn)算符的左操作數(shù)是需要移位的數(shù)據(jù),右操作數(shù)是移位的位數(shù),在移位過程中低位移出的位舍棄,高位右移后補(bǔ)0或1;如要移位的數(shù)據(jù)是無符號(hào)數(shù)則補(bǔ)0,有符號(hào)數(shù)補(bǔ)符號(hào)位的值例:12>>2>>0000000000001100(12)

0000000000000011(結(jié)果為3)第24頁/共41頁§4C語言中的類型轉(zhuǎn)換C語言規(guī)定:不同的數(shù)據(jù)類型不能直接進(jìn)行運(yùn)算,只有相同類型的數(shù)據(jù)可以。但在描述表達(dá)式時(shí),參與運(yùn)算的對(duì)象卻可以是不同類型的數(shù)據(jù),這樣在表達(dá)式進(jìn)行運(yùn)算是就存在類型轉(zhuǎn)換的問題。類型轉(zhuǎn)換形式類型的自動(dòng)轉(zhuǎn)換強(qiáng)制的類型轉(zhuǎn)換賦值表達(dá)式中的類型轉(zhuǎn)換不同類型數(shù)據(jù)的混合運(yùn)算第25頁/共41頁一、類型的自動(dòng)轉(zhuǎn)換1、賦值表達(dá)式中的類型轉(zhuǎn)換如果賦值運(yùn)算符兩側(cè)的類型不一致,但都是數(shù)值型或字符型時(shí),在賦值時(shí)要進(jìn)行類型轉(zhuǎn)換。(1)實(shí)型數(shù)據(jù)賦給整型變量舍棄小數(shù)部分(2)整型數(shù)據(jù)賦給單、雙精度變量數(shù)值不變,但以浮點(diǎn)數(shù)形式存儲(chǔ)到變量中第26頁/共41頁(3)字符型數(shù)據(jù)賦給整型變量(字符型數(shù)據(jù)只占1個(gè)字節(jié),而整型數(shù)據(jù)占兩個(gè))將字符型數(shù)據(jù)(8位)存放到整型變量低8位中,整型變量的高字節(jié)的所有位存儲(chǔ)的是低字節(jié)的“高位擴(kuò)展”。若字符最高位為1,則高8位全補(bǔ)1;若字符最高位為0,則高8位全補(bǔ)0;稱為“符號(hào)擴(kuò)展”一、類型的自動(dòng)轉(zhuǎn)換1、賦值表達(dá)式中的類型轉(zhuǎn)換第27頁/共41頁(3)字符型數(shù)據(jù)賦給整型變量一、類型的自動(dòng)轉(zhuǎn)換1、賦值表達(dá)式中的類型轉(zhuǎn)換例1inta;charc1;c1=‘A’;a=c1;c1a010000100100001000000000第28頁/共41頁(3)字符型數(shù)據(jù)賦給整型變量一、類型的自動(dòng)轉(zhuǎn)換1、賦值表達(dá)式中的類型轉(zhuǎn)換例2inta;a=’\374’;‘\374’a111110011111100111111111第29頁/共41頁(3)字符型數(shù)據(jù)賦給整型變量一、類型的自動(dòng)轉(zhuǎn)換1、賦值表達(dá)式中的類型轉(zhuǎn)換從例1、2可知:將ASCII碼值為0~127的字符型數(shù)據(jù)賦給整型變量時(shí),整型變量得到的值恰好是該字符型數(shù)據(jù)的ASCII碼值;將ASCII碼值為128~255的字符型數(shù)據(jù)賦給整型變量時(shí),整型變量得到的值不是該字符型數(shù)據(jù)的ASCII碼值,而為-128~-1。第30頁/共41頁(4)整型數(shù)據(jù)賦給字符型變量一、類型的自動(dòng)轉(zhuǎn)換1、賦值表達(dá)式中的類型轉(zhuǎn)換只將其低8位原封不動(dòng)地送到char型變量,即“高位截?cái)唷崩?charc1=254;111111010000000011111101254c1第31頁/共41頁(4)整型數(shù)據(jù)賦給字符型變量一、類型的自動(dòng)轉(zhuǎn)換1、賦值表達(dá)式中的類型轉(zhuǎn)換只將其低8位原封不動(dòng)地送到char型變量,即“高位截?cái)唷崩?charc1=256;000000000000001000000000256c1第32頁/共41頁(4)整型數(shù)據(jù)賦給字符型變量一、類型的自動(dòng)轉(zhuǎn)換1、賦值表達(dá)式中的類型轉(zhuǎn)換從例1、2可知:當(dāng)整型數(shù)據(jù)的值為0~255時(shí),將其賦給字符變量,字符型變量的ASCII碼值恰好是該整型數(shù)據(jù)的值;當(dāng)整型數(shù)據(jù)的值為256~32767時(shí),將其賦給字符變量,字符型變量的ASCII碼值恰好是該整型數(shù)據(jù)的值與256相除后的余數(shù)。第33頁/共41頁(5)int型數(shù)據(jù)賦給longint型變量一、類型的自動(dòng)轉(zhuǎn)換1、賦值表達(dá)式中的類型轉(zhuǎn)換將整型數(shù)據(jù)的16位存儲(chǔ)到長整型變量的低16位中如int數(shù)據(jù)為正,則longint變量高16為補(bǔ)0;如int數(shù)據(jù)為負(fù),則longint變量高16為補(bǔ)1。例P53第34頁/共41頁(6)longint型數(shù)據(jù)賦給int或unsignedint型變量

溫馨提示

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