class02變量、常量和數(shù)據(jù)類型.ppt
《class02變量、常量和數(shù)據(jù)類型.ppt》由會員分享,可在線閱讀,更多相關(guān)《class02變量、常量和數(shù)據(jù)類型.ppt(52頁珍藏版)》請在裝配圖網(wǎng)上搜索。
,面向?qū)ο蟪绦蛟O(shè)計與實踐,第2課變量、常量和數(shù)據(jù)類型,主講人:楊峰,Page1,本課主要內(nèi)容,變量的概念變量類型變量的輸入和輸出變量的賦值與初始化常量和字面量,Page2,1變量的基本概念,1.1什么是變量?(重要的基礎(chǔ)(o)?。?對象(Object)一個對象是內(nèi)存中的一片區(qū)域,這個對象對應(yīng)一個類型(type)類型不同,這片區(qū)域的大小就不同一個有名字的對象就是變量(variable)存儲在這個區(qū)域中的數(shù)就是變量的值(value)向程序中引入一個變量名稱的語句稱為變量的聲明語句(declarationstatement),doublesrcVoltage;,該語句聲明了一個名稱為srcVoltage的變量,該語句同時為變量srcVoltage分配了8個字節(jié)的內(nèi)存空間,這種聲明稱為變量定義(definition),intResistTotal=3;,變量定義時可以同時提供變量的初始值,該語句定義了一個名稱為ResistTotal的整型變量,初始值為3。,Page3,1.2變量的3個特性,特性1:名字(Identifer,標(biāo)識符)名字由字母,數(shù)字,下劃線組成,只能由字母或下劃線開頭(不能用數(shù)字開頭哦)C+的名字大小寫敏感(Num和num是不同的兩個名字),Page4,1.2變量的3個特性,名字建議的命名規(guī)范變量名要有描述性,能指明變量的作用變量的命名風(fēng)格有2種全小寫,下劃線分隔,如line_total大小寫混排,小寫開頭,不用下劃線,如srcVoltage,resistTotal。下劃線開頭的變量名一般用于庫函數(shù),應(yīng)用編程中變量名不要用下劃線開頭。變量名中最好不要用數(shù)字,也不要用單個的l做變量名,因為多數(shù)屏幕字體很難區(qū)分l和1.變量定義的位置:與K,則RED對應(yīng)0,BLUE對應(yīng)1,依此類推。也可以同時指定每個常量的值:(自動的咯(v)嗯?),enumescapesBELL=a,BACKSPACE=b,TAB=t,NEWLINE=n,VTAB=v,RETURN=r;(這種寫的方式(o)?。?也可以只給定第一個值:,enummonthsJAN=1,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC;(然后咧?),Page11,1變量的基本概念,類型(type)浮點型是二進(jìn)制不能精確表示的數(shù)據(jù)類型浮點型分float,double,longdouble在內(nèi)存中按IEEE754標(biāo)準(zhǔn)規(guī)定的二進(jìn)制格式存放浮點數(shù)。float占4個字節(jié),double8個字節(jié),longdouble沒有規(guī)定,只要大于等于double即可,VC中是12個字節(jié)float能表示的最小實數(shù)約10-7,double能表示的最小實數(shù)約10-15對于除0,或0/0,結(jié)果是NaN(NotaNumber),1變量的基本概念,類型(type)string類型為了方便操作字符串,C+在標(biāo)準(zhǔn)庫中提供了一個字符串?dāng)?shù)據(jù)類型string(嘛(v)?),Page12,stringprompt=請輸入電壓值:;coutprompt;,Page13,1變量的基本概念,類型(type)typedef語句typedef語句聲明一個新的類型名字typedef的作用是給一個已有的數(shù)據(jù)類型一個別名,通常是為了更簡明和清晰,typedefunsignedcharBYTE;typedefunsignedshortWORD;typedeflonglongINT64;,Page14,1.2變量的3個特性,特性3:值(value)用賦值運(yùn)算符=為變量賦值(assignvalue)賦值就是將值value保存到該變量對應(yīng)的內(nèi)存區(qū)域srcVoltage=3.0;,將數(shù)值3.0存放到srcVoltage所占用的8個字節(jié)的內(nèi)存中。變量在賦值或初始化以前,存放在對應(yīng)內(nèi)存中的值是一個垃圾值。,賦值時要防止超范圍的回繞。比如一個unsignedshort變量,可以表示065535的整數(shù),如果給它賦值65537,超出范圍就會回繞到1。,Page15,1.3變量的輸入和輸出,數(shù)值變量的輸入輸出C+的變量輸出將變量的值輸出到屏幕通過標(biāo)準(zhǔn)輸出流cout實現(xiàn),coutsrcVoltage;,將變量srcVoltage的值輸出到屏幕上。為了更清楚的表示輸出的含義,增加一些描述的字符串:,cout電壓源電壓=srcVoltager1;,從鍵盤讀入變量r1的值。要求用戶輸入之前,應(yīng)該給出提示:,coutr1r2r3;,從鍵盤讀入3個數(shù),第一個數(shù)賦給r1,第二個數(shù)賦給r2,第3個數(shù)賦給r3注意輸入的3個數(shù)之間需要用空格分隔,不能用,分隔,還要注意輸入的數(shù)值與變量類型要匹配。如本例中3個變量都是浮點數(shù),所以應(yīng)輸入1.02.03.0這樣的序列。如果3個變量都是整型,就應(yīng)輸入123這樣的序列。如果不匹配,讀入到變量的值就不正確。,Page17,1.3變量的輸入和輸出,數(shù)值變量的輸入輸出C+的變量輸入,/顯示用戶輸入的數(shù)據(jù)cout計算輸入條件:endl;cout電壓源電壓=srcVoltageendl;cout電阻值r1=r1r2=r2r3=r3ten;cinunit;cout百位數(shù)是hundred十位數(shù)是ten個位數(shù)是unitendl;,實現(xiàn)逐位讀入3位數(shù)的每一位字符并顯示,Page25,1.3變量的輸入和輸出,字符變量的輸入輸出C+的字符輸入方法二:用標(biāo)準(zhǔn)輸入流的get()方法,cout請輸入一個100999間的整數(shù);cin.get(hundred);cin.get(ten);cin.get(unit);cout百位數(shù)是hundred十位數(shù)是ten個位數(shù)是unitendl;,Page26,1.3變量的輸入和輸出,字符變量的輸入輸出C的字符輸出方法一:用printf()函數(shù),轉(zhuǎn)換說明符用%c方法二:用putchar()或_putch()函數(shù),如putchar(hundred);或_putch(hundred);,Page27,1.3變量的輸入和輸出,字符變量的輸入輸出C的字符輸入用getchar()函數(shù),coutname;/標(biāo)準(zhǔn)輸入流的流提取運(yùn)算符以空格符為分隔,只能得到空格符前的字符串cout得到的name是nameendl;,由于cin以空格作為分隔符,所以當(dāng)輸入yangfeng時,只能讀出yang到name中,Page30,1.3變量的輸入和輸出,字符串變量的輸入輸出C+的字符串輸入方法二:用全局函數(shù)getline()讀入一行內(nèi)容,stringname;/C+的字符串cout請再次用拼音輸入姓名(空格分隔);getline(cin,name);/用全局函數(shù)getline()獲取字符串,可以輸入一行內(nèi)的所有內(nèi)容,并可以使用C+的字符串cout得到的name是nameendl;,name中輸入的就是完整的“yangfeng”,Page31,1.3變量的輸入和輸出,字符串變量的輸入輸出C+的字符串輸入方法三:用標(biāo)準(zhǔn)輸入流的getline()方法,charname50;/C風(fēng)格的字符串cout請用拼音輸入姓名(空格分隔);cin.getline(name,50);/用標(biāo)準(zhǔn)輸入流的成員函數(shù)getline()獲取字符串,可以輸入一行內(nèi)的所有內(nèi)容,但只能使用C風(fēng)格的字符串cout得到的name是nameradius;doubleperimeter=2*3.1415926*radius;doublearea=3.1415926*radius*radius;cout圓的半徑為radiusendl;cout圓的周長為perimetert圓的面積為arearadius;doubleperimeter=2*PI*radius;doublearea=PI*radius*radius;cout圓的半徑為radiusendl;cout圓的周長為perimetert圓的面積為areaendl;,Page40,2常量,常量的定義與變量相同,前面加const并通過定義式初始化常量的值如果需要修改這個值,只需要在程序首部改動這個值,重新編譯即可常量的命名習(xí)慣采用全大寫所有在程序中會出現(xiàn)的數(shù)值型的字面值都應(yīng)該定義為常量(除了0和1),注意概念:教材2.3.5節(jié)中把這種量稱為常變量,Page41,3字面量,在代碼中出現(xiàn)的固定值就稱為字面量或字面值(literal)字面量不是對象,不在內(nèi)存中占據(jù)一個存儲區(qū)域,而只是程序代碼中的一串字符而已。常量constant是值初始化以后就不能改變的變量。常量是對象,有名字,類型和值,在內(nèi)存中占用一定的區(qū)域(注意區(qū)別(o)?。?注意概念:字面量就是教材中2.2節(jié)講的常量,Page42,3字面量,因為C中沒有const關(guān)鍵字,所以在C中constant(常量)就對應(yīng)C+中的literal(字面量)搞什么呀這混亂ING,Page43,3.1字符字面量,字符字面量是以單引號包圍的一個字符可打印字符,如a,A,#,%不可打印的字符加一個轉(zhuǎn)義符(escape),如r回車,n換行,t跳格,反斜杠,“雙引號,0ASCII碼0空字符加轉(zhuǎn)義符也可以表示所有的字符,格式為dddxhh3位八進(jìn)制或2位16進(jìn)制。如007表示響鈴一聲,也可寫成x07,Page44,3.1字符字面量,顯示字符對應(yīng)的ASCII碼charca=a;/換成任一一個字符如,A,r,n,t,007intna=ca;coutcatnatoctshowbasenathexnaendl;標(biāo)準(zhǔn)流輸出操作符輸出字符型會以字符的形式輸出。由于字符型里保存的是字符對應(yīng)的ASCII碼,實際上就是一個字節(jié)的整型,為了顯示對應(yīng)的ASCII,把ca賦值給一個整型,就可以輸出ca對應(yīng)ASCII的數(shù)值了,Page45,3.2字符串字面量,字符串變量是以雙引號“”包圍的一串字符串中每一個字符的取值按照上面字符字面量的格式coutcoutBbCDn;看看什么效果。,Page46,3.3符號常量symbolconstant,C語言中沒有const常量,要定義的值需要用符號常量。符號常量通過預(yù)編譯指令define實現(xiàn),#definePI3.1415926,雖然看起來效果相同,但是注意二者有根本的區(qū)別:符號常量在程序中出現(xiàn)的時候是一個字面量。符號常量在預(yù)編譯時就用3.1415926替換了程序中所有的PI,所以編譯器根本就看不到PI這個名稱。,constdoublePI=3.1415926;,這個PI是double型,在內(nèi)存中對應(yīng)8個字節(jié)的空間,編譯器可以看到這個名稱,也可以根據(jù)它的類型進(jìn)行數(shù)據(jù)類型檢查。因此,在C+程序中盡量不使用符號常量。,Page47,3.4整型字面量,整型字面量缺省對應(yīng)int型以0開頭表示8進(jìn)制,以0 x開頭表示16進(jìn)制否則就是10進(jìn)制以U或u結(jié)尾表示無符號的整數(shù),對應(yīng)unsignedint型以L結(jié)尾表示長整型,超過正負(fù)20億的L就是longlong型,UL對應(yīng)unsignedlong型(不要使用小寫的l結(jié)尾),Page48,3.5浮點型字面量,浮點型字面量有2種常見形式,第一種有小數(shù)點,第二種指數(shù)形式可用符號數(shù)字部分指數(shù)部分的形式表述符號表示正負(fù);數(shù)字部分:如果后面沒有指數(shù)部分,數(shù)字部分必須有小數(shù)點;如果后面有指數(shù)部分,可以沒有小數(shù)點;小數(shù)點后有數(shù)字,小數(shù)點前只有一個0,這個0可以省略;指數(shù)部分:e開頭,e后面只能是整數(shù),可正可負(fù)。以f結(jié)尾表示float型。以L結(jié)尾表示longdouble型。啥也沒有double型。,Page49,3字面量,總結(jié)字面量不是對象,沒有名字,沒有對應(yīng)內(nèi)存空間,也沒有類型,只是代碼中的一串字符而已編譯器根據(jù)字面量提供的信息構(gòu)造一個臨時變量,這個臨時變量的類型如何確定完全根據(jù)這串字符提供的信息確定單引號包圍就是字符型,Page50,3字面量,雙引號包圍就是字符串型沒有小數(shù)點也沒有e就是整型整型后面帶個U就是無符號整型,帶個L就是長整型有小數(shù)點或e就是浮點型浮點型后面帶個f就是float,帶個L就是longdouble,啥也不帶就是double,Page51,TheEnd,- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- class02 變量 常量 數(shù)據(jù)類型
鏈接地址:http://appdesigncorp.com/p-11495061.html