C程序設(shè)計(jì)ch02 數(shù)據(jù)描述ppt課件_第1頁(yè)
C程序設(shè)計(jì)ch02 數(shù)據(jù)描述ppt課件_第2頁(yè)
C程序設(shè)計(jì)ch02 數(shù)據(jù)描述ppt課件_第3頁(yè)
C程序設(shè)計(jì)ch02 數(shù)據(jù)描述ppt課件_第4頁(yè)
C程序設(shè)計(jì)ch02 數(shù)據(jù)描述ppt課件_第5頁(yè)
已閱讀5頁(yè),還剩30頁(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、1第二章 數(shù)據(jù)描繪C程序的元素/C TokensConstantsIndentifierskeywordsSpecial symbolse.g. Operator2 引入標(biāo)識(shí)符 組成:只能由字母、數(shù)字、下劃線組成,且第一個(gè)字母必須是字母或下劃線 長(zhǎng)度:取決于語(yǔ)言系統(tǒng) 不能使用關(guān)鍵字 良好習(xí)慣見(jiàn)名知意和匈牙利命名法例:判斷以下標(biāo)識(shí)符號(hào)合法性sum Sum M.D.John day Date 3days student_name #33 lotus_1_2_3 char ab _above $1233 變量定義 變量的使用:先定義,后使用 數(shù)據(jù)類(lèi)型 變量1, 變量2, , 變量n; 編譯程序根據(jù)變

2、量定義為其分配指定字節(jié)的內(nèi)存單元.地址abc4字節(jié)4字節(jié)4字節(jié)地址地址.內(nèi)存(在VC+中)1-3隨機(jī)數(shù)v變量初始化:定義時(shí)賦初值 int a=1, b=-3,c; 例: int a,b,c;決定分配字節(jié)數(shù)和數(shù)的表示范圍合法標(biāo)識(shí)符4&整型變量 Int long Short unsigned 占字節(jié)數(shù)隨機(jī)器不同而不同,一般占一個(gè)機(jī)器字:可用sizeof類(lèi)型標(biāo)識(shí)符測(cè)量 整型變量與整數(shù)之間的對(duì)應(yīng)關(guān)系在整常量后加限定詞l或L、U或UL,認(rèn)為它是long int型或無(wú)符號(hào)整型、無(wú)符號(hào)長(zhǎng)整型常量5&實(shí)數(shù)或浮點(diǎn)數(shù)v表示形式:十進(jìn)制數(shù)形式:必須有小數(shù)點(diǎn) 如0.123, .123, 123.0,

3、0.0, 123.指數(shù)形式:e或E之前必須有數(shù)字;指數(shù)必須為整數(shù)如12.3e3 ,123E2, 1.23e4例:區(qū)別例:區(qū)別1.0e+7, e7, e+7, 1.2e-61.0e+7, e7, e+7, 1.2e-66&實(shí)型變量vfloat:占4字節(jié),提供7位有效數(shù)字vdouble:占8字節(jié),提供1516位有效數(shù)字v實(shí)型變量與實(shí)數(shù)之間的對(duì)應(yīng)關(guān)系默認(rèn)double型 : 絕對(duì)值范圍1.7e308在實(shí)型常量后加字母f或F,認(rèn)為它是float 型:絕對(duì)值范圍3.4e38長(zhǎng)雙精度,后加Lf: 絕對(duì)值范圍1.2e49327&字符常量v定義:用單引號(hào)括起來(lái)的單個(gè)普通字符或轉(zhuǎn)義字符. v字符常

4、量的值pp459:該字符的ASCII碼值轉(zhuǎn)義字符及其含義:轉(zhuǎn)義字符含義nvradddtbf”xhh轉(zhuǎn)義字符含義換行垂直制表回車(chē)響鈴單引號(hào)3位8進(jìn)制數(shù)代表的字符水平制表退格換頁(yè)反斜線雙引號(hào)2位16進(jìn)制數(shù)代表的字符如 101 -A 012 -n 376 - x61 -a 60 -0 483 -如 A65, a97, 048 , n10如 a A ? n 101v轉(zhuǎn)義字符:反斜線后面跟一個(gè)字符或一個(gè)代碼值表示例 轉(zhuǎn)義字符舉例#include stdio.hmain printf101 x42 Cn; printfI say:How are you?n; printfC Programn; print

5、fTurbo C;運(yùn)行結(jié)果:屏幕顯示A B CIsay:How are you?C ProgramTurbo C8&字符型變量vcharv字符變量存放字符ASCII碼9v字符常量與字符串常量不同&字符串常量v定義:用雙引號(hào) 括起來(lái)的字符序列v存儲(chǔ):每個(gè)字符串尾自動(dòng)加一個(gè) 0 作為字符串完畢標(biāo)志h e l l o 0例 字符串“hello”在內(nèi)存中a a 0例 a”a”例: 空串 ” 空字符0例: char ch; ch=“A; 10以上四種常量歸納為Constants/常量數(shù)值常量字符常量整型實(shí)型單字符字符串11如 #define PRICE 30v格式: #define 符號(hào)

6、常量 常量v一般用大寫(xiě)字母v是宏定義預(yù)處理命令,不是C語(yǔ)句&符號(hào)常量12例 /*char operation*/ #define PRICE 12.5 #include stdio.h main int num=3; float total; char ch1,ch2=D; total=num*PRICE; ch1=ch2-A+a; printf“total=%f,ch1=%cn,total,ch1; 宏定義變量定義輸出結(jié)果運(yùn)行結(jié)果:total=37.500000, ch1=d13&枚舉類(lèi)型p36程序員自定義的一種數(shù)據(jù)類(lèi)型.1先用enum定義一組枚舉常量,及類(lèi)型標(biāo)識(shí)符:enum

7、 identifier value1, ., valueN;2再定義該類(lèi)型的變量: enum identifier v1,v2, . , vm;例enum weekday Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday; enum weekday week_st, week_end; week_st=Saturday; week_end=enum weekday4;例enum weekday Monday=1, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunda

8、y;例enum weekday Monday=1, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday=0;14&用typedef定義類(lèi)型 p35功能:用自定義名字為已有數(shù)據(jù)類(lèi)型命名類(lèi)型定義簡(jiǎn)單形式: typedef type name;例 typedef int INTEGER;類(lèi)型定義語(yǔ)句關(guān)鍵字已有數(shù)據(jù)類(lèi)型名用戶定義的類(lèi)型名例 typedef float REAL;例 INTEGER a,b,c; REAL f1,f2; int a,b,c; float f1,f2; 說(shuō)明:1.typedef 沒(méi)有創(chuàng)造新數(shù)據(jù)類(lèi)型2.type

9、def 是定義類(lèi)型,不能定義變量新的類(lèi)型名用法不變:新的類(lèi)型名用法不變:15&變量的類(lèi)別 p3637 取決于變量定義的位置: v在函數(shù)體內(nèi)部的:稱(chēng)為部分變量 v在函數(shù)體外部的:稱(chēng)為全局變量外部變量&變量定義為Constant p42 const int class_size=50;那程序中不允許改變此變量之值。16/*例pp.46 caculate the average of a set of N numbers*/#include stdio.h#define N 10 /*SYMBOLIC CONSTANT*/main int count ; /*DECLARATION

10、OF */float sum ,average,number ; /*VARIABLES*/sum =0; /*INITIALIZATION*/count = 0;whilecount Nscanf%f,&number;sum=sum+number;count=count+1;average=sum/N;printfN=%d Sum=%f ,N,sum;printf Average =%f,average;2大班17/*例pp.47 Convert the given temperature in fahrenheit to celsius. The conversion foumul

11、a is: C=F-32/1.8*/#include stdio.h#define F_LOW 0 /*-*/#define F_MAX 250 /*SYMBOLIC CONSTANTS*/#define STEP 25 /*-*/maintypedef float REAL ; /*TYPE DEFINITION*/REAL fahrenheit, celsius;/*DECLARATION*/fahrenheit = F_LOW; /*INITIALIZATION*/printffahrenheit Celsiusnn;whilefahrenheit = F_MAXcelsius=fahr

12、enheit- 32.0/1.8;printf%5.1f %7.2fn,fahrenheit, celsius;fahrenheit=fahrenheit+STEP;18 2.3 運(yùn)算符和表達(dá)式 pp51C運(yùn)算符算術(shù)運(yùn)算符:+ - * / % 自增自減運(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)制類(lèi)型轉(zhuǎn)換:類(lèi)型成員、指向運(yùn)算符:. -下標(biāo)運(yùn)算符:其它 :( ) -19 算術(shù)運(yùn)算符和表達(dá)式 pp51 根本算術(shù)運(yùn)算符: + - * / %

13、 結(jié)合方向:從左向右 優(yōu)先級(jí): * / % - + - 2 3 4說(shuō)明: 兩整數(shù)相除,結(jié)果為整數(shù)視C系統(tǒng)不同,有向0取整如VC+、背0取整 %要求兩側(cè)均為整型數(shù)據(jù)20 #include void mainint a=10,b=15;double c=0.6;printfb/a=%d,b/a;printfb/a=%f,b/floata; 21 關(guān)系運(yùn)算符和表達(dá)式 pp54 關(guān)系運(yùn)算符 種類(lèi): = != 結(jié)合方向:自左向右 優(yōu)先級(jí)別: = !=優(yōu)先級(jí)6優(yōu)先級(jí)7關(guān)系表達(dá)式的值:是邏輯值“真或“假,用1和0表示C語(yǔ)言中, 0表示“假,非0表示“真22關(guān)系運(yùn)算注意:例 注意區(qū)分“=與“=,常把=誤寫(xiě)為=

14、 int a; . ifa=1 printf“a equal to b; else printf“a not equal to b;例 應(yīng)防止對(duì)實(shí)數(shù)作相等或不等的判斷如 1.0/3.0*3.0=1.0 結(jié)果為可改寫(xiě)為:fabs1.0/3.0*3.0-1.01e-601=a延伸:用 b+c=a不用a=b+c23 賦值運(yùn)算符和表達(dá)式 pp56 簡(jiǎn)單賦值運(yùn)算符 符號(hào): = 格式: 變量標(biāo)識(shí)符=表達(dá)式 作用:將一個(gè)數(shù)據(jù)常量或表達(dá)式賦給一個(gè)變量v復(fù)合賦值運(yùn)算符+= -= *= /= %= = &= = |=后面各章節(jié)中講解例 a=3; d=func; c=d+2;24例: a=b=c=5 a=b

15、=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=2 結(jié)合方向:自右向左 優(yōu)先級(jí): 14 左側(cè)必須是變量,不能是常量或表達(dá)式 賦值轉(zhuǎn)換規(guī)那么:使賦值號(hào)右邊表達(dá)式值自動(dòng)轉(zhuǎn)換成其左邊變量的類(lèi)型 賦值表達(dá)式的值與變量值相等,且可嵌套25 邏輯運(yùn)算符和表達(dá)式 p55 邏輯運(yùn)算符 種類(lèi): ! & | 邏輯運(yùn)算真值表ab!a!ba&ba|b真假真假假假真真C語(yǔ)言中,運(yùn)算量: 0表示“假, 非0表示“真, 運(yùn)算結(jié)果: “假

16、0 “真 1真假假假假假真真假假真真真假真真26! (2)& (11)| (12)高低l優(yōu)先級(jí):l結(jié)合方向:! :從右向左& :從左向右| :從左向右例 a=4;b=5; !a a&b a|b !a|b 4&0|2 53&2|83&2|84-!0 值為127! (2)& (11)| (12)高低l優(yōu)先級(jí):l結(jié)合方向:! :從右向左& :從左向右| :從左向右短路特性:邏輯表達(dá)式求解時(shí),并非所有的邏輯運(yùn)算符都被執(zhí)行,只是在必須執(zhí)行下一個(gè)邏輯運(yùn)算符才能求出表達(dá)式的解時(shí),才執(zhí)行該運(yùn)算符例 a&b&c /只在a為真時(shí),才判

17、別b的值; 只在a、b都為真時(shí),才判別 c的值例 a|b|c /只在a為假時(shí),才判別b的值; 只在a、b都為假時(shí),才判別 c的值例 a=1;b=2;c=3;d=4;m=1;n=1; m=ab&n=cd/結(jié)果m=0,n=128Increment and Decrement + +m; or m+; - -m; or m-; Notation: m=5; ifm+=5 29 2.4不同類(lèi)型數(shù)據(jù)間的轉(zhuǎn)換 pp67 隱式轉(zhuǎn)換 pp67 什么情況下發(fā)生 運(yùn)算轉(zhuǎn)換-不同類(lèi)型數(shù)據(jù)混合運(yùn)算時(shí) 賦值轉(zhuǎn)換-把一個(gè)值賦給與其類(lèi)型不同的變量時(shí) 輸出轉(zhuǎn)換-輸出時(shí)轉(zhuǎn)換成指定的輸出格式 函數(shù)調(diào)用轉(zhuǎn)換-實(shí)參與形參類(lèi)型

18、不一致時(shí)轉(zhuǎn)換 運(yùn)算轉(zhuǎn)換規(guī)那么:不同類(lèi)型數(shù)據(jù)運(yùn)算時(shí)先自動(dòng)轉(zhuǎn)換成同一類(lèi)型30doublefloatlongunsignedintchar,short低高說(shuō)明:必定的轉(zhuǎn)換運(yùn)算對(duì)象類(lèi)型不同時(shí)轉(zhuǎn)換例 char ch; int i; float f; double d;ch/i + f*d - (f+i)intintdoubledoubledoubledoubledoubledoubleintintdoubledoubledoubledoubledoubledouble10+a +i*f - d/l例 int i; float f; double d; long l;31有些場(chǎng)合不能實(shí)現(xiàn)自動(dòng)轉(zhuǎn)換,如flo

19、at x=15.4;int d=4; x%d存在語(yǔ)法錯(cuò)誤 強(qiáng)迫轉(zhuǎn)換 pp68 形式:類(lèi)型名表達(dá)式強(qiáng)迫轉(zhuǎn)換得到所需類(lèi)型的中間變量,原變量類(lèi)型不變32運(yùn)算符總結(jié)表 pp71優(yōu)先級(jí)函數(shù)、下標(biāo): () . -自增等:正負(fù) + - ! * & sizeof (類(lèi)型)乘除模:* / %加減: + - 位 : 關(guān)系: = 關(guān)系: = !=位: & 位: 位: |邏輯: & 邏輯: |條件:? :賦值:= += -= *= /= %= &= = |= =逗號(hào):,左結(jié)合性右結(jié)合性左結(jié)合性左結(jié)合性左結(jié)合性左結(jié)合性左結(jié)合性左結(jié)合性左結(jié)合性左結(jié)合性左結(jié)合性左結(jié)合性右結(jié)合性右結(jié)合性左結(jié)合性33 例 pp.73A computer manufacturing company has the following monthly compensation policy to their sales-persons: Minimum base salary:1500.00 Bonus for every computer sold:200.00 Commission on the total monthly sales:2 percent Gross salary = base sal

溫馨提示

  • 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)論