運(yùn)算符與表達(dá)式_第1頁(yè)
運(yùn)算符與表達(dá)式_第2頁(yè)
運(yùn)算符與表達(dá)式_第3頁(yè)
運(yùn)算符與表達(dá)式_第4頁(yè)
運(yùn)算符與表達(dá)式_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

一.什么是數(shù)據(jù)類型?

數(shù)據(jù)類型就是c程序中數(shù)據(jù)存在的組織和形式。數(shù)據(jù)類型是數(shù)據(jù)的基本屬性描述的是數(shù)據(jù)的存儲(chǔ)格式和運(yùn)算規(guī)則二.為什么要定義不同的數(shù)據(jù)類型?由于不同數(shù)據(jù)類型的數(shù)據(jù),在內(nèi)存中所需的存儲(chǔ)空間大小、存儲(chǔ)格式均有所不同,能支持的運(yùn)算以及相應(yīng)的運(yùn)算規(guī)則也會(huì)有所不同.第一頁(yè),共二十三頁(yè),編輯于2023年,星期三數(shù)據(jù)類型基本類型整型實(shí)型(浮點(diǎn)型)字符型枚舉類型構(gòu)造類型數(shù)組類型結(jié)構(gòu)體類型共用體類型指針類型空類型第二頁(yè),共二十三頁(yè),編輯于2023年,星期三整型數(shù)據(jù)(整數(shù))小知識(shí):計(jì)算機(jī)的最小存儲(chǔ)單位為位bit,只能容納0,1之一,字節(jié)是常用的存儲(chǔ)單位,1字節(jié)為8位.1字節(jié)能表示0-2^16-1的整數(shù)。TurboC2.0和TurboC++3.0為一個(gè)整型變量在內(nèi)存中分配2個(gè)字節(jié)的存儲(chǔ)單元(不同的編譯系統(tǒng)為整型數(shù)據(jù)分配的字節(jié)數(shù)是不相同的,VC++6.0則分配4個(gè)字節(jié))。數(shù)值是以補(bǔ)碼(complement)表示的。例如:整數(shù)10,其二進(jìn)制表示為:1010,在內(nèi)存中表示為0000000000001010,整數(shù)-10,其在內(nèi)存中表示為1111111111110110(補(bǔ)碼表示)。第三頁(yè),共二十三頁(yè),編輯于2023年,星期三整型變量的分類共六種有符號(hào)基本整型有符號(hào)短整型有符號(hào)長(zhǎng)整型無(wú)符號(hào)基本整型無(wú)符號(hào)短整型無(wú)符號(hào)長(zhǎng)整型(signed)int(signed)short(int)(signed)long(int)unsignedintunsignedshort(int)unsignedlong(int)

注意:括號(hào)表示其中的內(nèi)容是可選的.第四頁(yè),共二十三頁(yè),編輯于2023年,星期三整數(shù)類型的有關(guān)數(shù)據(jù)(標(biāo)準(zhǔn)C):類型類型說(shuō)明符長(zhǎng)度數(shù)的范圍基本型int2字節(jié)-32768~32767短整型short2字節(jié)-215~215-1長(zhǎng)整型long4字節(jié)-231~231-1無(wú)符號(hào)整型unsigned2字節(jié)0~65535無(wú)符號(hào)短整型unsignedshort2字節(jié)0~65535無(wú)符號(hào)長(zhǎng)整型unsignedlong4字節(jié)0~(232-1)Devc++中實(shí)現(xiàn),與標(biāo)準(zhǔn)c不同,長(zhǎng)整型與基本型的字節(jié)數(shù)相同4字節(jié),短整型2字節(jié),第五頁(yè),共二十三頁(yè),編輯于2023年,星期三Inta;Shortb;Longc;Unsignedshortd;第六頁(yè),共二十三頁(yè),編輯于2023年,星期三實(shí)型數(shù)據(jù)實(shí)數(shù)有兩種表示形式:1、十進(jìn)制小數(shù)形式:由數(shù)字和小數(shù)點(diǎn)組成(注意必須有小數(shù)點(diǎn))。如:12.0、.123、3.14、30.都表示實(shí)數(shù)。2、指數(shù)形式:如123e3表示123×103,這里不區(qū)分大小寫,但字母e前必須有數(shù)字,且e后的指數(shù)必須為整數(shù)。如:314.25可以表示為314.25e0、31.425e1、3.1425e2、.31425e3、0.31425e4…其中3.1425e2稱為規(guī)范化的指數(shù)形式,即小數(shù)點(diǎn)左邊有且只有一位非零數(shù)字。第七頁(yè),共二十三頁(yè),編輯于2023年,星期三(1)在內(nèi)存中的存放形式在內(nèi)存中占四個(gè)字節(jié),以指數(shù)形式存儲(chǔ)。(2)實(shí)型變量的分類(3)實(shí)型變量的定義floatx,y;doublez;類型比特?cái)?shù)有效數(shù)字?jǐn)?shù)值范圍float326~7double6415~16longdouble8018~19+0.314592887871第八頁(yè),共二十三頁(yè),編輯于2023年,星期三(4)實(shí)型數(shù)據(jù)的舍入誤差執(zhí)行結(jié)果:a=123456790528.000000b=123456790528.000000“%f”是輸出一個(gè)實(shí)數(shù)時(shí)的格式符一個(gè)float型的變量能保證的有效數(shù)字最大為7位,因此a的結(jié)果中前7位是準(zhǔn)確的,8位以后是不準(zhǔn)確的,也是無(wú)意義的,把20加在后面,也是無(wú)意義的。因此要避免一個(gè)很大的數(shù)和一個(gè)很小的數(shù)相加第九頁(yè),共二十三頁(yè),編輯于2023年,星期三字符型數(shù)據(jù)(1)字符常量

C中的字符常量是用單引號(hào)(即撇號(hào))括起來(lái)的一個(gè)字符。如’a’、’x’、’D’、’?’、’$’等都是字符常量,而“a”、‘a(chǎn)bc’都不是字符常量。這里要注意的是‘a(chǎn)’和‘A’是兩個(gè)不同的字符。除了上述規(guī)定的格式來(lái)表示字符常量外,C還允許用一種特殊形式的字符常量,就是以一個(gè)“\”開頭的字符序列,這種字符在屏幕上不能直接顯示,因此在程序中無(wú)法用一個(gè)一般形式的字符表示,稱為轉(zhuǎn)義字符。轉(zhuǎn)義的意思即將(\)后的字符轉(zhuǎn)換成另外的意義,如我們之前接觸過(guò)的“\n”表示換行。第十頁(yè),共二十三頁(yè),編輯于2023年,星期三轉(zhuǎn)義字符含義ASCII

代碼控制字符\n回車換行(光標(biāo)移到下一行第一列)10\t水平制表(光標(biāo)移到下一個(gè)Tab位置)9\b退格(光標(biāo)移回到同一行前一列)8\r回車(光標(biāo)移到同一行第一列)13\f換頁(yè)(光標(biāo)移到下一頁(yè)開頭)12特殊標(biāo)點(diǎn)符號(hào)\\反斜杠字符“\”92\‘單引號(hào)(撇號(hào))字符‘39\“雙引號(hào)字符“34所有字符\ddd1到3位8進(jìn)制數(shù)所代表的字符\xhh1到2位16進(jìn)制數(shù)所代表的字符比如\012表示ASCII碼為10的字符,\x12表示ASCII碼為14的字符第十一頁(yè),共二十三頁(yè),編輯于2023年,星期三(2)字符變量字符型變量用來(lái)臨時(shí)存放字符常量,注意:一個(gè)字符變量只能存放一個(gè)字符。字符變量定義形式如:charc1,c2;表示c1和c2為兩個(gè)字符型變量,各可以存放一個(gè)字符,因此,可以用下列語(yǔ)句對(duì)其進(jìn)行賦值:c1=‘a(chǎn)’;c2=‘b’;第十二頁(yè),共二十三頁(yè),編輯于2023年,星期三(3)字符數(shù)據(jù)在內(nèi)存中的表示

所有的系統(tǒng)中都規(guī)定以一個(gè)字節(jié)來(lái)存放一個(gè)字符,且將字符常量放到字符變量中時(shí),是把該字符相應(yīng)的ASCII碼放到變量所代表的內(nèi)存單元中去。

charc1;c1=‘A’;

定義變量c1為字符型變量,給c1分配一個(gè)字節(jié)的內(nèi)存單元,第二個(gè)語(yǔ)句是將字母‘A’賦給c1,即將‘A’的ASCII碼65存儲(chǔ)到c1所代表的內(nèi)存單元中去。ASCII碼是一種數(shù)字編碼,即用特定的數(shù)字來(lái)表示特定的字符,如標(biāo)準(zhǔn)ASCII碼中規(guī)定整數(shù)65表示大寫字母A,標(biāo)準(zhǔn)ASCII碼的范圍是0~127第十三頁(yè),共二十三頁(yè),編輯于2023年,星期三

可以看到,字符型數(shù)據(jù)和整型數(shù)據(jù)是通用的,它們既可以以字符型形式輸出(%c),又可以以整型形式輸出(%d),當(dāng)以整型形式輸出時(shí),輸出的是它們所表示的ASCII碼。以字符形式輸出一個(gè)字符。第十四頁(yè),共二十三頁(yè),編輯于2023年,星期三(4)字符串常量字符串常量使用一對(duì)雙引號(hào)(“”)括起來(lái)的字符序列。如:“Howareyou!”、”CHINA”、”a”、”$1230.4”都表示字符串常量。C規(guī)定字符串常量結(jié)尾有一個(gè)結(jié)束標(biāo)志‘\0’,因此字符串”a”實(shí)際上包含兩個(gè)字符:’a’和’0’,長(zhǎng)度為2,輸出時(shí)只顯示第一字字符,后面的’\0’為結(jié)束標(biāo)志,為不可顯示的字符。第十五頁(yè),共二十三頁(yè),編輯于2023年,星期三不同數(shù)據(jù)類型間數(shù)據(jù)的混合運(yùn)算

整型(包括int、short、long)和實(shí)型數(shù)據(jù)(包括float和double)間可以混合運(yùn)算,而字符型數(shù)據(jù)可與整型通用,因此整型、實(shí)型和字符型數(shù)據(jù)間可以進(jìn)行混合運(yùn)算。如:10+‘a(chǎn)’+1.5-827.35*’d’運(yùn)算時(shí),不同類型的數(shù)據(jù)先要轉(zhuǎn)換成同一類型,然后進(jìn)行運(yùn)算。圖中橫向箭頭表示必定的轉(zhuǎn)換,即字符型必須要先轉(zhuǎn)換成整型,而float型在運(yùn)算時(shí)一律要轉(zhuǎn)換成double型??v向的箭頭表示不同類型數(shù)據(jù)間運(yùn)算的轉(zhuǎn)換方向。

轉(zhuǎn)換過(guò)程由系統(tǒng)自動(dòng)完成第十六頁(yè),共二十三頁(yè),編輯于2023年,星期三常量符號(hào)常量:用一個(gè)標(biāo)識(shí)符代表一個(gè)常量實(shí)現(xiàn)方式:使用#define預(yù)處理命令直接常量:1,2,3;0.1,10.0;‘a(chǎn)’,‘1’;“hello”程序運(yùn)行期間,值不能被改變的量稱為常量整型常量浮點(diǎn)型常量字符型常量字符串常量第十七頁(yè),共二十三頁(yè),編輯于2023年,星期三使用符號(hào)常量的好處是:從標(biāo)識(shí)符名可以清楚地看出該常量的含義,做到“見名知意”在需要修改常量的值時(shí)可以做到“一改全改”,容易調(diào)整定義符號(hào)常量,此后本文件中凡出現(xiàn)PRICE都為30.第十八頁(yè),共二十三頁(yè),編輯于2023年,星期三變量

C允許把值存放在變量中,每個(gè)變量都由一個(gè)變量名來(lái)標(biāo)識(shí)。程序運(yùn)行期間,值可以被改變的量稱為變量

每個(gè)變量都必須有一個(gè)變量類型。

每個(gè)變量根據(jù)它的類型不同,在內(nèi)存中占據(jù)一定數(shù)目的字節(jié)單元,該變量的值就存放在這些內(nèi)存單元中。123prod變量名

prod實(shí)際上是一個(gè)符號(hào)地址變量prod所占據(jù)的內(nèi)存單元123是變量值內(nèi)存單元的地址內(nèi)存單元的內(nèi)容在對(duì)程序編譯時(shí)由系統(tǒng)給每一個(gè)變量按其類型分配內(nèi)存單元,同時(shí),系統(tǒng)內(nèi)部維護(hù)著變量名和它的內(nèi)存單元地址的對(duì)應(yīng)信息。變量就是命名的內(nèi)存單元第十九頁(yè),共二十三頁(yè),編輯于2023年,星期三變量的命名規(guī)定C語(yǔ)言中,變量(標(biāo)識(shí)符)的命名規(guī)定:只能由大小寫字母、下劃線和數(shù)字組成;編譯系統(tǒng)將大寫字母和小寫字母認(rèn)為是兩個(gè)不同的字符;建議變量名的長(zhǎng)度最好不要超過(guò)8個(gè)字符;在選擇變量名和其它標(biāo)識(shí)符時(shí),應(yīng)注意做到“見名知意”,即選有含意的英文單詞(或其縮寫)作標(biāo)識(shí)符;要求對(duì)所有用到的變量作強(qiáng)制定義,也就是“先定義,后使用”;

不能以C的關(guān)鍵字為命名變量;第二十頁(yè),共二十三頁(yè),編輯于2023年,星期三合法的C變量名:area,sum,answer,month,name,Name,Step1,step2,number_of_student,average_score,_class1非法的C變量名:3rd_entry(數(shù)字開頭)all$done (包含非法字符$)theend (包含空格)

int (系統(tǒng)關(guān)鍵字)關(guān)鍵字預(yù)先定義的具有特定含義的標(biāo)識(shí)符。也稱為保留字,不能另作他用。如:Int、char、float、double、unsigned、struct、if、do、while、switch、return、goto、define、include、undef、sizeof等..第二十一頁(yè),共二十三頁(yè),編輯于2023年,星期三變量賦初值(1)C語(yǔ)言允許在定義變量的同時(shí)使變量初始化如:inta=3;或inta;a=3;//指定a為整型變量,初值為3floatf=3.56;//指定f為浮點(diǎn)型變量,初值為3.56charc=‘a(chǎn)’;//指定c為字符變量,初值為‘a(chǎn)’(2)可以使被定義的變量的一部分賦初值。如:

inta,b,c=5;表示指定a、b、c為整型變量,但只對(duì)c初始化,c的初值為5(3)如果對(duì)幾個(gè)變量賦以同一個(gè)初值

應(yīng)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論