版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2章 基本數(shù)據(jù)類型、運(yùn)算符及表達(dá)式2.1
C的基本數(shù)據(jù)類型整
型數(shù)據(jù)類型基本類型構(gòu)造類型指針類型
空類型void數(shù)值類型短整型short長(zhǎng)整型long單精度型float雙精度型double整型
int浮點(diǎn)型字符類型char枚舉類型enum數(shù)組類型結(jié)構(gòu)體類型struct共用體類型union2.2
常量與變量常量含義:程序運(yùn)行的過程中,值不能被改變的量。分類:字面常量和符號(hào)常量。其中,字面常量又分為:整型常量、實(shí)型常量、字符型常量(字符常量和字符串常量)字面常量
—
整型常量形式:十進(jìn)制、八進(jìn)制和十六進(jìn)制三種形式十進(jìn)制整型常量:由0至9的數(shù)字組成,沒有前綴,不能以0起頭。八進(jìn)制整型常量:以0(數(shù)字0)為前綴,其后由0到7的數(shù)字組成,沒有小數(shù)部分。十六進(jìn)制整型常量:以0x或0X為前綴,其后由0到9的數(shù)字和A到F(大小寫均可)字母組成,沒有小數(shù)部分整型常量中的長(zhǎng)整型數(shù)據(jù)可用L(或小寫字母l)作后綴表示。例:下列四個(gè)選項(xiàng)中,均是合法的實(shí)型常量的是—B—A、+2e-1-3e4.55e3B、-.91.2e-0-7.e8C、123e+14567+2e-1D、8e-4-5e+2-e3字面常量
—
字符型常量分類:字符常量和字符串常量?jī)深悺?.
字符常量:用一對(duì)單引號(hào)括起來的一個(gè)字符。如:‘a(chǎn)’、‘A’、‘3’、‘?’等。特殊的轉(zhuǎn)義字符常量:是將反斜扛(\)后面的字符轉(zhuǎn)換成另外的意思。2.
字符串常量:用一對(duì)雙引號(hào)括起來的字符序列。如:"The
C
Programming
Language"字符串中可以是任一字符,包括轉(zhuǎn)義字符。當(dāng)字符串本身包括雙引號(hào)時(shí),必須用轉(zhuǎn)義字符‘\“’表示 ,從而防止二義性的解釋。如:"
\"UNIX
SYSTEM
\"
"字符串常量用連續(xù)的存儲(chǔ)單元存儲(chǔ),每個(gè)字符占一個(gè)字節(jié),且在末尾自動(dòng)加一個(gè)字符串結(jié)束符
'\0'。注意:'a'
和
"a"的差別字面常量
—
字符型常量例:下列不合法的字符常量是—B—A、’\n’ B、’ab’ C、’\101’ D、’0’符號(hào)常量用符號(hào)常量標(biāo)識(shí)符來代表一個(gè)常量。如:用PI代表圓周率Л,即3.1415926。優(yōu)點(diǎn):
①
含義清楚,增加可讀性。②在需要改變一個(gè)常量是能做到“一改全改”,增強(qiáng)了可維護(hù)性。用編譯預(yù)處理命令中的宏定義來定義符號(hào)常量。宏定義格式:
#define
標(biāo)識(shí)符 字符序列每行定義一個(gè)宏定義,句末無分號(hào)。符號(hào)常量定義格式:
#define
符號(hào)常量標(biāo)識(shí)符 常量如:
#define
PI
3.1415926變量含義:
程序運(yùn)行過程中可以改變的量基本要素:
變量名、類型、值。變量名:
用標(biāo)識(shí)符來表示。變量的定義格式:
變量類型 變量名表列;變量類型:
存儲(chǔ)數(shù)據(jù)的類型聲明基本類型的關(guān)鍵字有:
int 、float、char、double可進(jìn)行修飾擴(kuò)充的有:short、long、unsigned定義類型有三個(gè)含義:
1、數(shù)學(xué)類型2、存儲(chǔ)空間3、取值范圍位范圍類型char8-128
~
127 (-27
~
27-1)unsigned
char80
~
255 (0
~ 28-1
)short
int16-32768
~
32767 (-215
~
215-1)unsigned
short
int160
to
65535 (0
~ 216-1
)int32-2147483648
~
2147483647 (-215
~
215-1)unsigned
int320~
4294967295 (0
~ 232-1
)long
int64(-263-1
~ 263-1
)unsigned
long
int640~
18446744073709551615 (0
~ 264-1
)float32-3.4×1038
~
3.4×1038
(7位有效數(shù)字)double64-1.7×10308
~
1.7×10308
(15
位有效數(shù)字)變量名表列:為同一類型變量名的列表,各變量名之間用逗號(hào)隔開。int m,
M,n;/* 定義m,M,n為存放整型數(shù)據(jù)的整型變量
*/float a,
b,
c;/* 定義a,b,c為存放單精度型數(shù)據(jù)的實(shí)型變量
*/char
c1,c2;/* 定義c1,c2為存放字符型數(shù)據(jù)的字符型變量
*/注意:1.
變量必須是先定義,后使用;定義變量的聲明語(yǔ)句必須放在本程序任何可執(zhí)行語(yǔ)句之前或所在函數(shù)的可執(zhí)行語(yǔ)句之前;在同一函數(shù)內(nèi),不能定義同名變量,而在不同函數(shù)中可以定義同名變量,互不影響。變量除了具有數(shù)據(jù)類型外,還有存儲(chǔ)類型,變量的作用域與生存期等。2、用scanf(
)從鍵盤讀入數(shù)據(jù);如:int
i;scanf(“%d”,&i);3、在程序執(zhí)行中,用賦值語(yǔ)句動(dòng)態(tài)的改變變量的值。如:int
i=9;int
j;j=i-1;j=j+1;注意:若對(duì)變量只定義而沒有賦值,則該變量的值是隨機(jī)的。2.4
運(yùn)算符及表達(dá)式1、按功能分為:算術(shù)運(yùn)算符關(guān)系運(yùn)算符邏輯運(yùn)算符位運(yùn)算符賦值運(yùn)算符條件運(yùn)算符∧>>
~
∣
&復(fù)合賦值運(yùn)算符+
-
*
/
%
++
-->
>=
<
<=
==
!=!
&&
||<<=?
:(7)
逗號(hào)運(yùn)算符,(8)
指針運(yùn)算符*
和
&(9)
求字節(jié)數(shù)運(yùn)算符sizeof(10)強(qiáng)制類型轉(zhuǎn)換運(yùn)算符(類型標(biāo)識(shí)符)(11)分量運(yùn)算符·
→(12)下標(biāo)運(yùn)算符[
](13)其它函數(shù)名(
)2.
運(yùn)算符按其連接運(yùn)算對(duì)象的個(gè)數(shù)可分為:?jiǎn)文窟\(yùn)算符(僅對(duì)一個(gè)運(yùn)算對(duì)象進(jìn)行操作)!
~
++
--
-(取負(fù)號(hào))(類型標(biāo)識(shí)符)
*
&
sizeof雙目運(yùn)算符(該運(yùn)算符連接兩個(gè)運(yùn)算對(duì)象)+-
*
/
%
<
<=>>=
==!=<<>>
&
|
∧&&||=復(fù)合賦值運(yùn)算符三目運(yùn)算符(該運(yùn)算符連接三個(gè)運(yùn)算對(duì)象)?:其它(
)
[]
·
->3.
按優(yōu)先級(jí)及結(jié)合性優(yōu)先級(jí):標(biāo)志運(yùn)算符在表達(dá)式中的運(yùn)算順序。結(jié)合性:優(yōu)先級(jí)相同時(shí),按從左到右或從右到左的結(jié)合順序確定運(yùn)算符的計(jì)算順序。分為二類:從右到左:?jiǎn)文?、三目和賦值運(yùn)算符從左到右:其它運(yùn)算符算術(shù)運(yùn)算符與算術(shù)表達(dá)式1.
算術(shù)運(yùn)算符單目運(yùn)算符:-(取負(fù))、+(取正)雙目算術(shù)運(yùn)算符:+(加)、-(減)、*(乘)、/(除)、%(余數(shù))說明:1、整數(shù)相除結(jié)果為整數(shù),即只取商的整數(shù)部分;2、%只適合整數(shù)運(yùn)算例:main(){int
a=3;int
b=++a,c;printf(”%d
%d\n”,a,b);c=a++;printf(”%d
%d\n”,a,c);}結(jié)果:4454#include
<stdio.h>main(
){ char
c1='A',c2,c3;int
i=5,j,k;c2=c1++;c3=++c1;j=i-
-;k=
-
-i;printf("c1=%c,c2=%c,c3=%c\n",c1,c2,c3);printf("i=%d,j=%d,k=%d\n",i,j,k);}結(jié)果:c1=C,c2=A,c3=Ci=3,j=5,k=3賦值運(yùn)算符與賦值表達(dá)式賦值運(yùn)算符:
=一般形式:
變量
=
表達(dá)式含義:將賦值號(hào)右邊表達(dá)式的值賦給左邊的變量。如:
x=3;
y=(x+2)*3;注意:先計(jì)算賦值運(yùn)算符右側(cè)表達(dá)式,再賦值。賦值運(yùn)算符的左側(cè)必須是一個(gè)變量。如:
3=x;
(x+y)=
5;
/* 都錯(cuò)誤
*/復(fù)合賦值運(yùn)算符一般形式:變量
= 變量 運(yùn)算符 表達(dá)式
;縮寫式:
變量運(yùn)算符
=表達(dá)式;x
+=
y;x
*=
y
+
z;如:x
=
x
+
y;x
=
x
*
(y
+
z);復(fù)合賦值運(yùn)算符共有10種:+=(加賦值)*=(乘賦值)%=(求余賦值)|=(按位或賦值)-=(減賦值)/=(除賦值)&=(位與賦值)∧=(按位異或賦值)<<=(左移位賦值)>>=(右移位賦值)例:#
include
<stdio.h>main(
){int
a;float
b;a*=a/=(a=7)-(b=4.5);printf("a=%d,
b=%f\n",a,
b);}結(jié)果:a=4,b=4.500000例: int
m=7,n=12;則能得到值為3的表達(dá)式是
D
n%=(m%=5)n%=(m-m%5)n%=m-m%5(n%=m)-(m%=5)逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式一般形式:表達(dá)式1,表達(dá)式2,…,表達(dá)式n例:z=(y=(x=4*5,x*5),x+25)結(jié)果:x=20,y=100,z=45綜合例題:int
k=7;float
a=2.5,b=4.7;則表達(dá)式
a+k%3*(int)(a+b)%2/4的值
A
A.
2.5 B.
2.75
C.
3.5
D.
0.0各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算與類型轉(zhuǎn)換C語(yǔ)言規(guī)定:相同類型數(shù)據(jù)直接進(jìn)行運(yùn)算,運(yùn)算結(jié)果是原數(shù)據(jù)類型;不同類型的數(shù)據(jù)先轉(zhuǎn)換成同一類型,然后才可進(jìn)行運(yùn)算。兩種轉(zhuǎn)換形式:(1)隱含轉(zhuǎn)換(隱式轉(zhuǎn)換);(2)強(qiáng)制轉(zhuǎn)換(顯式轉(zhuǎn)換)隱含轉(zhuǎn)換由C語(yǔ)言系統(tǒng)自動(dòng)完成的1、運(yùn)算轉(zhuǎn)換——不同類型數(shù)據(jù)混合運(yùn)算時(shí)2、賦值轉(zhuǎn)換——把一個(gè)值賦給與其類型不同的變量時(shí)3、輸出轉(zhuǎn)換——輸出時(shí)轉(zhuǎn)換成指定的輸出格式4、函數(shù)調(diào)用轉(zhuǎn)換——實(shí)參與形參類型不一致時(shí)轉(zhuǎn)換floatdoublelongunsignedint
char,short低高轉(zhuǎn)換規(guī)則:注意:轉(zhuǎn)換按箭頭方向不是逐步進(jìn)行, 而是一步到位。類型轉(zhuǎn)換只影響表達(dá)式結(jié)果,不改變?cè)兞康念愋?。?/p>
char
ch;inti;
float
f;double
d;double- (
f
+
i
)doublech
/
i
+
f
*
dint
doubledouble例:以下表達(dá)式結(jié)果為整數(shù)的是
B(設(shè)int
i;char
c;float
f;)A.i+fB.i*cC.c+fD.i+c+f強(qiáng)制轉(zhuǎn)換通過強(qiáng)制類型轉(zhuǎn)換運(yùn)算符將表達(dá)式值轉(zhuǎn)換為指定類型。一般形式:(類型標(biāo)識(shí)符)表達(dá)式如:
(int)(a+b*c-d/e)%f例:main(){
float
x1,x2;x1=5.1/1.7;x2=5.1/(int)1.7;printf(“x1=%f,x2=%f”,x1,x2);}結(jié)果:x1=3.000000,x2=5.100000注意:1、類型表示符兩側(cè)的括號(hào)不能省略;2、轉(zhuǎn)換時(shí),得到的是一個(gè)所需類型的中間變量,原變量的類型未發(fā)生變化。作
業(yè)1、閱讀程序,寫出輸出結(jié)果。
main(){ int
x,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)澆樓蓋 課程設(shè)計(jì)
- 2025年度地下空間開發(fā)個(gè)人工程勞務(wù)分包合同范本4篇
- 2024年心理咨詢師題庫(kù)附答案(典型題)
- 二零二五版門衛(wèi)服務(wù)外包與社區(qū)安全防范系統(tǒng)承包4篇
- 2025年度草坪圍欄施工與智慧城市建設(shè)合同3篇
- 植筋膠施工方案
- 二零二五年度棉花品牌建設(shè)與推廣合同4篇
- 2024酒店宴會(huì)廳租賃與客戶服務(wù)協(xié)議版B版
- 地板磚拆除施工方案
- 工地跳板擋墻施工方案
- 北京工業(yè)大學(xué)教學(xué)科研儀器設(shè)備政府采購(gòu)(一)
- 2023年版《安寧療護(hù)實(shí)踐指南(試行)》解讀課件
- AQ6111-2023個(gè)體防護(hù)裝備安全管理規(guī)范
- 2024年高考語(yǔ)文備考之??甲骷易髌罚ㄏ拢褐袊?guó)現(xiàn)當(dāng)代、外國(guó)
- T-CSTM 01124-2024 油氣管道工程用工廠預(yù)制袖管三通
- 新譯林版高中英語(yǔ)必修二全冊(cè)短語(yǔ)匯總
- 基于自適應(yīng)神經(jīng)網(wǎng)絡(luò)模糊推理系統(tǒng)的游客規(guī)模預(yù)測(cè)研究
- 河道保潔服務(wù)投標(biāo)方案(完整技術(shù)標(biāo))
- 品管圈(QCC)案例-縮短接臺(tái)手術(shù)送手術(shù)時(shí)間
- 精神科病程記錄
- 閱讀理解特訓(xùn)卷-英語(yǔ)四年級(jí)上冊(cè)譯林版三起含答案
評(píng)論
0/150
提交評(píng)論