第2章 簡(jiǎn)單數(shù)據(jù)及運(yùn)算_第1頁(yè)
第2章 簡(jiǎn)單數(shù)據(jù)及運(yùn)算_第2頁(yè)
第2章 簡(jiǎn)單數(shù)據(jù)及運(yùn)算_第3頁(yè)
第2章 簡(jiǎn)單數(shù)據(jù)及運(yùn)算_第4頁(yè)
第2章 簡(jiǎn)單數(shù)據(jù)及運(yùn)算_第5頁(yè)
已閱讀5頁(yè),還剩69頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、-2-3-4-5-6-p常見數(shù)據(jù)類型的長(zhǎng)度并不適用于所有系統(tǒng)。常見數(shù)據(jù)類型的長(zhǎng)度并不適用于所有系統(tǒng)。pC+C+規(guī)范要求:規(guī)范要求:shortshort的長(zhǎng)度不超過的長(zhǎng)度不超過intint,intint長(zhǎng)度不超過長(zhǎng)度不超過longlong 很多系統(tǒng)在實(shí)現(xiàn)時(shí)會(huì)有差異。很多系統(tǒng)在實(shí)現(xiàn)時(shí)會(huì)有差異。p可以通過可以通過sizeofsizeof運(yùn)算符判斷某種類型占用的字節(jié)數(shù)。運(yùn)算符判斷某種類型占用的字節(jié)數(shù)。-7-#include int main()std:cout“Size of int: “sizeof(int)“n”;std:cout“Size of short: “sizeof(short)“n”;

2、std:cout“Size of long: ”sizeof(long)“n”;std:cout“Size of char: “sizeof(char)“n”;std:cout“Size of bool: “sizeof(bool)“n”;std:cout“Size of float: “sizeof(float)“n”;std:cout“Size of double: “sizeof(double)“n”;return 0;psizeofsizeof計(jì)算某種數(shù)據(jù)類型或某個(gè)變量占用的字節(jié)數(shù)。計(jì)算某種數(shù)據(jù)類型或某個(gè)變量占用的字節(jié)數(shù)。pVC6VC6中不支持中不支持long longlong lon

3、g類型,類型,Dev-C+Dev-C+支持。支持。-8-p浮點(diǎn)數(shù)一定是帶符號(hào)的,不能用浮點(diǎn)數(shù)一定是帶符號(hào)的,不能用unsignedunsigned修飾。修飾。-9-pcharchar也可以存儲(chǔ)很小的整數(shù)(對(duì)應(yīng)的也可以存儲(chǔ)很小的整數(shù)(對(duì)應(yīng)的ASCIIASCII碼值),但碼值),但 不提倡該用法。不提倡該用法。-10-pC+C+中標(biāo)識(shí)符的基本規(guī)則:只能由數(shù)字、字母、中標(biāo)識(shí)符的基本規(guī)則:只能由數(shù)字、字母、_ _構(gòu)成;構(gòu)成; 不能以數(shù)字開頭;不能使用不能以數(shù)字開頭;不能使用C+C+關(guān)鍵字。關(guān)鍵字。p變量名要符合標(biāo)識(shí)符的規(guī)則,可以包含字母、數(shù)字、變量名要符合標(biāo)識(shí)符的規(guī)則,可以包含字母、數(shù)字、_ _, 不

4、能包含空格和特殊字符不能包含空格和特殊字符p相同類型的變量可以在一行定義。相同類型的變量可以在一行定義。pC+C+嚴(yán)格區(qū)分大小寫,嚴(yán)格區(qū)分大小寫,highScorehighScore和和highscorehighscore為不同變量。為不同變量。p應(yīng)該使用具有描述性的變量名,易于閱讀和理解。應(yīng)該使用具有描述性的變量名,易于閱讀和理解。Dram_rectanglee_myfriendend1_peointmy$int main()double x; double y; double z;z=x*y;return 0; int main() double width; double height;

5、 double area;area=width * length;return 0; -12-pC+C+中的中的= =用來為變量賦值。用來為變量賦值。p可以對(duì)變量多次執(zhí)行賦值操作??梢詫?duì)變量多次執(zhí)行賦值操作。p變量定義時(shí)同時(shí)變量定義時(shí)同時(shí)“賦值賦值”稱為初始化,常量在定義時(shí)必須稱為初始化,常量在定義時(shí)必須 初始化。初始化。-13-#include int main()unsigned short width=5, length;length=10;unsigned short area = width * length;std:coutWidth: widthstd:endl;std:cout

6、Length: lengthstd:endl;std:coutArea: areastd:endl;return 0;p標(biāo)準(zhǔn)庫(kù)中的標(biāo)準(zhǔn)庫(kù)中的endlendl也表示輸出換行符,與也表示輸出換行符,與“n” “n” 等價(jià)。等價(jià)。-14-#include int main()int rateInt = 5.6;std:cout“rateInt: “rateIntstd:endl;return 0;p高精度數(shù)據(jù)賦值給低精度數(shù)據(jù)類型時(shí),會(huì)產(chǎn)生精度損失,高精度數(shù)據(jù)賦值給低精度數(shù)據(jù)類型時(shí),會(huì)產(chǎn)生精度損失, 編譯器通常會(huì)給出警告。編譯器通常會(huì)給出警告。p浮點(diǎn)數(shù)賦值給整數(shù)時(shí),會(huì)截?cái)嘈?shù)部分,不采用四舍五入浮點(diǎn)數(shù)

7、賦值給整數(shù)時(shí),會(huì)截?cái)嘈?shù)部分,不采用四舍五入。-15-p使用使用typedeftypedef并沒有創(chuàng)建一種新的數(shù)據(jù)類型,只是將并沒有創(chuàng)建一種新的數(shù)據(jù)類型,只是將 USHORT USHORT作為作為unsigned shortunsigned short的簡(jiǎn)捷表示。的簡(jiǎn)捷表示。-16-17-n如,如,323L、0 x4a2L、-03342l-18-p整數(shù)字面常量可以使用其它進(jìn)制,整數(shù)字面常量可以使用其它進(jìn)制, 前綴前綴0 x0 x或或0X0X表示表示1616進(jìn)制,前綴進(jìn)制,前綴0 0表示表示8 8進(jìn)制。進(jìn)制。如,十進(jìn)制的如,十進(jìn)制的6565,還可以表示為,還可以表示為01010101、0 x41

8、0 x41-19-H e l l on 0-20-p聲明符號(hào)常量時(shí),必須要對(duì)其初始化,事后不允許對(duì)符號(hào)聲明符號(hào)常量時(shí),必須要對(duì)其初始化,事后不允許對(duì)符號(hào) 常量進(jìn)行賦值。常量進(jìn)行賦值。p通常將符號(hào)常量名稱全部大寫,以便于識(shí)別。通常將符號(hào)常量名稱全部大寫,以便于識(shí)別。p編寫代碼時(shí)應(yīng)盡量減少字面常量的使用,比如多處使用編寫代碼時(shí)應(yīng)盡量減少字面常量的使用,比如多處使用 字面常量字面常量50005000,一旦變更難以替換和維護(hù);使用符號(hào)常量,一旦變更難以替換和維護(hù);使用符號(hào)常量 后,只需要變更一處常量定義。后,只需要變更一處常量定義。-21-p#define#define是預(yù)處理編譯指令,不是語句,結(jié)尾

9、不能加分號(hào)。是預(yù)處理編譯指令,不是語句,結(jié)尾不能加分號(hào)。p在預(yù)處理階段(編譯之前),對(duì)在預(yù)處理階段(編譯之前),對(duì)#define#define執(zhí)行簡(jiǎn)單的文本執(zhí)行簡(jiǎn)單的文本 替換,將程序中所有替換,將程序中所有KILLBONUSKILLBONUS替換為替換為50005000p通過通過#define#define定義符號(hào)常量是為了與定義符號(hào)常量是為了與C C語言保持兼容,這種語言保持兼容,這種 常量沒有指定數(shù)據(jù)類型,編譯器無法進(jìn)行類型檢查,不常量沒有指定數(shù)據(jù)類型,編譯器無法進(jìn)行類型檢查,不 建議使用。建議使用。-22-p通過通過enumenum創(chuàng)建名稱為創(chuàng)建名稱為COLORCOLOR的枚舉類型。的

10、枚舉類型。pREDRED、BLUEBLUE、GREENGREEN、WHITEWHITE、BLACKBLACK是是5 5個(gè)顏色常量,缺省個(gè)顏色常量,缺省 情況下對(duì)應(yīng)的值為情況下對(duì)應(yīng)的值為0 0、1 1、2 2、3 3、4 4。p第第2 2個(gè)個(gè)COLORCOLOR類型,類型,REDRED值為值為100100,BLUEBLUE為為101101,GREENGREEN為為500500, WHITE WHITE為為501501,BLACKBLACK為為700700。p使用枚舉常量的優(yōu)勢(shì):代碼中不是使用無意義的數(shù)字,使用枚舉常量的優(yōu)勢(shì):代碼中不是使用無意義的數(shù)字, 如如501501,而是使用符號(hào)化的名字,如

11、,而是使用符號(hào)化的名字,如WHITEWHITE。-23-24-24#include #include using namespace std;using namespace std;intint main() main() const const intint PRICE = 30; PRICE = 30; intint num, total; num, total; float v, r, h; float v, r, h; num = 10; num = 10; total = num total = num * * PRICE; PRICE; coutcout total total e

12、ndlendl; ; r = 2.5; r = 2.5; h = 3.2; h = 3.2; v = 3.14159 v = 3.14159 * * r r * * r r * * h; h; coutcout v v endlendl; ; return 0; return 0; 常量常量變量變量變量先聲變量先聲明后使用明后使用符號(hào)常量符號(hào)常量-25-25#include #include using namespace std;using namespace std;intint main() main() const const intint PRICE = 30; PRICE = 30

13、; intint num, total; num, total; float v, r, h; float v, r, h; num = 10; num = 10; total = num total = num * * PRICE; PRICE; coutcout total total endlendl; ; r = 2.5; r = 2.5; h = 3.2; h = 3.2; v = 3.14159 v = 3.14159 * * r r * * r r * * h; h; coutcout v v endlendl; ; return 0; return 0; shortshortu

14、nsigned shortunsigned short 2 2字節(jié)字節(jié)intintunsigned intunsigned int 4 4字節(jié)字節(jié)longlongunsigned longunsigned long 4 4字節(jié)字節(jié)整型變量聲明整型變量聲明整型變量整型變量整型常量整型常量-26-&字符常量 單引號(hào)括起來的一個(gè)字符,如:a, D, ?, $a, D, ?, $&字符變量 用來存放字符常量例:char c1, c2;char c1, c2; c1 = a; c1 = a; c2 = A; c2 = A;&字符數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式 以ASCIIASCII碼存儲(chǔ),占1 1字節(jié),用7 7

15、個(gè)二進(jìn)制位-27-&字符數(shù)據(jù)的使用方法 字符數(shù)據(jù)和整型數(shù)據(jù)之間可以運(yùn)算。 字符數(shù)據(jù)與整型數(shù)據(jù)可以互相賦值。&字符串常量例:CHINA:CHINA a a a a所以:char c;char c; c=a; c=a;-28-&布爾型變量的說明:例:boolbool flag flag; ;&布爾型數(shù)據(jù)的取值:只有 falsefalse 和 true true 兩個(gè)值-29-29例: intint a = 3; a = 3; double f = 3.56; double f = 3.56; char c = a; char c = a; intint c(5); c(5);Page 29-30-

16、30例如:float c;float c;intint a, b; a, b;c = float(a) / float(b); c = float(a) / float(b); 或 c = (float)a / (float)b; c = (float)a / (float)b; -31-31&autoauto 屬于一時(shí)性存儲(chǔ),其存儲(chǔ)空間可以被若干變量多次覆蓋使用。®isterregister 存放在通用寄存器中。&externextern 在所有函數(shù)和程序段中都可引用。&staticstatic 在內(nèi)存中是以固定地址存放的,在整個(gè)程序運(yùn)行期間都有效。-32-33-34-p編譯器忽略空白

17、,但標(biāo)識(shí)符中間不能包含空格。編譯器忽略空白,但標(biāo)識(shí)符中間不能包含空格。p用于代碼縮進(jìn)的制表符和空格屬于空白,良好和一致的縮進(jìn)用于代碼縮進(jìn)的制表符和空格屬于空白,良好和一致的縮進(jìn) 有助于識(shí)別程序塊和函數(shù)的開始和結(jié)束。有助于識(shí)別程序塊和函數(shù)的開始和結(jié)束。-35-temp = a; a = b;b = temp;-36-37-38-39-40-41-42-43-44-45-例 :輸出單個(gè)字符#include /或者包含頭文件stdio.h: #include using namespace std;int main( )char a,b,c; a=B;b=O;c=Y; putchar(a);putc

18、har(b);putchar(c);putchar(n); putchar(66);putchar(79);putchar(89);putchar(10); return 0;運(yùn)行結(jié)果為BOYBOY-46-47-48-p假設(shè)假設(shè)y y的值為的值為2020,語句將使,語句將使x x變?yōu)樽優(yōu)?333,整個(gè)語句也有,整個(gè)語句也有1 1個(gè)返回個(gè)返回 值(即值(即x x的值),整個(gè)語句也是的值),整個(gè)語句也是1 1個(gè)表達(dá)式。個(gè)表達(dá)式。p表達(dá)式表達(dá)式y(tǒng)+13y+13,返回,返回y y和和1313的和,返回值存儲(chǔ)到的和,返回值存儲(chǔ)到x x中。中。p表達(dá)式表達(dá)式x=y+13x=y+13,返回,返回x x的值,

19、返回值存儲(chǔ)到的值,返回值存儲(chǔ)到z z中。中。p表達(dá)式表達(dá)式z=x=y+13z=x=y+13,返回,返回z z的值,該值被系統(tǒng)丟棄。的值,該值被系統(tǒng)丟棄。-49-#include int main()int x=0,y=72,z=0;std:coutBefore, x: x y: y;std:cout z: zstd:endl;z=x=y+13;std:coutAfter, x: x y: y;std:cout z: zstd:endl;return 0;-50-51-52-53-p賦值運(yùn)算符將右值保存到左值對(duì)應(yīng)的變量中。賦值運(yùn)算符將右值保存到左值對(duì)應(yīng)的變量中。p常量或表達(dá)式可以作為右值,但不能

20、作為左值。常量或表達(dá)式可以作為右值,但不能作為左值。p95=grade;95=grade;和和y+13=x;y+13=x;都是非法的賦值運(yùn)算。都是非法的賦值運(yùn)算?!纠?_6】交換兩個(gè)整數(shù)交換兩個(gè)整數(shù) 思路:(思路:(1)增加一個(gè)整型變量輔助交換)增加一個(gè)整型變量輔助交換 完整源代碼:完整源代碼:2_6.txt (2)不用任何輔助變量)不用任何輔助變量 2_6_2.txt-54-pC+C+中沒有乘方運(yùn)算符,其它語言中的乘方運(yùn)算(中沒有乘方運(yùn)算符,其它語言中的乘方運(yùn)算(x2x2),在),在 C+ C+中表示異或運(yùn)算。中表示異或運(yùn)算。如:如: int a=15, b=8, c; double x(

21、15), y=8, z; c= a+b; c=a-b; c=a*b; c=a/b; c=a%b; z=x+y; z=x-y; z=x*y; z=x/y; z=x%y; 如:如:char m=b,n; n=m + A a; n=m +2;-55-#includeint main()char m=b,n; n=m+A-a;std:coutn=nn;n=m+2;std:coutn=nn;std:coutm +2=m+2std:endl;-56-p求模運(yùn)算的求模運(yùn)算的2 2個(gè)數(shù)必須為整型或字符數(shù)據(jù),否則編譯器報(bào)錯(cuò)。個(gè)數(shù)必須為整型或字符數(shù)據(jù),否則編譯器報(bào)錯(cuò)。【例例2_7】輸出一個(gè)整數(shù)的個(gè)位數(shù)、十位數(shù)、百

22、位數(shù)輸出一個(gè)整數(shù)的個(gè)位數(shù)、十位數(shù)、百位數(shù)完整源代碼:完整源代碼:2_7.txt-57-58-59-p前置前置+先遞增先遞增x x的值(變?yōu)榈闹担ㄗ優(yōu)? 6),再將其值賦給),再將其值賦給sumsum,最終,最終x x 和和sumsum的結(jié)果都為的結(jié)果都為6 6。p后置后置+先取先取x x的值(為的值(為5 5),賦值給),賦值給sumsum,再將其值遞增,最終,再將其值遞增,最終 x x為為6 6而而sumsum為為5 5。-60-p學(xué)習(xí)編程時(shí),不必要記住所有運(yùn)算符的優(yōu)先級(jí),查看表學(xué)習(xí)編程時(shí),不必要記住所有運(yùn)算符的優(yōu)先級(jí),查看表4.14.1。p對(duì)表達(dá)式中運(yùn)算符優(yōu)先級(jí)有疑問時(shí),可以通過加括號(hào)的方法對(duì)表達(dá)式中運(yùn)算符優(yōu)先級(jí)有疑問時(shí),可以通過加括號(hào)的方法 明確計(jì)算的順序,括號(hào)不會(huì)影響性能。明確計(jì)算的順序,括號(hào)不會(huì)影響性能。-61-62-pmyAgemyAge和和yourAgeyourAge不等,關(guān)系

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論