c++forwhile

「c++forwhile」の編集履歴(バックアップ)一覧はこちら

c++forwhile」(2012/05/31 (木) 17:22:34) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

*繰り返し文 繰り返し文とはある回数の数だけ処理を繰り返すときに用いる。 今回はメジャーな繰り返し文2つを挙げる。 **for文 for([初期値];[条件式];[増減値]) { [処理] } 上記が記述例である。初期値から増減値分の変化が起こり、条件式の条件の間、 処理を繰り返すという内容である。 繰り返し文として一番多く用いられるものだろう。実際の例を見てみる。 例)1~100までの総和を求めるプログラム #include<iostream> using namespace std; int main() { int sum=0; //合計値 for(int i=1;i<=100;i++) { sum=sum+i; //sum+=i;でもおk } cout<<sum<<endl; return 0; } 上記プログラムでは 1から100までのループが回っている。このループの中で、合計値として用意した 変数sumにループの数値iを足して総和を求めている。 ※forの中にint iと宣言している ループを使うための変数なのでここで宣言している。C言語では許されない。 また、このiが有効なのはfor(){}の{}の中だけである。いわゆるローカル変数 なので、注意しないといけない。 ※sum=iではダメなのか ダメ。代入だけになるので最終的には100が代入されて100が出力される。 sumと足すことで今までの足した分と足すことができる。 **while文 while([条件式]) { [処理] } 記述例は上記。while文も同じく繰り返し文だが、記述方法が違うので注意。 また、処理の中に増減値を入れないと繰り返し文から抜けない。 for文と同じ例を用いて実際に書いてみる。 例)1~100までの総和を求めるプログラム #include<iostream> using namespace std; int main() { int i=1; //ループで使う変数の初期値を宣言 int sum=0; //合計値 while(i<=100) { sum+=i; i++; } cout<<sum<<endl; return 0; } 上記プログラムでは for文と全く同じ内容の処理を行っている。ただし、宣言をしておかないと いけないことを注意したい。増減値も忘れるとループは抜けないので 出力までたどり着かないだろう。 **無限ループ ある処理を永遠に繰り返したい。そんなときに用いるのが無限ループである。 ACMの問題にはもちろん、実際のソフトウェアにも多く用いられる。 for文、while文のどちらでも可能であり、記述例を載せる。 for(;;) { [処理] } while(1) { [処理] } 上記は2つとも無限ループとなる。無限ループは文字通り無限に処理を繰り返し 続ける。 ***他 break; これはそのループから抜けたいときに使う。case文でも使ってた。 0が入力されたとき、プログラムを終了するといった ある条件のとき、ある処理をするという感じで使うのが主。 continue; ループの処理を飛ばしたいときに使う。まあいつ使うねんというと 1 2 3 4 5 ○ ○ ○ × ○ のような4だけすっ飛ばしたいときに if文で数値が4のとき、continue;という感じで用いる。 do-while文というのがある。while文と似ているが大きな違いとして while文では繰り返し処理をする前に条件式で判定を行うが、do-while文では 繰り返し処理が行われた後に条件式で判定が行われる。 つまり、最低限1回の処理が行われるということ。 do { 実行する処理1; 実行する処理2; 実行する処理3; .... }while([条件式]);
*繰り返し文 繰り返し文とはある回数の数だけ処理を繰り返すときに用いる。 今回はメジャーな繰り返し文2つを挙げる。 **for文 for([初期値];[条件式];[増減値]) { [処理] } 上記が記述例である。初期値から増減値分の変化が起こり、条件式の条件の間、 処理を繰り返すという内容である。 繰り返し文として一番多く用いられるものだろう。実際の例を見てみる。 例)1~100までの総和を求めるプログラム #include<iostream> using namespace std; int main() { int sum=0; //合計値 for(int i=1;i<=100;i++) { sum=sum+i; //sum+=i;でもおk } cout<<sum<<endl; return 0; } 上記プログラムでは 1から100までのループが回っている。このループの中で、合計値として用意した 変数sumにループの数値iを足して総和を求めている。 ※forの中にint iと宣言している ループを使うための変数なのでここで宣言している。C言語では許されない。 また、このiが有効なのはfor(){}の{}の中だけである。いわゆるローカル変数 なので、注意しないといけない。 ※sum=iではダメなのか ダメ。代入だけになるので最終的には100が代入されて100が出力される。 sumと足すことで今までの足した分と足すことができる。 **while文 while([条件式]) { [処理] } 記述例は上記。while文も同じく繰り返し文だが、記述方法が違うので注意。 また、処理の中に増減値を入れないと繰り返し文から抜けない。 for文と同じ例を用いて実際に書いてみる。 例)1~100までの総和を求めるプログラム #include<iostream> using namespace std; int main() { int i=1; //ループで使う変数の初期値を宣言 int sum=0; //合計値 while(i<=100) { sum+=i; i++; } cout<<sum<<endl; return 0; } 上記プログラムでは for文と全く同じ内容の処理を行っている。ただし、宣言をしておかないと いけないことを注意したい。増減値も忘れるとループは抜けないので 出力までたどり着かないだろう。 **無限ループ ある処理を永遠に繰り返したい。そんなときに用いるのが無限ループである。 ACMの問題にはもちろん、実際のソフトウェアにも多く用いられる。 for文、while文のどちらでも可能であり、記述例を載せる。 for(;;) { [処理] } while(1) { [処理] } 上記は2つとも無限ループとなる。無限ループは文字通り無限に処理を繰り返し 続ける。 ***他 break; これはそのループから抜けたいときに使う。case文でも使ってた。 0が入力されたとき、プログラムを終了するといった ある条件のとき、ある処理をするという感じで使うのが主。 continue; ループの処理を飛ばしたいときに使う。まあいつ使うねんというと 1 2 3 4 5 ○ ○ ○ × ○ のような4だけすっ飛ばしたいときに if文で数値が4のとき、continue;という感じで用いる。 do-while文というのがある。while文と似ているが大きな違いとして while文では繰り返し処理をする前に条件式で判定を行うが、do-while文では 繰り返し処理が行われた後に条件式で判定が行われる。 つまり、最低限1回の処理が行われるということ。 do { 実行する処理1; 実行する処理2; 実行する処理3; .... }while([条件式]); **練習問題 問1)1~100までの総和を求めるプログラム 問2)10の階乗を出力するプログラム 問3)無限ループを用いて、入力するたび、その数値が0より↑か、0より↓かを判定するプログラム ただし、0の場合は0と判定してループを終了させる。

表示オプション

横に並べて表示:
変化行の前後のみ表示: