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

正文內(nèi)容

c語言程序設計教程(一)ppt-資料下載頁

2024-12-23 12:16本頁面
  

【正文】 果為 “ 真 ” 。 右結合 邏輯運算符及邏輯表達式 (續(xù) ) ? 2.邏輯表達式 ? 用邏輯運算符將表達式連接起來的符合 C語法規(guī)則的式子稱為邏輯表達式。 ? 邏輯表達式的運算結果只有兩個值 1和 0( 1表示 “ 真 ” , 0表示和 “ 假 ” )。 ? 邏輯表達式常用于表示一些復雜的關系。 ? 例如: ? x=0 amp。amp。 x=100表示 x的取值在 0~ 100時表達式結果為 1,否則為 0。 邏輯運算符及邏輯表達式 (續(xù) ) ? 說明: ? ( 1) C語言沒有邏輯類型數(shù)據(jù),進行邏輯判斷時,數(shù)據(jù)的值為非 0,則認作邏輯真,數(shù)據(jù)的值為 0,則認作邏輯假;而邏輯表達式的值為真,則用整形數(shù) 1表示,邏輯表達式的值為假,則用整形數(shù) 0表示。 ? 例如: ? 當 a=,b=?a?時, !a, !b的值均為 “ 假 ” ,即為 0。aamp。amp。b的值為 1,因為 a和 b均為非 0值。 ? ( 2)在進行邏輯運算時,邏輯表達式運算到其值完全確定時為止。 ? 例如: 邏輯運算符及邏輯表達式 (續(xù) ) ? 運算表達式 (a=1)amp。amp。(! a)amp。amp。(a=5)時,由于運算 a=1之后運算! a的值為 0,所以就不再進行 a=5的運算了,因此 a的值仍為 1,而整個邏輯表達式的值為 0。 ? !(邏輯非 )的優(yōu)先級別較高為 2, amp。amp。(邏輯與 )的優(yōu)先級為11, ||(邏輯或 )的優(yōu)先級為 12。 ? 例如: ? 有 int a=3,b=4,c=5。則有: 表達式 表達式的值 a amp。amp。 b0 0 a==b||a0 1 !(a+b10) 1 ? ab amp。amp。 bc || b!=0 1 ,也相當于 (ab) amp。amp。 (bc) ||( b!=0)表達式 條件運算符及條件表達式 ? 1. 條件運算符 ? 條件運算符是 “ ?:”,是 C語言中唯一的三目運算符??梢源?ifelse語句的完成簡單的條件求值。 ? 2.條件表達式 ? 用條件運算符將兩個表達式連接起來的符合 C語法規(guī)則的式子稱為條件表達式。 ? 條件表達式的一般形式: ? 表達式 1 ?表達式 2 :表達式 3 條件運算符及條件表達式 (續(xù) ) ? 運算過程:先計算表達式 1的值,若為 “ 真 ” ,則計算表達式 2的值,整個條件表達式的值就是表達式 2的值;若表達式 1的值為 “ 假 ” ,則計算表達式 3的值,整個條件表達式的值就是表達式 3的值。 ? 說明: ? (1)條件運算符優(yōu)先級高于賦值運算符。如y=x0?x:x。相當于 y=(x0?x:x)。功能是將 x的絕對值賦給 y。 ? (2)條件運算符結合性是右結合。如x0?1:x0?1:0。相當于 x0?1:( x0?1:0) 。 賦值運算符及賦值表達式 ? 賦值運算符包括簡單賦值運算符和復合賦值運算符。 ? 1.賦值運算符 ? C語言的賦值運算符為 “ =”,其作用是將賦值運算符右側的表達式的值賦給其左側的變量。 ? 例如: x=10。 /*將 10賦給變量 x*/ y=3*x*x+5*a。 /*將表達式之值賦給變量 y*/ ? 2.賦值表達式 ? 由賦值運算符將一個變量和一個表達式連接起來的式子稱作賦值表達式。 ? 它的一般形式為: ? 變量 =表達式 賦值運算符及賦值表達式 (續(xù) ) ? 運算過程:先計算賦值運算符右側的 “ 表達式 ” 的值,將賦值運算符右側 “ 表達式 ” 的值賦值給左側的變量,整個賦值表達式的值就是被賦值變量的值。 ? 賦值運算符優(yōu)先級為 14,是自右至左結合的。 ? 例如: a=b=c=8相當于 a=(b=(c=8)),先計算 c=8結果為 8,將 8賦值給 b結果也是 8,將 8賦值給 a結果也是 8,最后整治賦值表達式之值為 8,而變量 a,b,c值均為 8。 ? 說明: ? (1)賦值運算符左邊必須是變量,右邊 C合法的表達式。 ? (2)賦值符號 “ =”不同于數(shù)學的等號,它沒有相等的含義。( “ ==”相等) ? (3)賦值運算時,當賦值運算符兩邊數(shù)據(jù)類型不同時,將由系統(tǒng)自動進行類型轉換。 賦值運算符及賦值表達式 (續(xù) ) ? 轉換原則是:先將賦值號右邊表達式類型轉換為左邊變量的類型,然后賦值。 ? 進行類型轉換時可能發(fā)生存儲單元的擴展和載斷,比如不同類型的整型數(shù)據(jù)間的賦值:按照存儲單元的存儲形式直接傳送。由長型整數(shù)賦值給短型整數(shù),截斷直接傳送,可能造成數(shù)據(jù)損失;由短型整數(shù)賦值給長型整數(shù),低位直接傳送,高位根據(jù)低位整數(shù)的符號進行符號擴展,如果是負數(shù)則高位全部補1,如果是正數(shù)高位則補0,以保證得到的值不變。 賦值運算符及賦值表達式 (續(xù) ) ? (4)C語言的賦值符號 “ =”除了表示一個賦值操作外,還是一個運算符,也就是說賦值運算符完成賦值操作后,整個賦值表達式還會產(chǎn)生一個所賦的值,這個值還可以利用。 ? 例如: ? x=10+(y=5) (整個表達式值為 15, x值為 15, y值為 5) ? a=(b=10)/(c=2) (整個表達式值為 5, a值為 5, b值為 10, c值為 2) ? 3.復合賦值運算符及其表達式 ? C語言允許在賦值運算符 “ =”之前加上其他運算符,構成復合運算符。 ? C語言可使用的復合賦值運算符有 10種。它們是: ? +=、- =、 *=、 /=、 %= (與算術運算符組合) ? =、 = (與位移運算符組合) ? amp。=、 ∧ =、| = (與位邏輯運算符組合) 賦值運算符及賦值表達式 (續(xù) ) ? 復合賦值表達式的一般形式為: ? 變量 雙目運算符 =表達式 ? 它相當于: 變量 =變量 雙目運算符 (表達式)。 ? 例如: a+=bc等價于 a=a+(bc), a*=bc等價于 a=a*(bc),而不是 a=a*bc。 若 a的初值為 12,則 a+=a=a*a的求解過程為: ? (a)先進行 a=a*a的運算,它相當于 a=aa*a=12144=132。 ? (b)再進行 a+=132的運算,它相當于 a=a+(132)=132132=264。 逗號運算符及逗號表達式 ? 1. 逗號運算符 ? 逗號運算符是 “ ,”,它的優(yōu)先級低于賦值運算符,是左結合性。 ? 2. 逗號表達式 ? 用逗號運算符將若干個表達式連接成一個逗號表達式。 ? 一般形式如下: ? 表達式 1,表達式 2, …… 表達式 n ? 逗號表達式的運算過程:先計算表達式 1,再計算表達式 2, …… ,最后再計算表達式 n,而逗號表達式的值為最右邊表達式 n的值。 逗號運算符及逗號表達式 (續(xù) ) ? 例如: a=,b=,ab ? 該逗號運算表達式,它由四個表達式結合而成,從左向右依次計算,逗號表達式的值為 ab的值,即 。 ? 值得注意的是,逗號運算符是 C語言所有運算符中優(yōu)先級最低。如: a=10,20。不同于a=(10,20)。,前者 a的值為 10,表達式的值為20,后者 a的值為 20,表達式的值也為 20。 逗號運算符及逗號表達式 (續(xù) ) ? 例 25 關于運算符和表達式的程序實例。 include void main() { int a=6,b=7,c,d。 /*聲明變量并賦初值 */ printf(a++=%d,++b=%d\n,a++,++b)。 /*輸出a++,b++的值 */ printf(“a=%d,b=%d,a %% b =%d\n”,a,b,a%b)。 printf(c=%d\n, c=ab?a:b)。 /*輸出表達式 c=ab?a:b的值 */ printf(d=%d\n,d=a=0 amp。amp。 a+b=10)。 d+=d*=(c,d=c,5*d)。 /*計算表達式 d+=d*=(c,d=c,5*d) */ printf(d=%d\n,d)。 /*輸出 d的值 */ } 逗號運算符及逗號表達式 (續(xù) ) ? 運行結果: a++=6,++b=8 a=7,b=8,a % b=7 c=8 d=1 d=640 ? 思考:分析表達式 d+=d*=(c,d=c,5*d)的求值過程。 求字節(jié)運算符 ? C求字節(jié)運算符是 sizeof,它用于計算變量或某種類型的量在內(nèi)存中所占的字節(jié)數(shù)。用法有兩種: ? 1. sizeof 表達式 ? 功能是計算出表達式計算結果所占用內(nèi)存的字節(jié)數(shù)。如在本章例 24中的應用。 ? 2. sizeof(類型名) ? 功能是計算出某種類型的量存儲時所占用內(nèi)存的字節(jié)數(shù)。如: sizeof(float)計算單精度實型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù),結果為 4。 類型轉換 ? 整型、單精度、雙精度及字符型數(shù)據(jù)可以進行混合運算。當表達式中的數(shù)據(jù)類型不一致時,首先轉換為同一類型,然后再進行運算。 C語言有兩種方法實現(xiàn)類型轉換:一是自動類型轉換,另一是強制類型轉換。 ? 1.自動類型轉換 ? 在表達式進行運算時,不同類型的數(shù)據(jù)要轉換為同一類型。 類型轉換 (續(xù) ) ? 自動轉換的規(guī)則見下圖所示 : char,short float int unsigned long double long double 低 高 類型轉換 (續(xù) ) ? 說明: ? (1)float型數(shù)據(jù)自動轉換成 double型; ? (2)char與 short型數(shù)據(jù)自動轉換成 int型; ? (3)int型與 double型數(shù)據(jù)運算,直接將 int型轉換成 double型; ? (4)int型與 unsigned型數(shù)據(jù),直接將 int型轉換成 unsigned型; ? (5)int型與 long型數(shù)據(jù),直接將 int型轉換成 long型。 ? 主要原則是:短字節(jié)的數(shù)據(jù)向長字節(jié)數(shù)據(jù)轉換。 類型轉換 (續(xù) ) ? 2.強制類型轉換 ? 強制類型轉換是指通過強制類型轉換運算符,將表達式的類型強制轉換為所指定的類型。強制類型轉換的一般形式為: ? (數(shù)據(jù)類型)(表達式) ? 功能是將表達式的值強制轉換成指定的數(shù)據(jù)類型。 ? 強制類型轉換運算符優(yōu)先級為 2,是自右至左結合的。 類型轉換 (續(xù) ) ? 例如: ? ( int) (*10)。 ? 是將 *10值轉換成 int型數(shù)據(jù),表達式的值為 105。而 ? ( int) *10。 ? 表達式的取值為: 100。 ? 數(shù)據(jù)類型轉換是對操作數(shù)的值進行轉換,并不改變操作數(shù)中變量本身的數(shù)據(jù)類型。 ? 例如: ? int i。float x=。i=int(x)。/*臨時將變量 x的值轉換為整型, x仍為實型 */ 類型轉換 (續(xù) ) ? 類型轉換過程中,當數(shù)據(jù)類型由低向高轉換時,數(shù)據(jù)精度不會受到損失;而數(shù)據(jù)類型由高到低的轉換,此時,數(shù)據(jù)精度會受到損失。 習題 1. 以下標識符中不屬于 C語言的基本數(shù)據(jù)類型的是 。 2. 以下選項中屬于 C語言的數(shù)據(jù)類型是 。 3. 下列標識符中,合法的標識符是 。 4. 在標準 C語言中,不正確的 int類型的常數(shù)是 。 5. 以下所列的 C語言常量中,錯誤的是 。 D.39。\7239。 6. 在 C語言中,合法的長整型常數(shù)是 。 amp。 7. 以下不正確的語句(設有 int p,q)是 。A. p*=3。 。 +=3。 amp。amp。=q。 8. 以下使 i的運算結果為 4的表達式是 。 A. int i=0,j=0。 (i=3,(j++)+i)。 B. int i=1,j=0。 j=i=((i=3)*2)。 C. int i=0,j=1。
點擊復制文檔內(nèi)容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1