版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第2章
數(shù)據(jù)類型、運(yùn)算符與表達(dá)式Followme!2.1
C語言數(shù)據(jù)類型
整型(int)
字符型(char)
單精度型(float)
基本類型實(shí)型(浮點(diǎn)型)
雙精度型(double)
指針類型數(shù)據(jù)類型數(shù)組類型
構(gòu)造類型結(jié)構(gòu)體類型(struct)
共用體類型(union)
枚舉類型(enum)
無值類型(空類型)
(void)標(biāo)識符標(biāo)識符就是名字。在C中有符號常量名、變量名、函數(shù)名、標(biāo)號、文件名、結(jié)構(gòu)類型名、各種用戶定義的對象名等。命名規(guī)則:構(gòu)成字符:26個英文字母、數(shù)字0-9、下劃線須由字母或下劃線開頭,后可跟任意可用字符注意:大小寫字母含義不同。Num和NUM為不同標(biāo)識符構(gòu)造標(biāo)識符時盡量做到“見名知意”。如sum,st_age
標(biāo)識符不能使用C語言關(guān)鍵字。如main,int等C有32個關(guān)鍵字,見24頁.2.2常量與變量2.2.1常量1.定義:在程序執(zhí)行期間,其值不可改變的量稱為常量2.類型:數(shù)值常量:例如:10,3,2.68等符號常量:用一個符號代表一個常量
例如:#definePI3.1415926main(){floatr,l,s;
r=2;l=2*PI*r;s=PI*r*r;
printf(“l(fā)=%d,s=%d”,l,s);
}增加可讀性;提高可維護(hù)性說明:符號常量必須先定義后才能用它表示一個數(shù)值符號常量名習(xí)慣用大寫字母表示2.2.2變量1.定義:程序執(zhí)行期間值可以改變的量2.變量兩個要素:
變量名和變量值。變量值存儲在內(nèi)存中,不同類型變量占用的內(nèi)存單元(字節(jié))不同。在程序中通過變量名引用變量的值。3.說明:
(1)變量要“先定義,后使用”定義格式:類型說明符標(biāo)識符1,標(biāo)識符2......標(biāo)識符n
例:intx,y,z;floata,b,c,d;(2)可以定義變量同時給變量賦值——初始化例:intx=10,y=20,z;3變量名變量值存儲單元a例:下列標(biāo)識符中,合法的變量名有:
M.D.John12%gf1add_ce36age&5thclasslotus_1_2_3
cd*ef2.3整型數(shù)據(jù)(int)(1)整型常量十進(jìn)制:0-9組成,無小數(shù)。如123,-456,0八進(jìn)制:以0開頭,0-7組成,無小數(shù)。如0123,-011十六進(jìn)制:以0x或0X開頭,0-9和a-f(大小寫均可)組成。如x123,-0x12(2)整型變量每一個整型變量在內(nèi)存中占2個字節(jié),以補(bǔ)碼形式表示。如:
數(shù)據(jù)在內(nèi)存中是以二進(jìn)制形式存放的00000000000010101111111111110110-10+10整型變量的分類
:見25頁基本整型:int
有符號[signed]int
無符號unsigned[int]短整型:shortint
有符號[signed]short[int]無符號unsignedshort[int]長整型:longint
有符號[signed]long[int]無符號unsignedlong[int]說明:不指定有無符號時,即省略signed或unsigned時,隱含為有符號。
例2.2整型變量的定義例2.3整型數(shù)據(jù)的溢出常量:
用l做后綴:表示長整型數(shù)
用u做后綴:表示無符號數(shù)。使用long型可得到大范圍整數(shù),但也會降低運(yùn)算速度。標(biāo)準(zhǔn)C中各種整數(shù)類型的表示范圍見25頁表2.1。例:各種類型的整數(shù)13在內(nèi)存中的存儲形式。說明:2.4實(shí)型數(shù)據(jù)(又叫浮點(diǎn)數(shù)float)(1)實(shí)型常量定點(diǎn)數(shù)形式:
.123,123.,123.0,0.0(必須帶有小數(shù)點(diǎn))指數(shù)形式:
123e3或123E3
(E前必須有數(shù);E后須為整數(shù),可正可負(fù))
1.234e3代表1.234×103
;
e3,1e2.3,.e3,e不合法。
規(guī)范化的指數(shù):E前的小數(shù)部分中的小數(shù)點(diǎn)前(左)只有一位非零數(shù)字2.4實(shí)型數(shù)據(jù)(又叫浮點(diǎn)數(shù)float)(2)實(shí)型變量在內(nèi)存中占4個字節(jié),按指數(shù)形式存儲。如:
+小數(shù)部分指數(shù)
實(shí)型變量的分類
單精度:float 7位有效數(shù)字
雙精度:double 15~16位有效數(shù)字
長雙精度:longdouble
使用較少
0
.31415913.14159
一個實(shí)型變量只能保證7位有效數(shù)字,后面的數(shù)字是無意義的。應(yīng)避免一個很大的數(shù)和一個很小的數(shù)直接相加減。
C編譯系統(tǒng)將實(shí)型常量按雙精度處理,常量的后綴用f表示單精度實(shí)型,后綴用l表示長雙精度型。例2.4浮點(diǎn)數(shù)數(shù)值的有效位數(shù)注意事項(xiàng):2.5字符型數(shù)據(jù)(1)字符常量字符常量:用單撇號括起來的一個字符。如:’a’,’!’,’X’
特殊形式字符常量(轉(zhuǎn)義字符):以“\”開頭的字符序列,見48頁表3.3字符串常量:用雙引號括起來的零個或多個字符的序列。如:“Thisisastring”,”5433”,””,””,“\n”等。
例:字符串常量“china\b\n\101\t\\”由幾個字符構(gòu)成?(10)
2.5字符型數(shù)據(jù)(2)字符變量
每一個字符變量:只能存放一個字符,在內(nèi)存中占1個字節(jié),是將該字符對應(yīng)的ASCII碼放到存儲單元中并以二進(jìn)制形式表示。如:c1=‘a(chǎn)’
一個字符型數(shù)據(jù)既可以用字符形式輸出,也可以以整數(shù)輸出。即字符型數(shù)據(jù)和整型數(shù)據(jù)是通用的??梢詫ψ址麛?shù)據(jù)進(jìn)行算術(shù)運(yùn)算例:大小寫字母轉(zhuǎn)換。將小寫字母a和b轉(zhuǎn)換為大寫字母A和B。
main(){charc1,c2;c1=‘a(chǎn)’;c2=‘b’;c1=c1-32;c2=c2-32;
printf(“%c%c”,c1,c2);}c19701100001(3)字符串常量用雙撇號括起來的字符序列。如:”hi!”,”123abc”,”123.3”
在字符串常量后加“\0”(ASCII值為0,即空操作)做結(jié)束標(biāo)志
字符串常量所占的存儲空間取決于其所含的字符數(shù),為字符數(shù)+1。在C語言中,使用數(shù)組來存放字符串。
2.6變量賦初值聲明變量同時初始化
inta=3;floatf=3.1;charc=‘g’;聲明時部分初始化
inta,b,c=5;同時給幾個變量賦相同的值
inta=3,b=3,c=3;
inta=b=c=3是錯誤的2.7各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算就是整型、實(shí)型數(shù)據(jù)的混合運(yùn)算不同類型數(shù)據(jù)要先轉(zhuǎn)換成同一類型(低轉(zhuǎn)高),然后進(jìn)行運(yùn)算轉(zhuǎn)換規(guī)則見圖。運(yùn)算時系統(tǒng)自動按上述規(guī)則轉(zhuǎn)換計(jì)算。例:計(jì)算10+‘a(chǎn)’+I*f-d/e
其中,I為int型,f為float型,d為double型,e為long型運(yùn)算符C的運(yùn)算符非常豐富,應(yīng)用范圍廣泛,可分為:算術(shù)運(yùn)算符:+-*/%++--關(guān)系運(yùn)算符:>>=<<===!=邏輯運(yùn)算符:!&&||位運(yùn)算符:<<>>~|&^賦值運(yùn)算符:=復(fù)合賦值運(yùn)算符條件運(yùn)算符:?:逗號運(yùn)算符:,指針運(yùn)算符:*&求字節(jié)數(shù)運(yùn)算符:sizeof強(qiáng)制類型轉(zhuǎn)換運(yùn)算符:(類型)分量運(yùn)算符:.→下標(biāo)運(yùn)算符:[]其他:如函數(shù)調(diào)用運(yùn)算符()2.8算術(shù)運(yùn)算符和算術(shù)表達(dá)式1.基本的算術(shù)運(yùn)算符+(加或正)-(減或負(fù))*(乘)/(除)%(取?;蚯笥啵┱f明:(1)上述運(yùn)算符均為雙目運(yùn)算符(即有兩個操作數(shù))(2)“+”“-”作單目運(yùn)算符時分別為正值、負(fù)值運(yùn)算符。(3)在“/”運(yùn)算中,若操作數(shù)均為整數(shù),則執(zhí)行整除運(yùn)算,舍去小數(shù)部分。例如:5/3=1(4)“%”要求兩側(cè)均為整數(shù),“%”運(yùn)算不能用于float和
double
型數(shù)據(jù)。例如:5%3=2(5)*/%的優(yōu)先級相同且高于+-
2.算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級與結(jié)合性算術(shù)表達(dá)式:用算術(shù)運(yùn)算符和括號將常量、變量、函數(shù)等連接起來構(gòu)成的式子。運(yùn)算優(yōu)先級:先按運(yùn)算符的優(yōu)先級高低執(zhí)行,級別相同按先左后右的結(jié)合方向執(zhí)行。3.強(qiáng)制類型轉(zhuǎn)換運(yùn)算符(類型名)(表達(dá)式)如(double)a(int)(x+y) 不同于(int)x+y(float)(5%3)強(qiáng)制轉(zhuǎn)換得到一個所需類型的中間值,原變量類型不變4.自增、自減運(yùn)算符(++、--)作用:使變量的值增1或減1,相當(dāng)于i=i+1,i=i-1.如:++i,--i使用i之前,先使i的值加(減)1
i++,i--使用i之后,使i的值加(減)1例如:inta=1,b;b=++a;
printf(“%d,%d\n”,a,b);
或:inta=1,b;b=a++;
printf(“%d,%d\n”,a,b);說明:(1)自增、自減運(yùn)算符為單目運(yùn)算符(2)++、--只能用于變量(不能操作float和double型數(shù)據(jù)),而不能用于常量或表達(dá)式。例如:10++,(x+y)++
,++’a’,b++中合法的為:(3)自增、自減運(yùn)算符為右結(jié)合性。例如:-a++-(a++)例:讀出下列程序運(yùn)行后結(jié)果。#include<stdio.h>Main(){
inta=7,b=7,c,d;a=a++;b=++b;
printf(“a=%d,b=%d\n”,a,b);c=a++;d=++b;
printf(“c=%d,d=%d\n”,c,d);}運(yùn)行結(jié)果:A=8,b=8C=8,d=93.9賦值運(yùn)算符和賦值表達(dá)式1.賦值運(yùn)算符(=)形式:變量名=常量或表達(dá)式作用:將右邊常量或表達(dá)式的值賦給左邊的變量例如:a=3;b=c+d;當(dāng)賦值運(yùn)算符兩邊類型不一致時,要進(jìn)行類型轉(zhuǎn)換。規(guī)則是:⑴ 實(shí)型數(shù)據(jù)賦給整型變量,舍去小數(shù)。⑵ 整型變量賦給單、雙精度變量,小數(shù)部分補(bǔ)零。⑶ 字符型數(shù)據(jù)賦給整型數(shù)據(jù),把對應(yīng)的ASCII碼置于低8位,高8位視情況而變。⑷ shortint
賦給longint,高端要根據(jù)正負(fù)補(bǔ)0或1。反之,只截取低8位。其它見書。
3.9賦值運(yùn)算符和賦值表達(dá)式2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國均苯四甲酸二酐產(chǎn)業(yè)前景趨勢展望及投資戰(zhàn)略決策報(bào)告
- 2024-2030年中國發(fā)動機(jī)軸承橡膠模行業(yè)市場運(yùn)營模式及未來發(fā)展動向預(yù)測報(bào)告
- 2024年生態(tài)修復(fù)工程用草種采購合同
- 2024年生態(tài)旅游區(qū)門面房買賣合同范本3篇
- 2024年版地下水開采合同3篇
- 2024年珠寶首飾租賃協(xié)議2篇
- 2024年企事業(yè)單位食堂餐飲承包合同及員工餐飲健康促進(jìn)3篇
- 2018企業(yè)首席質(zhì)量官培訓(xùn)考核試題(綜合卷)
- 2024年標(biāo)準(zhǔn)離婚股權(quán)分割合同模板版B版
- 2025年深圳從業(yè)資格證貨運(yùn)模擬考試下載
- Unit 7單元教案 2024-2025學(xué)年人教版(2024)七年級英語上冊
- Unit 6 My sweet home(教學(xué)設(shè)計(jì))-2024-2025學(xué)年外研版(三起)(2024)小學(xué)英語三年級上冊
- 北師大版教案正比例函數(shù)案例分析
- 行政文秘筆試題
- 人教版(2024)七年級地理上冊跨學(xué)科主題學(xué)習(xí)《探索外來食料作物傳播史》精美課件
- 2024-2025學(xué)年七年級數(shù)學(xué)上冊第一學(xué)期 期末模擬測試卷(湘教版)
- 職業(yè)素質(zhì)養(yǎng)成(吉林交通職業(yè)技術(shù)學(xué)院)智慧樹知到答案2024年吉林交通職業(yè)技術(shù)學(xué)院
- 《紅樓夢》第5課時:欣賞小說人物創(chuàng)作的詩詞(教學(xué)教學(xué)設(shè)計(jì))高一語文同步備課系列(統(tǒng)編版必修下冊)
- 【新教材】蘇科版(2024)七年級上冊數(shù)學(xué)第1-6章全冊教案設(shè)計(jì)
- 天津2024年天津市應(yīng)急管理局招聘應(yīng)急管理綜合行政執(zhí)法專職技術(shù)檢查員筆試歷年典型考題及考點(diǎn)附答案解析
- 工業(yè)物聯(lián)網(wǎng)(IIoT)行業(yè)發(fā)展全景調(diào)研與投資趨勢預(yù)測研究報(bào)告
評論
0/150
提交評論