無差別に技術をついばむ鳥

情報処理技術全般を気まぐれにつつくゆるいブログです

C++/CLIをつつく4ー繰り返し構造。くるくる回るよ。

次はプログラムの繰り返し構造だー
次はプログラムの繰り返し構造だー
2回繰り返してみたピヨ。
プログラムをひたすら1行目から最後までずーと流れ落ちるように実行するなんて不可能だし面倒なだけ。
だからC++/CLIにもプログラム繰り返すための文法があるんだ。
その文法とは、forループwhileループdo/whileループforeach/inループの4つもあるんだ。
ビックリした人が居るかもしれないけど、そんなに難しくないので1つずつ見ていこう。
では早速forループのつまらないコードを見てね。
#include "stdafx.h" using namespace System; int main(array<System::String ^> ^args) { for( int i = 0; i < 10; i++ ) Console::Write( i + "\t" ); return 0; }
このコードは10回数値をコンソール画面へ出力するものなんだ。
Console.Write( i + "\t" )を10回書く事を思えばループのありがたさがわかるよね。
つまりforループとは一定の回数ループする文法なんだ。

じゃあ、次はwhileループを見てみよう。
#include "stdafx.h" using namespace System; int main(array<System::String ^> ^args) { String^ msg = "何かキー入力してEnterキーを押して。" + "※Qを押せば終了だよ。"; Console::WriteLine( msg ); String^ str = Console::ReadLine( ); while(str != "q") { Console::WriteLine( "貴方は今" + str + "を押しましたね。" ); Console::WriteLine( msg ); str = Console::ReadLine( ); } }
早速試してみよう。forループとの違いがわかるかな?
forループの例とwhileループの例との違いは、ループ回数が事前にわからない所なんだ。
事前に何回ループしたらいいのかわからない場合はwhileループを使おう。

じゃあ次は・・・do/whileループの例を見てみよう。
#include "stdafx.h" using namespace System; int main(array<System::String ^> ^args) { String^ msg = "何かキー入力してEnterキーを押して。" + "※Qを押せば終了だよ。"; Console::WriteLine( msg ); String^ str = Console::ReadLine( ); do { Console::WriteLine( "貴方は今" + str + "を押しましたね。" ); Console::WriteLine( msg ); str = Console::ReadLine( ); } while(str != "q"); }
さっきのwhileループの例とそっくりに作ったけど、その違いがわかるかな?
答えは・・・・・1回は実行する事なんだ。
両方のコードを実行していきなりqを入力してEnterキーを押してみよう。
do/whileループの場合の方が表示されるメッセージが多いよね?
それは、ループ内のコードが実行される回数が多いからなんだピヨ。

最後はforeach/inループを見てみよう。
#include "stdafx.h" using namespace System; int main(array<System::String ^> ^args) { array<String^>^ messages = gcnew array<String^> { "りんご", "とまと", "メロン", "みかん" }; for each ( String^ msg in messages ) //ここを注目 { Console::WriteLine( msg ); } }
例のコードをじーと見ると、配列と配列の要素の型がfor each内で宣言されているのがわかる。
このfor eachループは、配列などの複数の要素がある型の全ての要素を順次取り出す時に使用するんだ。 つまり、この例の場合は「message配列変数の要素がある限りループしなさい!」といっているんだ。
これでひとまず全部の繰り返し構造を説明したピヨ。
じゃあ今回はこれでおしまいにするよ。では、また会いましょう。
別窓 | C++/CLI | コメント:1 | トラックバック:0 | ∧top | under∨
<<C++/CLIをつつく5ー制御構造。ズバッと判定 | 無差別に技術をついばむ鳥 | C++/CLIをつつく3ー配列。要素をまとめよう。>>

この記事のコメント

> forループとは一定の回数ループする文法なんだ

違います。
2009-05-10 Sun 02:04 | URL | επιστημη #-[ 内容変更]
∧top | under∨

コメントの投稿

 

管理者だけに閲覧
 

この記事のトラックバック

∧top | under∨
| 無差別に技術をついばむ鳥 |