版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式2.1C語(yǔ)言的數(shù)據(jù)類型2.2常量與變量2.3整型數(shù)據(jù)2.4浮點(diǎn)型數(shù)據(jù)2.5字符型數(shù)據(jù)2.6各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算2.7算術(shù)運(yùn)算符和算術(shù)表達(dá)式2.8逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式2.1C語(yǔ)言的數(shù)據(jù)類型
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式
字符型(char)短整型(short)
整型整型(int)
基本類型
數(shù)值類型長(zhǎng)整型(long)
單精度型(float)
實(shí)型
雙精度型(double)
數(shù)據(jù)類型
數(shù)組類型([])
構(gòu)造類型
結(jié)構(gòu)體類型(struct)
共用體類型(union)
枚舉類型(enum)
指針類型(*)
空類型(void)2.2常量與變量2.2.1常量(Constant)常量:在程序運(yùn)行過程中,其值不能被改變的量。常量分為字面常量和符號(hào)常量。字面常量:是在程序中直接引用的數(shù)據(jù)。例100、021、0x21、3.14、3.14E-4、'A'、'+'符號(hào)常量:用符號(hào)(標(biāo)識(shí)符)代表的常量。定義形式:#define標(biāo)識(shí)符常量數(shù)據(jù)
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式<>[例2.1]在程序中使用符號(hào)常量#include<stdio.h>#definePRICE30
main(){
intnum,total;
num=10;
total=num*PRICE;
printf("total=%d\n",total);}
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式關(guān)于符號(hào)常量程序編譯時(shí),符號(hào)常量被值替換。符號(hào)常量的值在程序運(yùn)行過程中不能被改變。
PRICE=40;
/*錯(cuò)誤*/符號(hào)常量不能指定類型。intPRICE;/*錯(cuò)誤*/
優(yōu)點(diǎn):含義清楚,方便修改。<>例#include<stdio.h>#definePI3.14
main(){
float
radius,perimeter,area;
radius=10;
perimeter=2*3.14*radius;
area=3.14*radius*radius;}
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式<>PIPI標(biāo)識(shí)符
用來標(biāo)識(shí)變量名、符號(hào)常量名、函數(shù)名、類型名、文件名等的有效字符序列。
定義規(guī)則:標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種字符組成,且第一個(gè)字符必須為字母或下劃線。
如:_1yearmonthstudent_namesum0
M.D.Jones$123#a3b?ca=b
注:(1)在C語(yǔ)言中,大小寫字母不等效;(2)用戶自定義的標(biāo)識(shí)符不能與保留字(關(guān)鍵
字)同名。
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式<>關(guān)鍵字(保留字)
具有特定含義的標(biāo)識(shí)符,用戶不能用來作自定義標(biāo)識(shí)符。C語(yǔ)言中的關(guān)鍵字較少,由ANSI標(biāo)準(zhǔn)推薦的關(guān)鍵字有32個(gè)。與數(shù)據(jù)類型有關(guān)的(14):
charintfloatdoublesignedunsignedshort
longvoidstructuniontypedef
enumsizeof與存儲(chǔ)類別有關(guān)的(4):
autoexternregisterstatic與程序控制結(jié)構(gòu)有關(guān)的(12):
dowhileforifelseswitchcasedefaultgoto
continuebreakreturn
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式2.2.2變量變量是指在程序運(yùn)行中,其值可以被改變的量。變量包括變量名和變量值變量名代表計(jì)算機(jī)內(nèi)存中的某一存儲(chǔ)空間,而該存儲(chǔ)空間中存放的數(shù)據(jù)就是變量的值。
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式<>使用變量時(shí)必須“先定義,后使用”。定義形式:
類型標(biāo)識(shí)符變量名1[,變量名2,變量名3,...];
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式自己設(shè)定,滿足標(biāo)識(shí)符的規(guī)定。如:int,float,char;不可省例如inta,b,c;
floatx,y;
charc1,c2;或intc1,c2;2.3.1整型常量的表示形式整型常量有三種形式:十進(jìn)制形式:與數(shù)學(xué)上表示相同。例如100,-12,0八進(jìn)制形式:由數(shù)字0~7組成,在數(shù)碼前加0。例如014,056十六進(jìn)制形式:由數(shù)字0~9、A~F組成,在數(shù)碼前加0X(數(shù)字0和字母X,大小寫均可)。例如0X12,0xAF
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式2.3
整型數(shù)據(jù)進(jìn)制間的換算二、八、十六進(jìn)制數(shù)到十進(jìn)制數(shù)的換算采用按權(quán)展開法。
例:(11001.11)2
=1*24+1*23+1*20+1*2-1+1*2-2=25.75
(33.50)8=3*81+2*80+5*8-1=26.625
(2AB.F)16
=2*162+10*161+11*160+15*16-1=683.93
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式十進(jìn)制數(shù)到二進(jìn)制數(shù)的換算整數(shù)部分采用“除2取余,逆序排列”法。具體做法:十進(jìn)制整數(shù)除以2得到商和余數(shù),繼續(xù)商除以2得到商和余數(shù),如此進(jìn)行直到商為零。所得余數(shù)逆序排列即為二進(jìn)制整數(shù)。小數(shù)部分采用“乘2取整,順序排列”法。具體做法:用2乘十進(jìn)制小數(shù),可以得到積,將積的整數(shù)部分取出,再用2乘余下的小數(shù)部分,如此進(jìn)行,直到積中的小數(shù)部分為零,或者達(dá)到所要求的精度為止。然后把取出的整數(shù)部分按順序排列起來即為二進(jìn)制小數(shù)。
例:233.8125=(11101001.1101)2
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式二進(jìn)制數(shù)到八、十六進(jìn)制數(shù)的換算,三位二進(jìn)制數(shù)對(duì)應(yīng)一位八進(jìn)制數(shù)、四位進(jìn)制書數(shù)對(duì)應(yīng)一位十六進(jìn)制,所以轉(zhuǎn)換時(shí)以小數(shù)點(diǎn)為分界線,整數(shù)部分從低到高,小數(shù)部分從高到底按位數(shù)分組,每組對(duì)應(yīng)的八或十六進(jìn)制數(shù)碼。
例:(11101001.1101)2
=(011101001.110100)2
=
(351.64)8
(11101001.1101)2
=(11101001.1101)2
=(E9.D)16
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式整型變量的分類(IBMPC)
基本型(整型)int
短整型short或shortint
長(zhǎng)整型long或longint
無(wú)符號(hào)整型:unsigned
無(wú)符號(hào)短整型:unsignedshort
無(wú)符號(hào)長(zhǎng)整型:unsignedlong
注意:C語(yǔ)言標(biāo)準(zhǔn)沒有規(guī)定整型變量在計(jì)算機(jī)內(nèi)存中所占的字節(jié)數(shù),它與具體的機(jī)器和操作系統(tǒng)有關(guān)。
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式2.3.2
整型變量整數(shù)類型的有關(guān)數(shù)據(jù):
類型類型說明符長(zhǎng)度數(shù)的范圍基本型
int
2字節(jié)-32768~32767短整型
short
2字節(jié)-215~215-1長(zhǎng)整型
long
4字節(jié)-231~231-1無(wú)符號(hào)整型
unsigned
2字節(jié)0~65535無(wú)符號(hào)短整型
unsignedshort
2字節(jié)0~65535無(wú)符號(hào)長(zhǎng)整型
unsignedlong
4字節(jié)0~232-1
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式TurboC2.0對(duì)整數(shù)類型的內(nèi)存分配
類型類型說明符長(zhǎng)度數(shù)的范圍基本型
int
4字節(jié)-2147483648~2147483648短整型
short2字節(jié)-215~215-1長(zhǎng)整型
long
4字節(jié)-231~231-1無(wú)符號(hào)整型
unsigned4字節(jié)0~232-1無(wú)符號(hào)短整型unsignedshort
2字節(jié)0~65535無(wú)符號(hào)長(zhǎng)整型unsignedlong
4字節(jié)0~232-1
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式VisualC++6.0對(duì)整數(shù)類型的內(nèi)存分配整型變量的定義與使用
[例2.2]
#include<stdio.h>
voidmain(){inta,b,c,d;
unsignedu;
a=12;b=-24;u=10;
c=a+u;d=b+u;
printf("a+u=%d,b+u=%d\n",c,d);
}
程序運(yùn)行顯示:a+u=22,b+u=-14
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式說明:可以看到不同種類的整型數(shù)據(jù)可以進(jìn)行算術(shù)運(yùn)算
數(shù)據(jù)在內(nèi)存中以二進(jìn)制形式存放。原碼、反碼和補(bǔ)碼
計(jì)算機(jī)對(duì)數(shù)值的表示有原碼、補(bǔ)碼和反碼三種形式,但以補(bǔ)碼方式存儲(chǔ)。原碼:最左邊符號(hào)位用數(shù)碼0表示正號(hào),用數(shù)碼1表示負(fù)號(hào),數(shù)值部分一般按二進(jìn)制形式表示。例[10]原=00001010
[-10]原=10001010
反碼:正數(shù)的反碼和原碼相同,負(fù)數(shù)的反碼是對(duì)該數(shù)的原碼除符號(hào)位外各位求反。例[10]反=[10]原=00001010
[-10]反=11110101
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式2.3.3
整型數(shù)據(jù)在內(nèi)存中的存放形式補(bǔ)碼:正數(shù)的補(bǔ)碼與原碼相同,負(fù)數(shù)補(bǔ)碼則先對(duì)該數(shù)的原碼取反(得反碼),然后末位加1
例 [10]補(bǔ)=[10]原=00001010
[-10]原=10001010
[-10]反=11110101
[-10]補(bǔ)=11110110
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式intx;x=10;long
y;y=-10;2000200120022005xy內(nèi)存內(nèi)存地址2003200400001010
00000000
11111111
11111111
11111111
11110110
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式
數(shù)據(jù)超出表示范圍的情況稱為溢出。
[例2.3]整型數(shù)據(jù)的溢出
#include<stdio.h>
voidmain()
{inta,b;
a=32767;
b=a+1;
printf("%d,%d\n",a,b);
}TC環(huán)境下運(yùn)行結(jié)果:32767,-327682.3.4
整型數(shù)據(jù)的溢出
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式a0111111111111111b1000000000000000在將一個(gè)整型常量賦給整型變量時(shí)如何進(jìn)行類型匹配?請(qǐng)注意以下幾點(diǎn):如果一個(gè)整常量的值在-32768~+32767范圍內(nèi),認(rèn)為它是int型。
如果一個(gè)整常量的值超過了上述范圍,而在-2147483648~2147483647范圍內(nèi),則認(rèn)為它是1ongint型。一個(gè)非負(fù)值的整常量后面加字母u或U,認(rèn)為是unsigned型整變量(只要它的范圍不超過變量的表數(shù)范圍即可,防止溢出)
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式2.3.5整型常量的類型
在一個(gè)整常量后面加一個(gè)字母l或L則認(rèn)為是longint型常量。例如123l、432L。
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式main(){intx;x=10*9*8*7*6*5*4*3*2*1;printf("%d",x);}例
看看下面程序的輸出是什么?運(yùn)行結(jié)果:-3036longintx;%Ld
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式2.4.1浮點(diǎn)型常量的表示形式十進(jìn)制形式:由數(shù)字和小數(shù)點(diǎn)組成;
例如:3.44..3指數(shù)形式:由“十進(jìn)制小數(shù)”+“e(或E)”+“十進(jìn)制數(shù)整數(shù)”三部分組成。
例如:13.5e-6表示13.5×10-6注:(1)小數(shù)點(diǎn)不能單獨(dú)出現(xiàn);例如:0.=.0=0=0.0(2)e或E的兩邊必須有數(shù),且其后面必須為
整數(shù);例如:6E0.2e56E
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式2.4
浮點(diǎn)型數(shù)據(jù)浮點(diǎn)型變量的分類
單精度f(wàn)loat
4字節(jié)(32位)
10-38~1038
雙精度double
8字節(jié)(64位)
10-308~10308
例
floatx,y;/*指定x、y為單精度實(shí)型變量*/
doublez;/*指定z為雙精度實(shí)型變量*/
x=123456.711;z=123456.789;
float型變量只能接受7位有效數(shù)字,最后兩位數(shù)字不起作用。
double型變量能接受16位有效數(shù)字。
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式2.4.2
浮點(diǎn)型變量浮點(diǎn)型數(shù)據(jù)在內(nèi)存中的存放形式
浮點(diǎn)型數(shù)據(jù)是按照指數(shù)形式存儲(chǔ)的。系統(tǒng)把一個(gè)浮點(diǎn)型數(shù)據(jù)分成小數(shù)部分和指數(shù)部分,分別存放。指數(shù)部分采用規(guī)范化的指數(shù)形式。小數(shù)部分用二進(jìn)制表示,指數(shù)部分用2的冪次來表示。
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式浮點(diǎn)型數(shù)據(jù)的舍入誤差
由于浮點(diǎn)型變量是由有限的存儲(chǔ)單元組成的,因此能提供的有效數(shù)字總是有限的。在有效位以外的數(shù)字將被舍去。由此可能會(huì)產(chǎn)生一些誤差。
[例2.4]
#include<stdio.h>
voidmain()
{floata;
a=3.141592612;
printf("%f\n",a);
}
運(yùn)行結(jié)果:
3.141593
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式說明:一個(gè)單精度浮點(diǎn)型變量只能保證的有效數(shù)字是7位有效數(shù)字,后面的數(shù)字是無(wú)意義的,并不準(zhǔn)確地表示該數(shù)。
例浮點(diǎn)型數(shù)據(jù)的舍入誤差
#include<stdio.h>
voidmain()
{floata,b;
a=123456.789e5;
b=a+20;
printf("a=%f,b=%f\n",a,b);
}
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式說明:應(yīng)當(dāng)避免將一個(gè)很大的數(shù)和一個(gè)很小的數(shù)直接相加或相減,否則就會(huì)“丟失”小的數(shù)C編譯系統(tǒng)將浮點(diǎn)型常量作為雙精度來處理,分配8個(gè)字節(jié)。
例如:f=2.45678*4523.65
系統(tǒng)先把2.45678和4523.65作為雙精度數(shù),然后進(jìn)行相乘的運(yùn)算,得到的乘也是一個(gè)雙精度數(shù)。精度高,速度慢。如果把一個(gè)浮點(diǎn)型常量賦給一個(gè)單精度變量f系統(tǒng)給出警告,警告不影響連接和運(yùn)行最后結(jié)果,但只取其結(jié)果前7位賦給浮點(diǎn)型變量f。
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式2.4.3
浮點(diǎn)型常量的類型如是在數(shù)的后面加字母f或F(如1.65f,654.87F),編譯系統(tǒng)就會(huì)把它們按單精度處理。
例如:floatf,g;f=3.1415926;/*警告*/g=1.65f;
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式2.5.1字符型常量
在計(jì)算機(jī)中,字符的使用占有很大的比重。字符包括各種文字、數(shù)字、符號(hào)和控制字符。用單引號(hào)括起來的一個(gè)字符;例如:'A'、'1'、'?'、'a'等。
‘a(chǎn)bc’、“a”用單引號(hào)括起來的由反斜杠(\)引導(dǎo)的轉(zhuǎn)義字符。
例如:'\n'、'\101'、'\x41'
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式只能是英文的單引號(hào)在統(tǒng)計(jì)字符個(gè)數(shù)時(shí),只能記為一個(gè)字符2.5
字符型數(shù)據(jù)轉(zhuǎn)義字符表
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式字符形式含義ASCII碼\n換行10\t水平制表位9\b退格8\r回車,將當(dāng)前位置移到本行開頭13\\、\'、\"代表字符“\”、“'”、“"”92、39、34\ddd1~3位八進(jìn)制數(shù)所代表的字符\xhh1~2位十六進(jìn)制數(shù)所代表的字符1234567812345678[例2.5]轉(zhuǎn)義字符的使用
main()
/*注@代表空格*/{printf("@@ab@c\t@de\rf\tg\n");
printf("h\ti\b\bj@@@k");
}
設(shè)一個(gè)輸出區(qū)占8列,試分析輸出結(jié)果。
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式@
@
a
b
@
c@
d
efg
hij@
@
@
k2.5.2字符變量字符變量用來存放字符常量。字符變量在內(nèi)存中占一字節(jié),取值范圍0~255。字符變量的定義和使用
例
charc1,c2;
c1='a';c2='b';
例charc1=‘a(chǎn)’;
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式對(duì)字符的編碼方法很多,使用最普遍的是美國(guó)標(biāo)準(zhǔn)信息交換碼,簡(jiǎn)稱ASCII碼。一個(gè)字符常量存放到一個(gè)字符變量中,實(shí)際上并不是把該字符的字型放到內(nèi)存中去,而是將該字符的相應(yīng)的ASCII代碼放到存儲(chǔ)單元中。這樣使字符型數(shù)據(jù)和整型數(shù)據(jù)之間可以通用。
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式2.5.3
字符數(shù)據(jù)在內(nèi)存中的存放形式[例2.6]向字符變量賦予整數(shù)main(){charc1,c2;c1=97;c2=98;printf("%c%c\n",c1,c2);printf("%d%d\n",c1,c2);}該例的輸出是:ab
97
98
相當(dāng)于:c1=‘a(chǎn)’;c2=‘b’;因?yàn)椋鹤址訟SCII碼存放,‘a(chǎn)’的ASCII碼為97,'b'的ASCII碼為98。
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式Turboc中的字符變量是有符號(hào)的,表示范圍是–128---127
main(){charc;c=130;ptintf("%c%d\n",c,c);}輸出結(jié)果是:e–126將charc;改成unsignedcharc;輸出結(jié)果變成:e130
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式[例2.7]/*大小寫字母轉(zhuǎn)換的程序*/main(){charc1,c2;
c1='a';c2='b';c1=c1-32;c2=c2-32;printf("%c%c\n",c1,c2);}
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式2.5.4字符串常量字符串常量:雙引號(hào)括起來的字符序列。
例:"Howdoyoudo."
"CHINA"
"a"
"$123.45"注意區(qū)別字符常量和字符串常量例:charc;c='a';c="a";/*錯(cuò)誤*/
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式字符串常量在內(nèi)存中的存放:每一個(gè)字符均以其ASCII碼存放,且最后添加一個(gè)“空字符”\0.
"CHINA"存放在內(nèi)存中的情況是:
注意:\0是系統(tǒng)自動(dòng)加入的,不需用戶輸入。C中沒有專門的字符串變量,要把字符串常量存儲(chǔ)在變量中,必須使用字符數(shù)組。
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式CHINA\02.6各類數(shù)據(jù)混合運(yùn)算整型、實(shí)型(包括單、雙精度)、字符型數(shù)據(jù)可以混合運(yùn)算。
例
10+'a'+1.5-8765.1234*'b'混合運(yùn)算時(shí),先轉(zhuǎn)換成同一種類型,然后進(jìn)行運(yùn)算。
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式高doublefloatlongunsigned低intchar,short例:inti;
floatf;doubled;longe;10+'a'+i
*
f-d
/
e高doublefloatlongunsigned低intchar,shortintdoubledouble上述轉(zhuǎn)換過程是由系統(tǒng)自動(dòng)進(jìn)行的。
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式doubledouble2.7
算術(shù)運(yùn)算符和算術(shù)表達(dá)式2.7.1C語(yǔ)言運(yùn)算符和C表達(dá)式簡(jiǎn)介C運(yùn)算符
算術(shù)運(yùn)算符:+-*/%++--
關(guān)系運(yùn)算符:<<===>>=!=
邏輯運(yùn)算符:!&&||
位運(yùn)算符:<<>>~|^&
賦值運(yùn)算符:=及其擴(kuò)展
條件運(yùn)算符:?:
逗號(hào)運(yùn)算符:,
指針運(yùn)算符:*&
求字節(jié)數(shù):sizeof
強(qiáng)制類型轉(zhuǎn)換:(類型)
分量運(yùn)算符:.->
下標(biāo)運(yùn)算符:[]
其它:()-
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式C表達(dá)式
表達(dá)式是由操作數(shù)和運(yùn)算符組成的序列。根據(jù)運(yùn)算符分為以下幾類:
算術(shù)表達(dá)式:如2+3-4.7*6.3
關(guān)系表達(dá)式:x<0
y<=z+6
邏輯表達(dá)式:x>0&&y>0
賦值表達(dá)式:a=
7
條件表達(dá)式:x>0?y=2:y=3
逗號(hào)表達(dá)式:a=2,b=3,c=4
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式2.7.2主要的算術(shù)運(yùn)算符和算術(shù)表達(dá)式基本的算術(shù)運(yùn)算符+
加法運(yùn)算符,如3+5
正值運(yùn)算符,如+3-
減法運(yùn)算符,如5-2
負(fù)值運(yùn)算符,如-3*
乘法運(yùn)算符,如3*5/
除法運(yùn)算符,如5/3%
模運(yùn)算符(求余運(yùn)算符),如7%4
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式說明:如果除號(hào)兩邊是整數(shù),即做整除。%兩邊必須為整數(shù)算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級(jí)與結(jié)合性算術(shù)表達(dá)式:用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算對(duì)象連接起來、符合C語(yǔ)法規(guī)則的式子。
如:a*b/c-1.5+'a'運(yùn)算符的優(yōu)先級(jí):先乘除、后加減;括號(hào)優(yōu)先。運(yùn)算符的結(jié)合性:運(yùn)算對(duì)象兩側(cè)的運(yùn)算符優(yōu)先級(jí)相同時(shí),運(yùn)算符的結(jié)合方向。左結(jié)合性:結(jié)合方向?yàn)閺淖笾劣遥ㄏ茸蠛笥?,?jiǎn)稱左結(jié)合)。算術(shù)運(yùn)算符為左結(jié)合。右結(jié)合性:結(jié)合方向?yàn)閺挠抑磷螅ㄏ扔液笞?,?jiǎn)稱右結(jié)合)。賦值運(yùn)算符=為右結(jié)合。例:a=b=c=d=3
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式例已知:floata=2.0;intb=6,c=3;求解:a*b/c-1.5+’A’+abs(-5)=?12.0/34.0-1.52.5+65(int)67.5572.5
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式強(qiáng)制類型轉(zhuǎn)換
運(yùn)算符兩側(cè)的數(shù)據(jù)類型不同時(shí),先自動(dòng)進(jìn)行類型轉(zhuǎn)換,再運(yùn)算。程序員可以強(qiáng)制進(jìn)行某種轉(zhuǎn)換。
一般形式:
(類型名)(表達(dá)式)
例(double)a;(int)(x+y);(int)x+y(float)(5%3);
(int)a;
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式說明:強(qiáng)制類型轉(zhuǎn)換時(shí),得到一個(gè)所需類型的中間變量,原來變量的類型不發(fā)生變化。[例2.8]強(qiáng)制類型轉(zhuǎn)換#include<stdio.h>voidmain(){float
x;
inti;x=3.6;i=(int)x;printf(“x=%f,i=%d”,x,i);}
C語(yǔ)言程序設(shè)計(jì)
第二章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式自增、自減運(yùn)算符
自增:使變量的值加1;自減:使變量的值減1。
++i;/*在使用i之前使i加1*/
--i;/*在使用i之前使i減1*/
i++;/*在使用i之后使i加1*/
i--;/*在使用i之后使i減1*/
例
i=3;
j=++i;/*先使i加1,再賦給j。*/k=i++;
print(“j=%d,i=%d,k=%d”,j,i,k);
輸出為:j=4,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東理工職業(yè)學(xué)院《材料物理》2023-2024學(xué)年第一學(xué)期期末試卷
- 山東理工大學(xué)《計(jì)算機(jī)輔助設(shè)計(jì)產(chǎn)品設(shè)計(jì)與表達(dá)》2023-2024學(xué)年第一學(xué)期期末試卷
- 嵌入式門禁系統(tǒng)課程設(shè)計(jì)
- 山東科技職業(yè)學(xué)院《計(jì)算機(jī)音樂Ⅱ》2023-2024學(xué)年第一學(xué)期期末試卷
- 早教串珠子課程設(shè)計(jì)
- 幼兒早教手掌畫課程設(shè)計(jì)
- 無(wú)線射頻系統(tǒng) 課程設(shè)計(jì)
- 戰(zhàn)爭(zhēng)課程設(shè)計(jì)幼兒版
- 山東交通學(xué)院《功能材料的缺陷化學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 山東化工職業(yè)學(xué)院《化工過程控制》2023-2024學(xué)年第一學(xué)期期末試卷
- 生命密碼-課件
- 幼兒園小班美術(shù)教案《做蛋糕》含反思
- 動(dòng)畫制作員職業(yè)技能鑒定考試題庫(kù)-下(多選、判斷題部分)
- 急救中心急救站點(diǎn)建設(shè)標(biāo)準(zhǔn)
- 高中化學(xué)《元素周期表和元素周期律的應(yīng)用》優(yōu)質(zhì)課教學(xué)設(shè)計(jì)、教案
- 工序標(biāo)準(zhǔn)工時(shí)及產(chǎn)能計(jì)算表
- 汽車后尾燈試驗(yàn)報(bào)告
- 住院HIS系統(tǒng)流程圖
- 田徑活動(dòng)記錄第一學(xué)期記錄
- 全國(guó)家庭教育工作評(píng)估方案
- 采購(gòu)部年終總結(jié)計(jì)劃PPT模板
評(píng)論
0/150
提交評(píng)論