版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第二章數(shù)據(jù)類型及其輸入輸出第一頁,共48頁。本節(jié)重點(diǎn)(zhòngdiǎn)數(shù)據(jù)類型常量(chángliàng)與變量第二頁,共48頁。引入——數(shù)據(jù)類型1、數(shù)據(jù)是程序處理的基本對象。2、程序中數(shù)據(jù)分為(fēnwéi)變量或常量。3、每個(gè)變量或常量都有確定的數(shù)據(jù)類型。4、每種數(shù)據(jù)類型都有確定的存儲長度、取值范圍及允許的操作。5、程序中所有數(shù)據(jù)必須指定其數(shù)據(jù)類型。第三頁,共48頁。常量(chángliàng)常量:是指常數(shù)(chángshù)或其值不能被改變的量。分為直接常量和符號常量1、直接常量:如:12,123.5,1.23E7,‘a(chǎn)’,‘8’,‘A’,“hello”,“a”第四頁,共48頁。常量(chángliàng)的類型1、整型常量(chángliàng)有三種表示方法:十進(jìn)制整數(shù)123,-784
八進(jìn)制整數(shù)0123=
十六進(jìn)制整數(shù)
)83()123(108=)291()123(12301016==x常量分為(fēnwéi):整型常量、實(shí)型常量、字符常量、字符串常量第五頁,共48頁。i=3+5%2;第三十八頁,共48頁。補(bǔ)充:課本21頁轉(zhuǎn)義字符的使用(shǐyòng)及其含義。常量(chángliàng)的類型(單精度)float變量名
(雙精度)double變量名②雙目(二元)運(yùn)算符a+bd/e先計(jì)算表達(dá)式1,再計(jì)算表達(dá)式2,再計(jì)算表達(dá)式3,…,再計(jì)算表達(dá)1、數(shù)據(jù)是程序處理的基本對象。①算術(shù)(suànshù)表達(dá)式,如a+b*2.正確:a+++b一、系統(tǒng)自動進(jìn)行的類型轉(zhuǎn)化{錯誤:++不是雙目運(yùn)算符例如:字符變量的賦值及運(yùn)算第二十七頁,共48頁。2、實(shí)型常量,也稱浮點(diǎn)數(shù)。
兩種表示方法:(1)十進(jìn)制小數(shù)形式由數(shù)字和小數(shù)點(diǎn)組成(必須有小數(shù)點(diǎn))1.123,3.1415;(2)指數(shù)(zhǐshù)形式123e5,123E5都表示123×105但是1.23E7為規(guī)范化的指數(shù)(zhǐshù)形式。輸出指數(shù)(zhǐshù)形式的數(shù)據(jù)時(shí),按規(guī)范化的指數(shù)(zhǐshù)形式輸出。第六頁,共48頁。3、字符常量(Characterconstants)由一對(yīduì)單引號括起的單個(gè)字符,稱為字符常量。如:‘a(chǎn)’,‘9’,‘+’
在內(nèi)存中,字符(zìfú)數(shù)據(jù)并不是把字符(zìfú)本身放到內(nèi)存單元中,而是將該字符(zìfú)的相應(yīng)ASCII碼放到存儲單元中。
第七頁,共48頁。A6501000001a9701100001ASCII二進(jìn)制如:有兩個(gè)(liǎnɡɡè)字符型數(shù)據(jù)‘A’和‘a(chǎn)’第八頁,共48頁。4、字符串常量(StringLiterals)由一對雙引號括起的字符序列稱為字符串常量,例如:“Howdoyoudo?”“china”C規(guī)定(guīdìng)以字符‘\0’作為字符串結(jié)束的標(biāo)志。在內(nèi)存中所占字節(jié)數(shù)為:實(shí)際字符個(gè)數(shù)+1如字符串常量“china”在內(nèi)存中存儲形式如下:chin\0a第九頁,共48頁。數(shù)據(jù)類型基本數(shù)據(jù)類型構(gòu)造類型其它類型整型int字符型char實(shí)型枚舉類型單精度型float雙精度型double數(shù)組結(jié)構(gòu)體共用體指針類型空類型
第十頁,共48頁。變量(biànliàng)1、定義:其值可以改變的量稱為(chēnɡwéi)變量。變量必須先定義后使用。2、變量的定義、賦值(初始化)<類型><變量名表>;(中間記得留空格)intsum;chara,b;floatr,s,l;doublef,n,c;
第十一頁,共48頁。3、對變量名的要求(yāoqiú)。變量名要做到“見名知意”,不要使用簡單的字符作變量名,以增加程序的可讀性。變量名一般用小寫字母表示,長度與所用系統(tǒng)有關(guān)(<8,<32)。一般建議不大于8個(gè)字符。變量的命名規(guī)則:1、只能由字母、數(shù)字、下劃線三種字符組成2、第一個(gè)字符必須為字母或下劃線判斷一下:sum,max,_class,sum_a234sum¥123.4a>c合法(héfǎ)標(biāo)識符非法(fēifǎ)標(biāo)識符第十二頁,共48頁。變量(biànliàng)的類型變量分為:整型變量、實(shí)型變量、字符型變量1、整型變量基本類型:用int標(biāo)識(biāozhì),在內(nèi)存中占2個(gè)字節(jié)。例如:inta,b;intf;修飾符unsigned(無符號數(shù))signed(有符號數(shù))
第十三頁,共48頁。2、實(shí)型變量類型(內(nèi)存(nèicún)中字節(jié)數(shù))有效數(shù)字float(4字節(jié))6~7位
double(8字節(jié))15~16位
longdouble(16字節(jié))18~19位定義方法:(單精度)float變量名
(雙精度)double變量名例如(lìrú):floatarea;doublet;第十四頁,共48頁。3、字符型變量①定義方法:char變量名列表(lièbiǎo)charc1,c2,c3;②取值范圍--ASCII碼字符集中的字符。charc1,c2;
c1=‘e’;
c2=3;例如:字符變量的賦值及運(yùn)算注意:區(qū)別(qūbié):‘a(chǎn)’“a”第十五頁,共48頁。定義了變量后,變量并沒有值,需要給部分變量賦值。賦值的方法:(1)通過賦值號=例如:①inti;i=9;/*先定義整型變量i,然后(ránhòu)賦初值9*/②floatr=1.5;/*定義實(shí)型變量r的同時(shí),賦其初值1.5*/③charanswer=‘y’;④也可以使被定義的變量的一部分賦初值。如inta,b,c=5;表示定義a,b,c為整型變量,并且對c進(jìn)行初始化,使c值為5。注意:如對幾個(gè)變量同時(shí)賦初值為5,應(yīng)寫成inta=5,b=5,c=5;或者inta,b,c;a=b=c=5;不能寫成:inta=b=c=5;變量(biànliàng)賦值第十六頁,共48頁。(2)通過(tōngguò)輸入函數(shù)scanf()格式:scanf(“格式控制字符串”,輸入項(xiàng)列表);功能:將輸入屏幕上的數(shù)一一對應(yīng)的賦給輸入項(xiàng)列表中的變量。例1:#include<stdio.h>main(){inta,b,c,d;floatt;charch;scanf("%d%d",&a,&b);scanf("%d%d",&c,&d);scanf("%f,%c",&t,&ch);}用VC演示第十七頁,共48頁。#include<stdio.h>main(){inta,b;charch1,ch2;floatf,r;scanf(“%d%d”,&a,&b);scanf(“%c%c”,&ch1,&ch2);scanf(“%f,%f”,&f,&r);}輸入(shūrù)時(shí):125785ab,例2:第十八頁,共48頁。數(shù)據(jù)(shùjù)輸出1、printf()函數(shù)格式(géshi):printf(“格式(géshi)控制字符串”,輸出項(xiàng)列表);功能:將輸出項(xiàng)按給定的控制格式(géshi)輸出到輸出屏幕上。第十九頁,共48頁。#include<stdio.h>main(){charch=’a’;inta=65;floatx=123.456;printf(”%c,%d,%3c\n”,ch,ch,ch);printf(”%c%d%3d\n”,a,a,a);printf(”%f,%-7.2f,%10.4f\n”,x,x,x);}輸出(shūchū)結(jié)果是:a,97,__aA65_65例1:第二十頁,共48頁。本節(jié)重點(diǎn)(zhòngdiǎn)掌握運(yùn)算符的使用確定(quèdìng)表達(dá)式的類型、值不同類型的數(shù)據(jù)的轉(zhuǎn)換第二十一頁,共48頁。運(yùn)算符一、運(yùn)算符:能夠完成某種操作(運(yùn)算)的符號(fúhào)。二、根據(jù)運(yùn)算符的運(yùn)算對象(操作數(shù))的多少,運(yùn)算符可分為:①單目(一元)運(yùn)算符i++--n②雙目(二元)運(yùn)算符a+bd/e③三目(三元)運(yùn)算符x>y?x+3:y*9(條件運(yùn)算符)第二十二頁,共48頁。優(yōu)先級運(yùn)算符操作數(shù)結(jié)合性1()[]->.左右2!~-++--&*sizeof1右左3*/%2左右4+-2左右5<<>>2左右6<<=>=>2左右7==!=2左右8&2左右9^2左右10|2左右11&&2左右12||2左右13?:3右左14=*=/=+=……<<=>>=2右左15,2左右第二十三頁,共48頁。算術(shù)(suànshù)運(yùn)算符1、分類雙目運(yùn)算符+加-減*乘/除%求余單目運(yùn)算符-負(fù)號運(yùn)算++自增--自減雙目運(yùn)算符:“/”如果是兩個(gè)整型數(shù)相除,取整;如有一個(gè)為實(shí)數(shù)時(shí),其意義就是實(shí)數(shù)除,結(jié)果為double型。5/2=25/2.0=2.5
“%”取余數(shù),只能對整數(shù)(zhěngshù)取余數(shù),不能對浮點(diǎn)數(shù)取余數(shù)。運(yùn)算結(jié)果的符號與左操作數(shù)相同。5%2=1-35%8=-335%-8=3第二十四頁,共48頁。2、自增操作符和自減操作符格式(géshi):++i,i++--i,i--作用:是使自變量i的值加1或減1,相當(dāng)于i=i+1或i=i-1。前置自增或前置自減操作:表示先修改操作數(shù)使之增1或減1,然后取修改后的操作數(shù)的值作為表達(dá)式的值。后置自增或后置自減操作:表示在表達(dá)式中先取操作數(shù)的值,然后再將操作數(shù)值增1或減1。例如:inti=3,j;j=i++;j的值為3(首先將i的原值賦給j,然后i自身再加1)j=++i;j的值為4(i自身先加1,然后再將加1后的值賦給j)第二十五頁,共48頁。②取值范圍--ASCII碼字符集中的字符。但是1.1、數(shù)據(jù)是程序處理的基本對象。一、系統(tǒng)自動進(jìn)行的類型轉(zhuǎn)化printf(“%d”,j);printf(”%f,%-7.c=a+++b;強(qiáng)制類型轉(zhuǎn)換在將高類型轉(zhuǎn)換為低類型時(shí),數(shù)據(jù)精度受損,是一種不安全(ānquán)的轉(zhuǎn)換。如有一個(gè)為實(shí)數(shù)時(shí),其意義就是實(shí)數(shù)除,結(jié)果為double型。②應(yīng)寫成(a+b)/(c+d)*e+f。3、每個(gè)變量或常量都有確定的數(shù)據(jù)類型。intx;第三十四頁,共48頁。scanf(″%d″,&x);<、>、<=、>=、==、!=5%2=1-35%8=-335%-8=324+(5>3)c=7>8main(){inti,j,k;i=3;j=i++;k=++i;printf(“i=%d,j=%d,k=%d\n”,i,j,k);}范例(fànlì):輸出(shūchū)結(jié)果:i=5,j=3,k=5第二十六頁,共48頁。3、在表達(dá)式中如果有2個(gè)以上的“+”或“-”連寫在一起,則編譯器首先識別前面兩個(gè)(liǎnɡɡè)+或-為自增或自減操作符。例如:在使用自增或自減運(yùn)算符時(shí)注意如下(rúxià)幾個(gè)問題:1、自加或自減運(yùn)算只能(zhīnénɡ)用于變量,不能用于常量或表達(dá)式;錯誤:25++(i+j)++2、-i++,只能(zhīnénɡ)理解為-(i++)。因?yàn)?-i)++為表達(dá)式,表達(dá)式是不能自加自減的。i=3;
j=-i++;printf(“%d”,j);輸出結(jié)果應(yīng)為-3,而不是是-4。inta=1,b=5,c;c=a+b;c=a+++b;c=a++b;正確:c=6錯誤:++不是雙目運(yùn)算符正確:a+++b第二十七頁,共48頁。賦值運(yùn)算符和賦值表達(dá)式1、賦值運(yùn)算符:=使用方法:變量名=表達(dá)式;賦值運(yùn)算時(shí)先計(jì)算右邊表達(dá)式的值,然后將右邊表達(dá)式的值賦給左邊(zuǒbian)變量,并以此值作為整個(gè)賦值表達(dá)式的值。(1)賦值運(yùn)算的優(yōu)先級為第14級,次低。如:inti,j;j=6;i=3+5%2;/*先計(jì)算3+5%2,得到4,然后將4賦給i*/。
第二十八頁,共48頁。(2)理解以下(yǐxià)兩賦值表達(dá)式的含義:y=5;n=5;x=y(tǒng);n=n+1;第二十九頁,共48頁。2、復(fù)合賦值運(yùn)算算術(shù)(suànshù)復(fù)合賦值運(yùn)算符:+=、-=、*=、/=、%=位復(fù)合賦值運(yùn)算符:&=、|=、^=、>>=、<<=一般形式:變量☆=表達(dá)式;等價(jià)于:變量=變量☆表達(dá)式;☆代表任一雙目算術(shù)(suànshù)運(yùn)算符或位運(yùn)算符。復(fù)合賦值運(yùn)算先進(jìn)行所帶運(yùn)算,再進(jìn)行賦值運(yùn)算。復(fù)合賦值運(yùn)算的優(yōu)先級同賦值運(yùn)算。第三十頁,共48頁。例如(lìrú):(1)inta=3;a+=2;等價(jià)于a=a+2(2)floatx=1.2,y=2.1;y*=x+3.4;等價(jià)于y=y*(x+3.4)(3)inta=1,b=2;b/=a+=1;等價(jià)于b=b/(a=a+1)右結(jié)合第三十一頁,共48頁。關(guān)系(guānxì)運(yùn)算符和關(guān)系(guānxì)表達(dá)式一、關(guān)系運(yùn)算符有:<、>、<=、>=、==、!=<、<=、>、>=的優(yōu)先級相同(xiānɡtónɡ),==、!=的優(yōu)先級相同(xiānɡtónɡ),前者的優(yōu)先級高于后者。二、關(guān)系表達(dá)式的運(yùn)算結(jié)果是邏輯量24+(5>3)c=7>8三、自左向右結(jié)合。假設(shè)a=5,b=3,c=2表達(dá)式a>b>c的值為0四、操作數(shù)也可以是字符型數(shù)據(jù)如:‘a(chǎn)’>’f’第三十二頁,共48頁。條件(tiáojiàn)運(yùn)算符和條件(tiáojiàn)表達(dá)式一、條件運(yùn)算符的語法形式(xíngshì):<表達(dá)式1>?<表達(dá)式2>:<表達(dá)式3>解釋為:<條件表達(dá)式>?<條件為真時(shí)的表達(dá)式>:<條件為假的表達(dá)式>例如:x=a<b?a:b;//將a,b中較小數(shù)賦x二、結(jié)合方向“自右向左”a>b?a:c>d?c:d相當(dāng)于a>b?a:(c>d?c:d)第三十三頁,共48頁。#include<stdio.h>main(){intx;scanf(″%d″,&x);x>0?printf(″%s″,″正數(shù)(zhèngshù)″):printf(″%s″,″負(fù)數(shù)″);}例:判斷整數(shù)(zhěngshù)的正負(fù)。第三十四頁,共48頁。逗號(dòuhào)運(yùn)算符和逗號(dòuhào)表達(dá)式逗號運(yùn)算的優(yōu)先級最低,結(jié)合自左向右。逗號表達(dá)式的更一般使用形式為:表達(dá)式1,表達(dá)式2,表達(dá)式3,……,表達(dá)式n;先計(jì)算表達(dá)式1,再計(jì)算表達(dá)式2,再計(jì)算表達(dá)式3,…,再計(jì)算表達(dá)式n的值,并以此(yǐcǐ)作為整個(gè)表達(dá)式的值。如:表達(dá)式x=a=3,6*x,6*a,a+x的值為6。逗號運(yùn)算又稱順序求值運(yùn)算。第三十五頁,共48頁。main(){inti,j,k;i=1,j=2,k=3;printf(“%d%d%d\n”,i,j,k);}main(){inti,j,k;i=1;j=2;k=3;printf(“%d%d%d\n”,i,j,k);}并不是任何地方出現(xiàn)的逗號都是逗號運(yùn)算符,例如(lìrú):printf(“%d%d%d\n”,i,j,k);(是參數(shù)分隔符)第三十六頁,共48頁。求字節(jié)數(shù)運(yùn)算(yùnsuàn)運(yùn)算符:sizeof(數(shù)據(jù)類型標(biāo)識符)或sizeof(表達(dá)式)求字節(jié)(zìjié)數(shù)運(yùn)算是單目運(yùn)算,操作數(shù)可以是類型名,也可以是變量、表達(dá)式,用以求得相應(yīng)類型或數(shù)據(jù)所占的字節(jié)(zìjié)數(shù)。此運(yùn)算的優(yōu)先級與取地址運(yùn)算優(yōu)先級相同。例如:sizeof(float)值為4,單精度類型占4個(gè)字節(jié)(zìjié)sizeof(2*3)值為2,算術(shù)表達(dá)式2*3是int型第三十七頁,共48頁。數(shù)據(jù)(shùjù)的類型轉(zhuǎn)換一、系統(tǒng)自動進(jìn)行的類型轉(zhuǎn)化由系統(tǒng)自動完成類型轉(zhuǎn)換,轉(zhuǎn)換的規(guī)則如下:intunsignedlongdouble↑↑short,charfloat縱向(zònɡxiànɡ)箭頭方向表示必定要進(jìn)行的轉(zhuǎn)換,short型、char型數(shù)據(jù)必定先轉(zhuǎn)換成int型,float型數(shù)據(jù)必定先轉(zhuǎn)換成double型,再進(jìn)行運(yùn)算。橫向箭頭方向表示運(yùn)算對象為不同類型時(shí)的轉(zhuǎn)換方向。由低向高轉(zhuǎn)換,int型最低,double型最高。第三十八頁,共48頁。二、賦值時(shí)的類型轉(zhuǎn)換(1)將實(shí)型數(shù)據(jù)賦給整型變量時(shí),舍棄實(shí)數(shù)的小數(shù)部分。如:inti;i=1.23;/*結(jié)果i的值為1*/(2)將整型數(shù)據(jù)賦給單、雙精度(jīnɡdù)型變量時(shí),數(shù)值大小不變,但以浮點(diǎn)形式存儲到變量中。
第三十九頁,共48頁。三、強(qiáng)制類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換通過類型轉(zhuǎn)換運(yùn)算進(jìn)行。格式:(類型名)(表達(dá)式)功能:將表達(dá)式的類型強(qiáng)制轉(zhuǎn)換成類型名指定的類型。如:floatx=5.2,y=6.3;intz;z=(int)(x+y);(int)(x+y)將表達(dá)式x+y的值強(qiáng)制轉(zhuǎn)換成整型強(qiáng)制類型轉(zhuǎn)換在將高類型轉(zhuǎn)換為低類型時(shí),數(shù)據(jù)精度受損,是一種不安全(ānquán)的轉(zhuǎn)換。強(qiáng)制類型轉(zhuǎn)換是暫時(shí)性的,一次性的,并不永久改變所轉(zhuǎn)換表達(dá)式的類型。如:inta=7;doubleb;b=(double)a+5;
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025陜西省建筑安全員《A證》考試題庫
- 2025青海建筑安全員A證考試題庫附答案
- 團(tuán)隊(duì)管理經(jīng)驗(yàn)分享培訓(xùn)課件
- 世界觀與方法論的關(guān)系
- JJF(桂)-稱重容罐校準(zhǔn)規(guī)范試驗(yàn)報(bào)告
- 三角形王國 小班數(shù)學(xué)
- 《惡性青光眼》課件
- 解題方法突破 分類討論課件-名師微課堂
- 《基因變異疾病》課件
- 江蘇省蘇州市姑蘇區(qū)2024-2025學(xué)年八年級上學(xué)期期末質(zhì)量監(jiān)測歷史卷(含答案)
- 閘門及啟閉機(jī)安裝專項(xiàng)施工方案
- 應(yīng)征公民體格檢查表(征兵)
- 鋼筋位置及保護(hù)層厚度檢測ppt課件
- 巖石堅(jiān)固性和穩(wěn)定性分級表
- 張可填充顏色的中國地圖與世界地圖課件
- CNC程序控制管理辦法
- 案例思念休閑吧
- 北京石油機(jī)械廠螺桿鉆具使用說明書-最新
- (完整版)虛擬語氣練習(xí)題(含答案)
- 六年級語文(部編)上冊詞語表拼音
- 模板2-課堂學(xué)習(xí)任務(wù)單
評論
0/150
提交評論