




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第二講基本數(shù)據(jù)類型第一頁(yè),共二十三頁(yè),2022年,8月28日學(xué)習(xí)目標(biāo):
理解數(shù)值數(shù)據(jù)的表示理解文字?jǐn)?shù)據(jù)的表示理解C語言中數(shù)據(jù)類型的分類熟練應(yīng)用變量的定義和賦值熟練應(yīng)用表達(dá)式中數(shù)據(jù)類型的轉(zhuǎn)換第二頁(yè),共二十三頁(yè),2022年,8月28日學(xué)習(xí)重點(diǎn):
C語言中數(shù)據(jù)類型的分類變量的定義和賦值表達(dá)式中數(shù)據(jù)類型的轉(zhuǎn)換第三頁(yè),共二十三頁(yè),2022年,8月28日學(xué)習(xí)難點(diǎn):表達(dá)式中數(shù)據(jù)類型的轉(zhuǎn)換單個(gè)字符與字符串存儲(chǔ)區(qū)別第四頁(yè),共二十三頁(yè),2022年,8月28日什么是數(shù)據(jù)類型?著名計(jì)算機(jī)科學(xué)家NikiklausWirth提出一個(gè)公式
數(shù)據(jù)結(jié)構(gòu)+算法=程序
實(shí)際上結(jié)構(gòu)化的程序設(shè)計(jì)可以表示為:
程序=算法+數(shù)據(jù)結(jié)構(gòu)+程序設(shè)計(jì)方法+ 語言工具和環(huán)境C的數(shù)據(jù)結(jié)構(gòu)就是以數(shù)據(jù)類型的形式出現(xiàn)的第五頁(yè),共二十三頁(yè),2022年,8月28日一、數(shù)值數(shù)據(jù)的表示(1)C語言中使用的數(shù)值數(shù)據(jù)有兩種:整數(shù)和浮點(diǎn)小數(shù)。整數(shù)
表示形式:十進(jìn)制:123 456八進(jìn)制:011 072十六進(jìn)制:0x11 -0x32
一般整數(shù)的存儲(chǔ)空間為2個(gè)字節(jié),取值范圍一般為-215~215-1,即-32768~32767。如果超過這個(gè)范圍,只有使用占4個(gè)字節(jié)的長(zhǎng)整型數(shù),即在整數(shù)后面加上一個(gè)字母L(大小寫均可),此時(shí)取值范圍可以擴(kuò)大到-231~231-1,即-2147483648~2147483647。
第六頁(yè),共二十三頁(yè),2022年,8月28日一、數(shù)值數(shù)據(jù)的表示(2)浮點(diǎn)小數(shù)
C語言中的浮點(diǎn)小數(shù)描述的是實(shí)數(shù),可以采用十進(jìn)制小數(shù)形式或者指數(shù)形式表示。十進(jìn)制小數(shù)形式:包含整數(shù)部分、小數(shù)點(diǎn)和小數(shù)部分。如1.3234.0注意:其中小數(shù)點(diǎn)不能省略,34與34.0不是一樣的。指數(shù)形式:包含尾數(shù)部分、字母E或e和階碼。例如2.78E12。注意:尾數(shù)部分不能省、階碼必須是整數(shù)。浮點(diǎn)小數(shù)一般為單精度浮點(diǎn)類型,占用4個(gè)字節(jié),有效位數(shù)6~7位,如果需要精度特別高,可以采用雙精度浮點(diǎn)類型,有效位數(shù)可以達(dá)到16~17位。第七頁(yè),共二十三頁(yè),2022年,8月28日二、文字?jǐn)?shù)據(jù)的表示(1)C語言把文字?jǐn)?shù)據(jù)分為兩種類型:?jiǎn)蝹€(gè)字符和字符串。單個(gè)字符
單個(gè)字符的表現(xiàn)形式是由單引號(hào)括起來的一個(gè)字符,例如:’a’
‘A’
‘+’
‘5’
‘$’。其中單引號(hào)、雙引號(hào)和反斜杠的表現(xiàn)形式比較特殊,分別是’\’’、’\”’、’\\’。在C語言中轉(zhuǎn)義字符被認(rèn)為是具有特殊意義的單個(gè)字符,例如’\n’,代表一個(gè)換行符。單個(gè)字符在內(nèi)存中只占用1個(gè)字節(jié),其存儲(chǔ)的內(nèi)容為該字符在ASCII碼表中對(duì)應(yīng)的數(shù)值。第八頁(yè),共二十三頁(yè),2022年,8月28日二、文字?jǐn)?shù)據(jù)的表示(2)字符串
字符串是由雙引號(hào)括起來的字符序列,例如:”thisisaprogram.”
”IloveC”。字符串中的字符按照從左到右的順序,依次存儲(chǔ)在一段連續(xù)的空間里,其中每一個(gè)字符占用一個(gè)字節(jié),其內(nèi)容為該字符在ASCII碼表中對(duì)應(yīng)的數(shù)值。注意:C語言的字符串在實(shí)際存儲(chǔ)時(shí),將自動(dòng)在字符串尾部加了一個(gè)結(jié)束標(biāo)志‘\0’(其ASCII碼值為0)。思考:‘a(chǎn)’“a”是相同的嗎?第九頁(yè),共二十三頁(yè),2022年,8月28日三、C語言的數(shù)據(jù)類型
C語言提供的數(shù)據(jù)類型分類如下:
第十頁(yè),共二十三頁(yè),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第十一頁(yè),共二十三頁(yè),2022年,8月28日數(shù)據(jù)類型及其范圍(2)類型近似大小(位)最小范圍signedshortint8與shortint相同signedshortint8與shortint相同longint32-2,147,483,648到2,147,483,647signedlongint320到4,294,967,295unsignedlongint320到4,294,967,295float32六位精度double64十位精度longdouble128十位精度第十二頁(yè),共二十三頁(yè),2022年,8月28日四、變量的定義和賦值
C語言中的數(shù)據(jù)有兩種基本形式:常量和變量。常量的值是固定的,變量是可以改變的
第十三頁(yè),共二十三頁(yè),2022年,8月28日四、變量的意義15內(nèi)存中的數(shù)據(jù)數(shù)據(jù)15內(nèi)存應(yīng)用程序要為每一項(xiàng)數(shù)據(jù)分配內(nèi)存
需要多少內(nèi)存數(shù)據(jù)被存儲(chǔ)在哪個(gè)通過變量,可以為內(nèi)存中的位置提供一個(gè)有意義的名稱第十四頁(yè),共二十三頁(yè),2022年,8月28日四、變量變量的定義
類型標(biāo)識(shí)符變量名;
變量在定義時(shí)要注意以下幾個(gè)問題:變量的命名要符合C語言規(guī)定的標(biāo)識(shí)符的命名規(guī)則,即只能由字母、數(shù)字和下劃線組成,首字母必須為字母或下劃線。此外C語言中規(guī)定的有特殊用途的關(guān)鍵字,例如int、float、if等,不能作為變量名稱。ab2stu1x1_1sum_name1正確2acstu-1len#1elseintfloat不正確C語言中大小寫是敏感的。但是習(xí)慣上,C中的變量一般用小寫字母表示。第十五頁(yè),共二十三頁(yè),2022年,8月28日四、變量名的命名規(guī)則變量名應(yīng)該以字母開和下劃線開頭應(yīng)該避免使用專有名詞來命名變量第一個(gè)字符后面可以跟字母和數(shù)字變量名應(yīng)該是有意義的而且是描述性的應(yīng)該避免使用可能引起混淆的字母編寫程序時(shí)應(yīng)該遵循一些標(biāo)準(zhǔn)的變量命名約定編寫程序時(shí)應(yīng)該遵循一些標(biāo)準(zhǔn)的變量命名約定第十六頁(yè),共二十三頁(yè),2022年,8月28日四、變量的賦值(1)變量需要預(yù)置一個(gè)值,即賦值。賦值操作通過賦值符號(hào)“=”把右邊的值賦給左邊的變量:
變量名=表達(dá)式;
例如x=3;a=a+1;f=3*4+2;
注意數(shù)學(xué)中的“=”符號(hào)不同于C語言中的賦值符號(hào)“=”。
第十七頁(yè),共二十三頁(yè),2022年,8月28日四、變量的賦值(2)其中需要注意的是:如果賦值時(shí)兩側(cè)類型不一致時(shí),系統(tǒng)將會(huì)作如下處理:將實(shí)數(shù)賦給一個(gè)整型變量時(shí),系統(tǒng)自動(dòng)舍棄小數(shù)部分。將整數(shù)賦給一個(gè)浮點(diǎn)型變量時(shí),系統(tǒng)將保持?jǐn)?shù)值不變并且以浮點(diǎn)小數(shù)形式存儲(chǔ)到變量中。當(dāng)字符型數(shù)據(jù)賦給一個(gè)整型變量時(shí),不同的系統(tǒng)實(shí)現(xiàn)的情況不同,一般當(dāng)該字符的ASCII值小于127時(shí),系統(tǒng)將整型變量的高字節(jié)置0、低字節(jié)存放該字符的ASCII值。第十八頁(yè),共二十三頁(yè),2022年,8月28日四、變量的賦值(3)2、字符型變量的值可以是字符型數(shù)據(jù)、介于-128~127的整數(shù)或者轉(zhuǎn)義字符。3、變量在定義的同時(shí)也可以賦初值,稱作變量的初始化。第十九頁(yè),共二十三頁(yè),2022年,8月28日五、表達(dá)式中數(shù)據(jù)類型轉(zhuǎn)換(1)自動(dòng)類型轉(zhuǎn)換C語言規(guī)定,不同類型的數(shù)據(jù)在參加運(yùn)算前會(huì)自動(dòng)轉(zhuǎn)換成相同類型,再進(jìn)行運(yùn)算。轉(zhuǎn)換的規(guī)則是:如果運(yùn)算的數(shù)據(jù)有float型或double型,自動(dòng)轉(zhuǎn)換成double型再運(yùn)算,結(jié)果為double型。如果運(yùn)算的數(shù)據(jù)中無float型或double型,但是有l(wèi)ong型,數(shù)據(jù)自動(dòng)轉(zhuǎn)換成long型再運(yùn)算,結(jié)果為long型。其余情況為int型。
doublefloatlongunsignedintchar,short高低第二十頁(yè),共二十三頁(yè),2022年,8月28日五、表達(dá)式中數(shù)據(jù)類型轉(zhuǎn)換(2)強(qiáng)制類型轉(zhuǎn)換在C語言中也可以使用強(qiáng)制類型轉(zhuǎn)換符,強(qiáng)迫表達(dá)式的值轉(zhuǎn)換為某一特定類型。強(qiáng)制類型轉(zhuǎn)換形式為:
(類型)表達(dá)式
強(qiáng)制類型轉(zhuǎn)換最主要的的用途一是滿足一些運(yùn)算對(duì)類型的特殊要求,例如求余運(yùn)算符“%”,要求運(yùn)算符兩側(cè)的數(shù)據(jù)為整型,(int)2.5%3二是防止丟失整數(shù)除法中的小數(shù)部分。第二十一頁(yè),共二十三頁(yè),2022年,8月28日五計(jì)算機(jī)中數(shù)據(jù)的表示計(jì)算機(jī)最主要的功能是處理數(shù)據(jù),如數(shù)值、文字、圖形、圖像等。而這些數(shù)據(jù)必須被轉(zhuǎn)換為相應(yīng)的數(shù)字編碼,才能進(jìn)行存儲(chǔ)和處理。二進(jìn)制、八進(jìn)制、十六進(jìn)制進(jìn)制之間的轉(zhuǎn)換二進(jìn)制數(shù)在內(nèi)存中的表示字符編碼第二十二頁(yè),共二十三頁(yè),2022年,8月28日學(xué)以致用編程輸出字符0、9、A、Z、a、z的ACSII碼的十進(jìn)制、八進(jìn)制和十六進(jìn)制的表示形式。參考例L2_6.C編寫一個(gè)程序,從鍵盤輸入字符(例如’1’),轉(zhuǎn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 糧食運(yùn)輸合同樣本
- 2025年食品行業(yè)銷售領(lǐng)導(dǎo)勞動(dòng)合同格式
- 2025年協(xié)調(diào)合作合同
- 2025年個(gè)體工商戶保證借款合同范本
- 【正版授權(quán)】 ISO 5106:2025 EN Traditional Chinese medicine - Polygala tenuifolia and Polygala sibirica root
- 2025年企業(yè)經(jīng)濟(jì)責(zé)任承包合同模板
- 2025年健身機(jī)構(gòu)會(huì)員康復(fù)治療合同
- 會(huì)議評(píng)估及績(jī)效考核合同
- 2025年農(nóng)副產(chǎn)品策劃采購(gòu)策略與銷售合同
- 2025年合同擔(dān)保方權(quán)益與責(zé)任綜述
- 2024年廣東高考(新課標(biāo)I卷)語文試題及參考答案
- XX衛(wèi)生院關(guān)于落實(shí)國(guó)家組織藥品集中采購(gòu)使用檢測(cè)和應(yīng)急預(yù)案及培訓(xùn)記錄
- 人教版八年級(jí)地理下冊(cè)教材分析
- Part3-4 Unit4 Volunteer Work課件-【中職專用】高一英語精研課堂(高教版2021·基礎(chǔ)模塊2)
- 法律援助課件
- 粒籽源永久性植入治療放射防護(hù)要求
- 雙減政策之下老師如何打造高效課堂
- 新員工入職健康體檢表
- 養(yǎng)老院行業(yè)現(xiàn)狀分析-2023年中國(guó)養(yǎng)老院行業(yè)市場(chǎng)發(fā)展前景研究報(bào)告-智研咨詢
- 廣東省特種作業(yè)操作證核發(fā)申請(qǐng)表
- 胸腔穿刺知情同意書
評(píng)論
0/150
提交評(píng)論