第三章+C語言基本數(shù)據(jù)類型_第1頁
第三章+C語言基本數(shù)據(jù)類型_第2頁
第三章+C語言基本數(shù)據(jù)類型_第3頁
第三章+C語言基本數(shù)據(jù)類型_第4頁
第三章+C語言基本數(shù)據(jù)類型_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Cprogramdesign語言程序設(shè)計基礎(chǔ)高等院校計算機技術(shù)“十二五”規(guī)劃教材主講:談靜2023年2月6日第3章基本數(shù)據(jù)類型內(nèi)容導讀數(shù)據(jù)是程序處理的對象,數(shù)據(jù)能表示一定的實體并以特定的形式存在。計算機所要處理的數(shù)據(jù)多種多樣,比如整數(shù)、帶小數(shù)點的數(shù)、字符類型數(shù)據(jù)等。數(shù)據(jù)類型就是對各種數(shù)據(jù)的“抽象”、“歸納”。2023年2月6日基本數(shù)據(jù)類型標識符、常量與變量10.12023年2月6日第3章基本數(shù)據(jù)類型10.23.1基本數(shù)據(jù)類型數(shù)據(jù)類型是按被定義變量的性質(zhì)、表示形式、占據(jù)存儲空間的多少、構(gòu)造特點來劃分的。2023年2月6日3.1.1整型數(shù)據(jù)整型是指不存在小數(shù)部分的數(shù)據(jù)類型。根據(jù)數(shù)據(jù)在計算機內(nèi)存中存儲時所占的字節(jié)數(shù)的不同,整型數(shù)據(jù)可分為基本整型(int)、短整型(short)、長整型(long)和無符號整型。2023年2月6日

不同的整型數(shù)據(jù)所占據(jù)的內(nèi)存空間的長度(即字節(jié)數(shù))不同,同一種數(shù)據(jù)類型在不同的編譯環(huán)境中所占的內(nèi)存空間長度也不同。下表為VC++6.0系統(tǒng)中整型數(shù)據(jù)。

數(shù)據(jù)長度類型標識符數(shù)值范圍有符號整數(shù)16位Short–32768~3276732位int–2147483648~214748364732位Long–2147483648~2147483647無符號整數(shù)16位Unsignedshort0~6553532位Unsignedint0~429496729532位Unsignedlong0~42949672952023年2月6日數(shù)值可以采用原碼、反碼、補碼等不同的表示方法。在計算機里存儲數(shù)據(jù)的時候是以補碼的形式來存放的。注意:1.正數(shù)的原碼、反碼、補碼相同,都是以最高位(符號位)為0,表示正數(shù),其余各位表示數(shù)值。例如,用32位二進制數(shù)表示有符號整數(shù)+13在內(nèi)存中的存放形式如下:2.負整數(shù)的原碼是最高位(符號位)為1,數(shù)值位為其絕對值的二進制形式,負整數(shù)的反碼為其原碼除符號位外按位取反(即0改為1、1改為0),而其補碼為其反碼末位再加1。–13的原碼為:10000000000000000000000000001101–13的反碼為:11111111111111111111111111110010–13的補碼為:11111111111111111111111111110011因此整數(shù)-13的機內(nèi)表示如下:由于不同的系統(tǒng)數(shù)據(jù)類型所占存儲空間長度有差異,因此C語言提供了一個測定數(shù)據(jù)類型所占存儲空間長度的運算符“sizeof”,它的格式為:

sizeof(類型標識符)或sizeof(變量名)可以計算出數(shù)據(jù)類型或變量所占字節(jié)數(shù)。例如:sizeof(int),sizeof(short)可以分別計算出當前所使用系統(tǒng)的int類型及short類型數(shù)據(jù)所占的存儲空間字節(jié)數(shù)。2023年2月6日3.1.2實型數(shù)據(jù)實數(shù)類型又稱為浮點型,是指有小數(shù)部分的數(shù)。

實型數(shù)據(jù)又分為單精度型(占32位float類型)和雙精度型(占64位double類型)兩種。所占的字節(jié)數(shù)不一樣,有效位數(shù)也不同。2023年2月6日

數(shù)據(jù)長度類型標識符取值范圍與有效位數(shù)單精度實型32位Float約±(3.4×10-38~3.4×1038),6位有效數(shù)字。雙精度實型64位Double約±(1.7×10-308~1.7×10308),16位有效數(shù)字。3.1.3字符型數(shù)據(jù)2023年2月6日字符類型(char)的數(shù)據(jù)(如字符’A’、’a’、’5’、’#’等)在內(nèi)存中以相應(yīng)的ASCII碼存放,每個字符在內(nèi)存中占用一個字節(jié)。所以C語言中的字符具有數(shù)值特征。整型數(shù)和字符型數(shù)的定義和值可以互相交換。例如字符’a’的ASCII碼為97,它在內(nèi)存中以如下形式存放:3.2標識符、常量與變量2023年2月6日

標識符是一字符序列,用于表示常量、變量、用戶自定義的數(shù)據(jù)類型或函數(shù)的名稱。3.2.1標識符標識符的命名規(guī)則:(1)標識符由字母、數(shù)字、和下劃線組成,其中第一個字符必須是字母或是下劃線。(2)標識符不能使用系統(tǒng)保留的關(guān)鍵字(見附錄2)。(3)C語言中標識符區(qū)分大小寫。例如,a2,a_b,_xy,A2都是合法的標識符。2a,x-y則不是合法的標識符。

用戶自己定義的變量名、常量名和函數(shù)名等,起名時一般最好是用表示標識符意義的英文一漢語拼音來表示,例如,一個變量的作用是記數(shù)器,可以用count標識符來表示相應(yīng)的變量名,這樣便于記憶。2023年2月6日不同數(shù)據(jù)類型的數(shù)需要占據(jù)不同大小空間的內(nèi)存單元,內(nèi)存單元就好像是存放數(shù)據(jù)的“倉庫”。在程序的運行過程中,內(nèi)存單元中的值不變的量稱為常量。3.2.2常量與符號常量1.整型常量(1)整數(shù)的表示

整型常量有十進制、八進制、十六進制三種形式。a)十進制整型常量由正、負號和0~9的數(shù)碼組成,并且第一個數(shù)碼不能是0。例如:123、–56、0都是十進制整型常量,而018則不是。b)八進制整型常量由正、負號和0~7的數(shù)碼組成,并且第一個數(shù)碼必須是0。例如:012、067、–046是八進制整型常量,而019則是非法的常量,八進制中無9這個符號。2023年2月6日c)十六進制整型常量由正、負號和數(shù)碼0~9、a~f或A~F組成,并且要有前綴0x或0X。例如:0x28、0x114、–0xad都是十六進制整型常量;而0x2g1則是非法的常量,十六進制中無g這個符號。

任何一個整數(shù)都可以用上面的三種形式表示。例如,十進制數(shù)的100,可以采用100、0144、0X64等來表示,其本質(zhì)都不變。(2)整數(shù)的類型b)根據(jù)整數(shù)后的字母確定類型。整型常量后加字符l或L表示long類型常量,如34L、012L、0x2fdL;整型常量后綴字符u或U表示無符號整型常量,如12u、034u、0x2fdu。23與23L數(shù)值上相等,但類型分別是int型和long型。

a)根據(jù)整數(shù)的值確定類型。整型常量若數(shù)值范圍在–2147483648~2147483647為int型數(shù)據(jù)類型,占4個字節(jié)。2023年2月6日2.實型常量實型常量又稱浮點數(shù),有十進制浮點表示法和科學計數(shù)法(指數(shù)形式)兩種表示法。(1)浮點表示法由正、負號、數(shù)字和小數(shù)點組成(一定要有小數(shù)點),且小數(shù)點的前或后至少一邊要有數(shù)字。實數(shù)的浮點表示法又稱為實數(shù)的小數(shù)形式。例:2.5、0.88、–193.0、3.14159。(2)科學計數(shù)法由正、負號、數(shù)字、小數(shù)點和指數(shù)符號e(或E)組成。在e前必須有數(shù)據(jù)(整數(shù)或?qū)崝?shù)),e后指數(shù)必須是整數(shù)。指數(shù)形式一般適合于表示較大或較小的實數(shù)。例如:35.29e3、1.2E-9。2023年2月6日3.字符常量(1)字符常量字符常量指單個字符,是用一對單引號將其括起。例如:’A’、’a’、’0’、’$’是字符常量,它們分別表示字母A、a和數(shù)字字符0及符號$。每個字符在內(nèi)存中占一個字節(jié)。字符型數(shù)據(jù)可以參加運算,均以該字符對應(yīng)的ASCII碼參加運算。如,字符’a’的ASCII碼為97,表達式’a’+1的值為98,即對應(yīng)字母為’b’。(2)轉(zhuǎn)義字符有些字符如回車、退格等是無法在屏幕上顯示的,也無法從鍵盤輸入,他們起著控制的作用。這些字符可以采用轉(zhuǎn)義字符形式來表示。2023年2月6日轉(zhuǎn)義字符以反斜杠(\)開頭,后跟一些特殊字符或數(shù)字,作用是將反斜杠(\)后面的字符或數(shù)字轉(zhuǎn)換成其他意義,常用的轉(zhuǎn)義字符如下表所示。字符形式所表示字符\n換行\(zhòng)t橫向跳格\b退格\\反斜杠字符“\”\’單引號字符\”雙引號字符\ddd1~3位八進制整數(shù)所代表的字符,如’\101’為字符’A’\xhh1~2位十六進制整數(shù)所代表的字符,如’\x41’為字符’A’【例3-1】輸出含轉(zhuǎn)義字符的數(shù)據(jù)。2023年2月6日-----程序執(zhí)行-----

123456789123456789↙abcdxabcAA2023年2月6日4.字符串常量字符串常量是由一對雙引號(“”)括起來的字符序列。例如:”china”長度為5”happynewyear!”長度為15”A”長度為1字符串中的字符個數(shù)稱為字符串的長度。如不包括任何字符的字符串叫空字符串,長度為0。字符串存儲時占用一段連續(xù)的存儲單元,每個字符占一個字節(jié),C語言編譯器會自動在字符串的末尾加一個轉(zhuǎn)義字符’\0’,作為字符串的結(jié)束標志。因此,字符串”china”在內(nèi)存中占有6個內(nèi)存單元,它的存儲長度是6。2023年2月6日5.符號常量程序中指定用一個標識符代表一個常量,該標識符稱為符號常量。符號常量定義的一般格式:#define標識符常量例如:#definePI3.141592/*定義了符號常量PI,PI即3.14159*/根據(jù)常量的定義,其值是不能被改變的,所以符號常量只能被引用、不能給符號常量賦值,即程序中不允許出現(xiàn)PI=3.14這樣的賦值語句。例題:2023年2月6日在程序的運行過程中,其值可以改變的量稱為變量。變量必須先定義,再使用。變量本質(zhì)是內(nèi)存中的存儲單元,定義變量的過程是分配空間的過程。3.2.3變量1.變量名

變量的命名遵循標識符的命名規(guī)則,要采用合法的標識符,并且盡量做到“見名知義”,如:sum,count等;注意不能使用C語言中的保留字,如:if,printf等。2.變量的定義方法變量定義的一般形式:類型標識符變量名列表;

類型標識符必須是有效的數(shù)據(jù)類型,變量名列表可以有一個或多個變量,當有多個變量時,變量之間由逗號間隔。例如:inta,b;floatx,y;charch;2023年2月6日3.變量的使用定義變量后,首先應(yīng)該對其賦值,然后可以在程序中引用它或改變值(即重新賦值)。

(1)定義變量時賦值例如:intx=100,sum=0;定義x,sum為int類型變量,同時x被賦初值100,sum被賦初值0(2)在程序運行過程中賦值例如:intx,sum;

x=100;sum=0;注意:變量定義后未賦值就直接使用,則其值是不確定的,會造成結(jié)果不正確。3.3本章知識小結(jié)1.數(shù)據(jù)分為多種類型,基本的有整型、實型、字符型,不同類型的數(shù)據(jù)在內(nèi)存中占用不同大小的存儲空間。2.有5種類型的常量數(shù)據(jù),其中轉(zhuǎn)義字符常量和符號常量是比較特殊的常量形式。3.用變量來存放程序運行中可改變的數(shù)據(jù),任何一個變量必須先定義后使用。2023年2月6日謝謝!Thanks!PPT模板下載:/moban/行業(yè)PPT模板:/hangye/節(jié)日PPT模板:/jieri/PPT素材下載:/suca

溫馨提示

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

評論

0/150

提交評論