小華的部落格: 2010/2/21 - 2010/2/28

搜尋此網誌

網頁

星期一, 2月 22, 2010

C語言複習2

1. &&與& 容易混淆
&& 是邏輯運算
& 是AND運算

EX: 當 x=1,y=2
if(x&&y) 這邊會是1&&2=TRUE
if(x&y) 這邊會是1&2 = 0 = FALSE

2.條件式判斷
Expression1?Expression2:Expression3

EX: 當x>3 成立時,會執行x=1

XXX= x > 3?1:0

他等同於:
if(x>3)
XXX=1
else
XXX=0

3.逗號語法
Expression1,Expression2,Expression3,....ExpressionN
if( x+1,y+2,z<=3)
k=1
else
k=0
他會依序執行將 X+1,Y+2,直到遇到判斷式Z<=3時才會跳出if()
簡單說就是當Z<=3成立時(TRUE),會得到K=1,雖然沒有人會這樣子寫,但是可以這樣子用!

一般比較常看到的寫法會是:
while(ch=getch(),ch=='a')
{
...
}

4.陣列
array[i]等同於*(array+i)

C語言複習

1.變數有效區(Scope)
EX1:
{
int i; //只在括號內有效
}

EX2:
static int i; //只在本文件內有效

EX3:
extern int i; //不管幾個文件中都只有一個實體i;
//他等同於你在File Scope(你在寫#include的那個區塊)中宣告int i;
//只是為了可讀性所以加入extern 這個關鍵字,不加也是可以!

2.for/while/do..while/break/continue

while(Expression)
Statement


for(Expression1;Expression2;Expression3)
Statement


do{
Statement
}while(Expression)