プログラミングC: 投稿 5 – ループ構造

知らせます, 記事は、詳細情報を更新しました, 完全かつに理解しやすいです プログラミングC : 投稿 6 - CにおけるforループプログラミングC: 投稿 7 - whileループ, やる... trong Cしばらく

A.Lenh無条件分岐

1.BREAK文:

通常break文は、停止したり、ループを終了するbreak文を使用して指定の条件でループを停止する条件を定義していないループを終了することが多いif文と組み合わせて使用​​されている. 休憩のために使用されるコマンド, 同時に, やる...しばらく, スイッチ. それを含むループコマンドexitを破る.
前回の記事では、残りの次のステートメントをスキップするスイッチにbreak文を使用する.

2.後藤

後藤コマンドは、指定されたラベルの後ろに特定のコマンドに移動します. ラベルは私達がにジャンプすべきコマンドの前にコマンドの名前です. 後藤は、ループを作成することができますif文と組み合わせる.
後藤コマンドの構文: 後藤ラベル;
構文ラベル: 題し : コマンド;

#include <stdio.h>

int main(){
	int a, kt;
	tieptuc : printf("Nhap a = ");
	scanf("%d", &a);
	
	switch(a) {
		case 1: printf("Mot"); break;
		case 2: printf("Hai"); break;
		case 3: printf("Ba"); break;
		case 4: printf("Bon"); break;
		case 5: printf("Nam"); break;
		default: printf("Khong phai so tu 1 den 5");
	}
	
	printf("\nBan muon tiep tuc? 1 de tiep tuc, 0 de dung: ");
	scanf("%d", &kt);
	
	if(kt) goto tieptuc;
	
	return 0;
}

ただし、次の点に注意することは後藤を使用する場合、:
-もし後藤とラベルで 1 後藤機能は、機能だけにジャンプさせ、別の関数にジャンプすることができません.
-ブロックの外側から内側にジャンプするgoto文を使用しないでくださいしかし、ブロックの外にジャンプさせた.

3.文を続行

ループ内で使用, 同時に, やる...しばらく. continueコマンドの実行は、最も近いループの条件式の制御を引き渡すいつ. つまり、ループの先頭に逆さまです, ループの中で、後に来るすべての注文は無視され続けない執行が含まれていません.

今、私たちは、コマンドループを学習しようとしているように無条件分岐命令のより明確な役割

[qads]

B.Cacコマンドループ

1.受注

ループ決定により決定された回数を繰り返し実行する (または文字列) 行為.

フローチャートループ
フローチャートループ

表現 :

  • 式 1: 可変制御の初期値を初期化する.
  • 式 2: 論理的に現在の状況に関連しているループを続ける.
  • 式 3: 利用変化の割り当てtribien制御.

どのように動作する:

  • ステップ 1: 式の値を決定する 1
  • ステップ 2: 式の値を決定する 2 (試験条件すなわち真または偽 1 または 0). 式の値に応じて 2 これに従う 2 方向:
    • + falseの場合 (0) ループを終了します
    • + もし適切に (1) ミーティングポイントにコマンドブロックのためにリングに実行されます } ループの最後に、またはステートメントを継続するステップを灌漑します 3.
  • ステップ 3: 式の値を計算します 3, その後に戻ってください。 2.

注意:

  • 式 1 のためにダイヤルする場合、必ず一度だけ計算される.
  • 式 2, 3 繰り返し可能な親族のために.
  • 式 1, 2, 3 セミコロンで区切る必要があります ( ; ), 表現は、存在しなくてもよい 1,2 または両方 3 これは、セミコロンを調達する必要があります.
  • 表現の場合 2 いいえ, ループは常に正しいと考えられている. 休憩を取るために、ループを脱出したい, 後藤HOACリターン.
  • 各発現のためにカンマで区切られた人間の一連の式のように書くことができる。. 左から右へ、子式を決定される. シーケンス最初の式の式の善悪のように 2 最後の式によって決定される.
  • 体内に (blockコマンド) 一つ以上の他の制御構造を含んでいてもよい, 別のループ.
  • break文を持つ場合には, 最も深いループ構造は終了します.
  • そこthedung後藤体内に目的の場所にループを終了.
  • 体内では、特定の機能に戻るにはリターンのために使用することができます.
  • 体内では、ループの先頭に移動し続けるコマンドで使用することができます (体内での残りのステートメントをスキップ).

 

のためのコマンドの例.

以下の例では、私はアレイに実行します (次の記事で学びます) あなたは、配列について明確でない場合はそのため、コマンド構造でちょうど興味を持っている のために 私たちの必要はありませ懸念配列.

VD1: 内での使用 のために 原子の数で 1 へ 10

#include <stdio.h>

int main(){
	int i;
	for (i = 1; i <= 10; i++) {
		printf("%-5d", i);
	}
	
	return 0;
}

VD2: ループのための式はカンマで区切られた人間の表現のシーケンスである配列を逆にするforループを使用してください.

#include <stdio.h>

int main(){
	int i, j, n = 4, a[] = {1, 3, 7, 2}; // mang a gom 4 phan tu
	
	/* Xuat mang ban dau*/
	
	printf("Mang ban dau: ");
	for (i = 0; i < n; i++) {
		printf("%-5d",a[i]);
	}
	printf("\n");
	
	/* Dao nguoc mang*/
	
	for (i = 0, j = n - 1; i <= j; i++, j--) {
		// doi cho 2 phan tu a[i] va a[j]
		int temp = a[i];
		a[i] = a[j];
		a[j] = temp;
	} 
	
	/* Xuat mang sau khi dao nguoc*/
	
	printf("Mang dao nguoc: ");
	for (i = 0; i < n; i++) {
		printf("%-5d",a[i]);
	}
	printf("\n");
	
	return 0;
}

VD3: このような式がない場合の配列を逆にするために、forループを使用してください 2, 我々は、ループを終了するには、break文を使用する

#include <stdio.h>

int main(){
	int i, j, n = 4, a[] = {1, 3, 7, 2}; // mang a gom 4 phan tu
	
	/* Xuat mang ban dau*/
	
	printf("Mang ban dau: ");
	for (i = 0; i < n; i++) {
		printf("%-5d",a[i]);
	}
	printf("\n");
	
	/* Dao nguoc mang*/
	
	for (i = 0, j = n - 1; ; i++, j--) {
		if (i >= j) break;
		// doi cho 2 phan tu a[i] va a[j]
		int temp = a[i];
		a[i] = a[j];
		a[j] = temp;	
	} 
	
	/* Xuat mang sau khi dao nguoc*/
	
	printf("Mang dao nguoc: ");
	for (i = 0; i < n; i++) {
		printf("%-5d",a[i]);
	}
	printf("\n");
	
	return 0;
}

VD4: イラストは、forループ内のステートメントを続ける.

#include <stdio.h>

int main(){
	int i, n = 4, a[] = {1, -3, -7, 2}; // mang a gom 4 phan tu
	
	printf("Cac so duong trong mang: ");
	for (i = 0; i < n; i++) {
		if (a[i] <= 0) continue;
		printf("%-5d",a[i]);
	}
	
	return 0;
}

2. Whileステートメント

文の中にドルを節約
文の中にドルを節約

私は単純な理解することができます: 式が真であるが、その後のコマンドを実行します, 間違った出口

  • 式: 式または式を指定できます. 子供は、カンマで区切られた複数の式である場合 (,) と表現の過ちは、最後の式によって決定されます.
  • ボディしばらく (blockコマンド) 一つ以上の他の制御構造を含んでいてもよい.
  • 体内のループの先頭に移動するにはcontinueコマンドを使用することができますが (体内であまりに残りのステートメントを設定).
  • 発現は一定の非ゼロである場合、それは真であり、無限ループが起こっ. 必要に応じて、break文を使用することができますwhileループを取り除きたい, 後藤, のためのコマンドとして返す.

最高経営責任者(CEO: パスワードを入力する:

#include <stdio.h>
#define PASS "nguyenvanquan7826" // dat pass

int main(){
	char pass[100];
	
	/* Ham strcmp  tra ve ket qua la 0 khi 2 chuoi bang nhau  */
	
	while(strcmp(pass, PASS) != 0) { 
		printf("Nhap pass: ");
		gets(pass);
	}
	
	printf("Mat khau dung roi!");
	
	return 0;
}

3. しばらく順

フローチャートたdo-whil​​e文
フローチャートたdo-whil​​e文

私は単純な理解することができます: 正しい表現でコマンドを作る, 誰も間違った出口.

ここから、我々はコメントしている: 最初の場所で式が間違っている場合、ループは実行されないかもしれないが, それはまた、少なくとも実行することによって注文する一方 1 式は最初から間違っていたものの、.

最高経営責任者(CEO:

#include <stdio.h>

int main(){
	do {
		printf("khoi lenh duoc thuc hien\n");
	} while(5 > 8);
	
	return 0;
}

エクササイズ

投稿 1: キーボードからの入力にプログラムを書きます 1 整数のシーケンス. チェックして、シーケンス内のすべての素数を印刷.
投稿 2: 会話を示してプログラムを書きます 2 人々. とき1の 2 さよならを言う、停止.


[ポストをRPS-含ま=”2703″ ショートコード=”偽”]