大學(xué)計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)(C語(yǔ)言)-第2章C語(yǔ)言基礎(chǔ)_第1頁(yè)
大學(xué)計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)(C語(yǔ)言)-第2章C語(yǔ)言基礎(chǔ)_第2頁(yè)
大學(xué)計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)(C語(yǔ)言)-第2章C語(yǔ)言基礎(chǔ)_第3頁(yè)
大學(xué)計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)(C語(yǔ)言)-第2章C語(yǔ)言基礎(chǔ)_第4頁(yè)
大學(xué)計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)(C語(yǔ)言)-第2章C語(yǔ)言基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第二章 C語(yǔ)言基礎(chǔ)本章內(nèi)容賦值表達(dá)式4C語(yǔ)言的數(shù)據(jù)類型1標(biāo)識(shí)符、常量與變量2算術(shù)表達(dá)式3自加、自減運(yùn)算符5逗號(hào)運(yùn)算符和sizeof運(yùn)算符62.1 數(shù)據(jù)類型數(shù)據(jù)類型基本類型(簡(jiǎn)單) 指針類型 構(gòu)造類型空類型整型實(shí)型字符型單精度型雙精度型枚舉類型數(shù)組類型結(jié)構(gòu)體類型共用體類型標(biāo)準(zhǔn)類型用戶自定義類型標(biāo)識(shí)符 Contents Contents非法標(biāo)識(shí)符3d,no 1,xk#1合法標(biāo)識(shí)符 num,a8,no_1標(biāo)識(shí)符:以字母或下劃線開頭,由字母、數(shù)字、下劃線組成的字符序列。長(zhǎng)度可以無(wú)窮大。關(guān)鍵字不能作為用戶標(biāo)識(shí)符。如do , int, if 等。3大小寫區(qū)分。如book Book 是兩個(gè)不同的標(biāo)識(shí)符。1標(biāo)

2、識(shí)符盡量 “見名知意”。如average,sum等。2常量常量:其值不會(huì)發(fā)生改變的量,稱為常量。它們可以和數(shù)據(jù)類型接合起來(lái)分類。比如:整形常量,浮點(diǎn)型常量,字符常量等等。在內(nèi)存中分配一片空間存儲(chǔ)常量值。常量分類:常量又分為直接常量和符號(hào)常量。直接常量:又叫字面常量。如12,0,4.6,a,”abcd”符號(hào)常量:用標(biāo)識(shí)符表示一個(gè)常量,通常用大寫字母表示。 符號(hào)常量必須在程序開頭先定義后使用。 定義形式: # define 符號(hào)常量名 常量表達(dá)式。 如:# define PI 3.1415926 整型常量C語(yǔ)言允許使用十進(jìn)制、八進(jìn)制、十六進(jìn)制 表示整型常量。C語(yǔ)言規(guī)定:以0開頭的常量為八進(jìn)制常量

3、以0X開頭的常量為十六進(jìn)制常量 如: 123,-24 為十進(jìn)制整數(shù) 0234,054 為八進(jìn)制整數(shù) 0X234,0X54為十六進(jìn)制整數(shù)整型常量基本整數(shù):最高位為符號(hào)位。長(zhǎng)整型數(shù):最高位為符號(hào)位。表示方法為:135L 無(wú)符號(hào)整數(shù): 所有二進(jìn)制位都為數(shù)值位,即無(wú)符號(hào)位。表示方法為: 246U, 066u 實(shí)型常量實(shí)型數(shù)只有十進(jìn)制表示形式。細(xì)分為小數(shù)形式和指數(shù)形式。小數(shù)形式:由數(shù)字和小數(shù)點(diǎn)組成(必須有小數(shù)點(diǎn),但小數(shù)點(diǎn)前后的0可以省略)例如:0.246 .246 5.0 5. 等。指數(shù)形式:由尾數(shù)、字母E或e及指數(shù)部分組成。其格式為: 整數(shù)部分.小數(shù)部分E指數(shù)部分 例如:135e3 124e-2 12

4、.12e-5 .123e4 0e0 錯(cuò)誤的表示:e2 3.5e1.5 .e 變量變量:在程序執(zhí)行過(guò)程中其值發(fā)生變化的量。int i;格式: 存儲(chǔ)類型 數(shù)據(jù)類型關(guān)鍵詞 變量列表int i,j;每個(gè)變量都有自己唯一的內(nèi)存空間變量某片內(nèi)存空間的地址即該區(qū)域最左側(cè)起點(diǎn)位置的編號(hào)。數(shù)據(jù)類型決定分配多少個(gè)連續(xù)的存儲(chǔ)空間。向存儲(chǔ)空間寫入值時(shí),將值轉(zhuǎn)換為二進(jìn)制形式,二進(jìn)制數(shù)值位的數(shù)量與存儲(chǔ)空間的位數(shù)量相同,即寫入值會(huì)充滿整個(gè)存儲(chǔ)空間。變量將會(huì)存儲(chǔ)值。每新創(chuàng)建一個(gè)變量就要給它分配一片獨(dú)有的內(nèi)存存儲(chǔ)空間。問(wèn)題1:變量的作用?問(wèn)題2:如何存儲(chǔ)值?問(wèn)題3:如何決定分配的空間大小?問(wèn)題4:如何找到分配的空間?問(wèn)題5:存

5、儲(chǔ)空間的地址是什么?根據(jù)空間的地址直接找到或者通過(guò)變量名先轉(zhuǎn)換為對(duì)應(yīng)的地址然后找到。問(wèn)題6:如何將值存儲(chǔ)到該內(nèi)存空間?問(wèn)題7:如何寫入新值?重復(fù)問(wèn)題6的步驟。結(jié)果導(dǎo)致變量的空間中保留新值,原來(lái)的值被覆蓋。問(wèn)題8:變量的值何時(shí)會(huì)發(fā)生改變?向變量的存儲(chǔ)空間寫入值時(shí),即只有執(zhí)行“賦值”操作的時(shí)候。問(wèn)題9:如何讀取變量的值?通過(guò)存儲(chǔ)空間的地址或變量名找到該空間,得到該空間中值的拷貝版。問(wèn)題10:讀取后變量值是否改變?讀取不會(huì)改變變量的值。變量問(wèn)題1:變量的作用?答:變量將會(huì)存儲(chǔ)值。問(wèn)題2:如何存儲(chǔ)值?答:每新創(chuàng)建一個(gè)變量就會(huì)給它分配一片獨(dú)有的內(nèi)存存儲(chǔ)空間。問(wèn)題3:如何決定分配的空間大小?答:數(shù)據(jù)類型決

6、定分配多少個(gè)連續(xù)的存儲(chǔ)空間。變量問(wèn)題4:如何找到分配的空間?答:根據(jù)空間的地址直接找到或者通過(guò)變量名先轉(zhuǎn)換為對(duì)應(yīng)的地址然后找到。問(wèn)題5:存儲(chǔ)空間的地址是什么?答:某片內(nèi)存空間的地址即該區(qū)域最左側(cè)起點(diǎn)位置(首字節(jié))的編號(hào)。問(wèn)題6:如何將值存儲(chǔ)到該內(nèi)存空間?答:存儲(chǔ)空間寫入值時(shí),將值轉(zhuǎn)換為二進(jìn)制形式,二進(jìn)制數(shù)值位的數(shù)量與存儲(chǔ)空間的位數(shù)量相同,即寫入值會(huì)充滿整個(gè)存儲(chǔ)空間。變量問(wèn)題7:如何寫入新值?答:重復(fù)問(wèn)題6的步驟。結(jié)果導(dǎo)致變量的空間中保留新值,原來(lái)的值被覆蓋。問(wèn)題8:變量的值何時(shí)會(huì)發(fā)生改變?答:向變量的存儲(chǔ)空間寫入值時(shí),即只有執(zhí)行“賦值”操作的時(shí)候。問(wèn)題9:如何讀取變量的值?答:通過(guò)存儲(chǔ)空間的地

7、址或變量名找到該空間,得到該空間中值的拷貝版。變量問(wèn)題10:讀取后變量值是否改變?答:讀取不會(huì)改變變量的值。補(bǔ)充:1、變量名即為標(biāo)識(shí)符的一種,變量名起名規(guī)則與標(biāo)識(shí)符規(guī)則相同;潛規(guī)則:組成變量名的若干個(gè)英語(yǔ)單詞中,第一個(gè)單詞首字母小寫,其余單詞首字母大寫,非首字母都為小寫(匈牙利命名法)2、在執(zhí)行變量定義語(yǔ)句時(shí)將會(huì)給變量分配空間。整型變量整型變量分類:數(shù)據(jù)類型類型關(guān)鍵詞基本型int短整型short 長(zhǎng)整型long無(wú)符號(hào)基本型unsigned int無(wú)符號(hào)短整型unsigned short無(wú)符號(hào)長(zhǎng)整型unsigned long例如:int i; short s; unsigned long k,q

8、;實(shí)型變量實(shí)型變量分類:數(shù)據(jù)類型類型關(guān)鍵詞雙精度double單精度f(wàn)loat例如:float i; double s; 變量的初始化變量的初始化:在定義變量的同時(shí)給變量賦初值。如: int a=10,b=3; float c=123.7,d=4.5; double x=1.234567;注意:1、 int a=b=10;2、 int i; i=10; float f;字符型數(shù)據(jù)字符常量表現(xiàn)形式實(shí)例由單引號(hào)括起來(lái)的單個(gè)字符A a 3由單引號(hào)括起來(lái)的轉(zhuǎn)義字符n t注意:字符常量在內(nèi)存中實(shí)際存儲(chǔ)的是其ASCII碼的值 如: A65 ,a 97 ,351C語(yǔ)言規(guī)定: 字符型常量在內(nèi)存中占8位(一個(gè)字節(jié)

9、)。字符型數(shù)據(jù)字符串常量用一對(duì)雙引號(hào)括起來(lái)的一個(gè)字符串;如“hello”C規(guī)定:在一個(gè)字符串的末尾系統(tǒng)自動(dòng)加一個(gè)字符串結(jié)束標(biāo)志“0” 在內(nèi)存中占的字節(jié)數(shù)=字符個(gè)數(shù)+1“hello”在內(nèi)存中的存儲(chǔ)形式是該字符對(duì)應(yīng)的ASCII碼值:1041011081081110hello0“B”B字符變量字符變量(char): 用來(lái)存放一個(gè)字符,占一個(gè)字節(jié)。char c=A;A97注意:字符變量存儲(chǔ)的是字符的ASCII碼,即數(shù)字。 如: char c1,c2; int i; c1=a; = c1=97; c2=c1-32 ; = c2=A; = c2=65; = c2=a-32; i=97; = i=a;運(yùn)算符

10、和表達(dá)式C運(yùn)算符:算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、賦值運(yùn)算符等 C表達(dá)式:由運(yùn)算對(duì)象(常量、變量、函數(shù))、運(yùn)算符和括號(hào)組成的式子。 如:算術(shù)表達(dá)式、賦值表達(dá)式、關(guān)系表達(dá)式、邏輯表達(dá)式、 條件表達(dá)式、逗號(hào)表達(dá)式等。表達(dá)式的求值規(guī)則: 先按運(yùn)符的“優(yōu)先級(jí)”由高到低進(jìn)行,若運(yùn)算對(duì)象兩邊運(yùn)算符級(jí)別相同,則按運(yùn)算符的“結(jié)合性”處理。算術(shù)運(yùn)算符和算術(shù)表達(dá)式運(yùn)算符結(jié)合性雙目:+ - * / % 自左向右單目: + -自右向左兩整數(shù)相除,結(jié)果為整數(shù)。8/3=2整除實(shí)除兩實(shí)數(shù)或與一實(shí)數(shù)相除,結(jié)果為雙精度型。如: 8/3.0=2.6666666除運(yùn)算(/)模運(yùn)算(%)算數(shù)表達(dá)式注意事項(xiàng)算術(shù)表達(dá)式: 用算術(shù)運(yùn)算

11、符將運(yùn)算對(duì)象連接起來(lái)的符合C語(yǔ)法規(guī)則的式子就稱為算術(shù)表達(dá)式表達(dá)式中的乘號(hào)不能省略。 例如:3*a b*c表達(dá)式中的所有內(nèi)容必須書寫在同一行上,不允許有分子分母、上下標(biāo)等形式,必要時(shí)要利用圓括號(hào)保證運(yùn)算的順序。表達(dá)式不允許使用方括號(hào)和花括號(hào),只能使用圓括號(hào)幫助限定運(yùn)算順序。可以使用多層圓括號(hào),但左右括號(hào)必須配對(duì),運(yùn)算時(shí)從內(nèi)層圓括號(hào)開始,由內(nèi)向外依次計(jì)算表達(dá)式的值。數(shù)據(jù)類型轉(zhuǎn)換自動(dòng)類型轉(zhuǎn)換C語(yǔ)言允許不同類型數(shù)據(jù)之間的各種運(yùn)算。但應(yīng)先轉(zhuǎn)換,后運(yùn)算。 C允許任何標(biāo)準(zhǔn)類型數(shù)據(jù)之間的隱式轉(zhuǎn)換。char shortlongunsignedfloatdoubleint假設(shè):float類型變量最大表示數(shù)值為10

12、float f1=8,f2=9;f1+f2 ?int i =10 , a=65; float f=12.0 , e=10.0; double d=12.0; 10+a+i*f -d/e數(shù)據(jù)類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換格式: ( 數(shù)據(jù)類型關(guān)鍵字) (表達(dá)式)如: (double) a (int) (x+y)注意:通過(guò)強(qiáng)制類型轉(zhuǎn)換,只是得到了一個(gè)所需類型的中間結(jié)果,而原來(lái)變量或表達(dá)式的值和類型并沒(méi)有變化。強(qiáng)制類型轉(zhuǎn)換后a值是否變化?賦值表達(dá)式基本賦值運(yùn)算符:=復(fù)合賦值運(yùn)算符:+= - = *= /= %=等結(jié)合性: 自右向左格式: 變量=表達(dá)式 變量+=表達(dá)式a=5 a=(b=5) a=5+(b=5)a=

13、(b=5)+(c=3) a=b*(c=2.5/b) a+=5 a*=y+8若i=2,j=12,k=10 則 k+=j+=i+8的值是?若a=10 則 a+=a-=a*=10的值是?賦值表達(dá)式賦值過(guò)程:求出表達(dá)式的值,將表達(dá)式值的類型與變量的類型比較 當(dāng)二者類型相同時(shí):直接賦值 當(dāng)二者類型不同時(shí):先轉(zhuǎn)換再賦值。賦值運(yùn)算的類型轉(zhuǎn)換整形=實(shí)型變量:數(shù)值不變 ,但以浮點(diǎn)數(shù)形式存儲(chǔ)到變量中,例如 5 5.0實(shí)型=整型變量:需要強(qiáng)制轉(zhuǎn)換,舍棄小數(shù)部分。例如 (int)12.234 12較短的整數(shù)=較長(zhǎng)的整型變量:進(jìn)行高位字節(jié)擴(kuò)展;當(dāng)被轉(zhuǎn)換為無(wú)符號(hào)類型時(shí):進(jìn)行0擴(kuò)展111000010000000011100

14、0011當(dāng)被轉(zhuǎn)換為符號(hào)類型時(shí):進(jìn)行符號(hào)位擴(kuò)展最高位:0 前八位補(bǔ)0 最高位:1 前八位補(bǔ)1(以保持原值不變)000000001110000111100001賦值運(yùn)算的類型轉(zhuǎn)換較長(zhǎng)型整數(shù)= 較短型整型變量: 去掉高字節(jié)位,截取低字節(jié)位。雙精度=單精度變量:只保留單精度的有效位數(shù)無(wú)符號(hào)的整數(shù)=長(zhǎng)整型變量 將高位補(bǔ)0無(wú)符號(hào)的整數(shù)=同長(zhǎng)整型變量,若數(shù)據(jù)超出范圍,則出錯(cuò)帶符號(hào)的整數(shù)=同長(zhǎng)無(wú)符號(hào)整型變量(符號(hào)作為數(shù)據(jù)傳入)自加、自減運(yùn)算符單目: + - 結(jié)合性:自右向左i+ +ii+ = i=i+1+在前,i先做自增運(yùn)算,運(yùn)算后的結(jié)果再參與表達(dá)式運(yùn)算+在后,i先參與表達(dá)式運(yùn)算,等待所參與的表達(dá)式運(yùn)算完畢再做自增運(yùn)算x=+i;i=i+1;x=i;x=i+;x=i;i=i+1;例: x=(i+)+(i+) x=(+i)+(+i)逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式逗號(hào)運(yùn)算符: “,” 優(yōu)先級(jí): 最低 結(jié)合性:從左到右格式:表達(dá)式1,表達(dá)式2, ,表達(dá)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論