武漢大學(xué)C語言程序設(shè)計(jì)第3講(2012級(jí)).ppt
《武漢大學(xué)C語言程序設(shè)計(jì)第3講(2012級(jí)).ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《武漢大學(xué)C語言程序設(shè)計(jì)第3講(2012級(jí)).ppt(43頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
變量基本運(yùn)算符及其表達(dá)式 第三講 Begin 第二章數(shù)據(jù)類型 運(yùn)算符和表達(dá)式 2 2常量 變量 變量說明 聲明 格式 數(shù)據(jù)類型說明符變量名稱表 ANSIC規(guī)定 用變量說明 聲明 完成這兩項(xiàng)工作 數(shù)據(jù)類型說明符說明數(shù)據(jù)的類型 2 3常量 變量和標(biāo)準(zhǔn)函數(shù) 例 intsum intx y floatvolt chardegree 變量與內(nèi)存每一個(gè)變量有名字 類型 值 位置和大小 當(dāng)一個(gè)新的值賦予變量時(shí) 新值替換原值 從內(nèi)存中讀取變量的值 其值不會(huì)改變 2 3常量 變量和標(biāo)準(zhǔn)函數(shù) 用來存放整型數(shù)據(jù)的變量 1 整型變量 整型變量的分類表 與操作系統(tǒng) 編譯系統(tǒng) 機(jī)器有關(guān) 在定義整型變量時(shí) 要注意數(shù)據(jù)類型允許的數(shù)值范圍 2 3常量 變量和標(biāo)準(zhǔn)函數(shù) includevoidmain shortinta b unsignedc d a 32767 b 32768 c 32768 d 65535 printf a d b d n a b printf c u d u c d a 32767 b 32768c 32768 d 65535 例 整型變量的使用 2 3常量 變量和標(biāo)準(zhǔn)函數(shù) 結(jié)論 a 1的結(jié)果 32768 超出了基本整型變量b所能容納的數(shù)值范圍 32768 32767 這種情況稱為 溢出 整型上溢 分析 書上P31 例2 6 也是整型上溢的問題 運(yùn)算符 sizeof取字節(jié)數(shù)運(yùn)算符sizeof 數(shù)據(jù)類型 sizeof 變量 2 3常量 變量和標(biāo)準(zhǔn)函數(shù) 2 實(shí)型變量 用來存放實(shí)型數(shù)據(jù)的變量 實(shí)型變量分類表 includevoidmain floatf doubled f 33333 33333 d 33333333333333 333333 printf f f nd f n f d 2 3常量 變量和標(biāo)準(zhǔn)函數(shù) f 33333 332031d 33333333333333 333500 例 實(shí)型變量的使用 實(shí)型數(shù)據(jù)的有效數(shù)字和精度 由于單精度浮點(diǎn)型數(shù)據(jù)有效位數(shù)有7位 可保留6位小數(shù) 而變量f數(shù)值的整數(shù)已占5位 故小數(shù)2位之后均為無效數(shù)字 d是雙精度型 有效位為16位 可保留14位小數(shù) 但輸出結(jié)果時(shí)小數(shù)后最多保留6位 其余部分四舍五入 3 字符型變量 用來存放字符常量的變量 在內(nèi)存單元中 每個(gè)字符型變量分配一個(gè)字節(jié)用于存放一個(gè)字符 實(shí)際上存放的是字符的ASCII碼值 c1單元存放的是01000001 十進(jìn)制65 c2單元存放的是01100001 十進(jìn)制97 例 charc1 c2 c1 A c2 a 所以 在C語言中字符型數(shù)據(jù)和整型數(shù)據(jù)之間可以通用 即 允許對(duì)整型變量賦字符值 高8位為0 允許對(duì)字符變量賦整型值 高8位丟掉 允許把字符變量按整型量輸出 允許把整型量按字符量輸出 允許字符量與整型量進(jìn)行運(yùn)算 a 1 2 3常量 變量和標(biāo)準(zhǔn)函數(shù) 2 3常量 變量和標(biāo)準(zhǔn)函數(shù) includevoidmain charc1 c2 c1 97 c2 98 printf c1 c c2 c n c1 c2 printf c1 d c2 d c1 c2 c1 a c2 bc1 97 c2 98 例 字符變量的使用 2 3常量 變量和標(biāo)準(zhǔn)函數(shù) 編寫程序?qū)⑿懽帜竌和b轉(zhuǎn)換為大寫字母 includeintmain void charc1 c2 c1 a c2 b c1 c1 32 c2 c2 32 printf c c n d d n c1 c2 c1 c2 return0 A B65 66 例 字符變量的使用 4 變量的初始化 在定義變量的同時(shí)給變量賦初值 例 inta 15 b charc1 X c2 Y floatf1 f2 f3 24 5 inta 20 b 20 c 20 2 3常量 變量和標(biāo)準(zhǔn)函數(shù) inta b c 20 錯(cuò) 數(shù)據(jù)類型變量名 常量值 2 4基本運(yùn)算符及其表達(dá)式 2 4基本運(yùn)算符及其表達(dá)式 2 4 1算術(shù)運(yùn)算符 ArithmeticOperators 與算術(shù)表達(dá)式 1 基本算術(shù)運(yùn)算符 注意 運(yùn)算只能用于整型數(shù)據(jù) 2 4基本運(yùn)算符及其表達(dá)式 2 4 1算術(shù)運(yùn)算符 ArithmeticOperators 與算術(shù)表達(dá)式 例 19 5結(jié)果為3 整數(shù)相除結(jié)果為整數(shù) 22 4結(jié)果為2 取模運(yùn)算返回余數(shù) 問題 19 5 0結(jié)果為 22 4 0結(jié)果為 22 a 結(jié)果為 注意 教材上P38頁第5行應(yīng)為 3 0 10 0 5 0結(jié)果為1 0 2 4基本運(yùn)算符及其表達(dá)式 2 自增自減運(yùn)算符 incrementanddecrementOperators C自增自減運(yùn)算符 7777 6 i 2 4基本運(yùn)算符及其表達(dá)式 2 自增自減運(yùn)算符 incrementanddecrementOperators 注意 自增 自減運(yùn)算只能用于變量 不能用于常量和表達(dá)式 例如 6 a b 均為非法的運(yùn)算表達(dá)式x y等價(jià)于 x y 自增 自減運(yùn)算符的運(yùn)算順序 在表達(dá)式中當(dāng)多個(gè)運(yùn)算符相連時(shí) 應(yīng)自左而右地將若干個(gè)字符組成一個(gè)運(yùn)算符 2 4基本運(yùn)算符及其表達(dá)式 k i j i 2 j 1 k 2 3算術(shù)表達(dá)式 ArithmeticExpressions 由算術(shù)運(yùn)算符和括號(hào)將運(yùn)算對(duì)象 如常量 變量 函數(shù)等 連接起來的一個(gè)有值的式子 說明 算術(shù)表達(dá)式的運(yùn)算順序如下 2 4基本運(yùn)算符及其表達(dá)式 3算術(shù)表達(dá)式 ArithmeticExpressions 說明 表達(dá)式的類型為該表達(dá)式值的類型 表達(dá)式的求值順序 先按運(yùn)算符的優(yōu)先級(jí)執(zhí)行 當(dāng)一個(gè)運(yùn)算對(duì)象兩側(cè)的運(yùn)算符優(yōu)先級(jí)別相同時(shí) 則按結(jié)合性處理 2 4基本運(yùn)算符及其表達(dá)式 轉(zhuǎn)換方式 自動(dòng)類型轉(zhuǎn)換 強(qiáng)行類型轉(zhuǎn)換 2 4基本運(yùn)算符及其表達(dá)式 類型轉(zhuǎn)換TypeConversions 在C程序中 當(dāng)不同類型的量進(jìn)行運(yùn)算時(shí) 要轉(zhuǎn)換成同一種類型然后再進(jìn)行運(yùn)算 例 15 2 5 A 7 0 2 2 2數(shù)據(jù)類型 強(qiáng)制類型轉(zhuǎn)換forcedconversions 將一個(gè)表達(dá)式的值轉(zhuǎn)換成所需要的類型 例 double i int f1 f2 float 14 4 強(qiáng)制或自動(dòng)轉(zhuǎn)換都是一種臨時(shí)性轉(zhuǎn)換 并未改變變量的原類型 例 includevoidmain intx 8 floatf 6 85 printf float x f x d n float x x printf int f d f f n int f f 一般形式 類型說明符 表達(dá)式 2 4基本運(yùn)算符及其表達(dá)式 2 4 2關(guān)系運(yùn)算符與關(guān)系表達(dá)式 RelationalOperatorsandPrecedence 關(guān)系運(yùn)算 比較運(yùn)算 即比較兩個(gè)量的大小 比較的結(jié)果為 真 或 假 例 a 3如果a 8 則結(jié)果為 真 如果a 1 則結(jié)果為 假 1 關(guān)系運(yùn)算符 C關(guān)系運(yùn)算符 Relationaloperatorshavelowerprecedencethanarithmeticoperators 關(guān)系運(yùn)算符為雙目運(yùn)算符 左結(jié)合性 2 關(guān)系表達(dá)式RelationalExpression 用關(guān)系運(yùn)算符將兩個(gè)表達(dá)式連接起來的式子 2 4基本運(yùn)算符及其表達(dá)式 C語言沒有邏輯型數(shù)據(jù) 因此 在返回邏輯值時(shí) 用1表示 真 用0表示 假 在判斷邏輯值時(shí) 用非0代表 真 用0代表 假 2 4基本運(yùn)算符及其表達(dá)式 0 1 0 Forinstance 已知a 3 b 2 c 1則1 c a b結(jié)果為02 a bb結(jié)果為1 2 4基本運(yùn)算符及其表達(dá)式 例 寫出下列各題的關(guān)系表達(dá)式 1 X為不小于 5的整數(shù)2 X為非零的數(shù)3 例 includevoidmain inta b c a b c 10 a b c printf d d d n a b c a b c 2 printf d d d n a b c a b c 100 printf d d d n a b c 2 4 3邏輯運(yùn)算符與邏輯表達(dá)式LogicalOperatorsandPrecedence關(guān)系表達(dá)式只能表達(dá)一些簡(jiǎn)單的關(guān)系 如 sum 1500y z即只能對(duì)一個(gè)條件進(jìn)行測(cè)試 而以下關(guān)系 20 x 100則不能用關(guān)系表達(dá)式表達(dá) 邏輯非 真值表 1 邏輯運(yùn)算符C邏輯運(yùn)算符 2 4基本運(yùn)算符及其表達(dá)式 邏輯或 真值表 邏輯與 真值表 2 4基本運(yùn)算符及其表達(dá)式 2 邏輯表達(dá)式LogicalExpression 用邏輯運(yùn)算符將表達(dá)式連接起來的式子 如 1 0 x 10 x 0 x5或x5 x 153 a b不能同時(shí)為零 a 0 b 0 a 0 b 0 一般形式為 表達(dá)式1 邏輯運(yùn)算符 表達(dá)式2 2 4基本運(yùn)算符及其表達(dá)式 邏輯表達(dá)式是構(gòu)成選擇結(jié)構(gòu)條件的基本式子 注意 在計(jì)算邏輯表達(dá)式時(shí) 并非所有的邏輯運(yùn)算符都參與運(yùn)算 如 x y 1 x x y 0 1 2 4基本運(yùn)算符及其表達(dá)式 短路能力 例 1 74 mum 0 由于5 4故短路 則mum 0不執(zhí)行 2 4基本運(yùn)算符及其表達(dá)式 includevoidmain inta 1 b 1 d 1 d a 1 b 1 printf 1 d d d n a b d d a 0 b 0 printf 2 d d d n a b d d a 1 例 程序運(yùn)行結(jié)果 1 1 1 1 2 0 0 0 3 1 1 1 4 0 1 0 includevoidmain 注意短路 inta b c d a b c 1 d a b Run 例 程序運(yùn)行結(jié)果 1 2111 2 2211 3 2 2 2 2 4基本運(yùn)算符及其表達(dá)式 2 4 4條件運(yùn)算符與條件表達(dá)式 條件運(yùn)算符 三目運(yùn)算符右結(jié)合 例 a b max a max b 例 grade 60 printf Passed printf Failed 一般形式 2 4 5賦值運(yùn)算符與賦值表達(dá)式 簡(jiǎn)單賦值運(yùn)算符為 由 連接的式子稱為 簡(jiǎn)單 賦值表達(dá)式 assignmentstatement 一般形式 1 簡(jiǎn)單賦值運(yùn)算符和簡(jiǎn)單賦值表達(dá)式 2 4基本運(yùn)算符及其表達(dá)式 賦值運(yùn)算符優(yōu)先級(jí)為14 僅高于逗號(hào)運(yùn)算符 而低于其他所有運(yùn)算符 2 4 5賦值運(yùn)算符與賦值表達(dá)式 1 簡(jiǎn)單賦值運(yùn)算符和簡(jiǎn)單賦值表達(dá)式 2 4基本運(yùn)算符及其表達(dá)式 賦值運(yùn)算的類型轉(zhuǎn)換 規(guī)則為 整型數(shù)據(jù)賦給字符型時(shí) 只把低8位賦給字符變量 字符型數(shù)據(jù)賦給整型變量時(shí) 整型變量的高八位補(bǔ)0 低八位取字符的ASCII碼值 整型數(shù)據(jù)賦給實(shí)型變量時(shí) 以浮點(diǎn)形式取值 實(shí)型數(shù)據(jù)賦給整型變量時(shí) 只取整數(shù)部分 如 K 8 88 k值為8 如 f 15 f值為15 000000 如 K A k值為65 如 C 578 C值為字母B 2 4基本運(yùn)算符及其表達(dá)式 2 復(fù)合賦值運(yùn)算符和復(fù)合賦值表達(dá)式 復(fù)合賦值運(yùn)算符是在簡(jiǎn)單賦值運(yùn)算符前加雙目運(yùn)算符構(gòu)成 共以下10種 2 4基本運(yùn)算符及其表達(dá)式 復(fù)合賦值運(yùn)算符優(yōu)先級(jí)14 右結(jié)合性 2 4 6逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式 逗號(hào)運(yùn)算符 用逗號(hào)運(yùn)算符將各表達(dá)式連接起來的式子稱為逗號(hào)表達(dá)式 逗號(hào)運(yùn)算符優(yōu)先級(jí)15 是所有運(yùn)算符中最低的 2 4基本運(yùn)算符及其表達(dá)式 程序中并非所有出現(xiàn)逗號(hào)的地方都組成逗號(hào)表達(dá)式 上機(jī)實(shí)驗(yàn)內(nèi)容 第2章實(shí)驗(yàn)二 1 基本數(shù)據(jù)類型 編程完成三角函數(shù)中角度與弧度之間的轉(zhuǎn)換 2 運(yùn)算符和表達(dá)式 計(jì)算下列算術(shù)表達(dá)式的值 x a 3 int x y 2 4 若a 7 x 2 5 y 4 7 float a b 2 int x int y 若a 2 b 5 x 3 5 y 2 5 上機(jī)實(shí)驗(yàn)內(nèi)容 第2章 3 運(yùn)算符和表達(dá)式 從鍵盤輸入三角形的三個(gè)邊長(zhǎng) 求三角形面積 s a b c 2area sqrt s s a s b s c TheEnd- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 武漢大學(xué) 語言程序設(shè)計(jì) 2012
鏈接地址:http://www.820124.com/p-7189797.html