C++言語は手続き型言語。処理の流れを制御する構造は4種類ある。
構造 | C++言語での構文 | 内容 |
選択(条件分岐) | if文,switch文 | データや演算結果の状況に応じて処理の流れを変更する。 |
無条件分岐 | goto文 | 制御の流れを無条件に変更する。 |
繰り返し | while文,do-while文,for文 | データや演算結果の状況に応じて処理を繰り返す。 |
カプセル化 | 関数 | 一連の処理に名前をつけ再利用できるようにするとともに、ほかの部分で副作用が起こらないように囲い込む。 |
- 通常は順次実行
- ";"で文の切れ目を明示。開業、空白、タブは文の切れ目とは何の関係もない。
上から順に実行する(順次処理)のが原則。
ブロック 複数の分を{}で過去っむことにより。囲まれた範囲内の複数の分を一つの文として扱える。
- if(条件)文;
- if(条件)文1;
if(条件)文2;
else 文3;
- if(条件){文1;文2;文3;}
- if(条件){文1;文2;文3;}
else{文4;文5;文6;} - if(条件1){
文1;
if(条件2){文2;}
else 文3;
}
else 文4;
n分岐を実現する構文(case文は最大16,384個まで)
switch(整数式){ case 定数式1:文1; case 定数式2:文2; ・・・ case 定数式m:文m; defaule 文n; /*省略可能だが、つけておいたほうがわかりやすい*/ }
- 整数式
- 結果が整数となる式
- 定数式
- コンパイル時に評価できる式。整数定数や文字定数を使った式。1〜mまですべて異なる値。順序は自由だが、後で見やすい順序にするとよい。
switch(整数式){ case 定数式1: 文1; break; /*case途中のbreakは重要な意味をもつ。*/ case 定数式2: 文2; break; default: 文3; }break文は、繰り返しの途中で繰り返しを強制終了させる。switch,while,forすべてに共通。
switch文で書けるものは全てelse-if文で書ける。しかし、逆は真ではない。
switch文の入れ子構造もある。256レベル
- while
- ある条件を満たしている間は、ある分を繰り返し実行する。文の実行途中で条件が成立してもそのまま実行を継続し、文の終了時に条件の評価を行う。
while(継続条件式) 文;
- do-while
- 反復処理の文が実行されてから条件が成り立つかを判断する。ループ内は少なくとも一回実行される。
do {文;} while (継続条件);
- for(式1;式2;式3) 文
- 式1:繰り返しに必要な変数の初期設定。ここで変数宣言をすることができる。
式2:繰り返しを継続する条件。偽であるとループを脱する。
式3:各繰り返し後に変数の値を再設定
for(int i=1; i<0; i++){・・・} = int i; for(i=1; i<=0; i+;){・・・}コンマ演算子を使って、複数の式をまとめて設定、条件を記入できる。
for(i=5, j=i*6; i<j; i--, j=i*i){実行部分}条件の評価は左から右へ順に行われる。
forとwhileは交換可能
!!!追記予定!!!
case文とif-else文の構造
!!!追記予定!!!
フローチャートはJIS規格として規定されたが、その後欠点が指摘され、NSチャートやHCPチャートなどが代わりに使われている。しかし、計算手順を示すには分かりやすいゆえ、いまでもフローチャートはしばしば用いられる。
このページへのコメント
4xZIxL Really informative article.Much thanks again. Want more.
9iQLSl <a href="http://zcdttqyrzkhi.com/">zcdttqyrzkhi</a>, [url=http://odkhuaiqorfg.com/]odkhuaiqorfg[/url], [link=http://ciwieeounujl.com/]ciwieeounujl[/link], http://aelsomiznuov.com/