授業中に作成したプログラムを片っ端から乗っけていきです。C++ を中心に掲載中。

5.1 基本制御構造

C++言語は手続き型言語。処理の流れを制御する構造は4種類ある。
構造C++言語での構文内容
選択(条件分岐)if文,switch文データや演算結果の状況に応じて処理の流れを変更する。
無条件分岐goto文制御の流れを無条件に変更する。
繰り返しwhile文,do-while文,for文データや演算結果の状況に応じて処理を繰り返す。
カプセル化関数一連の処理に名前をつけ再利用できるようにするとともに、ほかの部分で副作用が起こらないように囲い込む。
通常は順次実行
";"で文の切れ目を明示。開業、空白、タブは文の切れ目とは何の関係もない。
上から順に実行する(順次処理)のが原則。
ブロック 複数の分を{}で過去っむことにより。囲まれた範囲内の複数の分を一つの文として扱える。

5.2 条件分岐

  1. if(条件)文;
  2. if(条件)文1;
    if(条件)文2;
    else 文3;
1)if文の入れ子構造(256レベルまで)
  1. if(条件){文1;文2;文3;}
  2. if(条件){文1;文2;文3;}
    else{文4;文5;文6;}
  3. if(条件1){
       文1;
       if(条件2){文2;}
       else 文3;
       }
    else 文4;
2)switch文
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レベル

5.3 繰り返し

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.

0
Posted by watch for this 2013年12月21日(土) 13:45:55 返信

9iQLSl <a href="http://zcdttqyrzkhi.com/">zcdttqyrzkhi</a>, [url=http://odkhuaiqorfg.com/]odkhuaiqorfg[/url], [link=http://ciwieeounujl.com/]ciwieeounujl[/link], http://aelsomiznuov.com/

0
Posted by vmdivx 2013年11月15日(金) 02:58:36 返信

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Creative Commons

Creative Commons License
この作品は、クリエイティブ・コモンズ・ライセンスの下でライセンスされています。

メンバーのみ編集できます