版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第二章 數(shù)據(jù)類型運(yùn)算符 和 表達(dá)式,第二章 數(shù)據(jù)類型、運(yùn)算符和表達(dá)式,內(nèi)容提要 數(shù)據(jù)類型 常量與變量 運(yùn)算符與表達(dá)式,2.1 數(shù)據(jù)類型,數(shù)據(jù)類型總表,數(shù)據(jù)類型決定: 1. 數(shù)據(jù)占內(nèi)存字節(jié)數(shù) 2. 數(shù)據(jù)取值范圍 3. 其上可進(jìn)行的操作,說明:數(shù)據(jù)類型所占字節(jié)數(shù)隨機(jī)器硬件不同而不同, 上表以IBM PC機(jī)為例。,基本數(shù)據(jù)類型,2.1 數(shù)據(jù)類型,2.2 常量與變量,數(shù)據(jù)是程序的處理對(duì)象 C語言將數(shù)據(jù)分為常量與變量,2.2.1 常量 1.常量的定義及分類 定義:程序運(yùn)行的過程中,其值不能改變 的量。 分類: 整型常量 實(shí)型常量 字符常量 字符串常量 符號(hào)常量,2.2 常量與變量,2.整型常量(既整常數(shù)
2、) 三種形式: 十進(jìn)制整數(shù):由數(shù)字09和正負(fù)號(hào)表示.如 123,-456,0 八進(jìn)制整數(shù):由數(shù)字0開頭,后跟數(shù)字07表示.如0123,011 十六進(jìn)制整數(shù):由0 x開頭,后跟09,af,AF表示.如0 x123,0Xff,轉(zhuǎn)換成十進(jìn)制數(shù)的方法: 0123 = 1x82 +2x81+3x80 =( 83 )10 0 x123 = 1x162 +2x161+3x160= ( 291 )10 0Xff = 15x161+15x160=( 255 )10,2.2 常量與變量,整型常量的說明 (1)空白字符不可以出現(xiàn)在整數(shù)數(shù)字之間 (2)根據(jù)其值所在范圍確定其數(shù)據(jù)類型 (3)在整常量后加字母l或L,認(rèn)為
3、它是 long int 型常量,例如 30000 為int型 65536 為long int 型 79L、012L 為long int 型,2.2 常量與變量,3.實(shí)型常量 實(shí)常數(shù)或浮點(diǎn)數(shù),是一個(gè)十進(jìn)制表示的符號(hào)實(shí)數(shù) 表示形式: 十進(jìn)制小數(shù)形式 digits.digits 如0.123, .123, 123.0, 0.0, 123. 指數(shù)形式(包括整數(shù)部分、尾數(shù)部分和指數(shù)部分 ) digits .digits E|e + | - digits 小數(shù)點(diǎn)之前是整數(shù)部分,小數(shù)點(diǎn)之后是尾數(shù)部分,小數(shù)點(diǎn)在沒有尾數(shù)時(shí)可省略。 如12.3e3 ,123E2,2.2 常量與變量,實(shí)型常量的說明 (1)實(shí)型常量
4、采用十進(jìn)制小數(shù)形式表示時(shí),必須有 小數(shù)點(diǎn)。例如:123. 是實(shí)型常量,而123是整型 常量 (2)采用指數(shù)形式表示時(shí),在E或e之前必須要有數(shù) 字,且之后的指數(shù)必須為整數(shù)。例如:E6、.e6、 e 等都是不合法的 (3)實(shí)型常量的整數(shù)部分為0時(shí)可以省略,如下形式 是允許的:.57, .0075e2, -.125, -.175E-2 (4)所有的實(shí)型常量均被看作是雙精度類型(double),2.2 常量與變量,4.字符常量 定義:用單引號(hào)括起來的單個(gè)普通字符或轉(zhuǎn)義字符。 分為一般字符常量和特殊字符常量 一般字符常量: 如a、9、!等。單引號(hào)只起定界作用并不表示字符本身,中間的字符可以是除單引號(hào)()
5、和反斜杠( )以外的數(shù)字、字母等C語言字符集中包含的所有可顯示字符。 特殊字符常量(也叫轉(zhuǎn)義字符) 是C語言中表示字符的一種特殊形式,其含義為將反斜杠()后面的字符轉(zhuǎn)換成另外的意義。,2.2 常量與變量,字符常量的值:該字符的ASCII碼值,如 A65, a97, 048 , n10,2.2 常量與變量,aaa,13,如 101 -A 012 -n 376 - x61 -a 060 -0,例 轉(zhuǎn)義字符舉例 int main() printf(101 x42 Cn); printf(I say:How are you?n); printf(C Programn); printf(Turbo C)
6、; ,運(yùn)行結(jié)果:(屏幕顯示) A B C Isay:”How are you?” C Program Turbo C,2.2 常量與變量,字符常量與字符串常量不同,5.字符串常量 定義:用雙引號(hào)(“”)括起來的字符序列 存儲(chǔ):每個(gè)字符串尾自動(dòng)加一個(gè) 0 作為字符串結(jié)束標(biāo)志,例: char ch; ch=“A”;,例: char ch; ch=A;,2.2 常量與變量,6.符號(hào)常量 (1)標(biāo)識(shí)符 定義:用來標(biāo)識(shí)變量、常量、函數(shù)等的字符序列 組成: 只能由字母、數(shù)字、下劃線組成,且第一個(gè)字母必須是字母或下劃線 大小寫敏感 不能使用關(guān)鍵字 長度:最長32個(gè)字符 命名原則: 見名知義 不宜混淆 如1與
7、l, o與0,2.2 常量與變量,在C語言中,允許將程序中的常量定義為一個(gè)標(biāo)識(shí)符,稱為符號(hào)常量。在使用符號(hào)常量前必須先加以定義,一般情況下,符號(hào)常量使用大寫英文字母表示。,其定義的一般形式為: #define 例如: #define PRICE 35,2.2 常量與變量,2.2.2 變量 概念:其值可以改變的量 變量名與變量值 變量定義的一般格式: 數(shù)據(jù)類型 變量1,變量2,變量n; 變量初始化:定義時(shí)賦初值 變量的使用:先定義,后使用,決定分配字節(jié)數(shù) 和數(shù)的表示范圍,合法標(biāo)識(shí)符,例: int a,b,c; float data;,例: int a=2,b,c=4; float data=3.
8、67; char ch=A; int x=1,y=1,z=1; int x=y=z=1; ,2.2 常量與變量,變量定義位置:一般放在函數(shù)開頭,2.2 常量與變量,與常量類似,變量也有不同的類型,一般可以分為以下三種類型: 整型變量 實(shí)型變量 字符變量,2.2 常量與變量,1.整型變量 (1)整型變量的分類 基本型 短整型 長整型 無符號(hào)整型,基本型:類型說明符為int,在內(nèi)存中占2個(gè)字節(jié)。,短整型:類型說明符為short int或short,所占字節(jié)和取值范圍均與基本型相同。,長整型:類型說明符為long int或long,在內(nèi)存中占4個(gè)字節(jié)。,無符號(hào)整型:類型說明符為unsigned。 .
9、 無符號(hào)基本型:類型說明符為 unsigned int或 unsigned。 . 無符號(hào)短整型:類型說明符為unsigned short。 . 無符號(hào)長整型:類型說明符為unsigned long。,2.2 常量與變量,例2-1 整型變量的使用 #include int main() int x,y,z; x=10;y=20; z=x+y; printf(“x+y=%dn”,z); return 0; 輸出結(jié)果:x+y=30,(2)整型變量的定義與使用,2.2 常量與變量,int x; x=10; 則變量x的值10在內(nèi)存中的存放形式: int x; x=-10; 則變量x的值10在內(nèi)存中的存放
10、形式:,(3)整型數(shù)據(jù)在內(nèi)存中的存放形式,2.2 常量與變量,例2-2 整型數(shù)據(jù)的溢出問題 #include int main() int x, y; x=32767; y=x+1; printf(%d,%dn,x,y); return 0; 運(yùn)行結(jié)果:-32768 原因:一個(gè)int型變量只能容納-32768到32767范 圍內(nèi)的數(shù),無法表示超過這個(gè)范圍的數(shù)。,(4)整型數(shù)據(jù)的溢出,2.2 常量與變量,2.實(shí)型變量 (1)實(shí)型變量的分類 單精度實(shí)型:類型說明符為float,在內(nèi)存中占4個(gè)字節(jié),提供7位有效數(shù)字。 雙精度實(shí)型:類型說明符為double,在內(nèi)存中占8個(gè)字節(jié),提供1 5 1 6位有效
11、數(shù)字。,例 float a; a=111111.111; /* a=111111.1*/ double b; b=111111.111; /* b=111111.111*/,2.2 常量與變量,例2-3實(shí)型變量的使用 #include int main() float x,y,z; x=10; y=20; z=x+y ; printf(“x+y=%fn”,z); return 0; 運(yùn)行結(jié)果:x+y=30.000000,(2)實(shí)型變量的定義與使用,2.2 常量與變量,例 a=D; /* a=68; */ x=A+5; /* x=65+5; */ s=!+G /* s=33+71; */,字符變
12、量存放字符ASCII碼 char與int數(shù)據(jù)間可進(jìn)行算術(shù)運(yùn)算,沒有字符串變量,用字符數(shù)組存放,(3)字符變量,2.2 常量與變量,#include int main( ) char c1, c2; /* 定義c1,c2為字符型變量 */ c1 = 97; c2 = 98; /* 將整數(shù)97和98分別賦給c1和c2 */ printf(”%c,%cn”, c1, c2); /* 以字符形式輸出c1和c2 */ printf(”%d,%d”, c1, c2); /* 輸出c1和c2的ASCII碼值 */ printf(”%d”, c1 + c2); return 0; 運(yùn)行結(jié)果如下: a,b 97
13、,98,2.2 常量與變量,例 #define PRICE 12.5 main() int num=3; float total; char ch1,ch2=D; total=num*PRICE; ch1=ch2-A+a; printf(“total=%f,ch1=%cn”,total,ch1); ,運(yùn)行結(jié)果: total=37.500000, ch1=d,(4)變量的初始化,2.2 常量與變量,運(yùn)算符的分類,2.3 運(yùn)算符與表達(dá)式,定義:由常量、變量、函數(shù)、運(yùn)算符和括號(hào)組合起來的、符合C語法規(guī)則的式子稱為表達(dá)式。 一個(gè)表達(dá)式有一個(gè)值以及其對(duì)應(yīng)的類型 表達(dá)式求值首先進(jìn)行優(yōu)先級(jí)高的運(yùn)算再進(jìn)行優(yōu)先
14、級(jí)低的運(yùn)算,然后對(duì)于優(yōu)先級(jí)相同的運(yùn)算按結(jié)合方向進(jìn)行運(yùn)算。 結(jié)合方向:左結(jié)合、右結(jié)合 例如:,2.3 運(yùn)算符與表達(dá)式,2.3.1算術(shù)運(yùn)算符及算術(shù)表達(dá)式 1.基本算術(shù)運(yùn)算符: + - * / % 結(jié)合方向:從左向右 優(yōu)先級(jí):(高)- -* / % - + - 說明: “-”可為單目運(yùn)算符時(shí),右結(jié)合性 兩整數(shù)相除,結(jié)果為整數(shù),如果兩整數(shù)中有一個(gè)是負(fù)數(shù),舍入規(guī)則為“向零取整” 如果運(yùn)算的兩個(gè)數(shù)中有一個(gè)是實(shí)型,則結(jié)果為double型 %要求兩側(cè)均為整型數(shù)據(jù),例 5/2 = 2 -5/2.0 = -2.5 5%2 = 1 -5%2 = -1 1%10 = 1 5%1 = 0 5.5%2 (),2.3 運(yùn)算
15、符與表達(dá)式,#include int main( ) printf(”10-9/6*5 = %d”, 10 9 / 6 * 5); return 0; 運(yùn)行結(jié)果如下: 10-9/6*5 = 5,#include main() int x=5,y; y=+x; printf(%dn,y); 輸出結(jié)果: 6,例2-5 計(jì)算表達(dá)式10-9/6*5,2.3 運(yùn)算符與表達(dá)式,例2-6 計(jì)算表達(dá)式10-3.0/2的值 #include int main( ) printf(”10-3.0/2=%f”, 10 - 3.0 / 2); 運(yùn)行結(jié)果如下: 10-3.0/2=8.500000,2.3 運(yùn)算符與表達(dá)式
16、,2.算術(shù)表達(dá)式 定義:用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算對(duì)象連接起來的、符合C語法規(guī)則的式子稱為算術(shù)表達(dá)式。其中的運(yùn)算對(duì)象包括常量、變量、函數(shù)等。 例如:x+y、(x*2)/y、sin(x)sin(y)等都是算術(shù)表達(dá)式。,2.3 運(yùn)算符與表達(dá)式,(1) (x+y)h2 (2) s(s-a)(s-b)(s-c) (3) (x+1)2+(y-1)2 在C語言中,其合法的算術(shù)表達(dá)式如下: (1) (x+y)*h/2.0 (2) s*(s-a)*(s-b)*(s-c) (3) (x+1)*(x+1)+(y-1)*(y-1),例2-7 寫出下列數(shù)學(xué)表達(dá)式對(duì)應(yīng)的合法的C算術(shù) 表達(dá)式,2.3 運(yùn)算符與表達(dá)式,種類:
17、 = = != 結(jié)合方向:自左向右 優(yōu)先級(jí)別: 關(guān)系運(yùn)算符優(yōu)先級(jí)低于算術(shù)運(yùn)算符,2.3.2 關(guān)系運(yùn)算符及關(guān)系表達(dá)式 1.關(guān)系運(yùn)算符,例:ca+b 等價(jià)于 c(a+b) ab!=c (ab)!=c a=bc a=(bc),2.3 運(yùn)算符與表達(dá)式,關(guān)系運(yùn)算結(jié)果:1(真)和 0(假) 例2-8 計(jì)算下列關(guān)系表達(dá)式的值 (1) 1010 (2) 10=10 (3) 1010!=10 (4) 3*8-9!=5+7%3,2.3 運(yùn)算符與表達(dá)式,2.關(guān)系表達(dá)式 關(guān)系表達(dá)式的值:是邏輯值“真(True)”或“假(False)”,用1或0表示 關(guān)系表達(dá)式例子 int a=3,b=2,c=1,d,f; ab (a
18、b)=c b+cb f=abc,/表達(dá)式值1,/表達(dá)式值1,/表達(dá)式值0,/d=1,/f=0,2.3 運(yùn)算符與表達(dá)式,種類: ! int i; i=10; f=i; 則 f=10.0,錯(cuò)誤: 3=x-2*y; a+b=3;,2.賦值表達(dá)式,2.3 運(yùn)算符與表達(dá)式,賦值表達(dá)式的值與變量值相等,且可嵌套。,例: a=12; a+=a-=a*a,/a=-264 等價(jià)于a=a+(a=a-(a*a),2.3 運(yùn)算符與表達(dá)式,復(fù)合的賦值運(yùn)算符 在“=”前面加上其他運(yùn)算符 種類 += -= *= /= %= = x = 10; y = +x; 此時(shí),變量y的值為11。 如果程序改為: x = 10; y =
19、 x+; 則變量y的值為10。,2.3.5 增量運(yùn)算符,2.3 運(yùn)算符與表達(dá)式,一般形式: expr1 ? expr2 : expr3 由常量、變量、函數(shù)、運(yùn)算符和括號(hào)組合起來的、符合C語法規(guī)則的式子稱為表達(dá)式。 執(zhí)行過程,2.3.6 條件運(yùn)算符及條件表達(dá)式,2.3 運(yùn)算符與表達(dá)式,結(jié)合方向:自右向左 例2-13 假設(shè)變量 x = 10,y = 20, z = 30,計(jì)算下列條件表達(dá)式的值。 (1) x 10 ? 100 : 200 (2) x 10 ? x+z : y 20 ? y + z : z,2.3 運(yùn)算符與表達(dá)式,一般形式: 表達(dá)式1,表達(dá)式2,表達(dá)式n 結(jié)合性:從左向右 優(yōu)先級(jí): 15 逗號(hào)表達(dá)式的值:等于表達(dá)式n的值 例如:1. x=(y=1,y+1); 2. y=20; x=(y=y-10,10/y);,2.3.7 逗號(hào)運(yùn)算符及逗號(hào)表達(dá)式,2.3 運(yùn)算符與表達(dá)式,例
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 施工員夜晚考試題及答案
- 食品貯藏原理試題及答案
- 山東安全員b證考試試題及答案
- 甘肅省武威第十七中學(xué)、武威第四中學(xué)2024-2025學(xué)年八年級(jí)上學(xué)期期末地理試卷(含答案)
- 輔警崗前培訓(xùn)課件
- 語言教學(xué)活動(dòng)的培訓(xùn)課件
- 2026年深圳中考語文答題技巧特訓(xùn)試卷(附答案可下載)
- 小兒肺炎的藥物治療與護(hù)理配合
- 浮力概念題目及答案
- 2026年深圳中考數(shù)學(xué)核心素養(yǎng)檢測試卷(附答案可下載)
- 蜂巢能源科技(遂寧)有限公司9GWH動(dòng)力鋰離子電池項(xiàng)目環(huán)評(píng)報(bào)告
- 2025市場拓展助理秋招筆試題及答案
- 新版《煤礦安全規(guī)程》煤礦地質(zhì)防治水部分學(xué)習(xí)
- 汽保設(shè)備租用合同范本
- 丙烷氣體安全技術(shù)操作說明書
- 綠色金融產(chǎn)品手冊(cè)
- 華萊士合作入股協(xié)議書
- 員工合作協(xié)議合同范本
- 優(yōu)化營商環(huán)境培訓(xùn)課件
- 專題06相似三角形中的基本模型之半角模型(幾何模型講義)數(shù)學(xué)華東師大版九年級(jí)上冊(cè)(原卷版)
- 2025比亞迪供應(yīng)商審核自查表
評(píng)論
0/150
提交評(píng)論