freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

程序設(shè)計(jì)基礎(chǔ)c語(yǔ)言上ppt-資料下載頁(yè)

2024-10-16 20:12本頁(yè)面
  

【正文】 a 程序設(shè)計(jì)基礎(chǔ)( C語(yǔ)言) 109 表達(dá)式的求值過(guò)程 ? C語(yǔ)言規(guī)定了運(yùn)算符的優(yōu)先級(jí)和結(jié)合性 ?優(yōu)先級(jí) ? 指同一個(gè)表達(dá)式中不同運(yùn)算符進(jìn)行計(jì)算時(shí)的先后次序 ?結(jié)合性 ? 結(jié)合性是指同一個(gè)表達(dá)式中相同優(yōu)先級(jí)的多個(gè)運(yùn)算應(yīng)遵循的運(yùn)算順序 ? C語(yǔ)言規(guī)定:?jiǎn)文窟\(yùn)算符是自右向左結(jié)合,雙目運(yùn)算符是自左向右結(jié)合 程序設(shè)計(jì)基礎(chǔ)( C語(yǔ)言) 110 表達(dá)式的求值過(guò)程 ? 表達(dá)式的求值過(guò)程按 C規(guī)定的 原則 求值 ?表達(dá)式代表了一個(gè)具體的值 ? 實(shí)際上是一個(gè)數(shù)據(jù)加工的過(guò)程 ?在表達(dá)式求值時(shí), 先按運(yùn)算符的優(yōu)先級(jí)級(jí)別的高低次序執(zhí)行 ?如果運(yùn)算符兩側(cè)的優(yōu)先級(jí)級(jí)別相同,則按規(guī)定的?結(jié)合方向?處理 ? 提示 ?運(yùn)算符的優(yōu)先級(jí)制約著表達(dá)式的計(jì)算次序 ? 可以通過(guò) 括號(hào)()來(lái)改變表達(dá)式求值的順序 ?表達(dá)式求值過(guò)程中存在某種類(lèi)型數(shù)據(jù)的類(lèi)型轉(zhuǎn)換 程序設(shè)計(jì)基礎(chǔ)( C語(yǔ)言) 111 算術(shù)表達(dá)式 ? 由算術(shù)運(yùn)算符連接數(shù)值型運(yùn)算對(duì)象構(gòu)成 ?其結(jié)果可以是整數(shù)、單精度實(shí)數(shù)和雙精度實(shí)數(shù) ?例: int a=2。 float b=。表達(dá)式 2*a+b 的結(jié)果為 ?優(yōu)先給與結(jié)合性 ? 提示 ?兩個(gè)整數(shù)相除其結(jié)果仍為整數(shù)(即舍去小數(shù)部分) ? 例如: 13/10的結(jié)果為 1 ?“%”為求余運(yùn)算符,參與運(yùn)算的兩個(gè)數(shù)均為整數(shù) ? 例如: 10%3= 1 10%3= 1 ?除以 0在計(jì)算機(jī)系統(tǒng)中是沒(méi)有意義的 ?用括號(hào)可以改變表達(dá)式的運(yùn)算順序 程序設(shè)計(jì)基礎(chǔ)( C語(yǔ)言) 112 算術(shù)表達(dá)式 ? 算術(shù)表達(dá)式 ?例 1: 設(shè) int b=7。float a=,c=。 表達(dá)式 a+( int)( b/3*( int)( a+c) /2)%4的值? ?例 2: tddbfa????241 2程序設(shè)計(jì)基礎(chǔ)( C語(yǔ)言) 113 自增 /自減 ? “++”與? ”的作用是使 變量的值 增 1或減 1 ? C語(yǔ)言提供兩種形式的 ++/運(yùn)算符 ? ++a,a(前綴運(yùn)算:先進(jìn)行增量運(yùn)算后使用) ? a++, a(后綴運(yùn)算:先使用后進(jìn)行增量運(yùn)算) ? 提示: ?增和自減只能作用于變量,不允許對(duì)常量、表達(dá)式或其它進(jìn)行操作 ?當(dāng)自增 /自減變量值本身就單獨(dú)構(gòu)成一條語(yǔ)句時(shí),前綴和后綴的效果是一樣的 ?對(duì)于? ++”和? ”的使用要避免二義性 程序設(shè)計(jì)基礎(chǔ)( C語(yǔ)言) 114 自增 /自減 ? 計(jì)算過(guò)程 ?例 1:設(shè) x=5 ? y=++x; /*先計(jì)算 x=x+1,再執(zhí)行 y=x,結(jié)果x=5 , y=6*/ ? y=x++; /*先執(zhí)行 y=x,再計(jì)算 x=x+1,結(jié)果y=5, x=6*/ ? 問(wèn)題: 如何理解 A+++B ? ? C規(guī)定 :自左向右取盡可能多的符號(hào)組成運(yùn)算符 程序設(shè)計(jì)基礎(chǔ)( C語(yǔ)言) 115 自增 /自減 ? 例 2: 設(shè) x=5 ? y=x++*x++; /*先取 x的值進(jìn)行? *?運(yùn)算,再進(jìn)行兩次 x++。 y=25, x=7*/ ? y=++x*++x; /*先進(jìn)行兩次 x自增1,使 x的值為 7,再進(jìn)行相乘運(yùn)算。 y=49, x=7*/ 程序設(shè)計(jì)基礎(chǔ)( C語(yǔ)言) 116 賦值表達(dá)式 ? 由賦值運(yùn)算符? =”連接表達(dá)式(右側(cè))和變量(左側(cè)) ? 形式: 變量名=表達(dá)式 ? 賦值運(yùn)算符完成兩類(lèi)操作 ?計(jì)算 ?賦值 ?例 ? int a=2, float b=, c; c=a*b; ? 賦值運(yùn)算符具有右結(jié)合性 ?例如: a=b=3*5; /*先計(jì)算 3*5,后將 15賦給 b,再將 b的值 15賦給 a*/ 程序設(shè)計(jì)基礎(chǔ)( C語(yǔ)言) 117 賦值表達(dá)式 ? 組合賦值表達(dá)式 ? 組合賦值運(yùn)算符將一個(gè)變量和一個(gè)表達(dá)式連接起來(lái)的式子稱為組合賦值表達(dá)式 ? 形式:變量名 組合賦值運(yùn)算符 表達(dá)式 ? 例 : x%=y/3; /*x=x%( y/3) */ a*=b+c /* a=a*(b+c)*/ ? 注意:? a*=b+c”與? a=a*b+c”是不等價(jià)的 ? 提示 ? ? =”不是數(shù)學(xué)中的?等號(hào)?,它表示一個(gè)動(dòng)作,右側(cè)的值送與左側(cè)的變量中(左側(cè)只允許是變量,不能是表達(dá)式或其他) ? 賦值運(yùn)算符兩側(cè)的類(lèi)型要求一致,否則要進(jìn)行類(lèi)型轉(zhuǎn)換 ? 賦值運(yùn)算符‘ =?,相等運(yùn)算符‘ = =?,和一般習(xí)慣有所不同 程序設(shè)計(jì)基礎(chǔ)( C語(yǔ)言) 118 關(guān)系表達(dá)式 ? 關(guān)系運(yùn)算符中的?關(guān)系?二字的含義是指一個(gè)值與另一個(gè)值之間的關(guān)系 ?關(guān)系由關(guān)系運(yùn)算符( , , =, =, !=, ==)連接表達(dá)式構(gòu)成 ? 形式: 表達(dá)式 OP 表達(dá)式 ?表達(dá)式可以是常量、變量和表達(dá)式 ?結(jié)果為整型值 ? 0:邏輯假 ? 1:邏輯真 ?優(yōu)先級(jí):( , , =, =)高于( !=, ==) ?結(jié)合方向:自左向右 程序設(shè)計(jì)基礎(chǔ)( C語(yǔ)言) 119 關(guān)系表達(dá)式 ? 例: int a=2; float b=。 ab、 a+bb, abb的結(jié)果分別是多少?( 0、 0) ? 提示 ?進(jìn)行關(guān)系運(yùn)算時(shí),先計(jì)算表達(dá)式的值,然后再進(jìn)行關(guān)系比較運(yùn)算 ? 例如: int a=1, b=2, c=3; ( 1) a+b3*c 的結(jié)果為 0 /*39關(guān)系不成立 */ ( 2) (a+=b)(b*=11%c)結(jié)果值為 1 /*34關(guān)系成立 */ 程序設(shè)計(jì)基礎(chǔ)( C語(yǔ)言) 120 關(guān)系表達(dá)式 ? 在表達(dá)式中連續(xù)使用關(guān)系運(yùn)算符時(shí),要注意正確表達(dá)含義 ?例如:設(shè)x的取值范圍為? 10≤x ≤10”時(shí),不能寫(xiě)成? 10=x=10”,應(yīng)寫(xiě)成? 10=x amp。amp。 x=10 ——為什么? 程序設(shè)計(jì)基礎(chǔ)( C語(yǔ)言) 121 邏輯表達(dá)式 ? “邏輯?是指連接關(guān)系的方式 ? 由邏輯運(yùn)算符( amp。amp。、 ||、 ! )連接的表達(dá)式構(gòu)成 ? 形式: 表達(dá)式 OP 表達(dá)式 ? 表達(dá)式可以 是常量、變量、或其他表達(dá)式 ? 其結(jié)果為整數(shù)值 ? 0 (邏輯假) 或 1(邏輯真) ? 優(yōu)先級(jí) ? ?!?最高,? amp。amp?!贝沃?,? ||”最低 ? 邏輯運(yùn)算優(yōu)先級(jí)低于所有關(guān)系運(yùn)算 ? ?!?優(yōu)先級(jí)高于所有算術(shù)運(yùn)算(單目運(yùn)算) ? 結(jié)合性 ? amp。amp。 、 || 自左向右 例如: abamp。amp。bd ? ! 自右向左 (例如: !a ) 程序設(shè)計(jì)基礎(chǔ)( C語(yǔ)言) 122 邏輯表達(dá)式 ? 邏輯運(yùn)算規(guī)則 ?提示 ? 設(shè)計(jì)邏輯?與? 運(yùn)算,將最可能為?假?的表達(dá)式放在最左側(cè) ? 設(shè)計(jì)邏輯?或?運(yùn)算,將最可能為?真?的表達(dá)式放在最左側(cè) a b !a aamp。amp。b a||b 0 0 1 0 0 0 非 0 1 0 1 非 0 0 0 0 1 非 0 非 0 0 1 1 程序設(shè)計(jì)基礎(chǔ)( C語(yǔ)言) 123 邏輯表達(dá)式 ? 例題: 設(shè) int a=3,b=1, x=2, y=0; 則 (y||b) amp。amp。 (y||a) 的運(yùn)算結(jié)果為 1。 問(wèn)題: ( 1) y||b amp。amp。 y||a 的運(yùn)算結(jié)果是多少? ( 2)兩個(gè)表達(dá)式在運(yùn)算次序是否一致? 程序設(shè)計(jì)基礎(chǔ)( C語(yǔ)言) 124 條件表達(dá)式 ? 由條件運(yùn)算符連接它的三個(gè)運(yùn)算對(duì)象構(gòu)成的表達(dá)式稱之為條件表達(dá)式 ? 形式: 表達(dá)式 1?表達(dá)式 2: 表達(dá)式 3 ?條件運(yùn)算符的???個(gè)?:?總是成對(duì)出現(xiàn) ?表達(dá)式可以是任何類(lèi)型, 結(jié)果也可以是任何類(lèi)型 ?運(yùn)算過(guò)程 ? 計(jì)算表達(dá)式 1的值 ?為真 ,計(jì)算表達(dá)式 2的值,并將表達(dá)式 2的值作為整個(gè)條件表達(dá)式的結(jié)果,不再計(jì)算表達(dá)式 3的值 ?為假,計(jì)算表達(dá)式 3的值,并將表達(dá)式 3的值作為整個(gè)條件表達(dá)式的結(jié)果,不計(jì)算表達(dá)式 2的值 程序設(shè)計(jì)基礎(chǔ)( C語(yǔ)言) 125 條件表達(dá)式 ? 優(yōu)先級(jí) ?高于賦值運(yùn)算,但低于所有關(guān)系運(yùn)算、邏輯運(yùn)算和算術(shù)運(yùn)算 ? 結(jié)合性 ?自右向左結(jié)合 ? 提示 ?當(dāng)多個(gè)條件表達(dá)式嵌套使用時(shí),每個(gè)后續(xù)的?:?總與前面最近的、沒(méi)有配對(duì)的???相聯(lián)系 ? 例如: xy?x:zw?z:w 等同于 xy?x:( zw?z:w) ?三個(gè)運(yùn)算對(duì)象的類(lèi)型可以不相同 ? 例如: x??a?: 程序設(shè)計(jì)基礎(chǔ)( C語(yǔ)言) 126 條件表達(dá)式 ? 例題: 設(shè) int x=10, y=9。 int a, b, c; a=( x==y++) ???x:y。 b=x++。 c=y。 執(zhí)行上述程序段后 a, b, c的結(jié)果是? 分別為 8, 8, 10 程序設(shè)計(jì)基礎(chǔ)( C語(yǔ)言) 127 逗號(hào)表達(dá)式 ? 由逗號(hào)連接符(,)與表達(dá)式構(gòu)成 ? 形式: 表達(dá)式 1, 表達(dá)式 2, 表達(dá)式 n ? 表達(dá)式 1, 表達(dá)式 2, 表達(dá)式 n可以是任何類(lèi)型 ?逗號(hào)表達(dá)式的結(jié)果為最后一個(gè)表達(dá)式的結(jié)果值 ?執(zhí)行過(guò)程 ? 先求解表達(dá)式 1的值,再求解表達(dá)式 2的值, … 最后求解表達(dá)式 n的值,并將表達(dá)式 n的值作為整個(gè)表達(dá)式的結(jié)果值 程序設(shè)計(jì)基礎(chǔ)( C語(yǔ)言) 128 逗號(hào)表達(dá)式 ? 優(yōu)先級(jí) ?級(jí)別最低(最后進(jìn)行逗號(hào)運(yùn)算) ? 結(jié)合方向 ?自左向右 ? 例題 設(shè) int x, a; 表達(dá)式 x=(a=4, 6*2)的 x值? 表達(dá)式 x=a=4, 6*2的 x值? x為 12 x為 4 程序設(shè)計(jì)基礎(chǔ)( C語(yǔ)言) 129 運(yùn)算符與表達(dá)式 ? 混合運(yùn)算 ?指在一個(gè)表達(dá)式中參與運(yùn)算的對(duì)象不是相同的數(shù)據(jù)類(lèi)型 ? 例如: 設(shè): int a=3。float b=。char c=?3?。 則表達(dá)式 (a*c+b)/4+( int) b%2的結(jié)果? ?進(jìn)行混合運(yùn)算的首要的問(wèn)題是對(duì)參與運(yùn)算的數(shù)據(jù)進(jìn)行類(lèi)型轉(zhuǎn)換 ? 類(lèi)型轉(zhuǎn)換 ?由一種數(shù)據(jù)類(lèi)型到另一種數(shù)據(jù)類(lèi)型的轉(zhuǎn)換被稱為類(lèi)型轉(zhuǎn)換 程序設(shè)計(jì)基礎(chǔ)( C語(yǔ)言) 130 “隱式的”自動(dòng)類(lèi)型轉(zhuǎn)換 ? 如果同一個(gè)表達(dá)式中含有不同類(lèi)型的常量和變量, C語(yǔ)言則在計(jì)算該表達(dá)式時(shí)會(huì)自動(dòng)轉(zhuǎn)換為同一種數(shù)據(jù)類(lèi)型以便進(jìn)行運(yùn)算 ? 轉(zhuǎn)換原則 ?運(yùn)算中將所有 char型數(shù)據(jù)轉(zhuǎn)換成 int型, float型轉(zhuǎn)換成double型 ??類(lèi)型提升? :低類(lèi)型向高類(lèi)型轉(zhuǎn)換 ? 例如: +2*?a? /*運(yùn)算次序?yàn)椋? 2*?a?:先將‘ a?轉(zhuǎn)換成整型數(shù) 97,得乘積 194 +194: 194都轉(zhuǎn)換成 double型,和為 : double型的,所以最后結(jié)果也為 double型 */ 程序設(shè)計(jì)基礎(chǔ)( C語(yǔ)言) 131 int char,short unsigned long double float 低 高 ? “類(lèi)型提升? 示意圖 “隱式的”自動(dòng)類(lèi)型轉(zhuǎn)換 程序設(shè)計(jì)基礎(chǔ)( C語(yǔ)言) 132 “隱式的”自動(dòng)類(lèi)型轉(zhuǎn)換 ? 在數(shù)據(jù)輸出時(shí)發(fā)生的類(lèi)型轉(zhuǎn)換 ?同樣要遵守?類(lèi)型提升?的原則 ? 賦值運(yùn)算中最終結(jié)果的類(lèi)型,以賦值運(yùn)算符左邊變量的類(lèi)型為準(zhǔn) ?要將賦值符號(hào)右邊表達(dá)式的值按左邊變量的數(shù)據(jù)類(lèi)型轉(zhuǎn)換之后再賦值 ?當(dāng)左邊變量的類(lèi)型長(zhǎng)度較右邊值的長(zhǎng)度短時(shí),就可能產(chǎn)生誤差,甚至完全錯(cuò)誤 ? 提示 ?由C語(yǔ)言的編譯系統(tǒng)自動(dòng)完成 ?不會(huì)體現(xiàn)在C語(yǔ)言源程序中 ?程序設(shè)計(jì)人員必須了解這種自動(dòng)轉(zhuǎn)換的規(guī)則及其結(jié)果 程序設(shè)計(jì)基礎(chǔ)( C語(yǔ)言) 133 “顯式的”類(lèi)型轉(zhuǎn)換 ? “顯式的?類(lèi)型轉(zhuǎn)換 ? 通過(guò)用強(qiáng)制類(lèi)型轉(zhuǎn)換運(yùn)算符 (type) 進(jìn)行數(shù)據(jù)類(lèi)型轉(zhuǎn)換 ? 其含義是將右邊表達(dá)式的值轉(zhuǎn)換成括號(hào)中指定的數(shù)據(jù)類(lèi)型 ? 轉(zhuǎn)換形式如下: (type) 表達(dá)式 ? type表示一個(gè)強(qiáng)制數(shù)據(jù)類(lèi)型名 ? 表達(dá)式是任何一種類(lèi)型的表達(dá)式 ? 例 ? (int )(x+
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1