數(shù)據(jù)類型、表達(dá)式_第1頁
數(shù)據(jù)類型、表達(dá)式_第2頁
數(shù)據(jù)類型、表達(dá)式_第3頁
數(shù)據(jù)類型、表達(dá)式_第4頁
數(shù)據(jù)類型、表達(dá)式_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

數(shù)據(jù)類型、運(yùn)算符和表達(dá)式一、數(shù)據(jù)類型P37二、常量(在程序運(yùn)行過程中,其值不可以改變的數(shù)據(jù))1.符號(hào)常量必須首先進(jìn)行說明,格式:#definePI3.14159(實(shí)例)標(biāo)準(zhǔn)格式:#define符號(hào)常量名具體取值#define符號(hào)常量名具體取值解釋】其中“符號(hào)常量名”的命名規(guī)則同“用戶標(biāo)識(shí)符”,習(xí)慣上大寫。

2.普通常量(靠書寫來確定其類型和值)1)整型常量?普通整型范圍?普通整型范圍-32768~+32767占2B?長整型占4B書寫長整型常量時(shí),必須在其后加上l或L。否則只當(dāng)成普通整型114o(2)浮點(diǎn)型常量單精度(float)型,有效位一般7位,雙精度(double)型,有效位一般16位。除帶小數(shù)點(diǎn)的寫法外,還有一種e指數(shù)格式:aEb其中a是一個(gè)合法的整數(shù)或?qū)崝?shù),b必須是一個(gè)整數(shù)。含義是aX10b(3)字符型常量(占1B)用單引號(hào)括起來的單個(gè)字符。例如:'A'、'!'、'\n'、'\0'(后兩個(gè)稱為轉(zhuǎn)義字符,特征是以反斜杠開頭)'\n'表示換行符'\0'表示空字符(其ASCII碼值為0)*字符型數(shù)據(jù)在C中以ASCII碼值(8個(gè)0、1序列)存放的?!窘Y(jié)論】字符型數(shù)據(jù)與一定范圍內(nèi)的整型數(shù)據(jù)可以相通使用。(比如:0~127??)(4)字符串型常量(沒有變量形式)用雙引號(hào)括起來的多個(gè)字符。例如:"Hello"、"”(空串)、"A"……總是以'\0'作為結(jié)束標(biāo)志(系統(tǒng)自動(dòng)加入)。所以"A"占2B。三、變量(在程序運(yùn)行過程中,其值可以改變的數(shù)據(jù))變量必須先定義(說明),后使用!1.普通整型變量(2B)int變量系列;若有多個(gè)變量,之間用逗號(hào)分隔。變量命名同用戶自定義標(biāo)示符。例如:inta,b,c;等價(jià)于inta;intb;intc;2.長整型變量(4B)longint變量系列;或long變量系列;=1單精度浮點(diǎn)型變量(4B)float變量系列;=1=1雙精度浮點(diǎn)型變量(8Bdouble變量系列;=1字符型變量(1B)char變量系列;四、算術(shù)運(yùn)算符與算數(shù)表達(dá)式1.算術(shù)運(yùn)算符正號(hào)通常省略、-(負(fù)號(hào)):單目運(yùn)算符*(乘號(hào),不可以省略)、/(除號(hào))%(整除求余)+、-(以上5個(gè)是雙目運(yùn)算符)1)說明在C語言中,凡是一個(gè)算術(shù)表達(dá)式中的運(yùn)算對象的類型相同,則運(yùn)算結(jié)果也為該類型。【注意】C系統(tǒng)對小數(shù)自動(dòng)取整時(shí),直接去掉小數(shù)部分。在C語言中,凡是一個(gè)算術(shù)表達(dá)式中的運(yùn)算對象的類型不相同時(shí),按教材P54圖3-10統(tǒng)一類型,再進(jìn)行計(jì)算,運(yùn)行結(jié)果為統(tǒng)一后的類型?!熬透卟痪偷汀薄#?)%使用注意事項(xiàng)%左右兩側(cè)的數(shù)據(jù)類型必須是整型。假設(shè)a和b是兩個(gè)整數(shù),則a%b的結(jié)果是,a除以b產(chǎn)生的余數(shù)。%的一個(gè)重要應(yīng)用:可以用來判斷"兩個(gè)整數(shù)a、b,若a能夠被b整除”,則可以表達(dá)成"a%b==0”(3)強(qiáng)制類型轉(zhuǎn)換【格式】(類型名)轉(zhuǎn)換對象【說明】①其中“類型名”為int、float、char、double等②“轉(zhuǎn)換對象”可以是單個(gè)常量或變量,也可以是任意表達(dá)式,此時(shí)必須用()將該表達(dá)式括住。例如:7.5%5(int)7.5%5(int)(7.5%5)(int)(7.5)%52.舉例:VXV與第二個(gè)式子等價(jià)例1、3/5+1/2結(jié)果為0例2、9.8+3/5結(jié)果為9.8例3、9.8+3/5.0結(jié)果為10.499?8+3?O/5?T9?8+0?691O?4例4、((1/2*(3+3.5)-4)+6)/2.0結(jié)果為1.09((1/2*6?5-4)+6)/2?T((0*6?5-4)+6)/2?-個(gè)0?zmz個(gè)0?Z、(9+W)個(gè)00(9+(070))個(gè)0?z、(9+(n?0?s/I))個(gè)0?z、(9+(〒(s?z*z)/I))—術(shù)咪堰0?z、(9+(I(s?3yz)=))山專0?1個(gè)0?昱0應(yīng)個(gè)0?昱(9寸)個(gè)065%8五、賦值運(yùn)算符和賦值表達(dá)式功能】給變量賦值(讓變量獲得值)。使用格式】變量=表達(dá)式說明】1)賦值號(hào)左邊只能是變量,不能是常量或由運(yùn)算符構(gòu)成的表達(dá)式。2)右邊可以是常量、有值的變量或是可以計(jì)算出結(jié)果的表達(dá)式。3)應(yīng)用:可以加上分號(hào),成為獨(dú)立應(yīng)用的賦值語句。4)給變量初始化(在定義變量的同時(shí)給變量賦值,才叫初始化)。inta=8,b;/*對a初始化*/b=29; /*賦值語句*/其中,/*……*/之間可以加說明內(nèi)容,只是給“人”看的,機(jī)器看不懂,也不看(不參加編譯)。專門用來注釋?!咀⒁狻慨?dāng)某變量定義后,沒有被以任何方式賦值,該變量就沒有合法的值,但其被分配的內(nèi)存中有一個(gè)原有的值,通常稱該值為不確定值或未知值(事先不知道該值的大小)。新賦的值總是將前一個(gè)值沖走。5)當(dāng)賦值號(hào)右邊的類型與左邊不一致,右邊服從左邊。但左右必須兼容,否則,報(bào)錯(cuò)。自反賦值號(hào)例如:+=、-=、*=、/=、%=inta;a=9;a*=a-6;/*此句等價(jià)于a=a*(a-6);*/【注意】右邊是一個(gè)整體,通常在改寫后要加()。(7)賦值號(hào)是右結(jié)合性,但是不可以在定義時(shí)出現(xiàn)連賦值的形式,只可以在定義后出現(xiàn)。例如:inta,b;a=b=6;J而inta=b=6;X應(yīng)該改成:inta=6,b=6;J六、格式輸出函數(shù)printf1.格式(1)printf(" ",輸出列表);格式控制字符串/*通常加分號(hào)構(gòu)成輸出語句用*/(2)printf(字符串常量);/*專門用來一個(gè)字符串常量*/2.說明(1)第二種格式只能輸出一個(gè)字符串常量,而第一種格式可以一次輸出多個(gè)任意的常量、變量、表達(dá)式的值。(2)第二大參數(shù)“輸出列表”,可以是一個(gè)或多個(gè)輸出對象,兩兩之間加上逗號(hào)。3)第一大參數(shù)“格式控制字符串”,若輸出對象為int型,則對應(yīng)格式符%4若輸出對象為long型,則對應(yīng)格式符%圮若輸出對象為float型,則對應(yīng)格式符%{若輸出對象為double型,則對應(yīng)格式符%用若輸出對象為char型,則對應(yīng)格式符%。若輸出對象為字符串型,則對應(yīng)格式符%s格式符的個(gè)數(shù)最好與輸出對象的個(gè)數(shù)一致。(4)在各個(gè)格式符之間通常應(yīng)該加合適的分隔符,比如:逗號(hào)、換行符等。(5)在第一大參數(shù)中,除%開頭的格式符是對應(yīng)輸出對象的值以外,其他符號(hào)原樣輸出。例1、求半徑為10的圓的周長、面積,對應(yīng)球的體積。#definePI3.14159/* */書寫在函數(shù)體外#include<math.h>/*頭文件*/main(){floatc,s,v,r;r=10;c=2*PI*r;s=PI*r*r;v=4.0/3*PI*pow(r,3);printf(“c=%f\ns=%f\nv=%f\n”,c,s,v);七、格式輸入函數(shù)scanf1.功能接受從鍵盤輸入的數(shù)據(jù),(存放到)賦值給相應(yīng)的變量。2.格式scanf("格式控制字符串",變量的地址表);3.說明1)“變量的地址表”即欲獲得值的變的地址系列,之間用逗號(hào)隔開,各變的地址表示法:&變量名。的地址系列,之間用逗號(hào)隔開,各變的地址表示法:&變量名。&即為“取地址符”(單目運(yùn)算符)(2)在第一大參數(shù)中,除%開頭的格式符是對應(yīng)輸入對象以外,其它符號(hào)最好不加,否則,其它字符將必須原樣輸入。3)當(dāng)在第一大參數(shù)中只含有%控制符時(shí),若輸入對象為多個(gè)且為數(shù)值型時(shí),輸入的各數(shù)據(jù)之間可以以①回車鍵②空格做分隔符。輸入徹底結(jié)束時(shí),按回車鍵。例如:inta,b;scanf(“%d%d”,&a,&b);則正確的輸入是:(a獲值7,b8)78<回車>或784)當(dāng)在第一大參數(shù)中只含有%控制符時(shí),若輸入對象為多個(gè)且為字符型時(shí),輸入的各數(shù)據(jù)之間不能有任何分隔符,否則,該分隔符將被相應(yīng)變量以合法字符獲值。charc1,c2;scanf(“%c%c”,&c1,&c2);使cl獲值‘?'c2‘!'則正確輸入為?!(5)通常有人喜歡用逗號(hào)等簡單常用的分隔符作為%控制符之間的符號(hào),若若輸入對象為多個(gè)時(shí),各輸入數(shù)據(jù)之間就用該符號(hào)分隔(即原樣輸入)。八、關(guān)系運(yùn)算符和關(guān)系表達(dá)式1.關(guān)系運(yùn)算符>、>=、<、<=、==、!=2.關(guān)系表達(dá)式的運(yùn)算結(jié)果應(yīng)該是邏輯型C語言沒有邏輯量C用數(shù)值形容邏輯值。用1形容邏輯真,用0形容邏輯假;用戶給所謂的邏輯值給C時(shí),給非0都理解成邏輯真;給0才理解成邏輯假。3.數(shù)學(xué)中出現(xiàn)的連不等式通常在C中要以邏輯表達(dá)式書寫。例如:數(shù)學(xué)中5M4M3,在C若寫成:5>=4>=3,則結(jié)果為0;應(yīng)該寫成5>=4&&4>=3九、邏輯運(yùn)算符和邏輯表達(dá)式!邏輯非(邏輯否定)&&邏輯與(乘)||邏輯或(加)說明】在一個(gè)(連)邏輯與的表達(dá)式中,若左側(cè)的值已為0,則右側(cè)不做處理;在一個(gè)(連)邏輯或的表達(dá)式中,若左側(cè)的值已為非0,則右側(cè)不做處理。例如:inta,b,c,d;a=b=9;c=d=7;(a=a<c)&&(b=18);printf(“%d,%d\n”,a,b);輸出結(jié)果是0,9若改成:inta,b,c,d;a=b=9;c=d=7;(a=a>c)&&(b=18);printf(“%d,%d\n”,a,b);輸出結(jié)果是1,18十、條件表達(dá)式1.條件運(yùn)算符(右結(jié)合性)?:(三目運(yùn)算符)2.格式表達(dá)式1?表達(dá)式2:表達(dá)式33.含義當(dāng)表達(dá)式1的值為非0時(shí)(為真),就以表達(dá)式2作為整個(gè)式子的結(jié)果用;當(dāng)表達(dá)式1的值為0時(shí)(為假),就以表達(dá)式3作為整個(gè)式子的結(jié)果用。inta;a=3>5?3:5;printf(“%d\n”,a);十一、逗號(hào)表達(dá)式1.格式表達(dá)式1,表達(dá)式2,??,表達(dá)式n2.表達(dá)式的結(jié)果是最后一個(gè)表達(dá)式分量即表達(dá)式n的結(jié)果。3.執(zhí)行情況從左到右依次執(zhí)行每一個(gè)表達(dá)式十二、自加、自減運(yùn)算符++、--(單目運(yùn)算符)【使用格式】格式一:變量++變量一格式二:++變量__變量【說明】變量的類型可以是int、long、char、float、double型。一般用于整型居多。格式一和格式二都可以改寫成變量=變量=變量+1變量=變量-1++)--)當(dāng)兩種格式獨(dú)立使用時(shí),二者完全等價(jià)。否則,格式一是取變量的原值先用,然后立即增1(減1);格式二先增1(減1),然后是取變量現(xiàn)值(增1后的值)用。例1:inta,b;a=b=7

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論