




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第3
章數(shù)據(jù)的基本表現(xiàn)形式常量
變量本章的基本內(nèi)容是:【任務(wù)3.1】計算圓的面積【問題】給定圓的半徑,求圓的面積?!鞠敕ā吭O(shè)圓的半徑為radius,圓的面積為area,則根據(jù)下式求圓的面積:
area=π×radius2
(式4.1)【算法】設(shè)變量radius存儲(表示)圓的半徑,變量area存儲(表示)圓的面積,算法如下:1.給定半徑值radius;2.根據(jù)式4.1計算圓的面積area;3.輸出area;算法需要處理哪些數(shù)據(jù)?——常量(π)變量(radius)這些數(shù)據(jù)在計算機內(nèi)是如何存儲的?3.1常量常量:在程序的運行過程中其值不能被改變的量,即不接受程序修改的固定值,例如程序中的具體數(shù)字、字符等。程序設(shè)計語言中一般提供兩種類型的常量:1.字面常量:常量本身的字面意義就是它所代表的常量值。2.符號常量:用標(biāo)識符來代表常量,為字面常量起個名字。字面常量3.1常量C/C++語言的常量及其數(shù)據(jù)類型常量整型常量(如123,默認(rèn)為int型)實型常量(如3.14,默認(rèn)為double型)字符常量(如'a')字符串常量(如"abc")數(shù)值型常量字符型常量為什么程序設(shè)計語言中的常量要區(qū)分?jǐn)?shù)據(jù)類型?字面常量1.整型常量整型常量一般用來表示數(shù)學(xué)中的整數(shù)。3.1常量
示例進(jìn)制合法的整型常量表示不合法的整型常量表示十進(jìn)制123(十進(jìn)制整數(shù)123)0123(不能有前導(dǎo)0)-123(十進(jìn)制整數(shù)-123)12A(不能含有非十進(jìn)制數(shù)碼)+123(十進(jìn)制整數(shù)123)-123,456(不能含有逗號)八進(jìn)制0123(十進(jìn)制整數(shù)83)123(無前導(dǎo)0)-0123(十進(jìn)制整數(shù)-83)087(不能含有非八進(jìn)制數(shù)碼)+0123(十進(jìn)制整數(shù)83)O123(前導(dǎo)不能是字母O或o)十六進(jìn)制0x123(十進(jìn)制整數(shù)291)0x9G7(不能含有非十六進(jìn)制數(shù)碼)0x9F(十進(jìn)制整數(shù)159)5A(無前導(dǎo)0x或0X)-0X1AF0(十進(jìn)制整數(shù)-6896)OX12A(前導(dǎo)不能是字母O或o)不同進(jìn)制的表現(xiàn)形式對應(yīng)的同一個二進(jìn)制存儲——表示層與表現(xiàn)層。字面常量1.整型常量3.1常量十進(jìn)制10八進(jìn)制012十六進(jìn)制0xA存儲符號10的補碼0000000000001010高字節(jié)低字節(jié)0000101000000000低字節(jié)高字節(jié)補碼字面常量2.實型常量實型常量一般采用十進(jìn)制,其表示形式有小數(shù)形式和指數(shù)形式。3.1常量
示例形式合法的實型常量表示不合法的實型常量表示小數(shù)形式12.3,12.0,0.12.3(小數(shù)點前沒有數(shù)字)-12.0,-0.123.(小數(shù)點后沒有數(shù)字)指數(shù)形式1E2,12.3E5,12.3E-51.2E1.5(E之后是小數(shù))-12.3E5,-12.3E-5E5(E之前沒有數(shù)字)默認(rèn)情況下,如果整型常量屬于int型的取值范圍,則編譯器將其作為基本整型來處理,否則作為長整型處理。為了強制編譯器把常量作為長整型處理,需要在常量后面加上字母L(或l),例如123L。實型常量以雙精度double型存儲,為了強制編譯器以單精度float型存儲實型常量,需要在常量后面加上字母F(或f),例如0.12F。字面常量3.1常量字面常量3.字符常量字符常量通常指的是單個字符,在C語言中用單引號將單個字符括起來,如'a'、'b'、'c'。轉(zhuǎn)義字符(用于描述不可見字符)以反斜線“\”開頭,其含義是將反斜線后面的字符轉(zhuǎn)換成另外的含義。3.1常量轉(zhuǎn)義字符含義轉(zhuǎn)義字符含義\a\b\f\n\r\t\v響鈴(BEL)退格換頁換行回車水平跳格(tab)垂直跳格\\\?\'\"\0\ddd\xhh反斜杠問號單引號雙引號空字符(NULL)1~3位八進(jìn)制數(shù)所代表的字符1~2位十六進(jìn)制數(shù)所代表的字符字面常量4.字符串常量字符串常量(簡稱串)通常指的是字符序列,在C語言中用雙引號將字符序列括起來,如"abc"、"ghj"。在大多數(shù)語言中字符和字符串具有不同的存儲方式和處理方法。3.1常量01100001字符'a'的存儲方式:a的ASCII碼為97\0的ASCII碼為00110000100000000a的ASCII碼為97字符串"a"的存儲方式:符號常量在C語言中,定義一個符號常量需要使用預(yù)處理指令#define?!菊Z法】用#define定義符號常量的一般形式為:#define符號常量常量值其中,#define是預(yù)處理指令,因此,行尾不能有分號;符號常量是一個標(biāo)識符;常量值可以是一個字面常量,也可以是一個表達(dá)式?!菊Z義】將符號常量的值定義為常量值,在對程序進(jìn)行預(yù)編譯時,預(yù)處理器會把每一個符號常量用其表示的常量值進(jìn)行替換。3.1常量符號常量3.1常量#definePI3.14area=PI*radius*radius;area=3.14*radius*radius;定義符號常量程序中的語句預(yù)編譯后符號常量3.1常量#definePI3.14;area=PI*radius*radius;area=3.14;*radius*radius;定義符號常量程序中的語句預(yù)編譯后預(yù)編譯不進(jìn)行語法檢查,有隱患在編譯階段產(chǎn)生語法錯誤符號常量新的C標(biāo)準(zhǔn)提倡采用const定義符號常量?!菊Z法】用const定義符號常量的一般形式如下:
const類型名符號常量=常量值;其中,類型名是任意合法的數(shù)據(jù)類型,包括基本數(shù)據(jù)類型和自定義數(shù)據(jù)類型;符號常量是一個標(biāo)識符;常量值可以是一個字面常量,也可以是一個表達(dá)式,但是其值的數(shù)據(jù)類型必須與類型名兼容;const是一條語句,因此要以分號結(jié)尾。【語義】定義一個符號常量并指定常量值。例如,constdoublePI=3.14;3.1常量使用符號常量有如下好處:1.程序的可讀性好——見名知意;2.程序的可修改性好——改一處避免處處改。3.避免誤操作——采用統(tǒng)一值。符號常量3.1常量變量的概念3.2變量變量:在程序的運行過程中其值可以被改變的量,變量用一個標(biāo)識符來表示,稱為變量名。編譯器在對源程序進(jìn)行編譯時,會給每個變量分配一個特定大小的存儲單元,并將變量名與這個存儲單元的起始地址綁定在一起。變量的概念3.2變量變量具有如下屬性:1.地址:變量所在存儲單元的編號;2.變量名:變量所在存儲單元起始地址的助記符;3.變量值:存儲在相應(yīng)存儲單元中的數(shù)據(jù),即該變量的值;4.類型:變量所屬的數(shù)據(jù)類型。F000F003地址weight變量名變量所占存儲單元變量值68.625變量的定義和初始化【語法】變量聲明的一般形式如下:類型說明符
變量名列表;其中,類型說明符必須是有效的數(shù)據(jù)類型,包括基本數(shù)據(jù)類型和自定義數(shù)據(jù)類型;變量名列表是一個變量名或由逗號分隔的多個變量名;最后用分號表示結(jié)束變量聲明。【語義】將變量名列表的各個變量聲明為類型說明符的類型,編譯器為各變量分配相應(yīng)的存儲單元。本書中變量的命名方法:除第一個單詞外的每個單詞的首字母大寫,例如:studentName、studentAddress。3.2變量變量的屬性由變量聲明規(guī)定,即在變量聲明中引進(jìn)變量并規(guī)定該變量的屬性。變量聲明后編譯器會給該變量分配一塊存儲空間,但是從程序開始執(zhí)行到給變量賦值之前,該變量是沒有確定值的,這時稱該變量為“值無定義的”,嚴(yán)格來說,該變量的值是一個隨機數(shù)。
intradius,area;//聲明radius和area為整型變量,只能存儲整數(shù)floatlength,width;//聲明length和width為單精度實型變量,可以存儲小數(shù)變量的定義和初始化4.2變量變量定義的例子:radiusarealengthwidth隨機數(shù)隨機數(shù)隨機數(shù)隨機數(shù)變量的定義和初始化變量的初始化是指在定義變量的同時為其賦初值,使該變量成為“值有定義的”?!菊Z法】變量初始化的一般形式如下:類型說明符變量名=值;其中,類型說明符是有效的數(shù)據(jù)類型;變量名必須是一個,如果為多個變量進(jìn)行初始化,則用逗號分隔;最后用分號表示結(jié)束變量的初始化。
【語義】將變量定義為類型說明符表示的類型,并給該變量賦初值。4.2變量變量的定義和初始化4.2變量intradius=10,area;//聲明變量radius和area,同時為變量radius賦初值floatlength=2.5,width=3.5;//聲明變量length和width同時賦初值變量初始化的例子:10radiusarea2.5length3.5width隨機數(shù)102.53.5變量的賦值【語法】變量賦值的一般形式如下:3.2變量變量名=表達(dá)式;只能為變量賦值將表達(dá)式的值存入變量【語義】計算表達(dá)式的值,然后將這個值(即表達(dá)式的運算結(jié)果)存儲到變量中。變量的賦值3.2變量1#include<stdio.h>2constdoublePI3.14;//定義符號常量PI34voidmain()5{6intradius;//聲明radius為整型變量,只能存儲整數(shù)7doublearea;//聲明area為實型變量,可以存儲小數(shù)8radius=10;9area=PI*radius*radius;10printf("radius=%d\n",radius);11printf("area=%5.2f",area);12}10radiusarea103.14*10*10314.0變量的賦值3.2變量對“值有定義的”變量可以重新給它賦予新值,例如:
intradius=10;//定義radius為int型變量,同時賦初值為10radius=radius+20;①取出變量radius的值;②計算表達(dá)式的值;③為變量radius存入新值1010+20radius10radius30①③②變量的賦值3.2變量給對變量賦值需要注意如下兩個問題:1.取值范圍。由于變量所占的存儲單元是有限的,因此變量能夠表示的數(shù)據(jù)都有一定的取值范圍,對變量進(jìn)行賦值要保證變量值在這個范圍內(nèi)。2.數(shù)據(jù)類型。當(dāng)賦值運算符“=”兩側(cè)的數(shù)據(jù)類型不一致時,系統(tǒng)將進(jìn)行自動類型轉(zhuǎn)換,一般是將右側(cè)表達(dá)式值的數(shù)據(jù)類型轉(zhuǎn)換成左側(cè)變量的數(shù)據(jù)類型。強制類型定義3.2變量大多數(shù)程序設(shè)計語言要求對程序中的所有變量必須“先聲明,后使用”,即在變量聲明中定義變量的類型等屬性,稱為變量的強制類型定義。強制類型定義便于編譯器的工作,使編譯
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第1課 從食物采集到食物生產(chǎn) 教學(xué)設(shè)計-2024-2025學(xué)年高二歷史統(tǒng)編版(2019)選擇性必修2經(jīng)濟與社會生活
- 引水工程涂塑鋼管施工方案
- 7開國大典 第二課時 教學(xué)設(shè)計-2024-2025學(xué)年語文六年級上冊統(tǒng)編版
- 16 《太陽》第二課時教學(xué)設(shè)計-2024-2025學(xué)年統(tǒng)編版五年級語文上冊
- 2025至2031年中國皮鏢套行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國多股塑鋼繩行業(yè)投資前景及策略咨詢研究報告
- 瑞麗木結(jié)構(gòu)建筑施工方案
- 2025至2030年中國鋅合金數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國矮豐靈數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國歐式立體枕數(shù)據(jù)監(jiān)測研究報告
- 餐飲業(yè)的供應(yīng)鏈管理與優(yōu)化
- 《證券法培訓(xùn)》課件
- 心律失常介入并發(fā)癥及預(yù)防
- 2024年鐵嶺衛(wèi)生職業(yè)學(xué)院高職單招語文歷年參考題庫含答案解析
- 大班美術(shù)活動:傳統(tǒng)的節(jié)日
- 口腔醫(yī)院市場營銷新入職員工培訓(xùn)
- 鞋類代理合作協(xié)議
- 防滑防摔倒安全教育
- 乳腺癌課件教學(xué)課件
- 連續(xù)性腎替代治療抗菌藥物劑量調(diào)整專家共識(2024年版)解讀
- 腦梗死臨床表現(xiàn)護理
評論
0/150
提交評論