版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2.1 數(shù)據(jù)類型 2.1.1 數(shù)據(jù)類型概述第1頁(yè)/共63頁(yè)2.1 數(shù)據(jù)類型 2.1.2 整數(shù)類型 整數(shù)類型簡(jiǎn)稱整型,整型數(shù)據(jù)沒(méi)有小數(shù)部分。 整型可分為: 基本整型:用int表示。 短整型:用short int或short表示。 長(zhǎng)整型:用long int或long表示。 第2頁(yè)/共63頁(yè)2.1 數(shù)據(jù)類型 2.1.2 整數(shù)類型第3頁(yè)/共63頁(yè)2.1 數(shù)據(jù)類型 2.1.3 實(shí)型 實(shí)數(shù)類型簡(jiǎn)稱實(shí)型,有時(shí)又稱浮點(diǎn)數(shù)據(jù)類型 包括 : 單精度浮點(diǎn)數(shù)類型:簡(jiǎn)稱浮點(diǎn)類型,類型名為float。 雙精度浮點(diǎn)數(shù)類型:簡(jiǎn)稱雙精度類型,類型名為double。 長(zhǎng)雙精度類型:類型名為long double。 第4頁(yè)/共6
2、3頁(yè)2.1 數(shù)據(jù)類型 2.1.3 實(shí)型第5頁(yè)/共63頁(yè)2.1 數(shù)據(jù)類型 2.1.4 字符型 字符類型的數(shù)據(jù)簡(jiǎn)稱字符型數(shù)據(jù) C語(yǔ)言中用char表示,在內(nèi)存中占一個(gè)字節(jié)。 字符類型的數(shù)據(jù)包括計(jì)算機(jī)所用編碼字符集中的所有字符。常用的ASCII字符集,共128個(gè)。擴(kuò)展的ASCII字符集共256個(gè)字符。 字符數(shù)據(jù)與整型數(shù)據(jù)是相似的 (除了占用的存儲(chǔ)空間不同 ) 第6頁(yè)/共63頁(yè)2.1 數(shù)據(jù)類型 2.1.4 字符型第7頁(yè)/共63頁(yè)2.2 標(biāo)識(shí)符、常量與變量 2.2.1 標(biāo)識(shí)符 所謂標(biāo)識(shí)符是指程序中的變量、符號(hào)常量、數(shù)組、函數(shù)、類型、文件等對(duì)象的名字。 規(guī)則: 由字母、數(shù)字和下劃線組成,且第一個(gè)字符必須為字
3、母或下劃線。 大小寫敏感。如Name和name是兩個(gè)不同的標(biāo)識(shí)符 不能使用系統(tǒng)的關(guān)鍵字第8頁(yè)/共63頁(yè)2.2 標(biāo)識(shí)符、常量與變量 建議: 不建議使用系統(tǒng)預(yù)定義標(biāo)識(shí)符 如define、include、 scanf、printf 盡量做到“見名知義” 如max、name等, 不用像abc、a1、a2等標(biāo)識(shí)符。 避免使用易混字符 1、l、i; 0、o; 2、z等 第9頁(yè)/共63頁(yè)2.2 標(biāo)識(shí)符、常量與變量 關(guān)鍵字 第10頁(yè)/共63頁(yè)2.2 標(biāo)識(shí)符、常量與變量 2.2.2 常量 指在程序運(yùn)行中其值不能被改變的量。 直接常量:如整型常量、實(shí)型常量、字符型常量、字符串常量等。 符號(hào)常量:用標(biāo)識(shí)符定義的常量
4、。第11頁(yè)/共63頁(yè)2.2 標(biāo)識(shí)符、常量與變量 整型常量 十進(jìn)制整型常量:同數(shù)學(xué)上的表示方法,如168、-1、65535等。 八進(jìn)制整型常量:以0開頭,由數(shù)字07組成,如0101、-045等。 十六進(jìn)制整型常量:以0 x或0X開頭的數(shù)字序列表示十六進(jìn)制數(shù),如0 x12, 第12頁(yè)/共63頁(yè)2.2 標(biāo)識(shí)符、常量與變量 注意: 如要說(shuō)明是無(wú)符號(hào)類型則在數(shù)據(jù)后加u或U、如65535u、168U等。如果說(shuō)明為長(zhǎng)整型,則在數(shù)據(jù)后面加l或L,如-1L。 八進(jìn)制、十進(jìn)制和十六進(jìn)制只是整數(shù)的不同書寫形式,提供多種寫法只是為了使用方便,我們可以根據(jù)需要選擇適當(dāng)?shù)臅鴮懛绞健?C語(yǔ)言中不用二進(jìn)制形式表示整數(shù)。 C語(yǔ)
5、言中,一般只使用無(wú)符號(hào)的八進(jìn)制和十六進(jìn)制數(shù),而不使用有符號(hào)的八進(jìn)制和十六進(jìn)制數(shù),因此沒(méi)有專門的無(wú)符號(hào)八進(jìn)制和十六進(jìn)制標(biāo)識(shí)符。第13頁(yè)/共63頁(yè)2.2 標(biāo)識(shí)符、常量與變量 以下是非法的整型常量: 09:0開頭應(yīng)該是八進(jìn)制,但9不是合法的八進(jìn)制數(shù)字。 0X6G:0X開頭應(yīng)該是十六進(jìn)制,但G不是合法的十六進(jìn)制數(shù)字。 以下是合法的整型常量: 00000101:八進(jìn)制,相當(dāng)于十進(jìn)制的65。 -012:八進(jìn)制,相當(dāng)于十進(jìn)制的-10。 65535LU:十進(jìn)制,無(wú)符號(hào)長(zhǎng)整型。 0XFF:十六進(jìn)制,相當(dāng)于十進(jìn)制的255。 第14頁(yè)/共63頁(yè)2.2 標(biāo)識(shí)符、常量與變量 實(shí)型常量 實(shí)型常量只能用十進(jìn)制形式表示 表示
6、形式: 小數(shù)形式。由數(shù)字序列和小數(shù)點(diǎn)組成,如3.1415926、-0.15、.15、2.等都是合法的實(shí)型常量。 指數(shù)形式。由十進(jìn)制數(shù)加上階碼標(biāo)志“e”或“E”及階碼組成,如3.14e-4或3.14E-4表示3.1410-4。第15頁(yè)/共63頁(yè)2.2 標(biāo)識(shí)符、常量與變量 注意: 字母e或E之前的尾數(shù)部分必須有數(shù)字,例如E2是不合法的。 e或E后面的指數(shù)部分必須是整數(shù),指數(shù)部分無(wú)整數(shù)或?yàn)樾?shù)均是錯(cuò)誤的,例如5e 和5E-5.5均是不合法的表示。 C語(yǔ)言中,默認(rèn)實(shí)型常量為double類型,若有后綴“f”或“F”,則為float類型。 第16頁(yè)/共63頁(yè)2.2 標(biāo)識(shí)符、常量與變量 字符常量 字符型常量
7、是由一對(duì)單引號(hào)括起來(lái)的單個(gè)字符構(gòu)成 例如A、b、8 字符AZ的ASCII碼值是6590。 字符az的ASCII碼值是97122。 字符09的ASCII碼值是4857。 空格字符的ASCII碼值是32。 第17頁(yè)/共63頁(yè)2.2 標(biāo)識(shí)符、常量與變量 轉(zhuǎn)義字符 第18頁(yè)/共63頁(yè)2.2 標(biāo)識(shí)符、常量與變量 字符串常量 字符串常量是由一對(duì)雙引號(hào)括起的字符序列,例如“1234567”、“Hello World”等都是字符串常量。 123101共有5個(gè)字符占6個(gè)字節(jié),其中、101分別代表一個(gè)字符,輸出為123A 第19頁(yè)/共63頁(yè)2.2 標(biāo)識(shí)符、常量與變量 符號(hào)常量 【例2-1】輸入圓的半徑,計(jì)算周長(zhǎng)和
8、面積。#define PI 3.14159void main() float r,c,s; scanf(%f,&r); c=2*PI*r; s=PI*r*r; printf(r=%f,c=%f,s=%fn,r,c,s); 第20頁(yè)/共63頁(yè)2.2 標(biāo)識(shí)符、常量與變量 2.2.3 變量 在程序運(yùn)行過(guò)程中,其存儲(chǔ)的值可以被改變的量稱為變量 變量必須通過(guò)標(biāo)識(shí)符進(jìn)行說(shuō)明,稱為變量名。 變量名和內(nèi)存單元地址存在映射關(guān)系,程序可以通過(guò)變量名尋址,從而訪問(wèn)其存儲(chǔ)的數(shù)據(jù)。 第21頁(yè)/共63頁(yè)2.2 標(biāo)識(shí)符、常量與變量 變量的定義和說(shuō)明 數(shù)據(jù)類型 變量名1,變量名2,變量名n; int i,j,k; f
9、loat x; long a,b,c; 4個(gè)基本要素:名字、類型、初值和作用域 第22頁(yè)/共63頁(yè)2.2 標(biāo)識(shí)符、常量與變量 變量名為標(biāo)識(shí)符的一種。 變量的數(shù)據(jù)類型可以是基本數(shù)據(jù)類型,也可以是復(fù)雜數(shù)據(jù)類型。 變量的作用域是指變量在程序中有定義的范圍,即該變量名在某段代碼區(qū)域是否有意義。 變量需要賦初值。沒(méi)有被賦值的變量其初值取決于存儲(chǔ)類型,靜態(tài)存儲(chǔ)的變量將自動(dòng)為0,否則被隨機(jī)初始化。 第23頁(yè)/共63頁(yè)2.2 標(biāo)識(shí)符、常量與變量 變量賦初值的兩種方式 變量說(shuō)明時(shí)直接賦初值,稱為變量的初始化,如: int a=10,b=9,c=6; float x=3.0,y=1.0,z=2.0; 用賦值語(yǔ)句賦
10、初值,如: float x; x10.0;第24頁(yè)/共63頁(yè)2.2 標(biāo)識(shí)符、常量與變量 注意: 編譯系統(tǒng)將對(duì)每一個(gè)變量根據(jù)它被定義的類型分配相應(yīng)的存儲(chǔ)單元。變量存儲(chǔ)單元地址可用“&變量名”求得。 可以用長(zhǎng)度運(yùn)算符sizeof()求出任意類型變量存儲(chǔ)單元的字節(jié)數(shù)。 編譯系統(tǒng)根據(jù)變量被定義的類型檢查該變量進(jìn)行運(yùn)算的合法性。 如果沒(méi)有給變量賦初始值,普通變量將存儲(chǔ)隨機(jī)值,直到給它賦值為止。 第25頁(yè)/共63頁(yè)2.2 標(biāo)識(shí)符、常量與變量 整型數(shù)據(jù)的存儲(chǔ) C語(yǔ)言中的整型數(shù)據(jù)分為有符號(hào)和無(wú)符號(hào)兩大類 unsigned int a=65,b=65535; int a=65,b=32767,c=-1;
11、第26頁(yè)/共63頁(yè)2.2 標(biāo)識(shí)符、常量與變量 補(bǔ)碼(complement) 假設(shè)int型整數(shù)a占2字節(jié),16位二進(jìn)制數(shù) 第27頁(yè)/共63頁(yè)2.2 標(biāo)識(shí)符、常量與變量 2字節(jié)的int型整數(shù)的補(bǔ)碼第28頁(yè)/共63頁(yè)2.2 標(biāo)識(shí)符、常量與變量 負(fù)數(shù)的轉(zhuǎn)換步驟如下: 32768 取絕對(duì)值,如|-32768| 等于32768 216-|a|,如216-|-32768| 等于65536 32768 等于 32768 轉(zhuǎn)換成二進(jìn)制,如10000000 00000000(32768等于215) 第29頁(yè)/共63頁(yè)2.2 標(biāo)識(shí)符、常量與變量 補(bǔ)碼形式還原成十進(jìn)制的步驟正好相反 11111111 11111110
12、 轉(zhuǎn)換成十進(jìn)制:65534 216-65534 65536-65534 2 加負(fù)號(hào) -2第30頁(yè)/共63頁(yè)2.2 標(biāo)識(shí)符、常量與變量 實(shí)型數(shù)據(jù)的存儲(chǔ) 字符數(shù)據(jù)的存儲(chǔ)與使用 第31頁(yè)/共63頁(yè)2.2 標(biāo)識(shí)符、常量與變量【例2-2】演示字符數(shù)據(jù)的存儲(chǔ)和引用。#include void main() char c;int i; c=A;i=c; printf(c =%d,c= %cn, c, c);printf(i =%d,i= %cn, i, i);c=c+32; printf(c=%cn,c);c=0 x80; printf(c=%c,c=%dn, c, c); 第32頁(yè)/共63頁(yè)2.2 標(biāo)識(shí)符
13、、常量與變量 溢出與舍入誤差 數(shù)據(jù)的溢出 char c=127; c = c+1; 第33頁(yè)/共63頁(yè)2.2 標(biāo)識(shí)符、常量與變量【例2-3】演示數(shù)據(jù)的溢出。#include void main()char c=127;long li=2147483647;unsigned uc;unsigned long uli;printf(c=%d, li=%ldn, c,li);c=c+1;li=li+1;printf(c=%d, li=%ldn, c,li);c=127+100;li=2147483647+100;printf(c=%d, li=%ldn, c,li);uc=127+100;uli=2
14、147483647+100;printf(uc=%d, uli=%ldn, uc,uli);printf(uc=%u, uli=%lun, uc,uli); 第34頁(yè)/共63頁(yè)2.2 標(biāo)識(shí)符、常量與變量 實(shí)型數(shù)據(jù)的誤差 整數(shù)存儲(chǔ)除了溢出以外是沒(méi)有誤差的。 實(shí)型數(shù)據(jù)由于是用有限的存儲(chǔ)單元存儲(chǔ)較大范圍的實(shí)型數(shù),有效數(shù)字是有尾數(shù)限制的,在實(shí)際計(jì)算和引用中會(huì)有很多問(wèn)題。 第35頁(yè)/共63頁(yè)2.2 標(biāo)識(shí)符、常量與變量【例2-4】演示實(shí)型數(shù)據(jù)的誤差。#include void main() float x, y;x = 1234567890000000000.0;y = x + 0.12345; /*大數(shù)
15、加上一個(gè)小數(shù),小數(shù)被忽略*/printf(x=%f, y=%fn, x, y);x = 3.1415926;y = x - 0.0001; /*小數(shù)的有效位加1有效*/printf(x=%.3f, y=%.3fn, x, y);y = x + 0.0000005; /*小數(shù)的無(wú)效位加1也無(wú)效*/printf(x=%.7f, y=%.7fn, x, y); 第36頁(yè)/共63頁(yè)2.3 運(yùn)算符與表達(dá)式 13類45個(gè)運(yùn)算符 第37頁(yè)/共63頁(yè)2.3 運(yùn)算符與表達(dá)式第38頁(yè)/共63頁(yè)2.3 運(yùn)算符與表達(dá)式 學(xué)習(xí)運(yùn)算符要注意以下幾方面問(wèn)題 運(yùn)算符的功能。 運(yùn)算符與操作對(duì)象即操作數(shù)(包括常量、變量、函數(shù)調(diào)用
16、等)的關(guān)系: 操作數(shù)的個(gè)數(shù)(單目、雙目、三目)。 求操作數(shù)的類型(如求余運(yùn)算符%要求操作數(shù)是整型)。 結(jié)合方向 運(yùn)算符的優(yōu)先級(jí)。 運(yùn)算結(jié)果的數(shù)據(jù)類型 運(yùn)算符連接操作數(shù)形成的式子叫表達(dá)式。第39頁(yè)/共63頁(yè)2.3 運(yùn)算符與表達(dá)式 2.3.1 算術(shù)運(yùn)算符與算術(shù)表達(dá)式 +(加)、-(減)、*(乘)、/(除)、%(取模,或稱求余運(yùn)算符)。 雙目運(yùn)算符,結(jié)合方向均為從左到右。 %(取模)運(yùn)算符僅用于整型變量或整型常量的運(yùn)算,a%b結(jié)果為a除以b的余數(shù),余數(shù)的符號(hào)與被除數(shù)相同,如:7%3的值為1;17%-3的結(jié)果為2;-19%4的結(jié)果為-3。 +、-、*、/運(yùn)算符的兩個(gè)操作數(shù)既可以是整數(shù),也可以是實(shí)數(shù)。
17、/(除法)運(yùn)算符,當(dāng)對(duì)兩個(gè)整型的數(shù)據(jù)相除時(shí)為整除操作第40頁(yè)/共63頁(yè)2.3 運(yùn)算符與表達(dá)式 強(qiáng)制類型轉(zhuǎn)換(顯式轉(zhuǎn)換)運(yùn)算符:(類型) 例如: (double)a (int)(x+y) (float)5/3 表達(dá)式一定要加括號(hào)(因強(qiáng)制類型轉(zhuǎn)換是單目運(yùn)算,優(yōu)先級(jí)高),例如上面最后一個(gè)表達(dá)式中只是將5轉(zhuǎn)變成float型,而不是將5/3轉(zhuǎn)變成float型。 若對(duì)變量實(shí)型顯式轉(zhuǎn)換,將得到新類型的一個(gè)值,原變量的類型及其存儲(chǔ)值均不變。第41頁(yè)/共63頁(yè)2.3 運(yùn)算符與表達(dá)式【例2-5】演示強(qiáng)制類型轉(zhuǎn)換。#include void main()int i; float f;f=3.1415926;prin
18、tf(i=%d,f=%fn,i,f);i=(int) f; printf(i=%dn,i);f=5/3;printf(f=%fn,f);f=(float)5/3; printf(f=%fn,f);printf(f=%dn,f); /*實(shí)數(shù)按整型數(shù)方式輸出*/printf(i=%fn,i); /*整型按實(shí)數(shù)方式輸出*/第42頁(yè)/共63頁(yè)2.3 運(yùn)算符與表達(dá)式 自增自減運(yùn)算符:+和 單目運(yùn)算符,右結(jié)合 作用對(duì)象必須是變量 前綴運(yùn)算 int i=5, j;j=+i; j等于6。 后綴運(yùn)算 int i=5, j;j=i+; j等于5。 第43頁(yè)/共63頁(yè)2.3 運(yùn)算符與表達(dá)式【例2-6】輸出下面程序中
19、i、j的值。#include void main() int i=5,j; j=+i + i+;printf(i=%d,j=%dn,i,j);i=5;j=(+i)+(+i)+(i+);printf(i=%d,j=%dn,i,j);i=5; printf(i+=%d,i+=%dn,i+,i+); printf(i=%dn,i);i=5;printf(+i=%d,+i=%dn,+i,+i); printf(i=%dn,i);i=5;j=6; printf(i+j=%d,j+=%dn,i+j,j+);printf(i=%d,j=%dn,i,j);i=5;j=6; printf(i+j=%d,j+=%
20、dn,i+j,+j);printf(i=%d,j=%dn,i,j);第44頁(yè)/共63頁(yè)2.3 運(yùn)算符與表達(dá)式 說(shuō)明: 左邊是TC下的運(yùn)行結(jié)果,右邊是VC下的運(yùn)行結(jié)果。 二者不同之處在于printf函數(shù)輸出時(shí),VC下后面參數(shù)的后綴j+、i+是在所有參數(shù)處理完畢后才起作用,而TC下,后綴的自增和自減將影響到該參數(shù)前面的參數(shù)處理。 第45頁(yè)/共63頁(yè)2.3 運(yùn)算符與表達(dá)式 2.3.2 賦值運(yùn)算符與賦值表達(dá)式 變量 = 表達(dá)式 “=”是賦值運(yùn)算符,不同于等號(hào)(等號(hào)是=)。 右結(jié)合 int a,b;a=b=100; 連續(xù)賦值,只有最后一步有效。例如: int a;a=100;a=200; 賦值運(yùn)算符的優(yōu)
21、先級(jí)較低(只高于逗號(hào)運(yùn)算符),因此一般情況下表達(dá)式無(wú)須加括號(hào)。例如: a=2+5/3 相當(dāng)于:a=(2+5/3) 賦值運(yùn)算可以構(gòu)成一個(gè)表達(dá)式,其值可以再賦給其他變量。例如: a=b=100;其實(shí)相當(dāng)于: a=(b=100); 第46頁(yè)/共63頁(yè)2.3 運(yùn)算符與表達(dá)式 復(fù)合賦值運(yùn)算符 +=、-=、*=、/=、%=、=、&=、=和|= a+=100;等價(jià)于a=a+100; a*=b;等價(jià)于a=a*b; 簡(jiǎn)化程序,使程序精練; 提高編譯效率,產(chǎn)生質(zhì)量較高的目標(biāo)代碼。 第47頁(yè)/共63頁(yè)2.3 運(yùn)算符與表達(dá)式 2.3.3 算術(shù)表達(dá)式的書寫 2bb4ac2a (-b+sqrt(b*b-4*a*c
22、) / (2*a) 設(shè)有變量聲明float a=3.0; int b=2;計(jì)算表達(dá)式2+sqrt(1.0+a)*b+/2。解: 2+sqrt(1.0+a)*b+/22+sqrt(4.0)*b+/22+2.0*2/22+4.0/22+2.04.0 第48頁(yè)/共63頁(yè)2.3 運(yùn)算符與表達(dá)式 2.3.4 逗號(hào)運(yùn)算符與逗號(hào)表達(dá)式 (表達(dá)式1),(表達(dá)式2),(表達(dá)式3),(表達(dá)式n) 表達(dá)式n的值就是整個(gè)逗號(hào)表達(dá)式的值?!纠?-7】演示逗號(hào)表達(dá)式。#include void main()int a;printf(1+2+3+4+5 =%dn, (a=1,a=a+2,a=a+3,a=a+4,a=a+5)
23、 );printf(a=%dn,a); 第49頁(yè)/共63頁(yè)2.4 數(shù)據(jù)類型轉(zhuǎn)換 2.4.1 類型轉(zhuǎn)換概述 不同類型數(shù)據(jù)的存儲(chǔ)長(zhǎng)度和存儲(chǔ)方式不同,一般不能直接混合運(yùn)算。為了提高編程效率,增加應(yīng)用的靈活性,C語(yǔ)言允許不同數(shù)據(jù)類型相互轉(zhuǎn)換。 不同數(shù)據(jù)類型的差異 double比f(wàn)loat高級(jí)。 實(shí)數(shù)比整數(shù)高級(jí)。 整數(shù)中長(zhǎng)的比短的高級(jí),如:longintshortchar 無(wú)符號(hào)(unsigned)比有符號(hào)(signed)高級(jí)第50頁(yè)/共63頁(yè)2.4 數(shù)據(jù)類型轉(zhuǎn)換 數(shù)據(jù)類型轉(zhuǎn)換產(chǎn)生的效果 數(shù)據(jù)類型級(jí)別的提升與降低 符號(hào)位擴(kuò)展與零擴(kuò)展 截去高位產(chǎn)生數(shù)值的變化 丟失精度 實(shí)數(shù)轉(zhuǎn)換成整數(shù)時(shí),由于截去小數(shù)將丟失
24、精度。 double型轉(zhuǎn)換成float型時(shí),有效數(shù)字減少(四舍五入),精度丟失。 long型轉(zhuǎn)換成float型時(shí),由原來(lái)可達(dá)10位整數(shù)變成只有7位有效數(shù)字,精度丟失,但由于數(shù)的范圍擴(kuò)大了,數(shù)據(jù)類型從較低級(jí)提升到較高級(jí) 第51頁(yè)/共63頁(yè)2.4 數(shù)據(jù)類型轉(zhuǎn)換 自動(dòng)類型轉(zhuǎn)換 float在運(yùn)算時(shí)自動(dòng)轉(zhuǎn)換成double。 char和short在運(yùn)算時(shí)自動(dòng)轉(zhuǎn)換成int。 int和unsigned混合運(yùn)算時(shí),將int轉(zhuǎn)換成unsigned數(shù)據(jù)。 int或unsigned與long混合運(yùn)算時(shí),都轉(zhuǎn)換成long數(shù)據(jù)。 int、unsigned、long與浮點(diǎn)型數(shù)據(jù)混合運(yùn)算時(shí),都轉(zhuǎn)換成double 第52頁(yè)/共
25、63頁(yè)2.4 數(shù)據(jù)類型轉(zhuǎn)換 2.4.3 賦值類型轉(zhuǎn)換 賦值運(yùn)算時(shí),如果賦值運(yùn)算符兩側(cè)的類型(指基本類型)不一致,系統(tǒng)自動(dòng)將表達(dá)式的值轉(zhuǎn)換成變量的類型存到變量的存儲(chǔ)單元中 整型數(shù)據(jù)賦給實(shí)型變量時(shí),數(shù)值上不發(fā)生任何變化。如: float f; f=100; 實(shí)型數(shù)據(jù)賦給整型變量時(shí),小數(shù)部分將被舍棄。如: int a = 3.1415; /*內(nèi)存中變量a的值為3*/ 短的有符號(hào)整型數(shù)據(jù)賦給長(zhǎng)整型變量時(shí),需要進(jìn)行符號(hào)位擴(kuò)展。 短的無(wú)符號(hào)的整型數(shù)據(jù)賦給長(zhǎng)整型變量時(shí),需要進(jìn)行0擴(kuò)展。 則i的值為-1。第53頁(yè)/共63頁(yè)2.4 數(shù)據(jù)類型轉(zhuǎn)換 長(zhǎng)整型數(shù)據(jù)賦給短的整型變量時(shí),有可能溢出。如: char c= 3
26、21; 溢出后c的值為A。 同長(zhǎng)度有符號(hào)整型數(shù)據(jù)賦給無(wú)符號(hào)整型變量時(shí),數(shù)據(jù)將失去符號(hào)位功能。如: unsigned char c = -1; 則c的值為255。 同長(zhǎng)度無(wú)符號(hào)整型數(shù)據(jù)賦給有符號(hào)整型變量時(shí),數(shù)據(jù)將得到符號(hào)位功能。如對(duì)于16位int: int i=65535u;第54頁(yè)/共63頁(yè)2.4 數(shù)據(jù)類型轉(zhuǎn)換 2.4.4 強(qiáng)制類型轉(zhuǎn)換 強(qiáng)制類型轉(zhuǎn)換的格式為: (類型名)(表達(dá)式) 強(qiáng)制類型轉(zhuǎn)換用于不能自動(dòng)轉(zhuǎn)換的情況。例如: (int) 5.0 % 3 /*實(shí)型數(shù)據(jù)求余運(yùn)算*/ (int)(f+0.5) /*第一位小數(shù)的四舍五入算法 */ (int)(f*10+0.5)/10.0 /*第二位小
27、數(shù)的四舍五入算法 */ 第55頁(yè)/共63頁(yè)2.5 程序舉例【例2-8】編寫程序?qū)⑤斎氲娜A氏溫度轉(zhuǎn)換為攝氏溫度,輸出結(jié)果精確到小數(shù)點(diǎn)后兩位。轉(zhuǎn)換公式為:C = 5 / 9 * ( F 32 ) #include void main() float temprature; printf(Input F:); scanf(%f,&temprature); temprature = (temprature-32)*5/9; printf(C=%.2fn,temprature); 第56頁(yè)/共63頁(yè)【例2-9】汽車在有里程標(biāo)志的公路上行進(jìn)。輸入開始和結(jié)束的里程及時(shí)間(以時(shí)、分、秒輸入),計(jì)算并輸
28、出平均速度(公里數(shù)/小時(shí))#include main()int StartPost,EndPost; int StartHour, StartMinute,StartSecond; int EndHour,EndMinute, EndSecond ; int ElapsedTS,ElapsedHour,ElapsedMinute,ElapsedSecond; double ElapsedTime,Velocity; int Distant; printf(Input StartPost:); scanf(%d,&StartPost); printf(Input Begin Time:)
29、; scanf(%d,%d,%d,&StartHour, StartMinute, &StartSecond); printf(Input EndPost:); scanf(%d,&EndPost); printf(Input End Time:); scanf(%d,%d,%d,&EndHour, &EndMinute, &EndSecond);第57頁(yè)/共63頁(yè) ElapsedTS = ( EndHour * 3600 + EndMinute * 60 + EndSecond ) ( StartHour * 3600 + StartMinut
30、e * 60 + StartSecond ) ; ElapsedHour = ElapsedTS / 3600 ; ElapsedMinute = ElapsedTS % 3600 / 60 ; ElapsedSecond = ElapsedTS % 60 ; ElapsedTime = ElapsedHour + ElapsedMinute / 60.0 + ElapsedSecond / 3600.0 ; Distant = EndPost - StartPost ; Velocity = Distant / ElapsedTime ; printf(Distant is :%dn,Distant); printf(Elapsetime is:%d Hour %d Minute %d Secondn, ElapsedHour,ElapsedMinute,ElapsedSecond); printf(Velocity is:%f km/hourn,Velocity); 第58頁(yè)/共63頁(yè) C語(yǔ)言的數(shù)據(jù)類型。 C語(yǔ)言的數(shù)據(jù)類型有4類:基本類型、構(gòu)造類型、指針類型和空類型。 基本數(shù)據(jù)類型包括整型、實(shí)型、字符型3種
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年政府公共安全監(jiān)控技術(shù)合同范本3篇
- 2024年版建設(shè)項(xiàng)目招標(biāo)協(xié)調(diào)合同
- 三年級(jí)教學(xué)計(jì)劃3篇
- 員工工作計(jì)劃
- 2024-2030年中國(guó)羥甲煙胺片行業(yè)發(fā)展?jié)摿︻A(yù)測(cè)及投資戰(zhàn)略研究報(bào)告
- 服裝銷售工作計(jì)劃
- 學(xué)習(xí)部工作計(jì)劃4篇
- 去超市實(shí)習(xí)報(bào)告范文集合7篇
- 銀行員工辭職信
- 關(guān)于教師職稱述職報(bào)告匯編5篇
- 部編版語(yǔ)文四年級(jí)下冊(cè)第二單元大單元教學(xué)設(shè)計(jì)核心素養(yǎng)目標(biāo)
- 2024年小學(xué)教師聽課、評(píng)課制度
- 精品解析:河北省衡水市衡水中學(xué)2023-2024學(xué)年高一上學(xué)期期末數(shù)學(xué)試題(解析版)
- 2023年《鐵道概論》考試復(fù)習(xí)題庫(kù)附答案(含各題型)
- (電焊工)勞務(wù)分包合同
- 陜西省西安市西咸新區(qū)2023-2024學(xué)年七年級(jí)上學(xué)期1月期末歷史試題
- 北師大版數(shù)學(xué)三年級(jí)下冊(cè)全冊(cè)教案教學(xué)設(shè)計(jì)及教學(xué)反思
- 重難點(diǎn)06讀后續(xù)寫-2023年高考英語(yǔ)【熱點(diǎn)·重點(diǎn)·難點(diǎn)】(新高考專用)
- 眼科手術(shù)圍手術(shù)期的護(hù)理
- 人事行政主管打造高效團(tuán)隊(duì)提升員工滿意度實(shí)現(xiàn)人力資源的優(yōu)化管理和企業(yè)文化的建設(shè)
- 《腰椎穿刺術(shù)》課件
評(píng)論
0/150
提交評(píng)論