版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第3
章數(shù)據(jù)的基本表現(xiàn)形式常量
變量本章的基本內(nèi)容是:【任務(wù)3.1】計(jì)算圓的面積【問題】給定圓的半徑,求圓的面積。【想法】設(shè)圓的半徑為radius,圓的面積為area,則根據(jù)下式求圓的面積:
area=π×radius2
(式4.1)【算法】設(shè)變量radius存儲(chǔ)(表示)圓的半徑,變量area存儲(chǔ)(表示)圓的面積,算法如下:1.給定半徑值radius;2.根據(jù)式4.1計(jì)算圓的面積area;3.輸出area;算法需要處理哪些數(shù)據(jù)?——常量(π)變量(radius)這些數(shù)據(jù)在計(jì)算機(jī)內(nèi)是如何存儲(chǔ)的?3.1常量常量:在程序的運(yùn)行過程中其值不能被改變的量,即不接受程序修改的固定值,例如程序中的具體數(shù)字、字符等。程序設(shè)計(jì)語言中一般提供兩種類型的常量:1.字面常量:常量本身的字面意義就是它所代表的常量值。2.符號(hào)常量:用標(biāo)識(shí)符來代表常量,為字面常量起個(gè)名字。字面常量3.1常量C/C++語言的常量及其數(shù)據(jù)類型常量整型常量(如123,默認(rèn)為int型)實(shí)型常量(如3.14,默認(rèn)為double型)字符常量(如'a')字符串常量(如"abc")數(shù)值型常量字符型常量為什么程序設(shè)計(jì)語言中的常量要區(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(不能含有逗號(hào))八進(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)形式對(duì)應(yīng)的同一個(gè)二進(jìn)制存儲(chǔ)——表示層與表現(xiàn)層。字面常量1.整型常量3.1常量十進(jìn)制10八進(jìn)制012十六進(jìn)制0xA存儲(chǔ)符號(hào)10的補(bǔ)碼0000000000001010高字節(jié)低字節(jié)0000101000000000低字節(jié)高字節(jié)補(bǔ)碼字面常量2.實(shí)型常量實(shí)型常量一般采用十進(jìn)制,其表示形式有小數(shù)形式和指數(shù)形式。3.1常量
示例形式合法的實(shí)型常量表示不合法的實(shí)型常量表示小數(shù)形式12.3,12.0,0.12.3(小數(shù)點(diǎn)前沒有數(shù)字)-12.0,-0.123.(小數(shù)點(diǎn)后沒有數(shù)字)指數(shù)形式1E2,12.3E5,12.3E-51.2E1.5(E之后是小數(shù))-12.3E5,-12.3E-5E5(E之前沒有數(shù)字)默認(rèn)情況下,如果整型常量屬于int型的取值范圍,則編譯器將其作為基本整型來處理,否則作為長(zhǎng)整型處理。為了強(qiáng)制編譯器把常量作為長(zhǎng)整型處理,需要在常量后面加上字母L(或l),例如123L。實(shí)型常量以雙精度double型存儲(chǔ),為了強(qiáng)制編譯器以單精度float型存儲(chǔ)實(shí)型常量,需要在常量后面加上字母F(或f),例如0.12F。字面常量3.1常量字面常量3.字符常量字符常量通常指的是單個(gè)字符,在C語言中用單引號(hào)將單個(gè)字符括起來,如'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反斜杠問號(hào)單引號(hào)雙引號(hào)空字符(NULL)1~3位八進(jìn)制數(shù)所代表的字符1~2位十六進(jìn)制數(shù)所代表的字符字面常量4.字符串常量字符串常量(簡(jiǎn)稱串)通常指的是字符序列,在C語言中用雙引號(hào)將字符序列括起來,如"abc"、"ghj"。在大多數(shù)語言中字符和字符串具有不同的存儲(chǔ)方式和處理方法。3.1常量01100001字符'a'的存儲(chǔ)方式:a的ASCII碼為97\0的ASCII碼為00110000100000000a的ASCII碼為97字符串"a"的存儲(chǔ)方式:符號(hào)常量在C語言中,定義一個(gè)符號(hào)常量需要使用預(yù)處理指令#define?!菊Z法】用#define定義符號(hào)常量的一般形式為:#define符號(hào)常量常量值其中,#define是預(yù)處理指令,因此,行尾不能有分號(hào);符號(hào)常量是一個(gè)標(biāo)識(shí)符;常量值可以是一個(gè)字面常量,也可以是一個(gè)表達(dá)式?!菊Z義】將符號(hào)常量的值定義為常量值,在對(duì)程序進(jìn)行預(yù)編譯時(shí),預(yù)處理器會(huì)把每一個(gè)符號(hào)常量用其表示的常量值進(jìn)行替換。3.1常量符號(hào)常量3.1常量#definePI3.14area=PI*radius*radius;area=3.14*radius*radius;定義符號(hào)常量程序中的語句預(yù)編譯后符號(hào)常量3.1常量#definePI3.14;area=PI*radius*radius;area=3.14;*radius*radius;定義符號(hào)常量程序中的語句預(yù)編譯后預(yù)編譯不進(jìn)行語法檢查,有隱患在編譯階段產(chǎn)生語法錯(cuò)誤符號(hào)常量新的C標(biāo)準(zhǔn)提倡采用const定義符號(hào)常量?!菊Z法】用const定義符號(hào)常量的一般形式如下:
const類型名符號(hào)常量=常量值;其中,類型名是任意合法的數(shù)據(jù)類型,包括基本數(shù)據(jù)類型和自定義數(shù)據(jù)類型;符號(hào)常量是一個(gè)標(biāo)識(shí)符;常量值可以是一個(gè)字面常量,也可以是一個(gè)表達(dá)式,但是其值的數(shù)據(jù)類型必須與類型名兼容;const是一條語句,因此要以分號(hào)結(jié)尾?!菊Z義】定義一個(gè)符號(hào)常量并指定常量值。例如,constdoublePI=3.14;3.1常量使用符號(hào)常量有如下好處:1.程序的可讀性好——見名知意;2.程序的可修改性好——改一處避免處處改。3.避免誤操作——采用統(tǒng)一值。符號(hào)常量3.1常量變量的概念3.2變量變量:在程序的運(yùn)行過程中其值可以被改變的量,變量用一個(gè)標(biāo)識(shí)符來表示,稱為變量名。編譯器在對(duì)源程序進(jìn)行編譯時(shí),會(huì)給每個(gè)變量分配一個(gè)特定大小的存儲(chǔ)單元,并將變量名與這個(gè)存儲(chǔ)單元的起始地址綁定在一起。變量的概念3.2變量變量具有如下屬性:1.地址:變量所在存儲(chǔ)單元的編號(hào);2.變量名:變量所在存儲(chǔ)單元起始地址的助記符;3.變量值:存儲(chǔ)在相應(yīng)存儲(chǔ)單元中的數(shù)據(jù),即該變量的值;4.類型:變量所屬的數(shù)據(jù)類型。F000F003地址weight變量名變量所占存儲(chǔ)單元變量值68.625變量的定義和初始化【語法】變量聲明的一般形式如下:類型說明符
變量名列表;其中,類型說明符必須是有效的數(shù)據(jù)類型,包括基本數(shù)據(jù)類型和自定義數(shù)據(jù)類型;變量名列表是一個(gè)變量名或由逗號(hào)分隔的多個(gè)變量名;最后用分號(hào)表示結(jié)束變量聲明?!菊Z義】將變量名列表的各個(gè)變量聲明為類型說明符的類型,編譯器為各變量分配相應(yīng)的存儲(chǔ)單元。本書中變量的命名方法:除第一個(gè)單詞外的每個(gè)單詞的首字母大寫,例如:studentName、studentAddress。3.2變量變量的屬性由變量聲明規(guī)定,即在變量聲明中引進(jìn)變量并規(guī)定該變量的屬性。變量聲明后編譯器會(huì)給該變量分配一塊存儲(chǔ)空間,但是從程序開始執(zhí)行到給變量賦值之前,該變量是沒有確定值的,這時(shí)稱該變量為“值無定義的”,嚴(yán)格來說,該變量的值是一個(gè)隨機(jī)數(shù)。
intradius,area;//聲明radius和area為整型變量,只能存儲(chǔ)整數(shù)floatlength,width;//聲明length和width為單精度實(shí)型變量,可以存儲(chǔ)小數(shù)變量的定義和初始化4.2變量變量定義的例子:radiusarealengthwidth隨機(jī)數(shù)隨機(jī)數(shù)隨機(jī)數(shù)隨機(jī)數(shù)變量的定義和初始化變量的初始化是指在定義變量的同時(shí)為其賦初值,使該變量成為“值有定義的”?!菊Z法】變量初始化的一般形式如下:類型說明符變量名=值;其中,類型說明符是有效的數(shù)據(jù)類型;變量名必須是一個(gè),如果為多個(gè)變量進(jìn)行初始化,則用逗號(hào)分隔;最后用分號(hào)表示結(jié)束變量的初始化。
【語義】將變量定義為類型說明符表示的類型,并給該變量賦初值。4.2變量變量的定義和初始化4.2變量intradius=10,area;//聲明變量radius和area,同時(shí)為變量radius賦初值floatlength=2.5,width=3.5;//聲明變量length和width同時(shí)賦初值變量初始化的例子:10radiusarea2.5length3.5width隨機(jī)數(shù)102.53.5變量的賦值【語法】變量賦值的一般形式如下:3.2變量變量名=表達(dá)式;只能為變量賦值將表達(dá)式的值存入變量【語義】計(jì)算表達(dá)式的值,然后將這個(gè)值(即表達(dá)式的運(yùn)算結(jié)果)存儲(chǔ)到變量中。變量的賦值3.2變量1#include<stdio.h>2constdoublePI3.14;//定義符號(hào)常量PI34voidmain()5{6intradius;//聲明radius為整型變量,只能存儲(chǔ)整數(shù)7doublearea;//聲明area為實(shí)型變量,可以存儲(chǔ)小數(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變量對(duì)“值有定義的”變量可以重新給它賦予新值,例如:
intradius=10;//定義radius為int型變量,同時(shí)賦初值為10radius=radius+20;①取出變量radius的值;②計(jì)算表達(dá)式的值;③為變量radius存入新值1010+20radius10radius30①③②變量的賦值3.2變量給對(duì)變量賦值需要注意如下兩個(gè)問題:1.取值范圍。由于變量所占的存儲(chǔ)單元是有限的,因此變量能夠表示的數(shù)據(jù)都有一定的取值范圍,對(duì)變量進(jìn)行賦值要保證變量值在這個(gè)范圍內(nèi)。2.數(shù)據(jù)類型。當(dāng)賦值運(yùn)算符“=”兩側(cè)的數(shù)據(jù)類型不一致時(shí),系統(tǒng)將進(jìn)行自動(dòng)類型轉(zhuǎn)換,一般是將右側(cè)表達(dá)式值的數(shù)據(jù)類型轉(zhuǎn)換成左側(cè)變量的數(shù)據(jù)類型。強(qiáng)制類型定義3.2變量大多數(shù)程序設(shè)計(jì)語言要求對(duì)程序中的所有變量必須“先聲明,后使用”,即在變量聲明中定義變量的類型等屬性,稱為變量的強(qiáng)制類型定義。強(qiáng)制類型定義便于編譯器的工作,使編譯
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個(gè)人房地產(chǎn)抵押借款合同智能審核版
- 2025年度個(gè)人車庫買賣與車位使用權(quán)過戶合同2篇
- 二零二五年度模板木枋行業(yè)節(jié)能減排合作合同4篇
- 二零二五年度新型環(huán)保涂料研發(fā)與應(yīng)用推廣合同3篇
- 2025年度模具制造企業(yè)兼職用工合同范本3篇
- 二零二五年度海洋資源開發(fā)合作合同范本共3篇
- 2025年度離婚訴訟訴狀撰寫規(guī)范解讀4篇
- 2025年度個(gè)人二手房交易合同范本(含裝修款及違約責(zé)任)
- 2025年度農(nóng)業(yè)科技園區(qū)配套設(shè)施建設(shè)合同4篇
- 二零二五年度農(nóng)業(yè)科技培訓(xùn)與推廣合同8篇
- 中鐵十四局合同范本
- 農(nóng)耕研學(xué)活動(dòng)方案種小麥
- 七年級(jí)下冊(cè)-備戰(zhàn)2024年中考?xì)v史總復(fù)習(xí)核心考點(diǎn)與重難點(diǎn)練習(xí)(統(tǒng)部編版)
- 2024年佛山市勞動(dòng)合同條例
- 污水管網(wǎng)規(guī)劃建設(shè)方案
- 城鎮(zhèn)智慧排水系統(tǒng)技術(shù)標(biāo)準(zhǔn)
- 采購(gòu)管理制度及流程采購(gòu)管理制度及流程
- 五年級(jí)美術(shù)下冊(cè)第9課《寫意蔬果》-優(yōu)秀課件4人教版
- 節(jié)能降耗課件
- 尼爾森數(shù)據(jù)市場(chǎng)分析報(bào)告
- 氧氣霧化吸入法
評(píng)論
0/150
提交評(píng)論