意想不到的用法 if, for ,while, return 統整大全
CH1:if, for ,while, return
前言:
如果你都懂那些指令怎麼用,但你還不知道特殊用法,你可以跳到最下面。
if, while,return 有共同特徵:都有特殊用法,至少要接1個參數,可接多個參數,最右邊的參數用來判斷,其他的只在判斷前執行
註:[]中括弧代表內容可有可無
語法:
>for()
先從常見的開始
語法:
for([state1];[cond1];[state2])
{
[[content];]
}
執行順序:
state1->cond1->content->state2->cond1->content->... (repeatedlu)
執行迴圈時機:cond1=true 或甚麼都不打
>while()
語法:
while([state1,][state2,][...,][staten,]cond1)
{
[[content];]
}
執行順序:
state1->state2->...->staten->cond1->content-> state1->state2->...->staten->cond1->content (repeatedly)
執行迴圈時機:cond1=true
>do-while();
語法:
do
{
[[content];]
}while([state1,][state2,][...,][staten,]cond1);
執行順序:
content->state1->state2->...->staten->cond1->content-> state1->state2->...->staten->cond1 (repeatedly)
執行迴圈時機:cond1=true
>if()
語法:
if([state1,][state2,][...,][staten,]cond1)
{
[[content];]
}
state1->state2->...->staten-.cond1->content(只執行一次)
執行迴圈時機:cond1=true
return()
語法:
return ;
or
return n;
or
return n<5;
or
return (n);
or
return n++,n;
or
return (n++,n);
陷阱三顆星1:
常見:(可以看下面範例)
1)do-while();後面一定要有分號
2)if(),for(),while(),do-while()後若沒有括弧,代表只有後面一組程式碼在迴圈內(範例0)
3)根據2)所以在do和while()中一定要有分號或括弧,如:do{} while(); or do ; while();
4)for()裡一定要有兩個分號,如:for(;;) (範例2A)
5)參數數量:for(;;):>=0 if(),while(),do-while():>=1 (範例3A,3B)
6)for(;cond1;)若cond1沒有寫則是要執行(範例2A,2B)
7)if會捨近求遠,意思是else 會與最近的if配對(範例1)
範例0:
if(n==45)k++;cout<<k;
as
if(n==45){k++;}cout<<k;
範例1:(重要,老師上課講過)
if(k==3)
if(n==5) k++;
else n=3;
as
if(k==3){
if(n==5){ k++;}
else {n=3;}
}
範例2A:
for():
for(;;)
{}
as
for(;true;)
{}
//NO:for(){}//complier error
範例2B:
while():
while(1){}
//NO:while() //compiler error:too few arguments
特殊用法:
最右邊的參數用來判斷,其他的只在判斷前執行
範例3A:
while(cin>>n ,n)
{
cout<<n<<endl;
}
等於
cin>>n
while(n)
{
cout<<n<<endl;
cin>>n;
}
範例3B:
do
{
cout<<n;
cout<<n;
}while(cin>>n);
as
do
{
cout<<n;
cin>>n;
}while(1);
Comments
Post a Comment