數(shù)據(jù)類(lèi)型及其運(yùn)算_第1頁(yè)
數(shù)據(jù)類(lèi)型及其運(yùn)算_第2頁(yè)
數(shù)據(jù)類(lèi)型及其運(yùn)算_第3頁(yè)
數(shù)據(jù)類(lèi)型及其運(yùn)算_第4頁(yè)
數(shù)據(jù)類(lèi)型及其運(yùn)算_第5頁(yè)
已閱讀5頁(yè),還剩130頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第2章數(shù)據(jù)類(lèi)型及其運(yùn)算1《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.1變量2.2常量2.3C語(yǔ)言的數(shù)據(jù)類(lèi)型2.4運(yùn)算符與表達(dá)式2.5數(shù)學(xué)函數(shù)2《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.1變量2.1.1內(nèi)存計(jì)算機(jī)中運(yùn)行的程序,包括組成程序的指令和運(yùn)行時(shí)所需要的數(shù)據(jù),存儲(chǔ)在計(jì)算機(jī)的內(nèi)存中。計(jì)算機(jī)采用二進(jìn)制存儲(chǔ)數(shù)據(jù),每一位二進(jìn)制數(shù)稱(chēng)為1個(gè)比特(bit)。每8位二進(jìn)制數(shù)構(gòu)成1個(gè)字節(jié)(byte),用大寫(xiě)的B表示。為了方便訪(fǎng)問(wèn)內(nèi)存中的數(shù)據(jù),給每個(gè)字節(jié)做一個(gè)標(biāo)記,這個(gè)標(biāo)記稱(chēng)為地址。計(jì)算機(jī)的內(nèi)存采用一維線(xiàn)性編址。計(jì)算機(jī)存儲(chǔ)系統(tǒng)常用的單位包括千字節(jié)(KB)、兆字節(jié)(MB)和吉字節(jié)(GB)。3《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算4圖2-164KB內(nèi)存空間示意圖2.1變量2.1.2變量的基本概念程序運(yùn)行時(shí),其值能被改變的量稱(chēng)為變量。變量實(shí)質(zhì)上就是計(jì)算機(jī)內(nèi)存中一段有名字的由一個(gè)或若干個(gè)連續(xù)的字節(jié)構(gòu)成的存儲(chǔ)空間。每個(gè)變量都有一個(gè)名字,通過(guò)變量的名字可以訪(fǎng)問(wèn)到變量的存儲(chǔ)空間并獲得變量的數(shù)值。在C語(yǔ)言程序中通過(guò)定義變量來(lái)申請(qǐng)并命名這樣的存儲(chǔ)空間,并通過(guò)變量的名字來(lái)使用這段存儲(chǔ)空間。變量是程序中數(shù)據(jù)的臨時(shí)存放場(chǎng)所,可以用以保存程序運(yùn)行時(shí)用戶(hù)輸入的數(shù)據(jù)和運(yùn)算結(jié)果等。5《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.1變量【例2.1】計(jì)算兩數(shù)之和。6《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算源程序:#include<stdio.h>intmain(){

intm,n,sum; m=32; n=64; sum=m+n;

printf("sum=%d\n",sum); return0;}2.1變量2.1.2變量的基本概念1.變量定義源程序中:intm,n,sum;1行定義了3個(gè)用于存放整數(shù)的整型變量。int

表示整型數(shù)據(jù)類(lèi)型。7《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算8圖2-2定義變量后內(nèi)存空間示意圖2.1變量2.1.2變量的基本概念2.變量賦值源程序中:m=32;n=64;2行為變量賦值。將“=”右邊的常量值賦給左邊的變量。9《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算10圖2-3變量賦值后內(nèi)存空間示意圖2.1變量2.1.2變量的基本概念3.運(yùn)算并保存結(jié)果源程序中:sum=m+n;1行為計(jì)算m+n的值賦值給變量sum。11《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算圖2-4保存運(yùn)算結(jié)果后內(nèi)存空間示意圖2.1變量2.1.2變量的基本概念4.顯示結(jié)果源程序中:printf("sum=%d\n",sum);1行在屏幕上顯示運(yùn)算結(jié)果。運(yùn)行結(jié)果:13《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算sum=962.1變量2.1.2變量的基本概念4.顯示結(jié)果

printf()函數(shù)調(diào)用中"sum=%d\n"稱(chēng)為格式控制。格式控制中除了%號(hào)開(kāi)始加后面的字符(例如本例中的“%d”)外,其余字符按原樣輸出。由“%”字符開(kāi)始的稱(chēng)為格式說(shuō)明,例如“%d”表示這里以有符號(hào)數(shù)十進(jìn)制形式輸出一個(gè)整數(shù),這個(gè)整數(shù)是格式控制"sum=%d\n"后面跟著的常量、變量或表達(dá)式的值,具體到本例就是"sum=%d\n"后面的變量sum的值。14《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.1變量2.1.3變量定義在C語(yǔ)言中,變量的必須遵循“先定義,后使用”的原則。變量定義的格式:

數(shù)據(jù)類(lèi)型變量1[,變量2,…,變量n];注:這里[]表示可選項(xiàng)。例如,例2.1中的語(yǔ)句“intm,n,sum;”。15《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.1變量2.1.3變量定義每個(gè)變量必須有一個(gè)類(lèi)型,如整型、字符型等,它指明給這個(gè)變量分配多大的存儲(chǔ)空間;每個(gè)變量還必須有一個(gè)名字,如x,y等,指明具體的變量名字。變量命名遵循標(biāo)識(shí)符命名規(guī)則,習(xí)慣上,變量名用小寫(xiě)字母表示,以增加可讀性。一般情況下變量應(yīng)該先賦值再參與運(yùn)算。一個(gè)變量的數(shù)值保存在該變量的存儲(chǔ)空間內(nèi),程序通過(guò)變量名可以引用變量值。16《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.1變量2.1.4變量的命名規(guī)則--標(biāo)識(shí)符與關(guān)鍵字C語(yǔ)言中的變量命名符合標(biāo)識(shí)符的命名規(guī)則。1.關(guān)鍵字關(guān)鍵字又稱(chēng)保留字,是C語(yǔ)言中預(yù)先規(guī)定的具有固定含義的一些單詞,已被C語(yǔ)言編輯工具本身使用,不能被程序員另作其他用途。C語(yǔ)言共有32個(gè)關(guān)鍵字。2.標(biāo)識(shí)符(標(biāo)記和識(shí)別對(duì)象的符號(hào))標(biāo)識(shí)符是指用來(lái)標(biāo)識(shí)變量名、符號(hào)常量名、函數(shù)名、數(shù)組名、類(lèi)型名等有效的字符序列。17《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.1變量2.1.4變量的命名規(guī)則--標(biāo)識(shí)符與關(guān)鍵字C語(yǔ)言規(guī)定:標(biāo)識(shí)符只能由字母、數(shù)字、下劃線(xiàn)組成,并且只能由字母、下劃線(xiàn)開(kāi)頭,不能是關(guān)鍵字。

如:abc、a12、x是合法的標(biāo)識(shí)符,abc$、12a、x+y、int不是合法的標(biāo)識(shí)符。18《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.1變量2.1.4變量的命名規(guī)則--標(biāo)識(shí)符與關(guān)鍵字使用標(biāo)識(shí)符時(shí)要注意:(1)C語(yǔ)言對(duì)英文字母的大小寫(xiě)敏感,即同一字母的大小寫(xiě)被認(rèn)為是兩個(gè)不同的字符。例如,total與TOTAL是不同的標(biāo)識(shí)符。(2)標(biāo)識(shí)符的命名最好是見(jiàn)名知意。即通過(guò)標(biāo)識(shí)符就知道其所表示的含義。通常應(yīng)選擇能表示數(shù)據(jù)含義的英文單詞(或縮寫(xiě))作標(biāo)識(shí)符,或以漢語(yǔ)拼音字頭作標(biāo)識(shí)符。例如:name/xm(姓名)、sex/xb(性別)、age/nl(年齡)、salary/gz(工資)。(3)標(biāo)識(shí)符的有效長(zhǎng)度隨系統(tǒng)而異,如果超長(zhǎng),則超長(zhǎng)部分被舍棄。19《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.1變量2.1.5變量的賦值與使用1.變量的賦值變量的值可以通過(guò)賦值表達(dá)式改變。

例如,例2.1中的賦值表達(dá)式“m=32”。實(shí)際上,變量在定義后其值是不確定的,因此在使用前應(yīng)該先賦值,然后使用。變量的首次賦值可以稱(chēng)為變量的初始化。

變量的初始化除了可以采用例2.1中所用的方式外,還可以在定義的同時(shí)進(jìn)行初始化。20《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.1變量【例2.2】計(jì)算兩數(shù)之和。21《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算源程序:#include<stdio.h>intmain(){

intm=32,n=64,sum; sum=m+n;

printf("sum=%d\n",sum); return0;}運(yùn)行結(jié)果:sum=962.1變量2.1.5變量的賦值與使用2.變量的使用變量可以參與運(yùn)算,也可以保存運(yùn)算結(jié)果。

例如,例2.2中的“sum=m+n;”語(yǔ)句,m,n是加法的兩個(gè)加數(shù),sum用于存放運(yùn)算結(jié)果。23《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.2常量在程序運(yùn)行時(shí),其值不能被改變的量叫常量。在C語(yǔ)言中也可以用一個(gè)標(biāo)識(shí)符代表一個(gè)常量,這種標(biāo)識(shí)符稱(chēng)為符號(hào)常量,即標(biāo)識(shí)符形式的常量,一般用大寫(xiě)字母。例如,用PI表示3.14159。24《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.2常量【例2.3】常量的應(yīng)用。25《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算源程序:#include<stdio.h>intmain(){

printf("%d\n",1000); return0;}說(shuō)明:源程序中的1000即為常量。運(yùn)行結(jié)果:10002.2常量【例2.4】符號(hào)常量的使用。27《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算total=300源程序:#include<stdio.h>#definePRICE30intmain(){intnum,total;num=10;total=num*PRICE;printf("total=%d\n",total);return0;}說(shuō)明:程序中用“#definePRICE30”命令行定義PRICE代表常量30,此后凡在此源程序中出現(xiàn)的PRICE在預(yù)編譯階段均被30替換。運(yùn)行結(jié)果:2.2常量使用符號(hào)常量的優(yōu)點(diǎn):(1)含義清楚。

例如,用PRICE代表價(jià)格,看程序時(shí)從PRICE就可知道它代表價(jià)格。在一個(gè)規(guī)范的程序中不提倡使用太多常數(shù),應(yīng)盡量使用“見(jiàn)名知意”的符號(hào)常量。(2)需要改變一個(gè)常量的值時(shí)能做到“一改全改”。

例如,在程序中多處用到某物品的價(jià)格,如果價(jià)格用常數(shù)表示,則在價(jià)格調(diào)整時(shí),就需要在程序中作多處修改,若用符號(hào)常量PRICE代表價(jià)格,只需改動(dòng)一處即可。注意:“#define”是預(yù)處理命令,不要以“;”號(hào)結(jié)束。29《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.3C語(yǔ)言的數(shù)據(jù)類(lèi)型在C語(yǔ)言中所使用的每個(gè)數(shù)據(jù)都具有一個(gè)明確的數(shù)據(jù)類(lèi)型。不同類(lèi)型的數(shù)據(jù)在數(shù)據(jù)表示形式、合法的取值范圍、占用內(nèi)存空間大小及可以參與的運(yùn)算種類(lèi)等方面有所不同。C語(yǔ)言提供的數(shù)據(jù)類(lèi)型分類(lèi)見(jiàn)表“表2-2C語(yǔ)言的數(shù)據(jù)類(lèi)型”。本章將主要介紹基本類(lèi)型,包括整型、實(shí)型和字符型,其他類(lèi)型的數(shù)據(jù)將在后續(xù)章節(jié)做詳細(xì)的介紹。30《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算數(shù)據(jù)類(lèi)型分類(lèi)關(guān)鍵字基本類(lèi)型整型基本整型int長(zhǎng)整型long短整型short無(wú)符號(hào)整型unsigned實(shí)型(浮點(diǎn)型)單精度實(shí)型float雙精度實(shí)型double字符型char枚舉類(lèi)型enum無(wú)類(lèi)型void構(gòu)造類(lèi)型數(shù)組[]指針類(lèi)型*結(jié)構(gòu)體struct共用體union表2-2C語(yǔ)言的數(shù)據(jù)類(lèi)型2.3.1整型1.整型常量整型常量,即整常數(shù)。C語(yǔ)言中整常數(shù)可用以下三種形式表示。(1)十進(jìn)制整數(shù)。十進(jìn)制整型常量直接用數(shù)字表示,例如:5、100、0、-10等。(2)八進(jìn)制整數(shù)。以0開(kāi)頭的數(shù)是八進(jìn)制數(shù)。例如:05、0100等。(3)十六進(jìn)制整數(shù)。以0x或0X開(kāi)頭的數(shù)是十六進(jìn)制數(shù)。例如:0x5、0x1A0等。32《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.3.1整型【例2.5】八進(jìn)制與十六進(jìn)制數(shù)。33《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算源程序:#include<stdio.h>intmain(){

inta=0123,b=0x123

printf("a=%d,b=%d\n",a,b); return0;}運(yùn)行結(jié)果:a=83,b=2912.3.1整型2.整型變量(1)整型變量可分為有符號(hào)和無(wú)符號(hào)型兩大類(lèi)。這兩類(lèi)又分為基本型、短整型和長(zhǎng)整型三類(lèi)。有符號(hào)整型變量的存儲(chǔ)單元存儲(chǔ)的是對(duì)應(yīng)數(shù)值的補(bǔ)碼。有符號(hào)型中又分為有符號(hào)整型、有符號(hào)短整型和有符號(hào)長(zhǎng)整型,分別以signedint,signedshortint,signedlongint表示。35《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.3.1整型2.整型變量無(wú)符號(hào)型整型變量的存儲(chǔ)單元中全部二進(jìn)位都用作存數(shù)值,不包括符號(hào)。無(wú)符號(hào)型中又分為無(wú)符號(hào)整型、無(wú)符號(hào)短整型和無(wú)符號(hào)長(zhǎng)整型,分別以u(píng)nsignedint,unsignedshortint,unsignedlongint表示。無(wú)符號(hào)型變量只能存放不帶符號(hào)的整數(shù),如123、4687等,而不能存放負(fù)數(shù),如-123、-3。36《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.3.1整型2.整型變量上述各類(lèi)型整型變量占用的內(nèi)存字節(jié)數(shù),隨系統(tǒng)而異。在16位操作系統(tǒng)中(例如TC環(huán)境下),一般用2字節(jié)表示一個(gè)int型變量,long型4個(gè)字節(jié)、short型2個(gè)字節(jié)。在32位操作系統(tǒng)中(例如VC環(huán)境下),一般用4字節(jié)表示一個(gè)int型變量,long型4個(gè)字節(jié)、short型2個(gè)字節(jié)。顯然,不同類(lèi)型的整型變量,其值域不同。37《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.3.1整型2.整型變量n位有符號(hào)整數(shù)的取值范圍是:-2n-1~2n-1-1。因此2個(gè)字節(jié)的有符號(hào)整型的取值范圍是-215(-32768)~215-1(32767);4個(gè)字節(jié)的有符號(hào)整型的取值范圍是-231(-2147483648)~231-1(2147483647)。n位無(wú)符號(hào)整數(shù)的取值范圍是:0~2n-1。因此2個(gè)字節(jié)的有符號(hào)整型的取值范圍是0~216-1(65535);4個(gè)字節(jié)的有符號(hào)整型的取值范圍是0~232-1(4294967295)。38《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算39類(lèi)型符號(hào)關(guān)鍵字位數(shù)字節(jié)數(shù)數(shù)的表示范圍整型有[signed]int324-2147483648~2147483647[signed]short[int]162-32768~32767[signed]long[int]324-2147483648~2147483647無(wú)unsigned[int]3240~4294967295unsignedshort[int]1620~65535unsignedlong[int]3240~4294967295表2-3VC的整型數(shù)據(jù)注意:方括號(hào)內(nèi)為可選項(xiàng)。例如:有符號(hào)短整型可以表示為signedshortint、shortint、signedshort或short。2.3.1整型2.整型變量(2)整型變量的定義。C語(yǔ)言規(guī)定在程序中所有用到的變量都必須在程序中指定其類(lèi)型,即“定義”。例如:

inta,b;/*指定變量a,b為整型*/unsignedshortc,d;/*指定變量c,d為無(wú)符號(hào)短整型*/longe,f;/*指定變量e,f為長(zhǎng)整型*/注意:變量的定義,一般是放在一個(gè)函數(shù)的開(kāi)頭部分。40《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.3.1整型【例2.6】整型變量的定義與使用。41《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算源程序:#include<stdio.h>intmain(){

inta; unsignedb; a=-20; b=40;

printf("a=%d,b=%u\n",a,b); return0;}注意:printf()調(diào)用中的“%u”表示按無(wú)符號(hào)十進(jìn)制整型輸出。運(yùn)行結(jié)果:a=-20,b=402.3.1整型3.整型常量的類(lèi)型前面討論了整型變量的類(lèi)別。實(shí)際上整型常量也是有類(lèi)別的。在將一個(gè)整型常量賦值給上述幾種類(lèi)別的整型變量時(shí)要注意類(lèi)型匹配。(1)一個(gè)整數(shù)值在-32768~+32767范圍內(nèi),可以賦值給2個(gè)字節(jié)或4個(gè)字節(jié)的整型變量。(2)一個(gè)整數(shù)值超過(guò)了-32768~+32767范圍,而在-2147483648~2147483647范圍內(nèi),可以賦值給4個(gè)字節(jié)的整型變量。如果賦值給2個(gè)字節(jié)的整型變量將發(fā)生溢出錯(cuò)誤。43《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.3.1整型3.整型常量的類(lèi)型(3)如果一個(gè)C語(yǔ)言系統(tǒng)的shortint

與int型數(shù)據(jù)在內(nèi)存中占據(jù)字節(jié)數(shù)相同,則二者的范圍也相同。(4)一個(gè)常量后面加一個(gè)字母u或U表示為unsigned型常量。例如,24u表示無(wú)符號(hào)整型常量。注意:一個(gè)非負(fù)值的整常量可以賦值給unsigned型整變量,只要它的范圍不超過(guò)變量的表示范圍即可。例如,將50000賦給一個(gè)unsignedshortint型變量是可以的,而將70000賦給它是不行的,會(huì)發(fā)生溢出錯(cuò)誤。44《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.3.1整型3.整型常量的類(lèi)型(5)在一個(gè)整常量后面加一個(gè)字母l或L則認(rèn)為是1ongint型常量。例如:123l、432L,這往往用于函數(shù)調(diào)用中。45《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.3.2浮點(diǎn)型1.實(shí)型常量實(shí)型常量即實(shí)數(shù),在C語(yǔ)言中又稱(chēng)浮點(diǎn)數(shù),實(shí)型常量有兩種表達(dá)形式:(1)十進(jìn)制數(shù)形式:由數(shù)字和小數(shù)點(diǎn)組成。例如:3.14、9.8、.135等。注意:小數(shù)形式表示的實(shí)型常量必須要有小數(shù)點(diǎn)。(2)指數(shù)形式:尾數(shù)E(e)整型指數(shù)。例如:3.0E+5、123e3等。注意:字母E(或e)之前是十進(jìn)制數(shù)形式的實(shí)數(shù),之后是整數(shù),二者都不可缺少。例如:e5、2.1e2.7、e等都不是合法的指數(shù)形式。46《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.3.2浮點(diǎn)型2.實(shí)型變量C語(yǔ)言中實(shí)型變量分為單精度(float型)和雙精度(double型)兩類(lèi),每一個(gè)實(shí)型變量都應(yīng)在使用前加以定義。例如:floatx,y;/*指定x,y為單精度實(shí)數(shù)*/doublez;/*指定z為雙精度實(shí)數(shù)*/47《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.3.2浮點(diǎn)型2.實(shí)型變量在一般系統(tǒng)中,一個(gè)float型數(shù)據(jù)在內(nèi)存中占4個(gè)字節(jié),一個(gè)double型數(shù)據(jù)占8個(gè)字節(jié)。單精度實(shí)數(shù)的數(shù)值范圍約為-1038~1038,雙精度實(shí)數(shù)范圍約為-10308~10308。單精度實(shí)數(shù)提供7位有效數(shù)字,雙精度實(shí)數(shù)提供15~16位有效數(shù)字。實(shí)型常量不分float型和double型(很多C編譯系統(tǒng)將實(shí)型常量作為雙精度數(shù)來(lái)處理),一個(gè)實(shí)型常量,可以賦給一個(gè)實(shí)型變量(float型或double型),當(dāng)然,這里要注意不要發(fā)生溢出錯(cuò)誤。在實(shí)型常量后加字母f或F,表示它是float型。48《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.3.2浮點(diǎn)型2.實(shí)型變量實(shí)型數(shù)據(jù)與整型數(shù)據(jù)的處理有所不同,整型數(shù)據(jù)是可以精確存儲(chǔ)的,而實(shí)型數(shù)據(jù)通常無(wú)法精確存儲(chǔ)。實(shí)型常量會(huì)根據(jù)變量的類(lèi)型截取相應(yīng)的有效位數(shù)字,因此要注意精度問(wèn)題。49《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.3.2浮點(diǎn)型2.實(shí)型變量例如,以下程序段輸出的結(jié)果為“a=111111.109375,b=111111.111000”。這是由于a為float型變量只能接收7位有效數(shù)字,因此最后兩位小數(shù)不起作用。而b為double型,則能全部接收全部9位數(shù)字。floata=111111.111;doubleb=111111.111;

printf("a=%f,b=%lf\n",a,b)注意:printf()調(diào)用中的“%f”和“%lf”分別表示按單精度實(shí)型和雙精度實(shí)型輸出后面的變量的值。50《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算51類(lèi)型符號(hào)關(guān)鍵字所占位數(shù)字節(jié)數(shù)數(shù)的表示范圍實(shí)型有float324-3.4e-38~3.4e38有double648-1.7e-308~1.7e308表2-4VC的實(shí)型數(shù)據(jù)2.3.3字符型1.字符常量C語(yǔ)言中的字符常量是用單引號(hào)括起來(lái)的一個(gè)字符,例如,'A'、'b'、'1'、'+'、'?'、'$'等都是字符常量。字符常量實(shí)質(zhì)上就是字符對(duì)應(yīng)的ASCII碼的值。例如,'A'實(shí)際上就是65。除了以上形式的字符常量外,C還允許用一種特殊形式的字符常量,就是以一個(gè)“\”開(kāi)頭的字符序列,例如,前面已經(jīng)遇到過(guò)的,在printf()函數(shù)中的'\n',它代表一個(gè)“換行”符。反斜杠引導(dǎo)的字符稱(chēng)為轉(zhuǎn)義字符,其意思是將反斜杠(\)后面的字符變成另外的意思。如果字符常量是反斜杠或單引號(hào)本身,必須使用轉(zhuǎn)義字符:'\\'、'\'’表示。52《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算53轉(zhuǎn)義字符含義轉(zhuǎn)義字符含義\n換行\(zhòng)t水平制表\v垂直制表\b退格\r回車(chē)\f換頁(yè)\a響鈴\\反斜線(xiàn)\'單引號(hào)\"雙引號(hào)\ddd1~3位8進(jìn)制數(shù)代表的字符\xhh1~2位16進(jìn)制數(shù)代表的字符表2-5轉(zhuǎn)義字符及其含義注:‘\ddd’和’\xhh’是用ASCII碼(八進(jìn)制數(shù)、十六進(jìn)制數(shù))表示的一個(gè)字符。例如,‘\101’代表字符‘A’、‘\012’代表“換行”。這種方法可以表示ASCII碼碼表中的所有字符。2.3.3字符型【例2.7】轉(zhuǎn)義字符的應(yīng)用。54《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算源程序:#include<stdio.h>intmain(){ printf("\101\x42C\n");

printf("Isay:\"Howareyou?\"\n");

printf("\\CProgram\\\n");

printf("Turbo\'C\'\n"); return0;}注意:printf()調(diào)用中的“%u”表示按無(wú)符號(hào)十進(jìn)制整型輸出。運(yùn)行結(jié)果:ABCIsay:"Howareyou?"\CProgram\Turbo'C'2.3.3字符型【例2.8】轉(zhuǎn)義字符的應(yīng)用。56《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算源程序:#include<stdio.h>intmain(){

printf("Y\b=\n"); return0;}注意:printf()調(diào)用中的“%u”表示按無(wú)符號(hào)十進(jìn)制整型輸出。運(yùn)行結(jié)果:程序分析:實(shí)際上,程序輸出了字符“Y”,只是字符“Y”很快被后面字符“\b”回退一格所替代,因此屏幕上看不到字符“Y”。=2.3.3字符型2.字符變量字符型變量用來(lái)存儲(chǔ)字符常量。將一個(gè)字符常量存儲(chǔ)到一個(gè)字符變量中,實(shí)際上是將該字符的ASCII碼值存儲(chǔ)到內(nèi)存單元中。字符變量的定義形式如下:charc1,c2;它表示c1和c2為字符型變量,分別可以用于存放一個(gè)字符,因此可以用下面語(yǔ)句對(duì)c1、c2賦值:c1='a';c2='b';58《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.3.3字符型2.字符變量一般以一個(gè)字節(jié)來(lái)存放一個(gè)字符,或者說(shuō)一個(gè)字符變量在內(nèi)存中占一個(gè)字節(jié)。字符數(shù)據(jù)在內(nèi)存中是以ASCII碼的值來(lái)存儲(chǔ)的,它的存儲(chǔ)形式與整數(shù)的存儲(chǔ)形式相類(lèi)似。在C語(yǔ)言中,字符型數(shù)據(jù)和整型數(shù)據(jù)之間可以相互通用。一個(gè)字符數(shù)據(jù)既可以以字符形式輸出,也可以以整數(shù)形式輸出。以字符形式輸出時(shí),需要先將存儲(chǔ)單元中數(shù)值根據(jù)ASCII碼碼表?yè)Q成相應(yīng)字符進(jìn)行輸出。以整數(shù)形式輸出時(shí),直接將存儲(chǔ)單元中的數(shù)值進(jìn)行輸出。59《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.3.3字符型【例2.9】字符變量分別以字符形式和整數(shù)形式輸出。60《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算源程序:#include<stdio.h>intmain(){ charch1,ch2; ch1='a'; ch2='b';

printf("ch1=%c,ch2=%c\n",ch1,ch2);

printf("ch1=%d,ch2=%d\n",ch1,ch2); return0;}運(yùn)行結(jié)果:程序分析:因?yàn)?a'和'b'的ASCII碼值為97和98。c1='a'和c2='b'是先將字符常量'a'和'b'轉(zhuǎn)換為字符所對(duì)應(yīng)的ASCII碼值97和98,然后存放到內(nèi)存單元中?!?c”表示將存儲(chǔ)單元的數(shù)值根據(jù)ASCII碼碼表?yè)Q成相應(yīng)字符進(jìn)行輸出?!?d”表示將存儲(chǔ)單元的數(shù)值按十進(jìn)制數(shù)進(jìn)行輸出。ch1=a,ch2=bch1=97,ch2=982.3.3字符型2.字符變量字符數(shù)據(jù)與整型數(shù)據(jù)可以互相賦值。例如:

inti;charc;i='a';c=97;上述賦值是合法的。如果將i的值輸出得到97,如按字符形式輸出c可得字符'a'。C程序允許對(duì)字符數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算,此時(shí)就是對(duì)它們的ASCII碼值進(jìn)行算術(shù)運(yùn)算。62《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.3.3字符型【例2.10】字符數(shù)據(jù)的算術(shù)運(yùn)算。63《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算源程序:#include<stdio.h>intmain(){charch1,ch2;ch1='a';ch2='B';printf("ch1=%c,ch2=%c\n",ch1–32,ch2+32)printf("ch1+ch2=%d\n",ch1+ch2);return0;}運(yùn)行結(jié)果:ch1=A,ch2=bch1+ch2=1632.3.3字符型3.字符串常量字符串常量是用一對(duì)雙引號(hào)括起來(lái)的若干字符序列。字符串中字符的個(gè)數(shù)稱(chēng)為字符串長(zhǎng)度。例如,"Howdoyoudo."、"Goodmorning."等,都是字符串常量,其長(zhǎng)度分別為14和13(空格也是一個(gè)字符)。長(zhǎng)度為0的字符串(即一個(gè)字符都沒(méi)有的字符串)稱(chēng)為空串。65《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.3.3字符型3.字符串常量如果反斜杠和雙引號(hào)作為字符串中的有效字符,則必須使用轉(zhuǎn)義字符。例如:(1)字符串C:\windows對(duì)應(yīng)的字符串常量表示為"C:\\windows"(2)字符串Isay:"Goodbye!"對(duì)應(yīng)的字符串常量表示為"Isay:\"Goodbye!\""66《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.3.3字符型3.字符串常量不要將字符常量與字符串常量混淆,二者是完全不同的概念。字符常量使用單引號(hào),而字符串常量使用雙引號(hào)。'a'是字符常量,"a"是字符串常量,兩者不同。假設(shè)c被指定為字符變量:charc;c='a';是正確的。而

c="a";是錯(cuò)誤的。67《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.3.3字符型3.字符串常量在C語(yǔ)言中,每一個(gè)字符串的結(jié)尾包含一個(gè)“字符串結(jié)束標(biāo)志”,以便系統(tǒng)據(jù)此判斷字符串是否結(jié)束。C語(yǔ)言以字符'\0'作為字符串結(jié)束標(biāo)志。'\0'是一個(gè)ASCII碼值為0的字符??沾?"實(shí)際在內(nèi)存中占有一個(gè)字節(jié),即包含一個(gè)字符'\0'。68《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.3.3字符型3.字符串常量例如:字符串"hello"內(nèi)存中它占6個(gè)字節(jié),最后一個(gè)字節(jié)為'\0':例如,在printf("Howdoyoudo.")中,輸出時(shí)一個(gè)一個(gè)字符輸出,直到遇到最后的'\0'字符,就知道字符串結(jié)束,停止輸出。注意,在寫(xiě)字符串時(shí)不必加'\0',否則畫(huà)蛇添足。'\0'字符是系統(tǒng)自動(dòng)加上的。69《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算hello\02.3.3字符型3.字符串常量字符串"a",實(shí)際上包含2個(gè)字符:'a'和'\0',因此,把它賦給一個(gè)字符變量是錯(cuò)誤的。嚴(yán)格的說(shuō),在C語(yǔ)言中字符串只有常量,沒(méi)有變量,而且字符串不是一種數(shù)據(jù)類(lèi)型。在C語(yǔ)言中字符串如果需要按變量的方式進(jìn)行處理,需要用字符數(shù)組來(lái)存放,即用一個(gè)字符型數(shù)組來(lái)存放一個(gè)字符串。70《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.3.4類(lèi)型轉(zhuǎn)換在C語(yǔ)言中,整型、實(shí)型和字符型數(shù)據(jù)間可以混合運(yùn)算。如果一個(gè)運(yùn)算符兩側(cè)的操作數(shù)的數(shù)據(jù)類(lèi)型不同,則系統(tǒng)按“先轉(zhuǎn)換、后運(yùn)算”的原則,首先將數(shù)據(jù)自動(dòng)轉(zhuǎn)換成同一類(lèi)型,然后在同一類(lèi)型數(shù)據(jù)間進(jìn)行運(yùn)算。類(lèi)型轉(zhuǎn)換有自動(dòng)進(jìn)行的,也有強(qiáng)制執(zhí)行的。前者稱(chēng)為隱式類(lèi)型轉(zhuǎn)換,后者稱(chēng)為強(qiáng)制類(lèi)型轉(zhuǎn)換。71《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.3.4類(lèi)型轉(zhuǎn)換1.隱式類(lèi)型轉(zhuǎn)換隱式類(lèi)型轉(zhuǎn)換主要又可分為兩類(lèi):算術(shù)轉(zhuǎn)換和賦值轉(zhuǎn)換。(1)算術(shù)轉(zhuǎn)換:算術(shù)轉(zhuǎn)換主要出現(xiàn)在算術(shù)運(yùn)算過(guò)程中,轉(zhuǎn)換規(guī)則如圖2-5所示。72《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算73圖2-5算術(shù)運(yùn)算中的類(lèi)型轉(zhuǎn)換規(guī)則2.3.4類(lèi)型轉(zhuǎn)換說(shuō)明:(1)圖中橫向向左的箭頭表示必定進(jìn)行的轉(zhuǎn)換,也就是說(shuō)系統(tǒng)會(huì)先將char型數(shù)據(jù)轉(zhuǎn)換為int型行數(shù)據(jù)、short型數(shù)據(jù)先轉(zhuǎn)換為int型數(shù)據(jù)、float型數(shù)據(jù)轉(zhuǎn)換為double型數(shù)據(jù),然后進(jìn)行運(yùn)算。例如,當(dāng)兩個(gè)float型數(shù)據(jù)做加法運(yùn)算時(shí)系統(tǒng)首先將2個(gè)加數(shù)換成雙精度型然后再相加以提高運(yùn)算精度。74《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.3.4類(lèi)型轉(zhuǎn)換說(shuō)明:(2)縱向的箭頭表示當(dāng)運(yùn)算對(duì)象為不同類(lèi)型時(shí)轉(zhuǎn)換的方向。例如,int型與double型數(shù)據(jù)進(jìn)行運(yùn)算,先將int型的數(shù)據(jù)轉(zhuǎn)換成double型,然后兩個(gè)同類(lèi)型(double型)數(shù)據(jù)進(jìn)行運(yùn)算,結(jié)果為double型。75《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.3.4類(lèi)型轉(zhuǎn)換注意:箭頭方向只表示數(shù)據(jù)類(lèi)型級(jí)別的高低,由低向高轉(zhuǎn)換,不要理解為int型先轉(zhuǎn)換成unsigned型,再轉(zhuǎn)換成long型,再轉(zhuǎn)換成double型。如果一個(gè)int型數(shù)據(jù)與一個(gè)double型數(shù)據(jù)運(yùn)算,是直接將int型轉(zhuǎn)換成double型。同理,一個(gè)int型與一個(gè)long型數(shù)據(jù)運(yùn)算,先將int型轉(zhuǎn)直接換成long型。76《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.3.4類(lèi)型轉(zhuǎn)換假設(shè)定義ch為字符型變量,i為整型變量,f為float型變量,d為double型變量,則下式:

ch/i+f*d–(f+i)運(yùn)算過(guò)程如圖示。77《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.3.4類(lèi)型轉(zhuǎn)換(2)賦值轉(zhuǎn)換:賦值轉(zhuǎn)換主要出現(xiàn)在賦值表達(dá)式中,不管賦值運(yùn)算符右邊是什么類(lèi)型,都要轉(zhuǎn)換為賦值運(yùn)算符左邊的變量類(lèi)型。若賦值運(yùn)算符右邊的值大于左邊變量的表示范圍,則賦值時(shí)會(huì)發(fā)生溢出錯(cuò)誤。78《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.3.4類(lèi)型轉(zhuǎn)換2.強(qiáng)制類(lèi)型轉(zhuǎn)換C語(yǔ)言提供了強(qiáng)制類(lèi)型轉(zhuǎn)換運(yùn)算符來(lái)實(shí)現(xiàn)強(qiáng)制類(lèi)型轉(zhuǎn)換。語(yǔ)法格式:(類(lèi)型)表達(dá)式例如:(int)3.579《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.3.4類(lèi)型轉(zhuǎn)換2.強(qiáng)制類(lèi)型轉(zhuǎn)換如果一個(gè)變量在進(jìn)行運(yùn)算時(shí)進(jìn)行了強(qiáng)制類(lèi)型轉(zhuǎn)換,使用強(qiáng)制轉(zhuǎn)換類(lèi)型得到的是一個(gè)所需類(lèi)型的中間量,變量本身的類(lèi)型及數(shù)值都不會(huì)發(fā)生變化。例如:

intx=5;floaty=3.5;x=x+(int)yy的值是3.5,在進(jìn)行加法運(yùn)算時(shí)強(qiáng)制轉(zhuǎn)換為int型、值為3參與運(yùn)算。運(yùn)算結(jié)束后,y仍然是float型,其值仍然是3.5。80《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.3.5選擇正確的數(shù)據(jù)類(lèi)型在進(jìn)行C語(yǔ)言程序設(shè)計(jì)過(guò)程中正確選擇數(shù)據(jù)類(lèi)型是非常重要的,下面以2道例題進(jìn)行說(shuō)明。81《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.3.5選擇正確的數(shù)據(jù)類(lèi)型【例2.11】整型數(shù)據(jù)的溢出。82《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算源程序:#include<stdio.h>intmain(){

inta,b; a=32767; b=a+1;

printf("a=%d,b=%d\n",a,b); return0;}在TC環(huán)境下的運(yùn)行結(jié)果:

在VC環(huán)境下的運(yùn)行結(jié)果:a=32767,b=-32768a=32767,b=327682.3.5選擇正確的數(shù)據(jù)類(lèi)型程序分析:TC環(huán)境是一個(gè)16位的開(kāi)發(fā)環(huán)境,int類(lèi)型的變量是用2個(gè)字節(jié)存放采用補(bǔ)碼進(jìn)行編碼的有符號(hào)數(shù)。2個(gè)字節(jié)的補(bǔ)碼的表示范圍為-32768~32767。32767加1后產(chǎn)生溢出。實(shí)際上32767的補(bǔ)碼為0111111111111111B,加1后變?yōu)椋?000000000000000B,這是-32768的補(bǔ)碼,所以變量b輸出的值為-32768。VC環(huán)境是一個(gè)32位的開(kāi)發(fā)環(huán)境,int是用4個(gè)字節(jié)存放采用補(bǔ)碼進(jìn)行編碼的有符號(hào)數(shù)。4個(gè)字節(jié)的補(bǔ)碼的表示范圍為-2147483648~2147483647。32767加1后不會(huì)產(chǎn)生溢出。84《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算在TC環(huán)境下將程序修改為:#include<stdio.h>intmain(){ longinta,b; a=32767; b=a+1;

printf("a=%ld,b=%ld\n",a,b); return0;}注意:printf()函數(shù)調(diào)用中的“%ld”表示按長(zhǎng)整型輸出后面變量的值。運(yùn)行結(jié)果:a=32767,b=327682.3.5選擇正確的數(shù)據(jù)類(lèi)型【例2.12】華氏溫度到攝氏溫度的轉(zhuǎn)換。轉(zhuǎn)換公式為:

式中:f代表華氏溫度,c代表攝氏溫度。86《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算源程序:#include<stdio.h>intmain(){ floatf,c; f=64.0; c=(5/9)*(f–32);

printf("f=%f\nc=%f\n",f,c); return0;}式中printf()函數(shù)調(diào)用中“%f”表示按實(shí)數(shù)形式輸出數(shù)據(jù)。運(yùn)行結(jié)果:f=64.000000c=0.0000002.3.5選擇正確的數(shù)據(jù)類(lèi)型結(jié)果分析:“c=0.000000”顯然是錯(cuò)誤的?!?”是除法運(yùn)算,如果被除數(shù)和除數(shù)都是整數(shù),則其結(jié)果也是整除(小數(shù)部分被舍去)。因?yàn)?和9都是整型常量,所以“5/9”的結(jié)果是0。如果要獲得正確結(jié)果,只需要將程序中的整型常量“5”改為實(shí)型常量“5.0”即可。修改后的運(yùn)行結(jié)果:88《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算f=64.000000c=17.7777782.3.6sizeof運(yùn)算符sizeof是C語(yǔ)言的一種單目運(yùn)算符,sizeof運(yùn)算符以字節(jié)形式給出了其操作數(shù)的存儲(chǔ)空間大小??梢岳胹izeof運(yùn)算符判斷數(shù)據(jù)類(lèi)型的字節(jié)長(zhǎng)度。使用方法:

sizeof(類(lèi)型說(shuō)明符);注意:sizeof不是一個(gè)函數(shù),字節(jié)數(shù)的計(jì)算在程序編譯時(shí)進(jìn)行,而不是在程序執(zhí)行過(guò)程中才計(jì)算出來(lái)。89《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.3.6sizeof運(yùn)算符【例2.13】確定整型數(shù)據(jù)類(lèi)型的字節(jié)長(zhǎng)度。90《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算源程序:#include<stdio.h>intmain(){

printf("%d,%d,%d\n",sizeof(short

int),

sizeof(int),sizeof(long

int)); return0;}在TC(16位系統(tǒng))環(huán)境下的運(yùn)行結(jié)果:

在VC(32位系統(tǒng))環(huán)境下的運(yùn)行結(jié)果:

程序分析:在TC中,int變量占2個(gè)字節(jié);在VC中,int變量占4個(gè)字節(jié)。2,2,42,4,42.4運(yùn)算符與表達(dá)式運(yùn)算符是告訴編譯程序執(zhí)行特定算術(shù)或邏輯操作的符號(hào)。C語(yǔ)言的運(yùn)算范圍很寬,除了控制語(yǔ)句和輸入輸出以外的幾乎所有的基本操作都作為運(yùn)算符處理。運(yùn)算符主要分為三大類(lèi):算術(shù)運(yùn)算符、關(guān)系運(yùn)算符與邏輯運(yùn)算符。除此之外,還有一些用于完成特殊任務(wù)的運(yùn)算符。運(yùn)算符、常量和變量構(gòu)成C語(yǔ)言的表達(dá)式。92《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.4.1運(yùn)算符的優(yōu)先級(jí)與結(jié)合性C語(yǔ)言規(guī)定了運(yùn)算符的優(yōu)先級(jí)和結(jié)合性。C語(yǔ)言中運(yùn)算符的優(yōu)先級(jí)共分為15級(jí),1級(jí)最高,15級(jí)最低。在表達(dá)式中,一個(gè)操作數(shù)兩側(cè)的運(yùn)算符優(yōu)先級(jí)不同時(shí),先進(jìn)行優(yōu)先級(jí)較高的運(yùn)算;兩側(cè)的運(yùn)算符優(yōu)先級(jí)相同時(shí),按運(yùn)算符的結(jié)合性所規(guī)定的結(jié)合方向處理。93《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.4.1運(yùn)算符的優(yōu)先級(jí)與結(jié)合性所謂結(jié)合性是指,當(dāng)一個(gè)操作數(shù)兩側(cè)的運(yùn)算符具有相同優(yōu)先級(jí)時(shí)該操作數(shù)是先與左邊的運(yùn)算符結(jié)合,還是先與右邊的運(yùn)算符結(jié)合。自左至右的結(jié)合方向,稱(chēng)為左結(jié)合性。反之,稱(chēng)為右結(jié)合性。例如,算術(shù)運(yùn)算符的結(jié)合性是左結(jié)合性,因此,表達(dá)式“x-y+z”先執(zhí)行“x-y”運(yùn)算,然后再執(zhí)行“+z”運(yùn)算。再如賦值運(yùn)算符的結(jié)合性是右結(jié)合性,因此,表達(dá)式“x=y=z”先執(zhí)行“y=z”運(yùn)算,然后再執(zhí)行變量x的賦值運(yùn)算。94《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.4.2算術(shù)運(yùn)算符和算術(shù)表達(dá)式1.算術(shù)運(yùn)算符算術(shù)運(yùn)算符有五種,如表2-6所示。95《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算96《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算+加法運(yùn)算符,如3+6正值運(yùn)算符,如+2-減法運(yùn)算符,如6-3負(fù)值運(yùn)算符,如-2*乘法運(yùn)算符,如3*6/除法運(yùn)算符,如6/3%求余運(yùn)算符(或稱(chēng)模運(yùn)算符),如7%4表2-6五種基本算術(shù)運(yùn)算符2.4.2算術(shù)運(yùn)算符和算術(shù)表達(dá)式注意:(1)運(yùn)算符“%”只用于整型(包括字符型,實(shí)際上字符型可以看作是1個(gè)字節(jié)的整型),它的兩側(cè)都必須是整型操作數(shù)。如果不是整型數(shù),必須將操作數(shù)強(qiáng)制轉(zhuǎn)換成整型再進(jìn)行求余運(yùn)算,否則將出現(xiàn)編譯錯(cuò)誤。(2)若操作數(shù)中有負(fù)值,求余的原則為:先取絕對(duì)值求余數(shù),余數(shù)的符號(hào)取被除數(shù)的符號(hào)。例如:-10%3的結(jié)果為-1;10%-3的結(jié)果為1,即采取“向零取整”的方法。97《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.4.2算術(shù)運(yùn)算符和算術(shù)表達(dá)式2.算術(shù)運(yùn)算符的優(yōu)先級(jí)與結(jié)合性算術(shù)運(yùn)算符的優(yōu)先級(jí):先乘除、后加減;括號(hào)優(yōu)先。算術(shù)運(yùn)算符的結(jié)合性:左結(jié)合性。98《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.4.2算術(shù)運(yùn)算符和算術(shù)表達(dá)式3.算術(shù)表達(dá)式算術(shù)表達(dá)式是指用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算對(duì)象(也稱(chēng)操作數(shù),如常量、變量、函數(shù)等)連接起來(lái),符合C語(yǔ)法規(guī)則的式子。例如:

a+b*c+d

根據(jù)算術(shù)運(yùn)算符的優(yōu)先級(jí)與結(jié)合性,算術(shù)表達(dá)式“a+b*c+d”等效為“(a+(b*c))+d”。99《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.4.2算術(shù)運(yùn)算符和算術(shù)表達(dá)式4.自增運(yùn)算符和自減運(yùn)算符(1)自增運(yùn)算符

自增運(yùn)算符(++)是單目運(yùn)算符,其作用使單個(gè)變量的值增1。自增運(yùn)算符有兩種使用情況:1)前置:++i。先執(zhí)行i=i+1,再使用i值;2)后置:i++。先使用i值,再執(zhí)行i=i+1。100《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.4.2算術(shù)運(yùn)算符和算術(shù)表達(dá)式例如:j=3; k=++j;

執(zhí)行“k=++j”語(yǔ)句后,k=4,j=4。上述語(yǔ)句等效為:j=3; j=j+1; k=j;再如:j=3; k=j++;

執(zhí)行“k=j++;”語(yǔ)句后,k=3,j=4。上述語(yǔ)句等效為:j=3; k=j; j=j+1;101《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.4.2算術(shù)運(yùn)算符和算術(shù)表達(dá)式(2)自減運(yùn)算符

自減運(yùn)算符(--)也是單目運(yùn)算符,其作用使單個(gè)變量的值減1。自減運(yùn)算符種類(lèi)也有兩種使用情況:前置:--i。先執(zhí)行i=i-1,再使用i值;后置:i--。先使用i值,再執(zhí)行i=i-1。102《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.4.2算術(shù)運(yùn)算符和算術(shù)表達(dá)式例如:j=3; k=--j;

執(zhí)行“k=--j;”語(yǔ)句后,k=2,j=2。上述語(yǔ)句等效為:j=3; j=j-1; k=j;再如:j=3; k=j--;

執(zhí)行“k=j--;”語(yǔ)句后,k=3,j=2。上述語(yǔ)句等效為:j=3; k=j; j=j-1103《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.4.2算術(shù)運(yùn)算符和算術(shù)表達(dá)式說(shuō)明:①自增運(yùn)算符(++)、自減運(yùn)算符(--),只能用于變量,不能用于常量和表達(dá)式。

例如,5++、--(a+b)等都是非法的。因?yàn)?是常量,常量的值不能改變。(a+b)++也不可能實(shí)現(xiàn),假如a+b的值為5,那么自增后得到的6放在什么地方呢?無(wú)變量可供存放。104《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.4.2算術(shù)運(yùn)算符和算術(shù)表達(dá)式說(shuō)明:②++和--的結(jié)合方向是“自右至左”,其優(yōu)先級(jí)高于算術(shù)運(yùn)算符。

例如,i=3,-i++相當(dāng)于-(i++),因此表達(dá)式的值為-3,i=4。③自增運(yùn)算符、自減運(yùn)算符,常用于循環(huán)語(yǔ)句中,使循環(huán)控制變量加(或減)1,以及指針變量中,使指針指向下(或上)一個(gè)地址。105《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.4.3賦值運(yùn)算符和賦值表達(dá)式1.賦值運(yùn)算符賦值運(yùn)算符“=”的作用是將一個(gè)數(shù)據(jù)賦給一個(gè)變量。語(yǔ)法格式:

變量=表達(dá)式功能:將“=”右側(cè)的常量或表達(dá)式計(jì)算所得的值賦給左側(cè)的變量。例如,“x=5”的作用是執(zhí)行一次賦值操作,將常量5賦給變量x。106《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.4.3賦值運(yùn)算符和賦值表達(dá)式2.復(fù)合賦值運(yùn)算符在賦值符“=”之前加上其他雙目運(yùn)算符,可以構(gòu)成復(fù)合賦值運(yùn)算符。語(yǔ)法格式:

變量雙目運(yùn)算符=表達(dá)式其中“雙目運(yùn)算符=”就是復(fù)合賦值運(yùn)算符。它等價(jià)于:變量=變量雙目運(yùn)算符表達(dá)式107《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.4.3賦值運(yùn)算符和賦值表達(dá)式例如:a+=3等價(jià)于a=a+3x%=3等價(jià)于x=x%3x*=y+8等價(jià)于x=x*(y+8)/*注意:“+”的優(yōu)先級(jí)高于“*=”*/C語(yǔ)言規(guī)定的10種復(fù)合賦值運(yùn)算符如下:+=,-=,*=,/=,%=;/*復(fù)合算術(shù)運(yùn)算符5個(gè)*/&=,^=,|=,<<=,>>=。/*復(fù)合位運(yùn)算符5個(gè)*/108《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.4.3賦值運(yùn)算符和賦值表達(dá)式3.賦值運(yùn)算符的優(yōu)先級(jí)與結(jié)合性賦值運(yùn)算符和復(fù)合賦值運(yùn)算符的優(yōu)先級(jí)為14級(jí),在所有C語(yǔ)言的運(yùn)算符中僅高于逗號(hào)運(yùn)算符。賦值運(yùn)算符和復(fù)合賦值運(yùn)算符的結(jié)合性:右結(jié)合性。109《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.4.3賦值運(yùn)算符和賦值表達(dá)式4.賦值表達(dá)式由賦值運(yùn)算符將一個(gè)變量和一個(gè)表達(dá)式連接起來(lái)的式子稱(chēng)為賦值表達(dá)式。語(yǔ)法格式:變量賦值運(yùn)算符/復(fù)合賦值運(yùn)算符表達(dá)式例如:“a=5”、“a+=5”都是賦值表達(dá)式。賦值表達(dá)式的求解過(guò)程:將賦值運(yùn)算符右側(cè)的“表達(dá)式”的值賦給左側(cè)的變量。110《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.4.3賦值運(yùn)算符和賦值表達(dá)式4.賦值表達(dá)式賦值表達(dá)式的值:賦值運(yùn)算結(jié)束后,賦值表達(dá)式左側(cè)變量的值就是賦值表達(dá)式的值。例如,賦值表達(dá)式“a=5”的值為5(變量a的值也是5)。例如,根據(jù)賦值運(yùn)算符的結(jié)合性,表達(dá)式“a=b=10”等價(jià)于“a=(b=10)”,即先將常量10賦給變量b,賦值表達(dá)式“b=10”的值為10,再將賦值表達(dá)式“b=10”的值(10)賦給變量a。111《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.4.3賦值運(yùn)算符和賦值表達(dá)式在C語(yǔ)言中,賦值表達(dá)式可以出現(xiàn)在其它表達(dá)式中參與運(yùn)算。例如,加法表達(dá)式“(b=4)+(c=6)”。執(zhí)行該表達(dá)式后:b等于4;c等于6;表達(dá)式的值為10。將賦值運(yùn)算作為一種表達(dá)式,使賦值操作不僅可以構(gòu)成賦值語(yǔ)句,而且可以出現(xiàn)在其它表達(dá)式中,這是C語(yǔ)言靈活性的一種表現(xiàn)。112《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.4.3賦值運(yùn)算符和賦值表達(dá)式下面是一些賦值表達(dá)式的例子:a=b=c=5 (表達(dá)式值為5,a、b、c值均為5)a=5+(c=6) (表達(dá)式值為11,a值為11,c的值為6)a=(b=4)+(c=6) (表達(dá)式值為10,a值為10,b值為4,c值為6)a=(b=10)/(c=2) (表達(dá)式值為5,a值為5,b值為10,c值為2)113《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.4.4關(guān)系運(yùn)算符和關(guān)系表達(dá)式1.關(guān)系運(yùn)算符所謂“關(guān)系運(yùn)算”實(shí)際上就是“比較運(yùn)算”,即將兩個(gè)數(shù)據(jù)進(jìn)行比較,判定兩個(gè)數(shù)據(jù)是否符合給定的關(guān)系。例如,“a>b”中的“>”表示大于關(guān)系運(yùn)算。如果a的值是5,b的值是3,則大于關(guān)系運(yùn)算“>”的結(jié)果為“真”,即條件成立;如果a的值是2,b的值是3,則大于關(guān)系運(yùn)算“>”的結(jié)果為“假”,即條件不成立。114《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.4.4關(guān)系運(yùn)算符和關(guān)系表達(dá)式C語(yǔ)言提供6種關(guān)系運(yùn)算符:<(小于) <=(小于或等于) >(大于) >=(大于或等于)==(等于) !=(不等于)注意:在C語(yǔ)言中,“等于”關(guān)系運(yùn)算符是雙等號(hào)“==”,而不是單等號(hào)“=”。單等號(hào)“=”是賦值運(yùn)算符。115《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.4.4關(guān)系運(yùn)算符和關(guān)系表達(dá)式關(guān)系運(yùn)算符的優(yōu)先級(jí):(1)在關(guān)系運(yùn)算符中,前4個(gè)優(yōu)先級(jí)相同,后2個(gè)也相同,且前4個(gè)高于后2個(gè)。(2)關(guān)系運(yùn)算符的優(yōu)先級(jí),低于算術(shù)運(yùn)算符,高于賦值運(yùn)算符。關(guān)系運(yùn)算符的結(jié)合性:左結(jié)合性。116《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.4.4關(guān)系運(yùn)算符和關(guān)系表達(dá)式3.關(guān)系表達(dá)式關(guān)系表達(dá)式是指用關(guān)系運(yùn)算符將兩個(gè)表達(dá)式連接起來(lái)進(jìn)行關(guān)系運(yùn)算的式子。例如,下面的關(guān)系表達(dá)式都是合法的:a>b,a+b>c-d,(a=3)<=(b=5),'a'>='b',(a>b)==(b>c)關(guān)系運(yùn)算的結(jié)果非“真”即“假”。在C語(yǔ)言中沒(méi)有邏輯型數(shù)據(jù),“邏輯真”用整數(shù)“1”表示,“邏輯假”用整數(shù)“0”表示。即關(guān)系表達(dá)式的值是1(真)或0(假)。關(guān)系表達(dá)式的值,還可以參與其他運(yùn)算,例如算術(shù)運(yùn)算、邏輯運(yùn)算等。117《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.4.4關(guān)系運(yùn)算符和關(guān)系表達(dá)式下面是一些關(guān)系表達(dá)式的例子(假設(shè)num1=3,num2=4,num3=5):(1)num1>num2的值為0(假)。(2)(num1>num2)!=num3的值為1(真)。因?yàn)椤皀um1>num2”的值為0,num3的值為5,二則不相等為真。(3)num1<num2<num3的值為1(真)。因?yàn)殛P(guān)系運(yùn)算符為左結(jié)合性,先計(jì)算表達(dá)式“num1<num2”,其值為1,而num3的值為5,1<5為真。(4)(num1<num2)+num3的值為6。這是一個(gè)加法表達(dá)式,因?yàn)椤皀um1<num2”的值為1,num3的值為5,1+5=6。(5)num3>num2>num1的值為0(假)。因?yàn)殛P(guān)系運(yùn)算符為左結(jié)合性,先計(jì)算表達(dá)式“num3>num2”,其值為1,而num1的值為3,1>3為假。118《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.4.5邏輯運(yùn)算符和邏輯表達(dá)式1.邏輯運(yùn)算符在C語(yǔ)言中有三種邏輯運(yùn)算符:&&(邏輯與)、||(邏輯或)和!(邏輯非)。邏輯運(yùn)算符的運(yùn)算規(guī)則:(1)&&:當(dāng)且僅當(dāng)兩個(gè)運(yùn)算量的值都為“真”時(shí),運(yùn)算結(jié)果為1(真),否則為0(假)。(2)||:當(dāng)且僅當(dāng)兩個(gè)運(yùn)算量的值都為“假”時(shí),運(yùn)算結(jié)果為0(假),否則為1(真)。(3)!:當(dāng)運(yùn)算量的值為“真”時(shí),運(yùn)算結(jié)果為0(假);當(dāng)運(yùn)算量的值為“假”時(shí),運(yùn)算結(jié)果為1(真)。119《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.4.5邏輯運(yùn)算符和邏輯表達(dá)式注意:(1)關(guān)系表達(dá)式和邏輯表達(dá)式的運(yùn)算結(jié)果都是1或0,用整數(shù)“1”表示“邏輯真”,用“0”表示“邏輯假”。(2)在C語(yǔ)言中,在判斷一個(gè)數(shù)據(jù)表示的是“真”還是“假”時(shí),是以0和非0為根據(jù)。如果數(shù)據(jù)為0,則表示“邏輯假”;如果為非0,則表示“邏輯真”。C語(yǔ)言中的邏輯運(yùn)算如表2-7所示。120《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算121變量a變量b非!a與a&&b或a||b非0非0011非000010非010100100表2-7C語(yǔ)言中的邏輯運(yùn)算例如,!5的值為0。2.4.5邏輯運(yùn)算符和邏輯表達(dá)式2.邏輯運(yùn)算符的優(yōu)先級(jí)與結(jié)合性(1)邏輯非的優(yōu)先級(jí)最高,邏輯與次之,邏輯或最低。即由高到低依次為:!→&&→||。(2)邏輯運(yùn)算符與其他種類(lèi)運(yùn)算符的優(yōu)先級(jí)關(guān)系。由高到低依次為:!→算術(shù)運(yùn)算→關(guān)系運(yùn)算→&&→||→賦值運(yùn)算。(3)邏輯運(yùn)算符是左結(jié)合性。122《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.4.5邏輯運(yùn)算符和邏輯表達(dá)式3.邏輯表達(dá)式邏輯表達(dá)式是指用邏輯運(yùn)算符將一個(gè)或多個(gè)表達(dá)式連接起來(lái)進(jìn)行邏輯運(yùn)算的式子。例如,下面的表達(dá)式都是邏輯表達(dá)式:(x>=0)&&(x<10)(x<1)||(x>5)!(x==0)(year%4==0)&&(year%100!=0)||(year%400==0)123《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.4.5邏輯運(yùn)算符和邏輯表達(dá)式說(shuō)明:(1)邏輯運(yùn)算符兩側(cè)的操作數(shù),除可以是0和非0的整數(shù)外,也可以是其他任何類(lèi)型的數(shù)據(jù),如實(shí)型、字符型等。(2)在計(jì)算邏輯表達(dá)式時(shí),只有在必須執(zhí)行下一個(gè)表達(dá)式才能求解時(shí),才求解該表達(dá)式。也就是說(shuō):對(duì)于邏輯與運(yùn)算,如果第一個(gè)操作數(shù)被判定為“假”,系統(tǒng)不再判定或求解第二操作數(shù);對(duì)于邏輯或運(yùn)算,如果第一個(gè)操作數(shù)被判定為“真”,系統(tǒng)不再判定或求解第二操作數(shù)。124《C語(yǔ)言程序設(shè)計(jì)》第2章數(shù)據(jù)類(lèi)型及其運(yùn)算2.4.5邏輯運(yùn)算符和邏輯表達(dá)式例如:

in

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論