歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

c語言第2講基本數(shù)據(jù)類型與表達式.ppt

  • 資源ID:11494900       資源大?。?span id="bxtzbdp" class="font-tahoma">711.50KB        全文頁數(shù):49頁
  • 資源格式: PPT        下載積分:9.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

c語言第2講基本數(shù)據(jù)類型與表達式.ppt

第2講C語言的基本數(shù)據(jù)類型與表達式,2.1C語言的基本數(shù)據(jù)類型2.2常量與變量2.3運算符與表達式2.4數(shù)據(jù)類型轉(zhuǎn)換,一、數(shù)據(jù)類型概述,本講中將對基本類型中的前三類進行介紹和學(xué)習(xí)。,2.1C語言的基本數(shù)據(jù)類型,變量:指以標識符為名字,其值可以改變的量。,在學(xué)習(xí)各種數(shù)據(jù)類型之前,我們先簡單了解一下常量和變量的概念。,常量:指在程序運行中,其數(shù)值不能被改變的量。,變量代表計算機內(nèi)存中的某一存儲空間,變量的類型決定了該存儲空間的長度和其中存放數(shù)據(jù)的編碼方式及存儲格式。變量的類型也決定了該存儲空間中存放數(shù)據(jù)的數(shù)據(jù)形式和取值范圍。,*八進制的數(shù)碼范圍為07;018*十六進制的數(shù)碼除了數(shù)字09外,還使用英文字母af(或AF)表示1015。如:0 x1e,注意!,二、整型(采用定點整數(shù)的存儲格式,只能表示純整數(shù)),1、整型常量:,(1)十進制形式:與數(shù)學(xué)上的整數(shù)表示相同;例如:12,-100,0(2)八進制形式:在數(shù)碼前加數(shù)字0;例如:012=1*81+2*80=10(十進制)(3)十六進制形式:在數(shù)碼前加0X(數(shù)字0和字母X)。例如:0 x12=1*161+2*160=18(十進制),舉例,在16位操作系統(tǒng)中,一般用字節(jié)表示一個int型變量,且long型(字節(jié))int型(字節(jié))short型(字節(jié))。在VC+6.0環(huán)境中,用4字節(jié)表示一個int型變量,且long型(字節(jié))int型(4字節(jié))short型(字節(jié))。查看變量的字節(jié)數(shù),即其長度,使用函數(shù)sizeof(類型名),2、整型變量的分類:,根據(jù)數(shù)據(jù)所占的存儲長度的不同分為:int、short、long;同樣存儲長度的數(shù)據(jù)又分unsigned、signed;故可組合出六種類型。,3、整型變量的值域:,由機器中數(shù)據(jù)的存儲長度決定,2、實型變量的分類及值域:關(guān)鍵字字節(jié)數(shù)取值范圍精度(位)float43.410-383.410387double81.710-3081.71030815,注意,三、實型,1、常量:(1)十進制小數(shù)形式:由數(shù)字和小數(shù)點組成;例如:3.4,4.,.3。(2)指數(shù)形式:“十進制小數(shù)”+“e(或E)”+“十進制數(shù)整數(shù)”。例如:12.5e-6表示12.510-6。,小數(shù)點不能單獨出現(xiàn);0.0.e或E的兩邊必須有數(shù),且其后面必須為整數(shù);如:6E0.2e5,字符形式功能n換行t橫向跳格b退格r回車反斜杠字符單引號字符ddd8進制數(shù)表示的ASCII碼對應(yīng)的字符xhh16進制數(shù)表示的ASCII碼對應(yīng)的字符,四、字符類型,1、常量:(1)用單引號括起來的一個字符;如:A、1、?等。注意(1)數(shù)值0、字符0、字符0的區(qū)別(2)大小寫對應(yīng)字母的ASCII值相差32(A為65,a為97)(2)用單引號括起來的由反斜杠()引導(dǎo)的轉(zhuǎn)義字符。,4、字符串常量:是用一對雙引號括起來的字符序列。注意:每個字符串的后面都有一個0結(jié)束符。如:“SHANGHAI”,“AbcdeFGHijk”,“Howareyou”。,注意,a與“a”的區(qū)別strlen()與sizeof()的區(qū)別,例如:字符A的ASCII碼為:65D(十進制)=41H(十六進制)=101Q(八進制)字符A可以表示為A、x41、101。,2、字符型變量的分類:char和unsignedchar;,3、值域(字符型可參與數(shù)學(xué)運算,也可看成一種一字節(jié)的整型變量)每個字符型數(shù)據(jù)在內(nèi)存中占一個字節(jié);包括ASCII字符表中的所有字符(可顯示字符和非顯示字符)。,舉例,一、常量與符號常量常量是指在程序運行中,其數(shù)值不能被改變的量。常量又可分為直接常量和符號常量。,2.2常量與變量,120、0120、072;0 xFFFF、0 x1e;120L,200L;長整型常量3.14、5.12E-6;a、#、n、101;099、12f、0 xg、48EA;E-6、6.4E+4.8;"changsha"、"+?ab";、p、ab;,1、直接常量:是在程序中直接引用的數(shù)據(jù)。,請判斷這些常量正確與否:,定義形式:#define標識符常量數(shù)據(jù)例如:#definePI3.14159在程序預(yù)處理時,凡是出現(xiàn)標識符PI的地方都將用數(shù)據(jù)3.14159來替換。如:2*2.3*PI就等價于2*2.3*3.14159。,變量是指以標識符為名字,其值可以改變的量。變量代表計算機內(nèi)存中的某一存儲空間,該存儲空間中存放的數(shù)據(jù)就是變量的值。在同一程序塊中,變量不能被重復(fù)定義。使用變量時必須“先定義,后使用”。,2、符號常量是用標識符來表示一個數(shù)據(jù);在程序不能給它賦值。,二、變量,2、變量初始化在定義變量的同時給變量一個初始值。,注意,inta=5,b=3;inta=b=c=3;inta,b,c;a=b=c=3;,例如:inta,b,c;floatx,y;charc1,c2;或intc1,c2;定義變量就是在內(nèi)存中劃出一塊相應(yīng)類型的存儲空間存放該變量的值。,#includemain()intx,y,z,w;/*定義x,y,z,w為整型變量*/unsignedintk;/*定義k為無符號整型變量*/x=10;y=-20;k=30;z=x+k;w=y+k;printf(“x+k=%d,y+k=%dn”,z,w);,例2-1:,程序運行結(jié)果為:x+k=40,y+k=10,變量根據(jù)作用域的不同可分為局部變量和全局變量,根據(jù)存儲方式的不同可分為靜態(tài)存儲變量和動態(tài)存儲變量,這些我們將在后面詳細介紹。,1、以下合法的字符型常量是Ax13B081C65D"n"2、已知大寫字母A的ASCII碼是65,小寫字母a的ASCII碼是97。以下不能將變量c中的大寫字母轉(zhuǎn)換為對應(yīng)小寫字母的語句是Ac=(c-A)%26+aBc=c+32Cc=c-A+aDc=(A+c)%26-a3.以下選項中,合法的一組C語言數(shù)值常量是A)028B)12.C).177D)0 x8A.5e-30Xa234e1.510,000.0 xf4.5e00abc3.e54.以下關(guān)于long、int和short類型數(shù)據(jù)占用內(nèi)存大小的敘述中正確的是A)均占4個字節(jié)B)根據(jù)數(shù)據(jù)的大小來決定所占內(nèi)存的字節(jié)數(shù)C)由用戶自己定義D)由C語言編譯系統(tǒng)決定5.以下選項中不屬于字符常量的是A)CB)"C"C)xCCD)072,實驗內(nèi)容,實驗二題目2:完成從鍵盤輸入一個10以內(nèi)的數(shù)字,在屏幕上輸出這個數(shù)字的3次方。題目3:從鍵盤上輸入兩個數(shù)字,在屏幕上輸出這兩個的加減乘除的結(jié)果。,在數(shù)學(xué)里當(dāng)多個運算符一起組成一個表達式時,我們規(guī)定了優(yōu)先級(先乘除后加減)和結(jié)合規(guī)則(從左至右)。同樣,在C語言中,我們也規(guī)定了每個運算符的結(jié)合規(guī)則及運算符之間的優(yōu)先級。,2.3運算符與表達式,運算符:就是表示某種運算功能的符號。按操作功能運算符大致可分為:算術(shù)運算符、關(guān)系運算符、邏輯運算符、賦值運算符、條件運算符、逗號運算符以及位運算符等。,表達式:是由操作數(shù)和運算符組成的序列。如:1+2*3-4、3>5-7、a=b%2等都是C語言中的表達式。,下面分類介紹各種運算符:,%(取余)(注意:取余運算的操作數(shù)只能是整數(shù),結(jié)果的符號與被除數(shù)相同),一、算術(shù)運算符和算術(shù)表達式,1、運算符+(加):3+4、+3-(減):3-5、-5*(乘):3*5/(除):5/2、5.0/2(注意,此二種形式,結(jié)果不同),5%3的值為2;-5%3的值為-2;5%(-3)的值為2;-5%(-3)的值為-2;12.3%3若a%b的結(jié)果為0,則有a能被b整除,2、算術(shù)表達式用算術(shù)運算符和括符將操作數(shù)連接起來的式子。優(yōu)先級:()*、/、%+、-結(jié)合性:從左至右;表達式的值:數(shù)值型(int、long、unsigned、float、double);,例如:已知:floata=2.0;intb=6,c=3;求解:a*b/c-1.5+a+fabs(-5)=?,floata=2.0;intb=6,c=3;a*b/c-1.5+a+fabs(-5),12.0/3,5,4.0-1.5,2.5+97(int),99.5+5,104.5,思考inta=1,b=2;表達式a/b+3的結(jié)果是多少?,等價于:j=i;i+;所以i的值為4,j的值為3,等價于:i+;j=i;所以i的值為4,j的值為4,(1)i=3;j=i+;(2)i=3;j=+i;,3、自增與自減運算符(+、-),+i,-i:使用之前使i的值增1(或減1);,i+,i-:使用之后使i的值增1(或減1);,分析下面幾種情況中i與j的值:,當(dāng)+、-不與其他運算符混合使用時,+i與i+都等價于i=i+1,-i與i-都等價于i=i-1,如:i=2;j=-i+;求執(zhí)行完這兩句后i與j的值分別是多少,結(jié)合性:自右至左。,分析:“+”與”-“是同優(yōu)先級,且都高于“=”按結(jié)合規(guī)則,等價于:j=-(i+);結(jié)果:i的值為3,j的值為-2。,再看幾個例子:如:設(shè)i=3,k=(i+)+(i+)k=i=,設(shè)a=3,b=(+a)+(+a)b=a=,10,5,題盤練習(xí),(1)例題:1-3。運算符/及%的應(yīng)用(函數(shù)fun的功能是:將兩個兩位數(shù)的正整數(shù)a、b合并形成一個整數(shù)放在c中。合并的方式是:將a的十位數(shù)和個位數(shù)依次放在c數(shù)的千位和十位上,b數(shù)的十位和個位數(shù)依次放在c數(shù)的百位和個位上。)(2)作業(yè):2-3;3-3;4-3;51-3;53-3;72-3;88-3;4-2;5-2;注意:掌握兩個數(shù)的輸入方法!,1、6種關(guān)系運算符:=>=!=2、關(guān)系表達式:用關(guān)系運算符將表達式連接起來的式子優(yōu)先級:(=>)>(=!=)結(jié)合性:自左至右;表達式的值:若為真,則結(jié)果為1;若為假,則結(jié)果為0。,3>5值為:32值為:設(shè)x=-2;-3<x<-1值為:設(shè)x=1;2<x<4值為:,例如,二、關(guān)系運算符和關(guān)系表達式,求如下關(guān)系表達式的值:,0,0,0,1,算術(shù)運算符優(yōu)先級高于關(guān)系運算符3+(4<3)*4值為:3+4floatb=3.5;!a()!(a0)()(a0)(),例如,0,1,1,0,0,0,1,1,0,0,0,1,例如表達式運算如下:,混合優(yōu)先級:!高算術(shù)運算符關(guān)系運算符b=1;c=a+執(zhí)行后:a為,b為,c為。,邏輯或優(yōu)化和邏輯與優(yōu)化:,在邏輯表達式的求解中,并不是所有的邏輯運算符都被執(zhí)行,只是在必須執(zhí)行下一個邏輯運算符才能求出表達式的解時,才執(zhí)行該運算符。,1,1,0,(2)a=1;b=1;c=0;d=-a|b-|(c=b+3);執(zhí)行后:a為,b為,c為,d為。,0,0,0,1,例如:(1)n是小于m的偶數(shù):(2)year是閏年:(能被4整除但不能被100整除,或能被400整除),邏輯表達式一般用于控制語句中的條件:,n<mprintf("%d",0<x<20);printf("%dn",0算術(shù)>關(guān)系>max=a>b?a:b求max的值,max的值為5,例如:aby表達式y(tǒng)=a=4,b=5,a+by=(a=4,b=5,a+b)y=(a=4,b=5),a+by=a=(4,b=5),a+b,4,5,4,9,4,5,9,9,4,5,9,5,5,5,5,10,形式有三種:sizeof變量名sizeof(變量名)sizeof(類型名)結(jié)果為整型數(shù)。,inta;floatx;printf(“%d,%d”,sizeofa,sizeofx);printf(“%d,%d”,sizeof(int),sizeof(float);以上兩個printf語句結(jié)果均為,例如,3、求字節(jié)運算符:sizeof作用:求得變量或某種數(shù)據(jù)類型所需的字節(jié)數(shù)。,4,4,4,4,C語言允許整型、實型、字符型數(shù)據(jù)進行混合運算。有3種轉(zhuǎn)換方式:自動轉(zhuǎn)換、賦值轉(zhuǎn)換和強制轉(zhuǎn)換。一、類型自動轉(zhuǎn)換,2.4數(shù)據(jù)類型轉(zhuǎn)換,特點:由數(shù)值存儲位數(shù)少的向多的轉(zhuǎn)換;整型向?qū)嵭娃D(zhuǎn)換!操作數(shù)為相同類型的不轉(zhuǎn)換,仍取原類型,特別注意此時可能帶來的錯誤!,intx=2;floaty=1.6;charc=A;則:c+1/x*y=,例如,charc=68.5;printf(“%c”,c);,65(int)+0(int)*1.6(float),65(float),二、賦值轉(zhuǎn)換在賦值時將賦值符右邊值的類型轉(zhuǎn)換成與其左邊變量類型一致的類型。,有下列幾種情況:(1)實型整型(字符型):去掉小數(shù)部分;,(2)整型(字符型)實型:補足有效位;,floatf=23;23.000007位doublef=A;65.000000000000015位,例如:inta=2,b=5;floatx=4.4;則有:表達式結(jié)果b/a(float)b/a(float)(b/a)(int)x%a+x(int)x%(a+x),三、強制類型轉(zhuǎn)換形式:(類型名)表達式強制類型轉(zhuǎn)換時,得到所需類型的中間變量,原來變量的類型不會改變。,2,2.5,2.0,4.4,2006-9,1、若變量x、y已正確定義并賦值,以下符合C語言語法的表達式是A.+x,y=x-Bx+1=yCx=x+10=x+yDdouble(x)/102、以下關(guān)于邏輯運算符兩側(cè)運算對象的敘述中正確的是A只能是整數(shù)0或1B只能是整數(shù)0或非0整數(shù)C可以是結(jié)構(gòu)體類型的數(shù)據(jù)D.可以是任意合法的表達式3、若有定義intx,y;并以正確給變量賦值,則以下選項中與表達式(x-y)?(x+):(y+)中的條件表達式(x-y)等價的是A(x-y)>0)B(x-y)0)D(x-y)=0)4、有以下程序main()intx,y,z;x=y=1;z=x+,y+,+y;printf("%d,%d,%dn",x,y,z);A2,3,3B2,3,2C.2,3,1D2,2,1,2006-9,5、有以下程序main()inta=0,b=0;a=10;/*給a賦值b=20;/*給b賦值*/printf("a+b=%dn",a+b);/*輸出計算結(jié)果*/A.a+b=10Ba+b=30C30D出錯6、以下選項中,值為1的表達式是A1-0B.1-0C1-0D0-07、設(shè)有定義:floatx=123.4567;,則執(zhí)行以下語句的輸出結(jié)果是()printf("%fn",(int)(x*100+0.5)/100.0);,123.460000,注意:0的ASCII值為48,依次類推,8、以下程序運行后的輸出結(jié)果是()main()intm=011,n=11;printf("%d%dn",+m,n+);9、以下程序運行后的輸出結(jié)果是()main()intx,a=1,b=2,c=3,d=4;x=(ax)?x:d;printf("%dn",x);,1011,1,2007-4,1、若有代數(shù)式以下正確表示該代數(shù)式的C語言表達式是Asqrt(abs(nx+ex)Bsqrt(fabs(pow(n,x)+pow(x,e)C.sqrt(fabs(pow(n,x)+exp(x)Dsqrt(fabs(pow(x,n)+exp(x)2、設(shè)有定義:intk=0;以下選項的四個表達式中與其他三個表達式的值不相同的是A.k+Bk+=1C+kDk+13、有以下程序,其中%u表示按無符號整數(shù)輸出main()unsignedintx=0 xFFFF;printf("%un",x);程序運行后的輸出結(jié)果是A-1B.65535C32767D0 xFFFF4、以下選項中,當(dāng)x為大于1的奇數(shù)時,值為0的表達式是Ax%2=1Bx/2Cx%2!=0D.x%2=0,注意:考慮的是表達式的值,不是變量k的值,2007-4,5、執(zhí)行以下程序后的輸出結(jié)果是main()inta=10;a=(3*5,a+4);printf("a=%dn",a);6、以下程序后的輸出結(jié)果是#includemain()printf(“%dn”,strlen(“IBMn0121”);(請注意轉(zhuǎn)義字符)7、已定義charch=$;inti=1,j;執(zhí)行j=!ch2.設(shè)有條件表達式:(EXP)?i+:j-,則以下表達式中(EXP)完全等價的是A)(EXP=0)B.)(EXP!=0)C)(EXP=1)D)(EXP!=1),a=14,9,1,2007-9,3.已有定義:charc;程序前面已在命令行中包含ctype.h文件,不能用于判斷c中的字符是否為大寫字母的表達式是A)isupper(c)B.)A<=c<=ZC)A=2后b的值為【6】。3.設(shè)變量已經(jīng)正確定義為整型,則表達式n=i=2,+i,i+的值為【7】。注意逗號表達式外有無括號的問題。,0,3,2010-3,1.若有定義:doublea=22;inti=0,k=18;則不符合C語言規(guī)定的賦值語句的是()Aa=a+,i+;Bi=(a+k)<=(i+k);C.i=a%11;Di=!a;2.以下關(guān)于C語言數(shù)據(jù)類型使用的敘述中錯誤的是A若要準確無誤差的表示自然數(shù),應(yīng)使用整數(shù)類型B若要保存帶有多位小數(shù)的數(shù)據(jù),應(yīng)使用雙精度類型C如要處理如“人員”信息等還能有不同類型的相關(guān)數(shù)據(jù),應(yīng)自定義結(jié)構(gòu)體類型D.若只處理“真”和“假”兩種邏輯值,應(yīng)使用邏輯類型3.若a是數(shù)值類型,則邏輯表達式(a=1)|(a!=1)的值是A.1B0C2D不知道a的值,不能確定4.設(shè)x為int型變量,請寫出一個關(guān)系表達式,用以判斷x同時為3和7的倍數(shù)時,關(guān)系表達式的值為真x%3=0&&x%7=0,題庫練習(xí),四舍五入:66-3(強制類型轉(zhuǎn)換)條件表達式:50-1,筆試課后作業(yè),筆試模擬試卷:第一套題選擇題17填空題6,7第二套題選擇題13,14,15,16填空題6,7第三套題選擇題13,14,15,16,17第四套題選擇題:14,16,17,18,19填空題6,

注意事項

本文(c語言第2講基本數(shù)據(jù)類型與表達式.ppt)為本站會員(max****ui)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!