版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 第三章 數(shù)據(jù)類型、運(yùn)算符 與 表達(dá)式 3.1 C 的數(shù)據(jù)類型基本類型 (整型、實(shí)型、字符型、枚舉型)構(gòu)造類型 (略)指針類型 (略) 空類型 各類型包含與變量1 3.2 常量與變量 常量與符號(hào)常量 常量 在程序運(yùn)行過(guò)程中其值保持不變的量。 符號(hào)常量 用來(lái)代表一個(gè)常量的標(biāo)識(shí)符。 #define PI 3.14159262 例: #define PI 3.1415926 main() float r=2,c; c=2*PI*r; printf(“%f”,c); 3 變量 其值可以改變的量。 變量的三要素: 變量名每個(gè)變量有一個(gè)名字,作為識(shí)別該變量的標(biāo)識(shí)符。 變量的值 每個(gè)變量有一個(gè)值,變量的值是
2、隨時(shí)可以改變的。4 變量的存儲(chǔ)單元 每個(gè)變量占據(jù)一個(gè)內(nèi)存單元,用于存放變量的值。 變量名 a 變量值 存儲(chǔ)單元35 變量的命名規(guī)則: 由字母、數(shù)字和下劃線組成 以字母或下劃線開頭 a、x1、y_2、_b1、_1c 合法 1x、a+2、 不合法 變量必須先定義后使用。 程序中何時(shí)使用常量?何時(shí)使用變量?6 3.3 整型數(shù)據(jù) 整型常量 即整常數(shù),c的整常數(shù)有三種形式: 十進(jìn)制整數(shù) 與數(shù)學(xué)中的整數(shù)一致,如:100,123,15等。 八進(jìn)制整數(shù) 以0開頭的整數(shù),如:010,07,020等。 十六進(jìn)制整數(shù) 以0 x開頭的整數(shù),如:0 x10,0 xff,0 x2a等。7 整型變量 用于存放整數(shù)的變量。
3、分4種類型: 基本型:int a 16位,可表示的數(shù)值范圍:-3276832767 短整型:short int b 16位,可表示的數(shù)值范圍:-3276832767 長(zhǎng)整型:long int c 32位,數(shù)值范圍:-214748364821474836478 無(wú)符號(hào)型:加上 unsigned 只存放正數(shù)。 如:unsigned int x 變量x為無(wú)符號(hào)整數(shù),16位全表示數(shù)碼, 數(shù)值范圍:065535 在程序設(shè)計(jì)中,如果要使用整型變量,必須首先選擇以上類型符來(lái)定義變量,然后才能使用; 9 例: main() 定義 int a,b,c; a=100; b=50; 使用 c=a+b; printf
4、(“%d”,c); 一般根據(jù)什么原則選擇變量的類型?10 3.4 實(shí)型數(shù)據(jù) 實(shí)型常量 可使用兩種形式表示: 小數(shù)形式:如 1.23, 3.1415926 15.48 指數(shù)形式:如 1e-20 1.23e5 11 實(shí)型變量 用于存放實(shí)數(shù)的變量 分單精度和雙精度兩種: float a,b 定義a和b為單精度型變量 32位,7位有效數(shù)字,10-381038 double x,y 定義x和y為雙精度型變量 64位,15位有效數(shù)字,10-3081030812 例: main() float r,c; double r,c; r=5; c=2*3.1415926; printf(“%f”,c); 13 3
5、.5 字符型數(shù)據(jù) 字符常量 用單引號(hào)括起來(lái)的一個(gè)字符。 a,x,*,1等 除此外,以開頭的字符如n,t等 稱為轉(zhuǎn)義字符,祥見書表3.314 字符型變量 用于存放字符的變量。 char c1,c2 定義c1和c2為字符型變量 c1=a; c2=b; 字符賦值 字符型變量存放一個(gè)字符,占據(jù)一個(gè)字節(jié)15 字符型數(shù)據(jù)的存儲(chǔ)形式 存放ASCII碼 不是 而是 如字符a在內(nèi)存中存放97,b 存放98。 與整數(shù)的存儲(chǔ)形式一致,它們之間可以通用 一個(gè)字符數(shù)據(jù)既可以作字符用,也可以作整數(shù)用(取其ASCII代碼)。 如:32+a相當(dāng)于 32+97 若 int x; char c;則 x=a; c=97; x=97
6、; c=a; 都允許 a9716 字符串常量 用雙引號(hào)括起來(lái)的字符序列。 如:”abcde”,”china” ”a”也屬字符串。 注意”a”與a的區(qū)別。 對(duì)于: char c; c=”a”; 用法錯(cuò)誤17 字符串中每個(gè)字符各占一個(gè)字節(jié),并且在字符串結(jié)尾加上一個(gè)結(jié)束標(biāo)記0 如:”china” 在內(nèi)存中占6個(gè)字節(jié)。 c h i n a 0 C語(yǔ)言中專門的字符串變量,可用字符數(shù)組存放(以后介紹)。18 3.6 變量賦初值 在定義變量的同時(shí)給相應(yīng)的變量賦初值。 如: int a=3; a float b=5.2; char c=a; int x=y=z=6; 效果: 在給變量分配內(nèi)存單元的同時(shí)在相應(yīng)的
7、單 元中存放初值。 319 3.7 各數(shù)值型數(shù)據(jù)間的混合運(yùn)算 整型、實(shí)型、字符型數(shù)據(jù)間可以進(jìn)行混合運(yùn)算,如: 10-a*1.5 運(yùn)算時(shí),參加運(yùn)算的兩個(gè)數(shù)據(jù)如果類型不同,則首先將其類型轉(zhuǎn)換成一致再運(yùn)算,轉(zhuǎn)換規(guī)則是: 將優(yōu)先級(jí)低的類型轉(zhuǎn)換到優(yōu)先級(jí)高的類型20 數(shù)據(jù)類型的優(yōu)先級(jí): 高 double float long unsignde 低 int char21 3.8 算術(shù)運(yùn)算符與算術(shù)表達(dá)式 基本的算術(shù)運(yùn)算符 + - * / % 算術(shù)表達(dá)式 用算術(shù)運(yùn)算符將運(yùn)算對(duì)象連接起來(lái)的式子 用于表達(dá)數(shù)學(xué)公式的式子 如:2*x+y-1/a 表達(dá)式經(jīng)過(guò)運(yùn)算最終得到一個(gè)值: 算術(shù)表達(dá)式的值22 運(yùn)算符的優(yōu)先級(jí)與結(jié)合
8、性 優(yōu)先級(jí): 在對(duì)表達(dá)式求值時(shí),如果存在多個(gè)運(yùn)算符,則運(yùn)算的先后次序按運(yùn)算符的優(yōu)先級(jí)別從高到底進(jìn)行。 運(yùn)算符的優(yōu)先級(jí)關(guān)系為: 高:* / % 低:+ - 如:a-2*x 先算 * 2*(a+2) 有括號(hào)的情況? 23 結(jié)合性: 如果在一個(gè)運(yùn)算對(duì)象兩邊的運(yùn)算符的優(yōu)先級(jí)相同,則按規(guī)定的“結(jié)合方向”處理。 如:a-b+c b與-結(jié)合是從左到右,稱“左結(jié)合性”。 b與+結(jié)合是從右到左,稱“右結(jié)合性”。 每個(gè)運(yùn)算符都有相應(yīng)的優(yōu)先級(jí)和結(jié)合性。 基本算術(shù)運(yùn)算符都是左結(jié)合性。 24計(jì)算表達(dá)式例: 2+A-1/2.0 1+3/2-1構(gòu)造表達(dá)式例 2x2+3x-1 a+b a-b a+b a-b x+y x-ya
9、+b/a-b ?(a+b)/(a-b)2*x*x+3*x-1 (*不能?。?a+b)/(a-b)/(x+y)/(x-y)(a+b)/(a-b)/(x+y)/(x-y)(a+b)/(a-b)/(x+y)*(x-y)25 強(qiáng)制類型轉(zhuǎn)換可以用強(qiáng)制類型轉(zhuǎn)換運(yùn)算符將一個(gè)表達(dá)式的值轉(zhuǎn)換成所需類型:如: (int)(x+y) (float)(7%3)26 應(yīng)用舉例: int a=200,b=300,c; c=a*b/100; ? 可知,有自動(dòng)轉(zhuǎn)換和強(qiáng)制轉(zhuǎn)換, 當(dāng)自動(dòng)轉(zhuǎn)換達(dá)不到目的時(shí),可用強(qiáng)制轉(zhuǎn)換。c=(long)a*b/100;c=(long)(a*b)/100;27 自增、自減運(yùn)算符 自增運(yùn)算符:+ 使變
10、量值加1 自減運(yùn)算符:- 使變量值減1 兩種用法: +i, -i 先加(減)后用 i+, i- 先用后加(減) 兩種用法對(duì)i效果一樣,但表達(dá)式的值不同。例:假設(shè)i的原值為5: j=+i; j=? j=i+; j=?28 注意:+和-只能用于變量。 如:3+和(a+1)+ 不合法+和-為右結(jié)合性。 (-i)+ -i+ -(i+)若i的原值是5,則該表達(dá)式的值是多少?29 例:分析執(zhí)行下列語(yǔ)句后的結(jié)果: a=5; a b c d b=a+; c=-a-b+; d=(a+)-(+b)+c-;5565067-26-130 兩種特殊情況: k=(i+)+(i+)+(i+) i+j 是 i+(+j) 還是
11、 (i+)+j ? i+雖然與i=i+1等效,但使用自增自減運(yùn)算符的代碼優(yōu)化程度好,因而經(jīng)常使用;但用時(shí)需特別小心。31 3.9 賦值運(yùn)算符和賦值表達(dá)式 賦值運(yùn)算符 “=”稱賦值運(yùn)算符,其作用是將一個(gè)數(shù)據(jù)賦給一個(gè)變量。 如: a=5 不要理解為“等號(hào)”。 執(zhí)行賦值運(yùn)算的結(jié)果,是將右邊的數(shù)據(jù)存入左邊變量所對(duì)應(yīng)的內(nèi)存單元中。32 賦值規(guī)則 如果賦值運(yùn)算符兩側(cè)的類型不一致,則在賦值時(shí)要進(jìn)行類型轉(zhuǎn)換,轉(zhuǎn)換規(guī)則為: 實(shí)型整變量 舍去小數(shù)部分。 int a=5.5; a中為5。 整型實(shí)變量 數(shù)值不變,以浮點(diǎn)形式存儲(chǔ)。 字符型整變量 放在整形變量低8位。保持原值不變?cè)瓌t。 int a=A;33 復(fù)合賦值運(yùn)算
12、符 在賦值運(yùn)算符前加上其它運(yùn)算符,可以構(gòu)成復(fù)合賦值運(yùn)算符。 a+=3 a=a+3 b-=x+5 b=b-(x+5) x*=c-6 x=x*(c-6) y/=a*4 y=y/(a*4) k%=b-2 k=k%(b-2) 屬于高效率運(yùn)算符。34 賦值表達(dá)式 主要實(shí)現(xiàn)賦值運(yùn)算的表達(dá)式。 一般形式: = 如: a=5 y=2*x+3 a=a+1 不是衡等作用:將右邊表達(dá)式的值賦給左邊的變量。 賦值表達(dá)式的值取左邊變量的值。35 賦值表達(dá)式右邊的可以是任何表達(dá)式,如: a=(b=5) 賦值表達(dá)式中包含賦值表達(dá)式 賦值運(yùn)算符的優(yōu)先級(jí)低于所有算術(shù)運(yùn)算符,且是右結(jié)合性。 a=(b=5) 與 a=b=5 等效。 36 例:計(jì)算以下表達(dá)式的值: a=b=c=5 a=5+(c=6) a=(b=4)+(c=6) a=(b=4.5)+(c=6.5) (a、b、c為整型變量) a+=a-=a*a (設(shè)a的原值為3)37 賦值表達(dá)式是C語(yǔ)言中的一個(gè)重要成分,在賦值表達(dá)式后加一分號(hào)就成為常用的賦值語(yǔ)句。如 y=2*x+1; 賦值表達(dá)式作為表達(dá)式的一種,可以出現(xiàn)在任何表達(dá)式中,如: x+2-(b/3-(a=k-5)+b38 3.10 逗號(hào)表達(dá)式 逗號(hào)也是一種運(yùn)算符,用它對(duì)兩個(gè)表達(dá)式實(shí)現(xiàn)連接運(yùn)算。 3+5,6+8 稱逗號(hào)表達(dá)式。 逗號(hào)表達(dá)式的一般形式: 表達(dá)式1,表達(dá)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026中國(guó)科學(xué)院上海生命科學(xué)研究院生物化學(xué)與細(xì)胞生物學(xué)研究所分子細(xì)胞卓越中心曾安組招聘博士后科研助理2人參考考試題庫(kù)附答案解析
- 2026年甘肅酒泉敦煌市人民法院招聘司法警察備考考試題庫(kù)附答案解析
- 2026上海浦東新區(qū)全球健康學(xué)院招聘教學(xué)科研人員1人備考考試題庫(kù)附答案解析
- 2026上半年云南事業(yè)單位聯(lián)考省發(fā)展和改革委員會(huì)所屬招聘4人備考考試題庫(kù)附答案解析
- 2026年度上半年伊春湯旺縣公安局公開招聘警務(wù)輔助人員20人參考考試試題附答案解析
- 2026沙坪壩區(qū)曙光幼兒園教共體招聘參考考試題庫(kù)附答案解析
- 2026上半年云南事業(yè)單位聯(lián)考德宏師范學(xué)院招聘碩士研究生附以上人員9人參考考試題庫(kù)附答案解析
- 2026山東事業(yè)單位統(tǒng)考濟(jì)寧高招聘4人備考考試題庫(kù)附答案解析
- 投標(biāo)人安全生產(chǎn)制度
- 安全生產(chǎn)督辦工作制度
- 企業(yè)領(lǐng)導(dǎo)力與團(tuán)隊(duì)管理能力提升
- 試用期員工轉(zhuǎn)正申請(qǐng)書(匯編15篇)
- UL508標(biāo)準(zhǔn)中文版-2018工控產(chǎn)品UL中文版標(biāo)準(zhǔn)
- 礦山安全生產(chǎn)標(biāo)準(zhǔn)化
- 云南省建筑工程竣工報(bào)告表
- 房屋拆除工程投標(biāo)方案(技術(shù)方案)
- GB/T 41339.4-2023海洋生態(tài)修復(fù)技術(shù)指南第4部分:海草床生態(tài)修復(fù)
- 固定動(dòng)火區(qū)申請(qǐng)表、告知書、管理規(guī)定
- 二片罐行業(yè)現(xiàn)狀與發(fā)展趨勢(shì)分析
- LY/T 1694-2007松脂采集技術(shù)規(guī)程
- FZ/T 01137-2016紡織品熒光增白劑的測(cè)定
評(píng)論
0/150
提交評(píng)論