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