C++基本中の基本その7
※自分用メモ
※引用元「ローベルのC++入門講座」
【for文の書式】
・for の書式は for(<初期化式>; <条件式>; <ループ式>)<実行文> である。
・条件式は初期化後すぐにも評価される。
・省略できるパラメータは省略できる。
ってことで、いろいろ試してみるー
#include <iostream> #include <string> using namespace std; int main() { int i; for(i = 10; i < 20; i += 2) //10から始まって20で終わる、iは2個ずつ増やす { cout << i << endl; } return 0; }
結果
10 12 14 16 18
#include <iostream> #include <string> using namespace std; int main() { int i; for(i = 10000; i < 10; i++) //10000から始まって10で終わる, iは1個ずつ増やす cout << i << endl; return 0; }
結果
※この場合iは10で終わるが優先され、何も表示されない
無限にループさせたいときはfor( ; ; )
かwhile(1)
で無限ループになる。
【breakとcontinue文】
・ループを途中で抜けるにはbreak;
を使う
#include <iostream> #include <string> using namespace std; int main() { int a; while(1) { cout << "guess a number > " << flush; cin >> a; if(a == 5) { cout << "u r correct" << endl; break; } cout << "guess again" << endl; } cout << "game over" << endl; return 0; }
結果
guess a number > 1 guess again guess a number > 2 guess again guess a number > 3 guess again guess a number > 5 u r correct game over
・実行文の終わりに飛ぶにはcontinue;
を使う
#include <iostream> #include <string> using namespace std; int main() { int a, i; for(i = 0; i < 5; i++) { cout << "guess a number > " << flush; cin >> a; if(a == 5) { cout << "u r correct" << endl; continue; } cout << "guess again" << endl; } cout << "oops game over" << endl; return 0; }
結果
guess a number > 1 guess again guess a number > 2 guess again guess a number > 3 guess again guess a number > 5 u r correct guess a number > 2 guess again oops game over