資料型態名稱用途儲存空間儲存值範圍 short 短整數儲存較小的 整數 2 bytes-32,768~32,767 Int 整數儲存整數 16 位元 : 2 bytes 32 位元 : 4 bytes 16 位元 : 32,768~32, 位元 : -2,147,483,648 ~ 2,147,483,647 long 長整數儲存較大的 整數 4 bytes-2,147,483,648 ~ 2,147,483,647 bool 布林值儲存代表真 或假的數 1 bit 1:true( 真 ) 2:false( 假 )
資料型態名稱用途儲存空間儲存值範圍 unsigned short 短正整 數 儲存較小的 正整數 2 bytes0~65,353 unsigned Int 或 unsigned 正整數儲存正整數 16 位元 : 2 bytes 32 位元 : 4 bytes 16 位元 : 0~65, 位元 : 0 ~ 4,294,967,295 Unsigned long 長正整 數 儲存較大的 正整數 4 bytes0 ~ 4,294,967,295
資料型態名稱用途儲存空間儲存值範圍 float 浮點數較小的實數 4 bytes3.4E10 38 ~ 3.4E double 倍精度 浮點數 實數 8 bytes1.7E ~ 1.7E char 字元 1 bytes-128 ~ 127
Int ia[3][6]; a[0][0]a[0][1]a[0][2]a[0][3]a[0][4]a[0][5] a[1][0]a[1][1]a[1][2]a[1][3]a[1][4]a[1][5] a[2][0]a[2][1]a[2][2]a[2][3]a[2][4]a[2][5] 第一列 第二列 第三列 第一行第二行第三行第四行第五行第六行
a[0][0] a[0][1] a[0][2] a[0][3] a[0][4] a[0][5] a[1][0] a[1][1] a[1][2] a[1][3] a[1][4] a[1][5] a[2][0] a[2][1] a[2][2] a[2][3] a[2][4] a[2][5] 第一列第一列 第二列第二列 第三列第三列
ia[0][4] spans = 1000+(0*6+4)*4=1016 1016~1019 Ia[2][4] spans = 1000+(2*6+4)*4=1064 1064~1067
8 進位: 124 ÷8 =15 ……4 15 ÷8 = 1 ……7 1 ÷8 = 0 ……1 進位: 124 ÷16 = 7 ……12 7 ÷16 = 0 ……7 07C
換算成十進位 8 進位: *8 0 +7*8 1 +1*8 2 +0*8 3 =4+7*8+1*64 = = 進位: 0 7 C * * *16 2 =12+7*16= =124
指標 VS. 陣列 整數陣列假設的記億體位置指標語法陣列元素 *(pi3) *(pi3+1) *(pi3+2) *(pi3+3) *(pi3+4) pi3[0] pi3[1] pi3[2] pi3[3] pi3[4]
#include using namespace std; Int main() { int i; int *pi=new int(-5); int *pi2=new int(4); int pi3[5]={-3,-1,2,3,4}; for(int i=0;i<5;i++) cout<<*(pi3+i)<<“\n”; 印出 pi3 陣列的值
for(int i=0;i<5;i++) if(*(pi3+i)>=0) { pi=pi2; *pi=*pi+2; *pi2=*pi2-1; pi3[i]=*pi2; } Pi3[5]={ -3,-1,2,3,4} *Pi=-5*Pi2=4 i=0 pi3[0]=-3 i=2 pi3[2]=2 i=1 pi3[1]=-1 i=3 pi3[3]=3 i=4 pi3[3]=4 pi=4 pi=6 pi2=5 pi3[2]=5 pipi2 4 pipi2 6 pipi2 5 pi=5 pi=7 pi2=6 pi3[2]=6 pi=6 pi=8 pi2=7 pi3[2]=7 pipi2 7 pipi2 6,5,6,7
for(int i=0;i<5;i++) cout<<*(pi3+i)<<“\n”; for(int i=1;i<4;i++) pi3[i]=*(pi3+i+1)+3; for(int i=0;i<5;i++) cout<<*(pi3+i)<<“\n”; Pi3[5]={ -3,-1},5,6,7 印出 pi3 陣列的值 pi3[5]={ -3,-1},5,6,7 pi3[1]=pi3[2]+3 pi3[1]=5+3=8 pi3[2]=pi3[3]+3 pi3[2]=6+3=9 pi3[3]=pi3[4]+3 pi3[3]=7+3=10 印出 pi3 陣列的值 pi3[5]={ -3,8},9,10,7
傳值、傳址、傳參考的比較 傳值呼叫傳址呼叫傳參考呼叫 原型宣告 void AAA(int,int);void pAAA(int *,int *)void rAAA(int &,int &); 函數呼叫 AAA(i,j);pAAA(&i,&j);rAAA(I,j); 函數宣告 void AAA(int v1,int v2)void pAAA(int *v1,int *v2)void rAAA(int &v1,int &v2) 參數是 否改變 否是是
AAA(i,j) void AAA(int v1,int v2) { int temp=v2; v2=v1+3; v1=temp -3; } i=1,j=2 1 v1 1 i 複製 2 v2 2 j 複製 3 2 temp -2
pAAA(&i,&j) void pAAA(int *v1,int *v2) { int temp=*v2; *v2=*v1+2; *v1=temp -2; } i=1,j=2 1 i 指標值 i 的記億體位置 v1 指向 2 j 指標值 j 的記億體位置 v2 指向 2 temp 3 0
rAAA(i, j) void rAAA(int &v1,int &v2) { int temp=v2; v2=v1+4; v1=temp -4; } i=0,j=3 i v1 j v2 3 temp 304