版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(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á)式延邊大學(xué)師范學(xué)院于茂春C程序設(shè)計(jì)1精選課件
第三章數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式3.1C的數(shù)據(jù)類(lèi)型3.2常量與變量3.3整型數(shù)據(jù)3.4實(shí)型數(shù)據(jù)3.5字符型數(shù)據(jù)3.6變量賦初值3.7各類(lèi)數(shù)值型數(shù)據(jù)間的混合運(yùn)算3.8算術(shù)運(yùn)算符和算術(shù)表達(dá)式3.9賦值運(yùn)算符和賦值表達(dá)式3.10逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式2精選課件3.1C的數(shù)據(jù)類(lèi)型
整型字符型基本類(lèi)型實(shí)型(浮點(diǎn)型)單精度型枚舉類(lèi)型雙精度型
數(shù)組類(lèi)型數(shù)據(jù)類(lèi)型構(gòu)造類(lèi)型結(jié)構(gòu)體類(lèi)型共用體類(lèi)型指針類(lèi)型空類(lèi)型回第三章3精選課件3.2常量與變量1.常量:在程序運(yùn)行過(guò)程中,其值不能改變的量稱(chēng)為常量也可以用一個(gè)標(biāo)識(shí)符代表一個(gè)常量
#definePRICE30main(){intnum,total;num=10;total=num*PRICE;printf(“total=%d”,total);}main(){inta,b;charx,y;a=1;b=2;x=‘c’;y=‘s’;printf(“%d=%c”,a,x);printf(“%d=%c”,b,y);}4精選課件2.變量其值可以改變的量稱(chēng)為變量。例:main(){inta,b;a=3;b=4;printf(“%d”,a);a=a+b;printf(“%d”,a);}用來(lái)標(biāo)識(shí)變量名、符號(hào)常量名、函數(shù)名、數(shù)組名、類(lèi)型名、文件名的有效字符序列稱(chēng)為標(biāo)識(shí)符。(關(guān)鍵字、預(yù)定義、用戶(hù)標(biāo)識(shí)符)標(biāo)識(shí)符:只能由字母、數(shù)字、下劃線(xiàn)三種字符組成,且第一個(gè)字符必須為字母或下劃線(xiàn)合法標(biāo)識(shí)符:first,stu_1_1,_tea,a1,FIRST,First非法標(biāo)識(shí)符:a.m,ab&c,1stu,$56,a>b*注意:C程序中的變量必須先定義后使用5精選課件回第三章變量命名規(guī)則1、只能由字母、數(shù)字、下劃線(xiàn)三種字符組成2、第一個(gè)字符必須為字母或下劃線(xiàn)3、大小寫(xiě)有區(qū)別4、不允許使用保留字和關(guān)鍵字5、最大長(zhǎng)度無(wú)統(tǒng)一規(guī)定,隨系統(tǒng)而變6精選課件3.3整型數(shù)據(jù)1.整型常量的表示方法十進(jìn)制整數(shù)。如123,-456,0等。八進(jìn)制整數(shù)。以0開(kāi)頭,如0123,-011等。十六進(jìn)制整數(shù)。以0x開(kāi)頭。如0x123,-0x12等。2.整型變量(1)整型數(shù)據(jù)在內(nèi)存中的存放形式(以補(bǔ)碼方式表示)inti;i=10;i10i01010000000000007精選課件(2)整型變量的分類(lèi)
基本整型,以int表示。如:inta,b;
短整型,以shortint或short表示。如:shorta,b;
長(zhǎng)整型,以longint或long表示。如:longa,b;
無(wú)符號(hào)數(shù)。加上修飾符unsigned。整型數(shù)據(jù)的取值范圍:[signed]int16位-32768~32767%d
unsigned[int]16位0~65535%u[signed]short[int]16位-32768~32767%d
unsignedshort[int]16位0~65535%ulong[int]32位-2147483648~2147483647%ldunsignedlong[int]32位0~4294967295%lu8精選課件(3)整型變量的定義與使用
對(duì)程序中的變量要先定義后使用。定義方式:
inta;longa,b;unsignedlongc,d,e;
對(duì)變量的定義,一般放在函數(shù)開(kāi)頭的聲明部分。
main(){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);}main(){inta,b;a=32767;b=a+1;printf(“%d,%d”,a.b);}運(yùn)行結(jié)果:a+u=22;b+u=149精選課件3.4實(shí)型數(shù)據(jù)實(shí)型常量的表示方法十進(jìn)制小數(shù)形式。由數(shù)字和小數(shù)點(diǎn)組成,如:.123,123.,0.3,123.0(必須要有小數(shù)點(diǎn))指數(shù)形式。如123e3,123E3都代表123X103
。字母e或E之前必須有數(shù)字,e后面的指數(shù)必須為整數(shù)。2.實(shí)型變量1)實(shí)型變量的分類(lèi):分為單精度型(float)、雙精度型
(double)、長(zhǎng)雙精度型(longdouble)。(46頁(yè)表3.2)2)定義方式:
floatx,y;doublez;longdoublet;10精選課件3)實(shí)型數(shù)據(jù)的舍入誤差main(){floata,b;a=123456.789e5;b=a+20;printf(“%f”,b);}運(yùn)行結(jié)果:12345678848.000000實(shí)型常量的類(lèi)型:
f=2.45678*4523.65f=2.45678f*4523.65ffloata;doubleb;a=111111.111;b=111111.111;Float型:7位有效位11精選課件3.5字符型數(shù)據(jù)1.字符常量:用單撇號(hào)括起來(lái)的一個(gè)字符。如:‘a(chǎn)’,’?’,’D’。特殊形式的字符常量(轉(zhuǎn)義字符):\n,\r,\005,\x2e。2.字符變量:用來(lái)存放字符常量,一個(gè)字符變量只能存放一個(gè)字符。charc1,c2;c1=‘a(chǎn)’;c2=‘b’;ac1bc2c19798c2c1=97;c2=98;intc1;charc2;c1=‘a(chǎn)’;c2=97;10000110c1c201000110c1c210000110100001100000000048頁(yè)表3.312精選課件例:
main(){charc1,c2;c1=97;c2=98;printf(“%c%c\n”,c1,c2);printf(“%d%d\n”,c1,c2);}例:
main(){charc1,c2;c1=‘a(chǎn)’;c2=‘b’;c1=c1-32;c2=c2-32;printf(“%c%c”,c1,c2);}運(yùn)行結(jié)果:
ab9798運(yùn)行結(jié)果:
AB13精選課件字符串常量:是用一對(duì)雙撇號(hào)括起來(lái)的字符序列。
“china”,“a”,“$123.45”
。
字符串常量printf(“Howdoyoudo”);‘a(chǎn)’
“a”\0aacharc;c=‘a(chǎn)’;c=“a”;X\0anihc“china”\054.321
$“$123.45”14精選課件3.6變量賦初值main(){inta,b;charx,y;a=1;b=2;x=‘c’;y=‘s’;printf(“%d=%c”,a,x);printf(“%d=%c”,b,y);}intx1=3;
intx1;x1=3;
inta=1,b=2;charx=‘c’,y=‘s’;floata,b,c=5;
floata,b,c;c=5;15精選課件3.7各類(lèi)數(shù)值型數(shù)據(jù)間的混合運(yùn)算doublefloatlongunsignedintchar,shortfloata;a=1.3+3.73;charc1,c2=‘A’;c1=c2+’0’;longa,b=123;intc=5;a=b+c;doublea=3.4416;intb,c=3;b=a*c;10+‘a(chǎn)’+i*f-d/ei:intf:floatd:doublee:long3/1.016精選課件3.8算術(shù)運(yùn)算符和算術(shù)表達(dá)式基本的算術(shù)運(yùn)算符:+,-,*,/,%3+5,5-2,3*5,5/3,5.0/3,5%3,-17%3,19%-4(%兩側(cè)必須為整數(shù))算術(shù)表達(dá)式:用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算對(duì)象連接起來(lái)的、符合C語(yǔ)法規(guī)則的式子。
a*b/c-1.5+’a’運(yùn)算符的優(yōu)先級(jí)和結(jié)合性。在表達(dá)式求值時(shí),先按運(yùn)算符的優(yōu)先級(jí)別高低次序執(zhí)行。
a-b*c
算術(shù)運(yùn)算符的結(jié)合方向?yàn)樽宰笾劣摇?/p>
a-b+c
注意:如果一個(gè)運(yùn)算符的兩側(cè)的數(shù)據(jù)類(lèi)型不同,則先進(jìn)行類(lèi)型轉(zhuǎn)換,再進(jìn)行運(yùn)算。a-b+c*d17精選課件()、+、-、*、/、%、+、-單目雙目高低同級(jí)同級(jí)同級(jí)算術(shù)運(yùn)算符的優(yōu)先級(jí):18精選課件4.強(qiáng)制類(lèi)型轉(zhuǎn)換運(yùn)算符可以利用強(qiáng)制類(lèi)型轉(zhuǎn)換運(yùn)算符將一個(gè)表達(dá)式轉(zhuǎn)換成所需類(lèi)型。
(double)a(int)(x+y)(float)(5%3)一般形式:(類(lèi)型名)(表達(dá)式)
(int)(x+y)(int)x+y例1:
main(){floatx;inti;x=3.6;i=(int)x;printf(“x=%f,i=%d”,x,i);}運(yùn)行結(jié)果:x=3.600000,i=319精選課件5.自增、自減運(yùn)算符++i,--i
intj,i=3;j=++i;i++,i--intj,i=3;j=i++;inti=3,j=4;printf(“%d,%d”,++i,j++):Printf(“%d,%d”,i,j);4,44,5注意:1)自增運(yùn)算符和自減運(yùn)算符只能用于變量,而不能用于常量或表達(dá)式i++,++i5++(i+j)++i2)++和--的結(jié)合方向是“自右至左”main(){intk,i=232;k=-i++;Printf(“%d,%d”,k,i);}-232,233main(){intk,i=232;k=-++i;Printf(“%d”,k);}-233i=i+1;j=i;j=i;i=i+1;20精選課件3.9賦值運(yùn)算符和賦值表達(dá)式1.賦值運(yùn)算符:=a=3a=3+52.類(lèi)型轉(zhuǎn)換。若賦值運(yùn)算符兩側(cè)的類(lèi)型不一致,是數(shù)值型或字符型時(shí),在賦值時(shí)要進(jìn)行類(lèi)型轉(zhuǎn)換。1)將實(shí)型數(shù)據(jù)賦給整型變量時(shí),舍棄小數(shù)部分。
a=3.56;將整型數(shù)據(jù)賦給單、雙精度變量時(shí),數(shù)值不變,但以浮點(diǎn)數(shù)形式存儲(chǔ)到變量中
f=23將一個(gè)double型數(shù)據(jù)賦給float變量時(shí),截取其前面7位有效數(shù)字。
f=23.20242628202426
將一個(gè)float型數(shù)據(jù)賦給double變量時(shí),數(shù)值不變,有效位數(shù)擴(kuò)展到16位。21精選課件4)字符型數(shù)據(jù)賦給整型變量時(shí),將字符數(shù)據(jù)的8位放到整型變量低8位中。c=‘\003’
11000000i=c;11000000000000002、所用系統(tǒng)將字符處理為帶符號(hào)的量,若字符最高位為0,則整型變量高8位補(bǔ)0;若字符最高位為1,則高8位補(bǔ)1。c=‘\376’
01111111i=c;0111111100000000c=‘\376’
01111111i=c;01111111111111111、所用系統(tǒng)將字符處理為無(wú)符號(hào)的量或?qū)nsignedchar
型變量賦值,高8位補(bǔ)0。22精選課件5)將一個(gè)int、short、long型數(shù)據(jù)賦給一個(gè)char型變量時(shí),只將其低8位原封不動(dòng)地送到char型變量。inti=289;charc;c=i;i=2891000010010000000c=i100001003.復(fù)合的賦值運(yùn)算符:在賦值符“=”之前加上其他運(yùn)算符。
a+=3a=a+3x*=y+8x=x*(y+8)x%=3x=x%3main(){inta=2,b=7;a*=b*5-3;printf(“%d”,a);}a=a*(b*5-3)運(yùn)行結(jié)果:6423精選課件賦值表達(dá)式:由賦值運(yùn)算符將一個(gè)變量和一個(gè)表達(dá)式連接起來(lái)的式子稱(chēng)為“賦值表達(dá)式”。一般形式:<變量><賦值運(yùn)算符><表達(dá)式>a=5a=(b=5)a=5+(c=6)a=(b=4)+(c=6)a=(b=10)/(c=2)a+=a-=a*aa
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度教育產(chǎn)業(yè)園區(qū)合作開(kāi)發(fā)合同
- 2025年度精裝還建房買(mǎi)賣(mài)合同范本
- 2025年度農(nóng)業(yè)科技園區(qū)場(chǎng)地租賃合同書(shū)
- 2025年度物流信息化解決方案代理服務(wù)合同
- 2025年度戶(hù)外空調(diào)租賃及安裝施工合同
- 2025年度建筑工人勞務(wù)派遣服務(wù)合同范本-@-1
- 2025年度跨境電商進(jìn)口合同協(xié)議范本下載
- 2025年度汽車(chē)零部件代工合同協(xié)議詳述
- 2025年度智能家居開(kāi)發(fā)商售房合同范本
- 2025年度智能建筑工程項(xiàng)目居間服務(wù)合同書(shū)
- 課題申報(bào)參考:流視角下社區(qū)生活圈的適老化評(píng)價(jià)與空間優(yōu)化研究-以沈陽(yáng)市為例
- 《openEuler操作系統(tǒng)》考試復(fù)習(xí)題庫(kù)(含答案)
- 后勤安全生產(chǎn)
- 項(xiàng)目重點(diǎn)難點(diǎn)分析及解決措施
- 挑戰(zhàn)杯-申報(bào)書(shū)范本
- 北師大版五年級(jí)上冊(cè)數(shù)學(xué)期末測(cè)試卷及答案共5套
- 2024-2025學(xué)年人教版生物八年級(jí)上冊(cè)期末綜合測(cè)試卷
- 2025年九省聯(lián)考新高考 語(yǔ)文試卷(含答案解析)
- 第1課《春》公開(kāi)課一等獎(jiǎng)創(chuàng)新教案設(shè)計(jì) 統(tǒng)編版語(yǔ)文七年級(jí)上冊(cè)
- 全過(guò)程工程咨詢(xún)投標(biāo)方案(技術(shù)方案)
- 心理健康教育學(xué)情分析報(bào)告
評(píng)論
0/150
提交評(píng)論