第二章數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式_第1頁(yè)
第二章數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式_第2頁(yè)
第二章數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式_第3頁(yè)
第二章數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式_第4頁(yè)
第二章數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式_第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第二章

數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式第二章數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式本章主要內(nèi)容:2.1C語(yǔ)言中的標(biāo)識(shí)符2.2常量與變量2.3整型數(shù)據(jù)2.4實(shí)型數(shù)據(jù)2.5字符型數(shù)據(jù)2.6變量的初始值2.7數(shù)值型數(shù)據(jù)間的運(yùn)算2.8運(yùn)算符、表達(dá)式及常用標(biāo)準(zhǔn)函數(shù)本章重點(diǎn):全部?jī)?nèi)容《C語(yǔ)言程序設(shè)計(jì)》2.1C語(yǔ)言中的標(biāo)識(shí)符是用來(lái)命名一個(gè)名字的,如常量名、變量名、函數(shù)名、數(shù)組名、類(lèi)型名等都必須是C語(yǔ)言中合法的標(biāo)識(shí)符。標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種字符組成,且第一個(gè)字符必須為字母或下劃線。例如:合法標(biāo)識(shí)符a,x5,count,year,average,student_number,classroom3非法標(biāo)識(shí)符$123,x+y,road#2,studentname,a=b數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》注意:大寫(xiě)字母和小寫(xiě)字母,在C中被認(rèn)為是兩個(gè)不同的字符。如count與COUNT不同。在起名時(shí),應(yīng)注意做到“見(jiàn)名知義”。比如表示姓名: 比較好的標(biāo)識(shí)符:

Name、name、xing_ming、Xingming、xm等 比較差的標(biāo)識(shí)符:

x、y、abc等盡量不用單個(gè)的l和o作標(biāo)識(shí)符。代數(shù)計(jì)算時(shí)可以采用習(xí)慣的名字。如: 圓:r、s

立方體:a、b、h、v數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》2.2常量與變量常量在程序運(yùn)行過(guò)程中,其值不能被改變的量稱(chēng)為常量。常量有不同的類(lèi)型,如: 整型常量:15、-8、0等 實(shí)型常量:3.7、-8.2等 字符常量:’a’、’A’、’+’、’5’等數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》符號(hào)常量用一個(gè)標(biāo)識(shí)符代表一個(gè)常量。語(yǔ)法: #define符號(hào)常量名常量如:#definePI3.1415926例2.1符號(hào)常量的使用說(shuō)明:習(xí)慣上,符號(hào)常量名用大寫(xiě),以便與變量名相區(qū)分??勺x性好。修改方便。數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》變量其值可以改變的量稱(chēng)為變量。變量說(shuō)明語(yǔ)法: 類(lèi)型名變量名;一個(gè)變量應(yīng)該有一個(gè)名字,即變量名,用來(lái)標(biāo)識(shí)在內(nèi)存中所分配的存儲(chǔ)單元。如:

inta;向變量名賦值,即是向該存儲(chǔ)單元中存入數(shù)據(jù),該數(shù)據(jù)就是變量的值。如:

a=10;習(xí)慣上,變量名用小寫(xiě)。a10數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》變量“先定義、后使用”目的:保證程序中變量名的正確使用。如:

intstudent; ……

studemt=10; /*Error*/為變量分配適當(dāng)?shù)膬?nèi)存單元。如:

inta;floatb;根據(jù)所變量的變量的類(lèi)型,檢查對(duì)該變量所進(jìn)行的操作是否合法。如:

int

a,b;floatc; ……a%b…… /*OK*/ ……a%c…… /*Error*/ab數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》2.3整型數(shù)據(jù)整型常量有三種表示:十進(jìn)制整數(shù)。如:123、-456、0八進(jìn)制整數(shù)。以0開(kāi)頭的數(shù)是八進(jìn)制數(shù)(使用的數(shù)碼為:0~7)。如0123=(123)8=(83)10。在8進(jìn)制數(shù)中不使用8和9這兩個(gè)數(shù)碼,如018、094均為非法。十六進(jìn)制數(shù)。以0x開(kāi)頭的數(shù)是十六進(jìn)制數(shù)(使用的數(shù)碼為:0~9、a~f或A~F)。如0x123=(123)16=(291)10。對(duì)于0x1a、0xabcd、0x0FFF等都是合法的16進(jìn)制數(shù),而0X8a、0h0fff、0xfg等都是非法的

數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》整型變量整型分類(lèi)、所占字節(jié)數(shù)及數(shù)據(jù)范圍:例2.2不同整型數(shù)據(jù)進(jìn)行的混合運(yùn)算

數(shù)據(jù)類(lèi)型符占字節(jié)數(shù)(位數(shù))取值范圍int2(16)-32768~32767即-215~(215-1)short[int]2(16)-32768~32767即-215~(215-1)long[int]4(32)-2147483648~2147483547即-231~(231-1)unsigned[int]2(16)0~65535即0~(216-1)unsignedshort[int]2(16)0~65535即0~(216~-1)unsignedlong[int]4(16)0~4294967295即0~(232-1)數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》整型常量的類(lèi)型在程序中當(dāng)書(shū)寫(xiě)一個(gè)整型常量時(shí),它占幾個(gè)字節(jié)呢?C是這樣處理的:如果其值在-32768~32767范圍內(nèi),認(rèn)為它是int類(lèi)型(占2個(gè)字節(jié)),否則認(rèn)為它是long類(lèi)型(占4個(gè)字節(jié))。當(dāng)需要把一個(gè)僅占兩個(gè)字節(jié)的整型常量讓它占4個(gè)字節(jié)時(shí),可以在該數(shù)據(jù)的后面加上字母L(大小寫(xiě)均可)。如:

longa=10L; 而:

longb=10;b數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》2.4實(shí)型數(shù)據(jù)實(shí)型常量實(shí)數(shù)在C中也稱(chēng)浮點(diǎn)數(shù)。實(shí)數(shù)有兩種表示形式:十進(jìn)制數(shù)形式,也稱(chēng)小數(shù)形式。如:

0.58、

.58、

58.0、85. 指數(shù)形式,也稱(chēng)科學(xué)記數(shù)法。如:

12.3e3、123E2、1.23e+4、0.12E+5

都代表1.23×104。但要注意字母e(或E)之前必須有數(shù)字,且e后面指數(shù)必須為整數(shù),如:

e3、2.1e3.5、.e3、e

等都不是合法的實(shí)數(shù)?!禖語(yǔ)言程序設(shè)計(jì)》實(shí)型變量實(shí)型分類(lèi)、所占字節(jié)和取值范圍:對(duì)于實(shí)型常量不區(qū)分float型和double型。一個(gè)實(shí)型常量可以賦給一個(gè)float型或double型變量。根據(jù)變量的類(lèi)型截取實(shí)型常量中相應(yīng)有效數(shù)字。例2.3實(shí)型變量的說(shuō)明及精度分類(lèi)數(shù)據(jù)類(lèi)型占字節(jié)數(shù)小數(shù)位長(zhǎng)度精度(有效位)取值范圍單精度f(wàn)loat467約10-38~1038雙精度double8615~16約10-308~10308數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》2.5字符型數(shù)據(jù)字符常量普通字符常量:用單引號(hào)括起來(lái)的一個(gè)字符,如’a’、’H’、’&’、’9’、’+’等。轉(zhuǎn)義字符:以反斜線“\”開(kāi)頭的特定字符。常見(jiàn)的轉(zhuǎn)義字符:轉(zhuǎn)義字符含義轉(zhuǎn)義字符含義轉(zhuǎn)義字符含義\n換行\(zhòng)t跳格\”字符”\r回車(chē)\\字符\\ddd1-3位8進(jìn)制表示的字符\b退格\’字符’\xhh1-2位16進(jìn)制表示的字符數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》[例2.4]轉(zhuǎn)義字符應(yīng)用舉例main(){ printf(“abc\tde\rx\n”);

printf(“f\t\b\bg”);}

運(yùn)行結(jié)果:xbc□□□□□def□□□□□ga1區(qū)2區(qū)bdcexfg數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》字符變量字符類(lèi)型分類(lèi)、所占字節(jié)和取值范圍:[例2.5]字符型數(shù)據(jù)字符型數(shù)據(jù)與整型數(shù)據(jù)的關(guān)系將一個(gè)字符常量賦給一個(gè)字符變量,并不是把該字符本身放在內(nèi)存單元中去,而是將該字符的ASCII碼放到存貯單元中,因此字符型數(shù)據(jù)也可以象整型數(shù)據(jù)那樣使用。如:charch;

ch=‘A’;數(shù)據(jù)類(lèi)型字節(jié)長(zhǎng)度取值范圍[signed]char1-128~127之間的整數(shù)unsignedchar10~255之間的整數(shù)ch65《C語(yǔ)言程序設(shè)計(jì)》[例2.6]字符型數(shù)據(jù)與整型數(shù)據(jù)的關(guān)系#include<stdio.h>main(){ charch;

inti;

ch=’A’; i=65;

printf(“%c,%c\n”,ch,i);

printf(“%d,%d\n”,ch,i);

ch=65; i=’A’;

printf(“%c,%c\n”,ch,i);

printf(“%d,%d\n”,ch,i);

i=321; ch=i;

printf(“i=(%d,%c)\n”,i,ch);}

ich32165數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》字符串常量用雙引號(hào)括起來(lái)?!盚ello”、”a”、”123”等。不要把字符常量與字符串常量相混淆。如有:

charch1,ch2,ch3; ch1=’a’; /*ok*/ ch2=”a”; /*error*/ ch3=”CHINA”; /*error*/字符串的長(zhǎng)度:雙引號(hào)括起來(lái)的字符個(gè)數(shù)。如:”CHINA”的長(zhǎng)度為5;”abc\txyz”的長(zhǎng)度為7(其中\(zhòng)t表示一個(gè)字符);””是空字符串,長(zhǎng)度為0。數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》字符串的存儲(chǔ)除了要存儲(chǔ)雙引號(hào)里面的字符之外,C規(guī)定還要多存儲(chǔ)一個(gè)字符’\0’,作為“字符串的結(jié)束標(biāo)志”。如字符串“CHINA”的存儲(chǔ)情況為: 長(zhǎng)度為5,而實(shí)際需要6個(gè)字節(jié)。思考: 請(qǐng)說(shuō)明”5”,’5’,5的區(qū)別,它們各占幾個(gè)字節(jié)的存儲(chǔ)空間,在內(nèi)存中是如何存儲(chǔ)的。字符串的結(jié)束標(biāo)志數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》2.6變量的初始值在使用變量時(shí),如果它出現(xiàn)在表達(dá)式中,事先必須得有一個(gè)初始值;否則其值將是一個(gè)不確定的值。變量的初始值可以通過(guò)賦值語(yǔ)句、讀語(yǔ)句和變量初始化來(lái)獲得。如:

int

x,y,z; x=5;

scanf(“%d”,&y); z=x+y;數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》變量的初始值也可能用變量初始化來(lái)獲得,即在說(shuō)明變量的同時(shí)給變量賦值。變量說(shuō)明的完整語(yǔ)法:類(lèi)型名變量名=初始值;如:

inta=3; floatf=4.5; charc1=’a’,c2;

如果對(duì)幾個(gè)變量賦以同一個(gè)初值,不能寫(xiě)成:

inta=b=c=1; /*b、c沒(méi)有定義*/

應(yīng)寫(xiě)成:

inta=1,b=1,c=1;

數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》2.7數(shù)值型數(shù)據(jù)間的運(yùn)算一般情況下,相同類(lèi)型的數(shù)據(jù)可直接進(jìn)行運(yùn)算,運(yùn)算的結(jié)果就是這種類(lèi)型。如表達(dá)式:

5.0/2.0 /*參加運(yùn)算的兩個(gè)數(shù)都是實(shí)型,結(jié)果為實(shí)型2.5*/

5/2 /*參加運(yùn)算的兩個(gè)數(shù)都是整型,結(jié)果為整型2*/在C語(yǔ)言中,不同類(lèi)型的數(shù)據(jù)可以在同一表達(dá)式中進(jìn)行混合運(yùn)算,但運(yùn)算前要進(jìn)行必要的類(lèi)型轉(zhuǎn)換。如:

10+’a’-1.5/3

是正確的表達(dá)式。數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》類(lèi)型的自動(dòng)轉(zhuǎn)換(隱式轉(zhuǎn)換)不同類(lèi)型的數(shù)據(jù)在進(jìn)行運(yùn)算時(shí),按下圖轉(zhuǎn)換規(guī)則自動(dòng)進(jìn)行:

double←float ↑ long ↑ unsigned ↑

int←char,short橫向向左的箭頭表示即使類(lèi)型相同也必定轉(zhuǎn)換。縱向的箭頭表示當(dāng)運(yùn)算對(duì)象為不同類(lèi)型的數(shù)據(jù)時(shí)轉(zhuǎn)換的方向,并不表示轉(zhuǎn)換過(guò)程。數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》類(lèi)型轉(zhuǎn)換舉例:

若inti;floatf;doubled;longe;10+’a’+i*f–d/eintintfloatdoublelongchardoubledoubledoubledoubledoubleintintdoubledoubledouble數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》類(lèi)型的強(qiáng)制轉(zhuǎn)換類(lèi)型的自動(dòng)轉(zhuǎn)換是系統(tǒng)自動(dòng)進(jìn)行的,不需要用戶干預(yù)。但有時(shí)為了達(dá)到某種目的,還必須進(jìn)行類(lèi)型的強(qiáng)制轉(zhuǎn)換,不然會(huì)出現(xiàn)錯(cuò)誤的運(yùn)算結(jié)果。[例2.7]沒(méi)有考慮類(lèi)型轉(zhuǎn)換時(shí),有問(wèn)題的程序強(qiáng)制類(lèi)型轉(zhuǎn)換的語(yǔ)法格式:(類(lèi)型名)表達(dá)式如:(double)a (int)(x+y) (int)x+y思考:如何修改例2.7,使之正確。數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》在強(qiáng)制類(lèi)型轉(zhuǎn)換時(shí),得到一個(gè)所需類(lèi)型的中間值,原來(lái)變量的類(lèi)型及該變量所存儲(chǔ)的值并未發(fā)生變化。[例2.8]強(qiáng)制轉(zhuǎn)換不影響原變量自動(dòng)轉(zhuǎn)換一般不會(huì)使數(shù)據(jù)受到損失,而強(qiáng)制轉(zhuǎn)換就有可能使數(shù)據(jù)受損或結(jié)果難以理解,這是由于高級(jí)別的類(lèi)型轉(zhuǎn)換為低級(jí)別的類(lèi)型時(shí)無(wú)法完整存儲(chǔ)造成的。數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》類(lèi)型轉(zhuǎn)換可簡(jiǎn)單地理解成下面的方式:整型→實(shí)型: 補(bǔ)足小數(shù)位及精度。如:2→2.0實(shí)型→整型: 截?cái)嘈?shù)位,只保留整數(shù)部分。如:2.8→2 較長(zhǎng)整型→較短整型(long→int、int→char等): 截?cái)喔呶唬槐A舻臀粩?shù)據(jù)。如:數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》較短整型→較長(zhǎng)整型(int→long、char→int等):補(bǔ)足高位,數(shù)值不變。等長(zhǎng)的整型之間的轉(zhuǎn)換(unsigned←→int):各二進(jìn)制位不變。有符號(hào)數(shù)→無(wú)符號(hào)數(shù)時(shí),原來(lái)的符號(hào)位不再作為符號(hào),而變?yōu)閿?shù)據(jù)的一部分;無(wú)符號(hào)數(shù)→有符號(hào)數(shù)時(shí),最高位被當(dāng)作符號(hào)位。如:[例2.9]類(lèi)型轉(zhuǎn)換對(duì)數(shù)據(jù)的影響數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》2.8運(yùn)算符、表達(dá)式及常用標(biāo)準(zhǔn)函數(shù)運(yùn)算(即操作)是對(duì)數(shù)據(jù)的加工。運(yùn)算符或操作符:如+、-、*、/等符號(hào)。運(yùn)算量或操作數(shù):被運(yùn)算的對(duì)象(即常量、變量或函數(shù))。表達(dá)式:就是用運(yùn)算符把運(yùn)算量連接起來(lái)所構(gòu)成的式子。C語(yǔ)言提供了相當(dāng)豐富的運(yùn)算符。根據(jù)運(yùn)算符所需要的運(yùn)算量的個(gè)數(shù),運(yùn)算符還分為單目、雙目和三目運(yùn)算符。數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》2.8.1算術(shù)運(yùn)算符及其表達(dá)式由算術(shù)運(yùn)算符與運(yùn)算量構(gòu)成的表達(dá)式稱(chēng)算術(shù)表達(dá)式?;舅阈g(shù)運(yùn)算符

+(加)、-(減)、*(乘)、/(除)、%(取余)前4個(gè)是通常的四則運(yùn)算。但要注意,兩個(gè)整數(shù)相除的結(jié)果仍為整數(shù)?!?”是取余或稱(chēng)取模運(yùn)算,只適合于整型數(shù)據(jù)。x%y就是x除以y所得的余數(shù)。如:5%3 /*值為2*/3%5 /*值為3*/6%6或10%2 /*值為0*/數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》自增(++)、自減(--)運(yùn)算符只能用在變量的前面和后面。如:m=3;m1=m++;m2=++m;數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式前綴形式后綴形式自增++aa++自減--bb--運(yùn)算時(shí)機(jī)先使變量變化,再取變量的值參加運(yùn)算先取變量的值參加運(yùn)算,再使變變化mm1m233455《C語(yǔ)言程序設(shè)計(jì)》[例2.10]“++”和“--”運(yùn)算符在表達(dá)式中的使用在一個(gè)表達(dá)式中對(duì)一個(gè)變量自增或自減多次,可能造成困惑。如:

a=3;k=(++a)+(++a); b=3;printf(“%d,%d”,b,b++);優(yōu)先級(jí):()→++、--→*、\、%→+、-數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式akb345103表達(dá)式棧bb++計(jì)算結(jié)果棧輸出4,3434《C語(yǔ)言程序設(shè)計(jì)》2.8.2賦值運(yùn)算符及其表達(dá)式賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符即“=”,由它構(gòu)成的表達(dá)式稱(chēng)賦值表達(dá)式。其語(yǔ)法格式為:變量名=表達(dá)式其作用是將“=”右邊表達(dá)式的值賦給左邊的變量。如:

a=1; a=a+5;數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》如果表達(dá)式值的類(lèi)型與變量的類(lèi)型不同,將會(huì)把表達(dá)式的值自動(dòng)轉(zhuǎn)換為變量的類(lèi)型,這種轉(zhuǎn)換是強(qiáng)制性的。如:

floata; a=5; a=a*2;既然是表達(dá)式,表達(dá)式就有一個(gè)值。如:2+5是算術(shù)表達(dá)式,值為7;a=3是賦值表達(dá)式,C規(guī)定這個(gè)值就是送給左側(cè)變量的值,即表達(dá)式a=3的值為3。則下列合法:a=(b=5); a=2*(c=3); a=b=1;數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》復(fù)合賦值運(yùn)算符及其表達(dá)式賦值運(yùn)算符可以與所有的雙目運(yùn)算符合在一起,構(gòu)成一種新的運(yùn)算符(如“+=”、“-=”、“*=”等),稱(chēng)復(fù)合的賦值運(yùn)算符。如:

a+=3 p*=5 h/=2+1 a=a+3 p=p*5 h=h/(2+1)a+=3可以理解為:把3加到a里面去;

p*=5可以理解為:把p擴(kuò)大5倍。雖然像“a-=a+=a*=5”這樣的表達(dá)式允許,但我們不提倡這種用法。數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》賦值表達(dá)式是程序中使用是頻繁的表達(dá)式。凡是允許使用表達(dá)式的地方,都可以使用賦值表達(dá)式,可以說(shuō)它“無(wú)孔不入”。在賦值表達(dá)式的后面加分號(hào),就構(gòu)成了賦值語(yǔ)句。如:

a=10 a=10; b=c+5 b=c+5; x=y=1 x=y=1; p*=q++ p*=q++;賦值運(yùn)算符的優(yōu)先級(jí): 其它運(yùn)算符→=→,數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式賦值表達(dá)式賦值語(yǔ)句《C語(yǔ)言程序設(shè)計(jì)》2.8.3其它運(yùn)算符逗號(hào)運(yùn)算符由逗號(hào)運(yùn)算符(即“,”字符)與運(yùn)算量構(gòu)成的表達(dá)式稱(chēng)逗號(hào)表達(dá)式。其語(yǔ)法格式為:表達(dá)式1,表達(dá)式2,……,表達(dá)式n其求值過(guò)程是:從左向右逐個(gè)計(jì)算每一個(gè)表達(dá)式,把最右側(cè)表達(dá)式(即表達(dá)式n)的值作為整個(gè)表達(dá)式的值。如:

3+2,10-6數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式4《C語(yǔ)言程序設(shè)計(jì)》逗號(hào)運(yùn)算符是所有運(yùn)算符中優(yōu)先級(jí)最低的。如:逗號(hào)運(yùn)算的使用是為了程序簡(jiǎn)潔,但不要濫用。其典型用法是在for循環(huán)語(yǔ)句中,如:

for(s=0,i=1;i<=100;s+=i,i++)…數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式p=q=2,q*6p=(q=2,q*6)pqpq逗號(hào)表達(dá)式的值逗號(hào)表達(dá)式的值222121212逗號(hào)表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》求字節(jié)運(yùn)算符運(yùn)算符sizeof是用來(lái)計(jì)算變量或數(shù)據(jù)類(lèi)型所占的內(nèi)存字節(jié)數(shù)。其語(yǔ)法格式:sizeof(類(lèi)型名或變量名)如,求整型數(shù)據(jù)所占字節(jié)數(shù):

inta;

printf(“%d,%d”,sizeof(a),sizeof(int));在16位C語(yǔ)言編譯系統(tǒng)中輸出“2,2”;而在32位C語(yǔ)言編譯系統(tǒng)中將輸出“4,4”。數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》位運(yùn)算符C語(yǔ)言中提供了對(duì)位的運(yùn)算,是通過(guò)位運(yùn)算符來(lái)實(shí)現(xiàn)的。這在某種程度上實(shí)現(xiàn)了低級(jí)語(yǔ)言的功能。所謂位運(yùn)算是指按位來(lái)進(jìn)行的運(yùn)算。所以應(yīng)該先把參與運(yùn)算的數(shù)據(jù)轉(zhuǎn)換為二進(jìn)制數(shù)再進(jìn)行相應(yīng)的運(yùn)算。數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》按位與運(yùn)算(&)按二進(jìn)制位進(jìn)行“與”運(yùn)算。對(duì)應(yīng)的二進(jìn)制位都為1時(shí),結(jié)果位為1,否則為0。即:0&0=0 0&1=0 1&0=0 1&1=1例如3&5的運(yùn)算如下:數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》按位或運(yùn)算(|)按二進(jìn)制位進(jìn)行“或”運(yùn)算。對(duì)應(yīng)的二進(jìn)制位都為0時(shí),結(jié)果位為0,否則為1。即:0|0=0 0|1=1 1|0=1 1|1=1例如3|5的運(yùn)算如下:數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式《C語(yǔ)言程序設(shè)計(jì)》按位異或運(yùn)算(^)對(duì)應(yīng)的二進(jìn)制位相同時(shí),結(jié)果位為0,否則為1。即:0^0=0 0^1=1 1^0=1 1^1=0例如3^5的運(yùn)算如下:數(shù)據(jù)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論