编程C本: 帖子 5 – 循环结构

通知, 该文章更新的详细信息, 完整,易于理解 编程C本 : 帖子 6 - 将在C环编程C本: 帖子 7 - while循环, 做...而仲Ç

A.Lenh无条件转移

1.break语句:

通常break语句退出循环不定义要停止或停止条件下循环指定使用break语句退出循环的条件往往是配合使用if语句. 用于休息的命令, 而, 而这样做..., 开关. 打破命令退出包含它的循环.
在前面的文章中,我们使用了break语句在开关跳过剩下的下一条语句.

2.转到

转到命令移动到某命令中指定的标签后面. 将标签的命令的名称之前,我们应当跳转到​​指令. 后藤结合if语句也可以创建一个循环.
转到命令语法: 转到标签;
语法label: 有权 : 命令;

#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;
}

然而,当你使用goto语句要注意以下几点:
-如果转到和标签 1 跳转功能只允许在功能跳,不允许跳转到另一个函数.
-不使用转到从外部跳转到一个块内,但被允许跳出块.

3.continue语句

用在环, 而, 而这样做.... 当继续执行命令将交出最接近循环的条件表达式控制. 即上侧的环的顶, 进来以后在循环中的所有订单将继续被忽略不包含强制执行.

现在,我们要学习的命令循环,这样无条件分支指令的更清楚的作用

[qads]

B.Cac命令循环

1.订单

循环确定执行重复的次数由一个确定的 (或字符串) 法案.

流程循环
流程循环

表达 :

  • 表达式 1: 初始化的初始值的可变控制.
  • 表达式 2: 在逻辑上与当前状况继续循环.
  • 表达式 3: 利用变化的任务tribien控制.

它是如何工作的:

  • 步 1: 确定表达式的值 1
  • 步 2: 确定表达式的值 2 (测试条件,即true或false 1 或 0). 根据表达式的值 2 它遵循 2 方向:
    • + 如果为假 (0) 将退出循环
    • + 如果正确 (1) 该命令块的交汇点在环将执行 } 在循环或结束continue语句将灌溉一步 3.
  • 步 3: 计算表达式的值 3, 然后回到步骤 2.

注意:

  • 表达式 1 总是在拨打的计算只有一次.
  • 表达式 2, 3 并为可能的亲戚反复.
  • 表达式 1, 2, 3 必须用分号分隔 ( ; ), 表达式可能缺席 1,2 或者两者 3 但这必须提高分号.
  • 如果表达 2 没有, 循环被认为是总是正确. 想逃离循环,以休息, 转到乙酸回报.
  • 对于每一个表达式可以写成一系列人类表情的由逗号分隔. 那么孩子判定表达式从左至右. 由于对与错,在第一序列表达的表达 2 由最终表达式确定.
  • 在体内 (块命令) 可含有一个或多个其它控制结构, 另一个循环.
  • 有一个break语句时,, 最深的循环结构将退出.
  • 在体内存在对thedung转到退出循环到所需位置.
  • 在体内可用于return返回一个特定功能.
  • 在体内可用于命令继续移动到循环的顶部 (跳过在体内的其余的语句).

 

对于命令的例子.

在下面的例子中,我会在阵列执行 (将学习在接下来的文章中) 因此,如果你不清楚该阵列是在指挥机构只是有兴趣 我们不用担心数组.

VD1: 使用内 在原子的数目 1 到 10

#include <stdio.h>

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

VD2: 使用for循环扭转,其中一个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: 插图continue语句在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. 虽然声明

保存美元,而声明
保存美元,而声明

我能理解简单: 而表达式为true,然后做的命令, 错误退出

  • 表达式: 可以是一个表达式或表达式. 如果孩子是用逗号分隔的多个表达式 (,) 和表达是非由最终表达式确定.
  • 在体内,而 (块命令) 可含有一个或多个其它控制结构.
  • 而在体内可以使用继续命令要移至循环的顶部 (设置得在所述主体的其余的语句).
  • 如果表达式是一个常数不为零,这是真实发生的无限循环. 想摆脱while循环可选择使用break语句, 转到, 返回作为用于命令.

首席执行官: 输入密码:

#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语句

我能理解简单: 在正确的表达make命令, 每个人都错了退出.

从这里我们有评论: while循环可能不会执行,如果摆在首位错误的表达, 同时它也将通过至少执行命令 1 虽然表达错了,从一开始.

首席执行官:

#include <stdio.h>

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

锻炼

帖子 1: 从键盘写一个程序输入 1 整数序列. 检查并顺序打印出所有的素数.
帖子 2: 写一个程序,显示对话 2 人. 当一个 2 说再见,停止.


[RPS-包括交=”2703″ 简码=”假”]