第二講基本數(shù)據(jù)類型_第1頁
第二講基本數(shù)據(jù)類型_第2頁
第二講基本數(shù)據(jù)類型_第3頁
第二講基本數(shù)據(jù)類型_第4頁
第二講基本數(shù)據(jù)類型_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第二講基本數(shù)據(jù)類型第一頁,共二十三頁,2022年,8月28日學習目標:

理解數(shù)值數(shù)據(jù)的表示理解文字數(shù)據(jù)的表示理解C語言中數(shù)據(jù)類型的分類熟練應(yīng)用變量的定義和賦值熟練應(yīng)用表達式中數(shù)據(jù)類型的轉(zhuǎn)換第二頁,共二十三頁,2022年,8月28日學習重點:

C語言中數(shù)據(jù)類型的分類變量的定義和賦值表達式中數(shù)據(jù)類型的轉(zhuǎn)換第三頁,共二十三頁,2022年,8月28日學習難點:表達式中數(shù)據(jù)類型的轉(zhuǎn)換單個字符與字符串存儲區(qū)別第四頁,共二十三頁,2022年,8月28日什么是數(shù)據(jù)類型?著名計算機科學家NikiklausWirth提出一個公式

數(shù)據(jù)結(jié)構(gòu)+算法=程序

實際上結(jié)構(gòu)化的程序設(shè)計可以表示為:

程序=算法+數(shù)據(jù)結(jié)構(gòu)+程序設(shè)計方法+ 語言工具和環(huán)境C的數(shù)據(jù)結(jié)構(gòu)就是以數(shù)據(jù)類型的形式出現(xiàn)的第五頁,共二十三頁,2022年,8月28日一、數(shù)值數(shù)據(jù)的表示(1)C語言中使用的數(shù)值數(shù)據(jù)有兩種:整數(shù)和浮點小數(shù)。整數(shù)

表示形式:十進制:123 456八進制:011 072十六進制:0x11 -0x32

一般整數(shù)的存儲空間為2個字節(jié),取值范圍一般為-215~215-1,即-32768~32767。如果超過這個范圍,只有使用占4個字節(jié)的長整型數(shù),即在整數(shù)后面加上一個字母L(大小寫均可),此時取值范圍可以擴大到-231~231-1,即-2147483648~2147483647。

第六頁,共二十三頁,2022年,8月28日一、數(shù)值數(shù)據(jù)的表示(2)浮點小數(shù)

C語言中的浮點小數(shù)描述的是實數(shù),可以采用十進制小數(shù)形式或者指數(shù)形式表示。十進制小數(shù)形式:包含整數(shù)部分、小數(shù)點和小數(shù)部分。如1.3234.0注意:其中小數(shù)點不能省略,34與34.0不是一樣的。指數(shù)形式:包含尾數(shù)部分、字母E或e和階碼。例如2.78E12。注意:尾數(shù)部分不能省、階碼必須是整數(shù)。浮點小數(shù)一般為單精度浮點類型,占用4個字節(jié),有效位數(shù)6~7位,如果需要精度特別高,可以采用雙精度浮點類型,有效位數(shù)可以達到16~17位。第七頁,共二十三頁,2022年,8月28日二、文字數(shù)據(jù)的表示(1)C語言把文字數(shù)據(jù)分為兩種類型:單個字符和字符串。單個字符

單個字符的表現(xiàn)形式是由單引號括起來的一個字符,例如:’a’

‘A’

‘+’

‘5’

‘$’。其中單引號、雙引號和反斜杠的表現(xiàn)形式比較特殊,分別是’\’’、’\”’、’\\’。在C語言中轉(zhuǎn)義字符被認為是具有特殊意義的單個字符,例如’\n’,代表一個換行符。單個字符在內(nèi)存中只占用1個字節(jié),其存儲的內(nèi)容為該字符在ASCII碼表中對應(yīng)的數(shù)值。第八頁,共二十三頁,2022年,8月28日二、文字數(shù)據(jù)的表示(2)字符串

字符串是由雙引號括起來的字符序列,例如:”thisisaprogram.”

”IloveC”。字符串中的字符按照從左到右的順序,依次存儲在一段連續(xù)的空間里,其中每一個字符占用一個字節(jié),其內(nèi)容為該字符在ASCII碼表中對應(yīng)的數(shù)值。注意:C語言的字符串在實際存儲時,將自動在字符串尾部加了一個結(jié)束標志‘\0’(其ASCII碼值為0)。思考:‘a(chǎn)’“a”是相同的嗎?第九頁,共二十三頁,2022年,8月28日三、C語言的數(shù)據(jù)類型

C語言提供的數(shù)據(jù)類型分類如下:

第十頁,共二十三頁,2022年,8月28日數(shù)據(jù)類型及其范圍2-1類型近似大?。ㄎ唬┳钚》秶鷆har8-128到127unsigned80到255signedchar8-128到127int16-32,768到32,767unsignedint160到65,535signedint16與int相同shortint16與int相同unsignedshortint80到65,535第十一頁,共二十三頁,2022年,8月28日數(shù)據(jù)類型及其范圍(2)類型近似大?。ㄎ唬┳钚》秶鷖ignedshortint8與shortint相同signedshortint8與shortint相同longint32-2,147,483,648到2,147,483,647signedlongint320到4,294,967,295unsignedlongint320到4,294,967,295float32六位精度double64十位精度longdouble128十位精度第十二頁,共二十三頁,2022年,8月28日四、變量的定義和賦值

C語言中的數(shù)據(jù)有兩種基本形式:常量和變量。常量的值是固定的,變量是可以改變的

第十三頁,共二十三頁,2022年,8月28日四、變量的意義15內(nèi)存中的數(shù)據(jù)數(shù)據(jù)15內(nèi)存應(yīng)用程序要為每一項數(shù)據(jù)分配內(nèi)存

需要多少內(nèi)存數(shù)據(jù)被存儲在哪個通過變量,可以為內(nèi)存中的位置提供一個有意義的名稱第十四頁,共二十三頁,2022年,8月28日四、變量變量的定義

類型標識符變量名;

變量在定義時要注意以下幾個問題:變量的命名要符合C語言規(guī)定的標識符的命名規(guī)則,即只能由字母、數(shù)字和下劃線組成,首字母必須為字母或下劃線。此外C語言中規(guī)定的有特殊用途的關(guān)鍵字,例如int、float、if等,不能作為變量名稱。ab2stu1x1_1sum_name1正確2acstu-1len#1elseintfloat不正確C語言中大小寫是敏感的。但是習慣上,C中的變量一般用小寫字母表示。第十五頁,共二十三頁,2022年,8月28日四、變量名的命名規(guī)則變量名應(yīng)該以字母開和下劃線開頭應(yīng)該避免使用專有名詞來命名變量第一個字符后面可以跟字母和數(shù)字變量名應(yīng)該是有意義的而且是描述性的應(yīng)該避免使用可能引起混淆的字母編寫程序時應(yīng)該遵循一些標準的變量命名約定編寫程序時應(yīng)該遵循一些標準的變量命名約定第十六頁,共二十三頁,2022年,8月28日四、變量的賦值(1)變量需要預(yù)置一個值,即賦值。賦值操作通過賦值符號“=”把右邊的值賦給左邊的變量:

變量名=表達式;

例如x=3;a=a+1;f=3*4+2;

注意數(shù)學中的“=”符號不同于C語言中的賦值符號“=”。

第十七頁,共二十三頁,2022年,8月28日四、變量的賦值(2)其中需要注意的是:如果賦值時兩側(cè)類型不一致時,系統(tǒng)將會作如下處理:將實數(shù)賦給一個整型變量時,系統(tǒng)自動舍棄小數(shù)部分。將整數(shù)賦給一個浮點型變量時,系統(tǒng)將保持數(shù)值不變并且以浮點小數(shù)形式存儲到變量中。當字符型數(shù)據(jù)賦給一個整型變量時,不同的系統(tǒng)實現(xiàn)的情況不同,一般當該字符的ASCII值小于127時,系統(tǒng)將整型變量的高字節(jié)置0、低字節(jié)存放該字符的ASCII值。第十八頁,共二十三頁,2022年,8月28日四、變量的賦值(3)2、字符型變量的值可以是字符型數(shù)據(jù)、介于-128~127的整數(shù)或者轉(zhuǎn)義字符。3、變量在定義的同時也可以賦初值,稱作變量的初始化。第十九頁,共二十三頁,2022年,8月28日五、表達式中數(shù)據(jù)類型轉(zhuǎn)換(1)自動類型轉(zhuǎn)換C語言規(guī)定,不同類型的數(shù)據(jù)在參加運算前會自動轉(zhuǎn)換成相同類型,再進行運算。轉(zhuǎn)換的規(guī)則是:如果運算的數(shù)據(jù)有float型或double型,自動轉(zhuǎn)換成double型再運算,結(jié)果為double型。如果運算的數(shù)據(jù)中無float型或double型,但是有l(wèi)ong型,數(shù)據(jù)自動轉(zhuǎn)換成long型再運算,結(jié)果為long型。其余情況為int型。

doublefloatlongunsignedintchar,short高低第二十頁,共二十三頁,2022年,8月28日五、表達式中數(shù)據(jù)類型轉(zhuǎn)換(2)強制類型轉(zhuǎn)換在C語言中也可以使用強制類型轉(zhuǎn)換符,強迫表達式的值轉(zhuǎn)換為某一特定類型。強制類型轉(zhuǎn)換形式為:

(類型)表達式

強制類型轉(zhuǎn)換最主要的的用途一是滿足一些運算對類型的特殊要求,例如求余運算符“%”,要求運算符兩側(cè)的數(shù)據(jù)為整型,(int)2.5%3二是防止丟失整數(shù)除法中的小數(shù)部分。第二十一頁,共二十三頁,2022年,8月28日五計算機中數(shù)據(jù)的表示計算機最主要的功能是處理數(shù)據(jù),如數(shù)值、文字、圖形、圖像等。而這些數(shù)據(jù)必須被轉(zhuǎn)換為相應(yīng)的數(shù)字編碼,才能進行存儲和處理。二進制、八進制、十六進制進制之間的轉(zhuǎn)換二進制數(shù)在內(nèi)存中的表示字符編碼第二十二頁,共二十三頁,2022年,8月28日學以致用編程輸出字符0、9、A、Z、a、z的ACSII碼的十進制、八進制和十六進制的表示形式。參考例L2_6.C編寫一個程序,從鍵盤輸入字符(例如’1’),轉(zhuǎn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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

提交評論