>>この記事には書き直した新しいページがあります。<<
<<前 [TOP] 次>>
Visual Studioで新規プロジェクトを作り、次のcppファイルを作成して下さい。
【ForTest1.cpp】
#include <iostream> void main() { int i; for ( i=0; i<10; i=i+1 ) { std::cout << "こんにちは" << std::endl; } }
このサンプルプログラムでは、「for文」とよれる構文を使用しています。
与えられた条件になるまで繰り返しの処理を行います。
for ( 初期条件; 繰り返し条件; 繰り返し実行文) {
実行文;
}
初期条件は、繰り返し処理が行われる前に読み込まれます。
ループに入る前の最初の一回だけ処理される条件になります。
もちろん、初期条件はなくても良いという場合は、空白でもかまいません。
例えば、すべてを空白にする記述もできます。
for ( ; ; ) {}
ただし、気をつけなければならないのは、この記述は無限ループになってしまうということです。
あえて、無限ループにする場合もあるのですが、今回はそのことにふれません。
まずは、条件をきちんと記述できるようにfor文をマスターしてください。
繰り返し条件では、for文内の処理が終わるたびに読み込まれ、この条件に当てはまっていればまたループに入ります。
この条件をきちんと考えないと、無限ループになってしまったりして思わぬエラーが出ますので気をつけてください。
最後の繰り返し実行文は、for文内の処理が終わり、繰り返し条件が処理される前に読み込まれます。
では、実際のプログラムを見ながら流れを見ていきましょう。
最後に i=i+1 の記述について説明します。
左辺の変数 i は新しい値の i になります。
右辺の変数 i は今までの値の i を指しています。
この式は次のようにも書き換えられます。
どちらの記述も同じ処理をします。
i++ は インクリメントといい、読み込まれると、変数 i に 1を足します。
それとは逆に、「i--」とすれば、読み込まれると、変数 i から 1を引いていきます。
デクリメントといいます。
では、サンプルプログラムをビルドしてデバッグしてみましょう。
「こんにちは」 と画面に10個表示されます。
Visual Studioで新規プロジェクトを作り、次のcppファイルを作成して下さい。
【ForTest2.cpp】
#include <iostream> void main() { int i; for ( i=1; i<=20; i=i+1 ) { int a = i*11; if ( a >=200 ) { break; } std::cout << a << std::endl; } }
11の倍数で1以上200以下のものを全て表示するプログラムです。
break文を使っています。
for ( 初期条件; 繰り返し条件; 繰り返し実行文) { 実行文; break; }
for文の中で、break が読み込まれると、そこでループから強制的に抜けます。
このサンプルプログラムでは、11に 1,2・・・と順番にかけていき、std::cout文でその値を出力していきます。
if文で、「a >=200」の条件に当てはまると、breakが読み込まれ、ループが終了しプログラムも終了します。
では、サンプルプログラムをビルドしてデバッグしてみましょう。
「11・22・33・44 ・・・198」と画面に表示されます。
<<前 [TOP] 次>>