While我真的很不常用....while(條件),條件為0或者不成立,則跳出迴圈,否則會執行回圈內的區域。
while(v2){ // V2 != 0 , while 為true則做迴圈區域
int temp = v2 ;
v2 = v1 % v2;
v1 = temp;
}
箭頭運算子(Arrow, ->)(*p).foo; // 提領p取得一個物件,然後擷取其中名為foo的成員 p->foo; // 等同上面作法
輸出入運算子(IO, >> <<),我會忘記左右邊...
>> // 從istream讀取輸入值 << // 將輸出值寫到 ostream左值與右值...
左值(L-Value)可以放在賦值操作的左右兩側,變數永遠是左值
右值(R-Value)只可以放在賦值操作的右側,字面常數是右值,所以不能賦予東西。
if(變數)....當變數為ture或不為零的時候則執行
if(!變數)...當變數為false或0的時候則執行
int i = 0;
if(i){ //假如 i = true = 1
cout << "i!=0" <<endl; //i=0=false 所以不執行這個
}else{
cout << "i=0" <<endl; //顯示這個
}
if(!i){ //假如 i = false = 0
cout << "i=0" <<endl;
}else{
cout << "i!=0" <<endl;
}
local.global.static這三個東西的特性...輸出結果:
[foo1] local: 1, static: 1, global: 1
[foo2] local: 1, static: 1, global: 2
[foo1] local: 1, static: 2, global: 3
[foo2] local: 1, static: 2, global: 4
using namespace std;
int globalVar;
void foo1()
{
int localVar = 0;
static int staticVar = 0;
localVar++;
staticVar++;
globalVar++;
printf("[foo1] local: %d, static: %d, global: %d\n",
localVar, staticVar, globalVar);
}
void foo2()
{
int localVar = 0;
static int staticVar = 0;
localVar++;
staticVar++;
globalVar++;
printf("[foo2] local: %d, static: %d, global: %d\n",
localVar, staticVar, globalVar);
}
int main(int argc, char *argv[])
{
foo1();
foo2();
foo1();
foo2();
system("PAUSE");
return EXIT_SUCCESS;
}