c語(yǔ)言第2章數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式.ppt
《c語(yǔ)言第2章數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式.ppt》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《c語(yǔ)言第2章數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式.ppt(50頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1,第2章 數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式,2,教學(xué)目標(biāo),掌握C語(yǔ)言標(biāo)識(shí)符的組成 理解C語(yǔ)言的基本數(shù)據(jù)類(lèi)型 掌握變量定義的方法 掌握常用的運(yùn)算符的使用 掌握混合運(yùn)算的數(shù)據(jù)轉(zhuǎn)換方法,3,2.1 C語(yǔ)言的數(shù)據(jù)類(lèi)型,基本類(lèi)型 整 型:短整型(short)、整型(int)、長(zhǎng)整型long 浮點(diǎn)型:?jiǎn)尉刃停╢loat)、雙精度型(double) 字符類(lèi)型(char) 構(gòu)造類(lèi)型:數(shù)組、結(jié)構(gòu)體、共用體、枚舉 指針類(lèi)型,4,2.2 常量與變量,2.2.1標(biāo)識(shí)符命名 2.2.2常量 2.2.3變量,5,2.2.1標(biāo)識(shí)符命名,標(biāo)識(shí)符:字符序列的總稱(chēng)。在C語(yǔ)言里用標(biāo)示符來(lái)表示常量、變量、函數(shù)和數(shù)據(jù)類(lèi)型的名字 字母、數(shù)字和下劃線(xiàn)組成; 第一個(gè)字符不能是數(shù)字字符; 不能是標(biāo)準(zhǔn)字符(關(guān)鍵字);,6,舉例,sum Sum M.D.John da date 3days student_name #33 lotus_1_2_3 char ab _above $123,√ √ X √ √ X √ X √ X X √ X,7,2.2.2常量,常量:在程序運(yùn)行過(guò)程中其值不發(fā)生改變的量 直接常量 符號(hào)常量 :用一個(gè)標(biāo)識(shí)符來(lái)表示常量,#define 符號(hào)常量 常量值,#define PRICE 30 #include int main() { int num,total; num=10; total=num*PRICE; printf(“total=%d“,total); return 0; },運(yùn)行結(jié)果: total=300,8,,使用符號(hào)常量的優(yōu)點(diǎn) 可以使程序更清晰易讀 程序修改更加容易 通常用大寫(xiě)字母表示符號(hào)常量,小寫(xiě)字母表示變量,以便區(qū)別,9,2.2.3變量,變量:在程序運(yùn)行過(guò)程中其值可以發(fā)生改變的量 變量名 變量類(lèi)型 變量的值 定義形式 類(lèi)型名 變量名1,變量名2,……,變量名n;,int a,b,c; char ch; double d,f;,10,2.3整型數(shù)據(jù),整型常量 :整數(shù)(十進(jìn)制常量、八進(jìn)制常量和十六進(jìn)制常量),(1)常量前面的“+”和“-”表示數(shù)的正、負(fù)。 (2)常量也有類(lèi)型,正型常量默認(rèn)是int型(即有符號(hào)整數(shù)) (3)在數(shù)的后面加上字母u或U表示無(wú)符號(hào)整數(shù),加上字母l或L表示長(zhǎng)整型數(shù),11,2.3.2整型變量,整型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式: 整型數(shù)據(jù)在內(nèi)存中是以二進(jìn)制補(bǔ)碼的形式存放,對(duì)于4個(gè)字節(jié)的整數(shù)-12,12,,整型變量的分類(lèi),注:判斷某一數(shù)據(jù)類(lèi)型占內(nèi)存的字節(jié)數(shù)可用sizeof(數(shù)據(jù)類(lèi)型說(shuō)明)來(lái)計(jì)算,13,,整型變量的定義方法 [符號(hào)說(shuō)明] 變量名表;,unsigned short a,b; signed short a,b; unsigned int a,b; int a,b; unsigned long a,b;,14,2.4浮點(diǎn)型數(shù)據(jù),浮點(diǎn)型常量 :實(shí)型常量或?qū)崝?shù),它只有十進(jìn)制形式,全部都是有符號(hào)數(shù) 小數(shù)形式:0~9,小數(shù)點(diǎn)和正負(fù)號(hào)表示 指數(shù)形式:0~9、小數(shù)點(diǎn)、+ -號(hào)和字母e/E,說(shuō)明: (1)浮點(diǎn)型常量的默認(rèn)類(lèi)型是double (2)在常量后面加f或F指定為float型 (3)指數(shù)必須為整數(shù) (4)e/E之前必須有數(shù)字,15,2.4.2浮點(diǎn)型變量,存儲(chǔ)形式,,16,,浮點(diǎn)型變量的分類(lèi) 單精度(float) 雙精度(double) 長(zhǎng)雙精度(long double) 浮點(diǎn)型變量定義方法 類(lèi)型說(shuō)明符 變量名列表;,float a,b,c; double a,b,c; long double a,b,c;,1)浮點(diǎn)型數(shù)據(jù)的有效數(shù)字位有限制 2)有效位以外的數(shù)字將被舍去,17,2.5字符型數(shù)據(jù),字符常量 :用單引號(hào)括起來(lái)的單個(gè)普通字符或轉(zhuǎn)義字符 單引號(hào)中的字符不能是單引號(hào)(’)和反斜杠(\) 字符是按其所對(duì)應(yīng)的ASCII碼值來(lái)存儲(chǔ)的,一個(gè)字符占一個(gè)字節(jié)(即8位),18,,字符串常量 :一對(duì)雙引號(hào)(“”)括起來(lái)的一串字符 字符串常量在內(nèi)存中存儲(chǔ): 保存每個(gè)字符的ASCII值 系統(tǒng)自動(dòng)在字符串的末尾加一個(gè)串結(jié)束標(biāo)志,字符串:“China“,,“A”和‘A’的區(qū)別?,19,,轉(zhuǎn)義字符 :用反斜杠\后面跟一個(gè)字符或一個(gè)八進(jìn)制或十六進(jìn)制數(shù)表示,20,,例 轉(zhuǎn)義字符舉例 #include int main() { printf(“\101 \x42 C\n“); printf(“I say:\“How are you?\“\n“); printf(“\\C Program\\\n“); printf(“Turbo \'C\'“); return 0; },運(yùn)行結(jié)果: A B C I say:”How are you?” \C Program\ Turbo ‘C’,例 int main() { printf(“Y\b=\n”); return 0; },運(yùn)行結(jié)果: 屏幕顯示:= 打印機(jī)輸出:¥,21,,字符變量 字符變量用來(lái)存放字符,它只能存放一個(gè)字符,不能存放字符串 字符變量的定義形式 char 變量名表;,char c1,c2;,char c1,c2;,#include int main() { char c1='a',c2='b'; c1=c1-('a'-'A'); c2=c2-('a'-'A'); printf(“%c %c\n“,c1,c2); return 0; },程序運(yùn)行結(jié)果: A B,22,2.6運(yùn)算符和表達(dá)式,2.6.1算術(shù)運(yùn)算符 2.6.2自增和自減運(yùn)算符 2.6.3關(guān)系和邏輯運(yùn)算符 2.6.4位運(yùn)算符 2.6.5 條件運(yùn)算符 2.6.6 逗號(hào)運(yùn)算符 2.6.8 復(fù)合賦值運(yùn)算符,23,2.6.1算術(shù)運(yùn)算符,算術(shù)運(yùn)算符:+ 、-、*、/、% 說(shuō)明: 兩個(gè)整數(shù)相除,所得商仍然為整數(shù),舍去小數(shù)部分,即3/2結(jié)果是1 ,而不是1.5 取余運(yùn)算要求運(yùn)算符兩端都必須為整型數(shù)據(jù),浮點(diǎn)數(shù)據(jù)不能進(jìn)行取余運(yùn)算 除數(shù)或被除數(shù)中有一個(gè)是負(fù)數(shù),取余運(yùn)算的結(jié)果可根據(jù)公式m=pq+r 得到余數(shù) 優(yōu)先級(jí):*、/、%的優(yōu)先級(jí)高于+和- 結(jié)合性:從左向右,,24,,5+3 9-2 5*4 3/4 4%3 -5%2,8 7 20 0 1 -1,,25,2.6.2自增和自減運(yùn)算符,+ +:變量自加1 - -:變量自減1 前置運(yùn)算: + + 在變量的前面:變量先進(jìn)行加1運(yùn)算,然后再參與其它運(yùn)算 - -在變量的前面:變量先進(jìn)行減1運(yùn)算,然后再參與其它運(yùn)算,int x=5,y=6; ++x --y,++x為6,x值為6 --y 為5 ,y值為5,26,,后置運(yùn)算: + + 在變量的后面,則先參與其它運(yùn)算,然后變量再進(jìn)行加1運(yùn)算 - -在變量的后面:則先參與其它運(yùn)算,然后變量再進(jìn)行減1,int x=5,y=6; ++x --y,x++為6,x值為6 y-- 為6 ,y值為5,27,,說(shuō)明 ++,--運(yùn)算只能用于變量,不能用于常量和表達(dá)式 ++,--運(yùn)算的優(yōu)先級(jí)為2級(jí),高于*、/、%運(yùn)算 ++,--運(yùn)算的結(jié)合性是從右向左 前置運(yùn)算和后置運(yùn)算可能帶來(lái)副作用 x+++y 在函數(shù)中作為參數(shù):printf(“%d,%d\n”,i,i++) (++i)+(++i)+(++i) :在TC2.0和VC++6.0的結(jié)果是不一樣,28,,例2.6: 前置和后置運(yùn)算 #include int main() { int i,j,m,n; i=8; j=10; m=++i; n=j++; printf(“%d , %d , %d , %d\n“,i,j,m,n); return 0; },程序運(yùn)行結(jié)果: 9 ,11,9,10,29,2.6.3關(guān)系和邏輯運(yùn)算符,30,,邏輯運(yùn)算真值表,(1)關(guān)系和邏輯運(yùn)算符的關(guān)鍵是True(真)和False(假) (2)C語(yǔ)言中,非0為真,0為假,31,2.6.4位運(yùn)算符,按位運(yùn)算時(shí),必須將運(yùn)算對(duì)象轉(zhuǎn)化為二進(jìn)制 位運(yùn)算必須是整型和字符型數(shù)據(jù),32,2.6.5 條件運(yùn)算符,格式: 運(yùn)算對(duì)象1?運(yùn)算對(duì)象2:運(yùn)算對(duì)象3 功能: 先判斷運(yùn)算對(duì)象1的值是否為非0,如果是非0,其值為運(yùn)算對(duì)象2的值,否則為運(yùn)算對(duì)象3的值,ab?a:b,,33,,說(shuō)明: 運(yùn)算對(duì)象1、運(yùn)算對(duì)象2、運(yùn)算對(duì)象3可以是任意類(lèi)型,一般運(yùn)算對(duì)象1為關(guān)系或邏輯運(yùn)算對(duì)象的式子,其類(lèi)型可以相同,也可以不相同。 條件運(yùn)算符的優(yōu)先級(jí)為13級(jí) 條件運(yùn)算符的結(jié)合性是從右向左結(jié)合的,34,2.6.6 逗號(hào)運(yùn)算符,定義:用逗號(hào)把幾個(gè)運(yùn)算對(duì)象連接起來(lái) 格式: 運(yùn)算對(duì)象1 ,運(yùn)算對(duì)象2 ,…… ,運(yùn)算對(duì)象n 功能: 先計(jì)算運(yùn)算對(duì)象1的值,再計(jì)算運(yùn)算對(duì)象2的值,直到最后計(jì)算運(yùn)算對(duì)象n的值,x=5*6,x+10,a=3,b=4,a++,b++,a+b,40,9,說(shuō)明: (1)逗號(hào)運(yùn)算符的優(yōu)先級(jí)是15。 (2)逗號(hào)運(yùn)算符的結(jié)合性是從左向右,35,2.6.7 賦值運(yùn)算符,賦值運(yùn)算符:= 格式:變量=運(yùn)算對(duì)象 功能:把右邊運(yùn)算對(duì)象的值賦給左邊變量,賦值運(yùn)算符“=”和判斷相等(==)的區(qū)別 賦值運(yùn)算符的優(yōu)先級(jí)為14級(jí) 賦值運(yùn)算符的結(jié)合性是從右向左 賦值中的類(lèi)型轉(zhuǎn)換以左邊變量的類(lèi)型為主,36,2.6.8 復(fù)合賦值運(yùn)算符,定義:復(fù)合賦值運(yùn)算符是在賦值的同時(shí),進(jìn)行了運(yùn)算 格式:變量 OP=運(yùn)算對(duì)象 相當(dāng)于:變量=變量OP(運(yùn)算對(duì)象) 優(yōu)先級(jí):14 結(jié)合性:從右向左,37,,38,2.7 表達(dá)式求值,2.7.1 算術(shù)表達(dá)式 2.7.2 賦值表達(dá)式 2.7.3 關(guān)系表達(dá)式和邏輯表達(dá)式,39,2.7.1 算術(shù)表達(dá)式,定義:用算術(shù)運(yùn)算符號(hào)將運(yùn)算對(duì)象(常量、變量、函數(shù)等)、圓括號(hào)連接起來(lái)的式子,,25 X,40,,表達(dá)式的求值,,,a=10 b=3,41,,數(shù)學(xué)公式 的C語(yǔ)言表示,,,,,,,,42,,表達(dá)式值的類(lèi)型 同一表達(dá)式中的不同類(lèi)型常量及變量,均應(yīng)轉(zhuǎn)換為同一類(lèi)型的量 C語(yǔ)言的編譯程序?qū)⑺胁僮鲾?shù)轉(zhuǎn)換為與最高類(lèi)型操作數(shù)同類(lèi)型,,自動(dòng)類(lèi)型轉(zhuǎn)換,43,,強(qiáng)制類(lèi)型轉(zhuǎn)換 (類(lèi)型名)(表達(dá)式) 原來(lái)變量的數(shù)據(jù)類(lèi)型不發(fā)生變化,(int)(x+y) (int)x+y (double)(3/2) (int)3.6,44,,,例2.8: 已知int a=7;float x=2.5,y=4.7;計(jì)算表達(dá)式的值,45,2.7.2 賦值表達(dá)式,定義:賦值運(yùn)算符將一個(gè)變量和表達(dá)式連接起來(lái)構(gòu)成的式子 一般形式:=,將表達(dá)式的值求出來(lái),賦給左邊的變量,使變量的值為表達(dá)式的值,a=3; d=func(); c=d+2; x=20/4;,46,,表達(dá)式的值的類(lèi)型以變量的類(lèi)型為主,int x; x=10+30/7+1.5,double y; y=10+30/7+100,賦值表達(dá)式的值又可以作為另外一個(gè)賦值表達(dá)式,,賦值表達(dá)式也可以包含復(fù)合賦值運(yùn)算符,,47,2.7.3 關(guān)系表達(dá)式和邏輯表達(dá)式,關(guān)系表達(dá)式 :用關(guān)系運(yùn)算符將兩個(gè)運(yùn)算對(duì)象(算術(shù)表達(dá)式、賦值表達(dá)式、關(guān)系表達(dá)式和邏輯表達(dá)式等)連接起來(lái)構(gòu)成的式子,a+3b+4 (ab)(c=2) (ch!=getchar()),注:關(guān)系表達(dá)式的值是一個(gè)邏輯值,即“真”或“假”,例2.9: 求下面關(guān)系表達(dá)式的值 int a=0; double b=0.5,x=0.3;求a278 int i=1, j=7,a; a=i+(j%4!=0);求a,0,0,2,48,,邏輯表達(dá)式 :用邏輯運(yùn)算符將運(yùn)算對(duì)象連接起來(lái)的式子 邏輯表達(dá)式的值只能是“真”或“假” 表示邏輯運(yùn)算結(jié)果:以數(shù)值1代表“真”,以數(shù)值0代表“假” 判斷是否為“真”:以非0表示“真”,以0表示“假”,!5的值是0 a=2&&b=4 的值是1 a=0||b=2 的值是1,49,,!a a&&b a||b !a||b 4&&0||2 53&&2||89-!0 ‘c’&&‘d’,例2.10: 已知a=4,b=5,求下面邏輯表達(dá)式的值,50,,短路表達(dá)式:在邏輯表達(dá)式中不是所有的邏輯運(yùn)算符都要被執(zhí)行,只有在必須執(zhí)行下一個(gè)邏輯運(yùn)算符才能求出表達(dá)式的解時(shí),才執(zhí)行該運(yùn)算符,例 a (m=ab)&&(n=cd) //m=0,n=1,- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 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文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 語(yǔ)言 數(shù)據(jù)類(lèi)型 運(yùn)算 表達(dá)式
鏈接地址:http://www.3dchina-expo.com/p-2015981.html