版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語言程序設(shè)計(jì)第2章基本數(shù)據(jù)類型、運(yùn)算符與表達(dá)式1問題:人類的語言書寫時(shí),不同國(guó)家有不同的要求,基本的如:有哪些數(shù)據(jù)是規(guī)定可用的,可進(jìn)行什么樣的運(yùn)算和加工?C中的數(shù)據(jù)和操作用字要求格式要求標(biāo)點(diǎn)要求
C語言作為一種計(jì)算機(jī)語言,在用于編程時(shí),C語言中對(duì)數(shù)據(jù)的類型,哪些操作運(yùn)算是合法的,都進(jìn)行了相關(guān)的規(guī)范和要求。引子2
本章要點(diǎn)第2章數(shù)據(jù)類型、運(yùn)算符和表達(dá)式
本章難點(diǎn)
C語言的基本數(shù)據(jù)類型變量的定義及使用運(yùn)算符的運(yùn)算規(guī)則、優(yōu)先級(jí)別表達(dá)式的構(gòu)成規(guī)則和計(jì)算數(shù)據(jù)類型轉(zhuǎn)換的意義和實(shí)質(zhì)
自增、自減運(yùn)算符的使用運(yùn)算符優(yōu)先級(jí)別混合表達(dá)式運(yùn)算類型轉(zhuǎn)換時(shí)的誤差32.12.22.32.42.5C語言的數(shù)據(jù)類型常量與變量整型數(shù)據(jù)實(shí)型數(shù)據(jù)字符型數(shù)據(jù)本章主要內(nèi)容42.62.72.82.92.10算術(shù)運(yùn)算符與算術(shù)表達(dá)式賦值運(yùn)算符與賦值表達(dá)式逗號(hào)運(yùn)算符與逗號(hào)表達(dá)式位運(yùn)算符數(shù)據(jù)類型轉(zhuǎn)換與計(jì)算類型長(zhǎng)度運(yùn)算符本章主要內(nèi)容5數(shù)據(jù)類型總表數(shù)據(jù)類型基本類型構(gòu)造類型指針類型空類型void字符類型char枚舉類型整型實(shí)型單精度型float雙精度型double數(shù)組結(jié)構(gòu)體struct共用體union短整型short長(zhǎng)整型long整型int數(shù)據(jù)類型決定:1.數(shù)據(jù)占內(nèi)存字節(jié)數(shù)2.數(shù)據(jù)取值范圍3.其上可進(jìn)行的操作2.1C語言的數(shù)據(jù)類型62.12.22.32.42.5C語言的數(shù)據(jù)類型常量與變量整型數(shù)據(jù)實(shí)型數(shù)據(jù)字符型數(shù)據(jù)本章主要內(nèi)容7一般用大寫字母是宏定義預(yù)處理命令,不是C語句字面常量整型常量實(shí)型常量字符常量字符串常量如#definePRICE30常量定義:程序運(yùn)行時(shí)其值不能改變的量(即常數(shù))分類:符號(hào)常量:用標(biāo)識(shí)符代表常量定義格式:
#define
符號(hào)常量常量例符號(hào)常量舉例#definePRICE30main(){intnum,total;num=10;total=num*PRICE;printf("total=%d",total);}運(yùn)行結(jié)果:total=3008標(biāo)識(shí)符定義:用來標(biāo)識(shí)變量、常量、函數(shù)等的字符序列命名原則:只能由字母、數(shù)字、下劃線組成,且第一個(gè)字母必須是字母或下劃線大小寫敏感不能使用關(guān)鍵字見名知意不宜混淆如l與I,o與0長(zhǎng)度:VC6.0為255個(gè)字符例:判斷下列標(biāo)識(shí)符號(hào)合法性sumSumM.D.JohndayDate3daysstudent_name#33lotus_1_2_3chara>b_above$123M.D.John3days#33char$123a>b2.2常量與變量9編譯程序根據(jù)變量定義為其分配指定字節(jié)的內(nèi)存單元…...地址inta=1,b=-3,c;abc2字節(jié)2字節(jié)2字節(jié)地址地址…...內(nèi)存1-3隨機(jī)數(shù)變量概念:其值可以改變的量變量名與變量值變量定義的一般格式:
數(shù)據(jù)類型變量1[,變量2,…,變量n];變量初始化:定義時(shí)賦初值
例:inta,b,c;floatdata;決定分配字節(jié)數(shù)和數(shù)的表示范圍合法標(biāo)識(shí)符例:inta=2,b,c=4;floatdata=3.67;charch=‘A’;intx=1,y=1,z=1;
intx=y=z=1;變量的使用:先定義,后使用例1
intstudent;stadent=19;//Undefinedsymbol‘statent’infunctionmain
例2
floata,b,c;c=a%b;//Illegaluseoffloatingpointinfunctionmain
變量定義位置:一般放在函數(shù)開頭main(){inta,b=2;floatdata;a=1;data=(a+b)*1.2;printf(“data=%f\n”,data);}變量定義可執(zhí)行語句main(){inta,b=2;a=1;floatdata;data=(a+b)*1.2;printf(“data=%f\n”,data);}102.12.22.32.42.5C語言的數(shù)據(jù)類型常量與變量整型數(shù)據(jù)實(shí)型數(shù)據(jù)字符型數(shù)據(jù)本章主要內(nèi)容11三種形式:十進(jìn)制整數(shù):由數(shù)字0~9和正負(fù)號(hào)表示.如123,-456,0八進(jìn)制整數(shù):由數(shù)字0開頭,后跟數(shù)字0~7表示.如0123,011十六進(jìn)制整數(shù):由0x或0X開頭,后跟0~9,a~f,A~F表示.如0x123,0Xff例12與12L例30000為int型65536為longint型整型常量的類型根據(jù)其值所在范圍確定其數(shù)據(jù)類型在整常量后加字母l或L,認(rèn)為它是longint型常量問題:0123=()100x123=()100Xff=()1083291255問題:0123=()100x123=()100Xff=()102.3整型數(shù)據(jù)整型常量(整常數(shù))12占字節(jié)數(shù)隨機(jī)器不同而不同,一般占一個(gè)機(jī)器字short≤int≤long可用sizeof(類型標(biāo)識(shí)符)測(cè)量2.3整型數(shù)據(jù)整型變量132.12.22.32.42.5C語言的數(shù)據(jù)類型常量與變量整型數(shù)據(jù)實(shí)型數(shù)據(jù)字符型數(shù)據(jù)本章主要內(nèi)容14表示形式:十進(jìn)制數(shù)形式:(必須有小數(shù)點(diǎn))如0.123,.123,123.0,0.0,123.指數(shù)形式:(e或E之前必須有數(shù)字;指數(shù)必須為整數(shù))如12.3e3,123E2,1.23e4,e-5,1.2E-3.5
實(shí)型常量的類型默認(rèn)double型在實(shí)型常量后加字母f或F,認(rèn)為它是float型2.4實(shí)型數(shù)據(jù)實(shí)型常量(實(shí)數(shù)或浮點(diǎn)數(shù))15float:占32位,提供7位有效數(shù)字double:占64位,提供16位有效數(shù)字long
double:占64位,提供16位有效數(shù)字例floata;a=111111.111;/*a=111111.1*/doubleb;b=111111.111;/*b=111111.111*/2.4實(shí)型數(shù)據(jù)實(shí)型變量(在VC6.0中)162.12.22.32.42.5C語言的數(shù)據(jù)類型常量與變量整型數(shù)據(jù)實(shí)型數(shù)據(jù)字符型數(shù)據(jù)本章主要內(nèi)容17定義:用單引號(hào)括起來的單個(gè)普通字符或轉(zhuǎn)義字符。字符常量的值:該字符的ASCII碼值<轉(zhuǎn)義字符及其含義:轉(zhuǎn)義字符含義\n\v\r\a\‘\ddd\t\b\f\\\“\xhh轉(zhuǎn)義字符含義換行垂直制表回車響鈴單引號(hào)1~3位8進(jìn)制數(shù)代表的字符水平制表退格換頁反斜線雙引號(hào)1~2位16進(jìn)制數(shù)代表的字符如‘\101’-----------‘A’‘\012’-----------’\n’‘\376’-----------’’‘\x61’-----------’a’‘\60’-----------’0’‘\483’----------()例:‘A’-------’\101’-------’\x41’--------65如‘A’——65,‘a(chǎn)’——97,‘0’——48,‘\n’——10如‘a(chǎn)’‘A’‘?’‘\n’‘\101’轉(zhuǎn)義字符:反斜線后面跟一個(gè)字符或一個(gè)代碼值表示例轉(zhuǎn)義字符舉例(ch2_001.c,ch2_004.c)
main(){printf("\101\x42C\n");printf("Isay:\"Howareyou?\"\n");printf("\\CProgram\\\n");printf("Turbo\'C\'");}運(yùn)行結(jié)果:(屏幕顯示)ABCIsay:”Howareyou?”\CProgram\Turbo‘C’例main(){printf(“Y\b=\n”);}運(yùn)行結(jié)果:屏幕顯示:=打印機(jī)輸出:¥2.5字符型數(shù)據(jù)字符型常量18aaa字符常量與字符串常量不同定義:用雙引號(hào)(“”)括起來的字符序列存儲(chǔ):每個(gè)字符串尾自動(dòng)加一個(gè)‘\0’作為字符串結(jié)束標(biāo)志hello\0例字符串“hello”在內(nèi)存中aa
\0例‘a(chǎn)’“a”例空串“”\0例:charch;ch=“A”;例:charch;ch=‘A’;
字符串常量19字符變量存放字符ASCII碼char與int數(shù)據(jù)間可進(jìn)行算術(shù)運(yùn)算例
a=‘D’;/*a=68;*/x=‘A’+5;/*x=65+5;*/s=‘!’+‘G’/*s=33+71;*/沒有字符串變量,用字符數(shù)組存放字符型變量20例/*ch2_003.c*/#definePRICE12.5main(){intnum=3;floattotal;charch1,ch2=‘D’;total=num*PRICE;ch1=ch2-‘A’+‘a(chǎn)’;printf(“total=%f,ch1=%c\n”,total,ch1);}宏定義變量定義輸出結(jié)果運(yùn)行結(jié)果:total=37.500000,ch1=d212.62.72.82.92.10算術(shù)運(yùn)算符與算術(shù)表達(dá)式賦值運(yùn)算符與賦值表達(dá)式逗號(hào)運(yùn)算符與逗號(hào)表達(dá)式位運(yùn)算符數(shù)據(jù)類型轉(zhuǎn)換與計(jì)算類型長(zhǎng)度運(yùn)算符本章主要內(nèi)容22學(xué)習(xí)運(yùn)算符應(yīng)注意:運(yùn)算符功能與運(yùn)算量關(guān)系要求運(yùn)算量個(gè)數(shù)要求運(yùn)算量類型運(yùn)算符優(yōu)先級(jí)別結(jié)合方向結(jié)果的類型2.6算術(shù)運(yùn)算符和算術(shù)表達(dá)式23算術(shù)運(yùn)算符和表達(dá)式基本算術(shù)運(yùn)算符:+-*/%結(jié)合方向:從左向右優(yōu)先級(jí):----->*/%----->+-(2)(3)(4)
說明:“-”為單目運(yùn)算符時(shí),右結(jié)合性兩整數(shù)相除,結(jié)果為整數(shù)%要求兩側(cè)均為整型數(shù)據(jù)例5/2=-5/2.0=例5%2=-5%2=1%10=
5%1=5.5%2例5/2=2
-5/2.0=-2.5例5%2=1
-5%2=-11%10=
1
5%1=
05.5%2()24自增、自減運(yùn)算符++--作用:使變量值加1或減1種類:前置++i,--i(先執(zhí)行i+1或i-1,再使用i值)后置i++,i--(先使用i值,再執(zhí)行i+1或i-1)例j=3;k=++j;j=3;k=j++;j=3;printf(“%d”,++j);j=3;printf(“%d”,j++);a=3;b=5;c=(++a)*b;a=3;b=5;c=(a++)*b;
//k=4,j=4//k=3,j=4//4//3//c=20,a=4//c=15,a=425自增、自減運(yùn)算符++--作用:使變量值加1或減1種類:前置++i,--i(先執(zhí)行i+1或i-1,再使用i值)后置i++,i--(先使用i值,再執(zhí)行i+1或i-1)說明:++--不能用于常量和表達(dá)式,如5++,(a+b)++++--結(jié)合方向:自右向左優(yōu)先級(jí):-++-------->*/%----->+-
(2)(3)(4)例-i++-(i++)i=3;printf(“%d”,-i++);//-3
例j+++k;(j++)+k;例-i++i=3;printf(“%d”,-i++);262.62.72.82.92.10算術(shù)運(yùn)算符與算術(shù)表達(dá)式賦值運(yùn)算符與賦值表達(dá)式逗號(hào)運(yùn)算符與逗號(hào)表達(dá)式位運(yùn)算符數(shù)據(jù)類型轉(zhuǎn)換與計(jì)算類型長(zhǎng)度運(yùn)算符本章主要內(nèi)容27簡(jiǎn)單賦值運(yùn)算符符號(hào):=格式:變量標(biāo)識(shí)符=表達(dá)式作用:將一個(gè)數(shù)據(jù)(常量或表達(dá)式)賦給一個(gè)變量復(fù)合賦值運(yùn)算符種類:+=-=*=/=%=《=》=&=^=|=含義:exp1op=exp2
exp1=exp1opexp2a+=3a=a+3x*=y+8x=x*(y+8)x%=3x=x%3例a=3;d=func();c=d+2;2.7賦值運(yùn)算符和賦值表達(dá)式28說明:結(jié)合方向:自右向左優(yōu)先級(jí):14左側(cè)必須是變量,不能是常量或表達(dá)式賦值表達(dá)式的值與變量值相等,且可嵌套賦值轉(zhuǎn)換規(guī)則:使賦值號(hào)右邊表達(dá)式值自動(dòng)轉(zhuǎn)換成其左邊變量的類型例3=x-2*y;a+b=3;例
floatf;inti;i=10;f=i;則
f=10.0例inti;i=2.56;//結(jié)果i=2;例:a=b=c=5a=(b=5)a=5+(c=6)a=(b=4)+(c=6)a=(b=10)/(c=2)//表達(dá)式值為5,a,b,c值為5//b=5;a=5//表達(dá)式值11,c=6,a=11//表達(dá)式值10,a=10,b=4,c=6//表達(dá)式值5,a=5,b=10,c=229說明:結(jié)合方向:自右向左優(yōu)先級(jí):12左側(cè)必須是變量,不能是常量或表達(dá)式賦值表達(dá)式的值與變量值相等,且可嵌套賦值轉(zhuǎn)換規(guī)則:使賦值號(hào)右邊表達(dá)式值自動(dòng)轉(zhuǎn)換成其左邊變量的類型例:a=12;a+=a-=a*a例:inta=2;a%=4-1;a+=a*=a-=a*=3;//a=-264等價(jià)于a=a+(a=a-(a*a))//a=0等價(jià)于a=a+(a=a*(a=a-(a=a*3)))302.62.72.82.92.10算術(shù)運(yùn)算符與算術(shù)表達(dá)式賦值運(yùn)算符與賦值表達(dá)式逗號(hào)運(yùn)算符與逗號(hào)表達(dá)式位運(yùn)算符數(shù)據(jù)類型轉(zhuǎn)換與計(jì)算類型長(zhǎng)度運(yùn)算符本章主要內(nèi)容31形式:表達(dá)式1,表達(dá)式2,……表達(dá)式n結(jié)合性:從左向右優(yōu)先級(jí):15逗號(hào)表達(dá)式的值:等于表達(dá)式n的值用途:常用于循環(huán)for語句中例a=3*5,a*4a=3*5,a*4,a+5例x=(a=3,6*3)x=a=3,6*a例a=1;b=2;c=3;printf(“%d,%d,%d”,a,b,c);printf(“%d,%d,%d”,(a,b,c),b,c);//a=15,表達(dá)式值60//a=15,表達(dá)式值20//賦值表達(dá)式,表達(dá)式值18,x=18//逗號(hào)表達(dá)式,表達(dá)式值18,x=3//1,2,3//3,2,32.8逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式322.62.72.82.92.10算術(shù)運(yùn)算符與算術(shù)表達(dá)式賦值運(yùn)算符與賦值表達(dá)式逗號(hào)運(yùn)算符與逗號(hào)表達(dá)式位運(yùn)算符數(shù)據(jù)類型轉(zhuǎn)換與計(jì)算類型長(zhǎng)度運(yùn)算符本章主要內(nèi)容33位運(yùn)算符種類:~
<<>>&^|位運(yùn)算:對(duì)運(yùn)算對(duì)象按二進(jìn)制位進(jìn)行操作。位運(yùn)算對(duì)象:只能是整型或字符型數(shù)據(jù),不能是其他類型的數(shù)據(jù),其運(yùn)算結(jié)果仍是整型或字符型數(shù)據(jù)~:運(yùn)算對(duì)象在運(yùn)算符的右邊功能:對(duì)運(yùn)算對(duì)象的各二進(jìn)位按位求反,即使每一位上的0變1;變1為0。例~9:運(yùn)算結(jié)果為-109的二進(jìn)制表示:0000000000001001
按位求反后為:1111111111110110即:-10<<:左移例如:a<<4功能:把a(bǔ)的各二進(jìn)位向左移動(dòng)4位若a=00010011(十進(jìn)制19),左移4位后為00110000(十進(jìn)制48),其中左端移出的0001四位丟棄,低位補(bǔ)0000。>>:右移例如:a>>2功能:把a(bǔ)的各二進(jìn)位向右移動(dòng)2位若a=0000000000001111(十進(jìn)制15),右移2位后為0000000000000011(十進(jìn)制3)。
“&”:按位與例如:9&(-5)0000000000001001(9的二進(jìn)制補(bǔ)碼)&1111111111111011(-5的二進(jìn)制補(bǔ)碼)=0000000000001001(9的二進(jìn)制補(bǔ)碼)可見9&(-5)=9。
“^”:按位異或例如:9^(5)00001001(9的二進(jìn)制補(bǔ)碼)^00000101(5的二進(jìn)制補(bǔ)碼)=00001100(十進(jìn)制為12)
“|”:按位或例如:9|(5)00001001(9的二進(jìn)制補(bǔ)碼)|00000101(5的二進(jìn)制補(bǔ)碼)=00001101(十進(jìn)制為13)2.9位運(yùn)算符和表達(dá)式34C運(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)算符:([])其它:(()-)運(yùn)算符和表達(dá)式小結(jié)352.62.72.82.92.10算術(shù)運(yùn)算符與算術(shù)表達(dá)式賦值運(yùn)算符與賦值表達(dá)式逗號(hào)運(yùn)算符與逗號(hào)表達(dá)式位運(yùn)算符數(shù)據(jù)類型轉(zhuǎn)換與計(jì)算類型長(zhǎng)度運(yùn)算符本章主要內(nèi)容36自動(dòng)類型轉(zhuǎn)換什么情況下發(fā)生運(yùn)算轉(zhuǎn)換------不同類型數(shù)據(jù)混合運(yùn)算時(shí)賦值轉(zhuǎn)換------把一個(gè)值賦給與其類型不同的變量時(shí)輸出轉(zhuǎn)換------輸出時(shí)轉(zhuǎn)換成指定的輸
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 承包園林苗木合同范例
- 公司人員聘用合同范例
- 口罩機(jī)器購(gòu)買合同范例
- 醫(yī)藥otc銷售合同范例
- 困難勞動(dòng)合同范例
- 招標(biāo)和造價(jià)合同范例
- 定制柜門購(gòu)銷合同范例
- 醫(yī)療器材購(gòu)銷合同范例
- 小餐廳轉(zhuǎn)讓合同范例
- 政府廚房維修合同范例
- 2022-《參與感:小米口碑營(yíng)銷內(nèi)部手冊(cè)》
- 三級(jí)醫(yī)院醫(yī)療設(shè)備配置標(biāo)準(zhǔn)
- 合法離婚協(xié)議書(2篇)
- 水輪發(fā)電機(jī)組大修質(zhì)量標(biāo)準(zhǔn)
- 項(xiàng)目主要技術(shù)方案計(jì)劃表
- 汽車零部件開發(fā)質(zhì)量管理課件
- 20m29.6m30.4m20m鋼箱梁橋?qū)嵗O(shè)計(jì)內(nèi)容與表達(dá)
- 冀教版四年級(jí)上冊(cè)英語Unit 4單元測(cè)試卷(含聽力音頻)
- 【真題】北京市西城區(qū)六年級(jí)語文第一學(xué)期期末試卷 2021-2022學(xué)年(有答案)
- VMWare Horizon7平臺(tái)集成指南
- 口腔專科護(hù)理知識(shí)考核試題與答案
評(píng)論
0/150
提交評(píng)論