一、while循环
while (循环条件) {
循环体;
}
// 1.定义循环变量
int time = 1;
// 2.循环条件
while (time <= 3) {
// 3.循环体
printf("不能玩手机\n");
// 4.循环增量
time++;
}
// 定义循环变量
int quan = 1;
// 循环条件
while (quan <= 10) {
// 循环体
printf("跑圈%d\n", quan);
// 循环增量
quan++;
}
练习:打印1-0之间所有的数
; ) { printf("%-4d", number); number++; }
//打印1-100之间所有的奇数 ; ) { != ) { printf("奇数为:%d\n",a1); } a1++; }
二、随机数
arc4random()
原理: 余数 < 除数
[0, n] arc4random() % (n + 1)
[a, b] arc4random() % (b - a + 1)+a
//[0, 9] ; printf("random = %d\n", random); // [0, 10] ; printf("random1 = %d\n", random1); // [0, 20] ; printf("random2 = %d\n", random2); // [1, 10] -- [0, 9]+1 + ; printf("random3 = %d\n", random3); // [10, 20]-- [0, 10] + 10 + ; printf("random4 = %d\n", random4);
//练习: 随机产生10个数, 范围[0, 10] ; ) { // 打印随机数 [0, 10] ; printf("%d ", random); number++; } // 练习:用while打印10个随机数(范围为10~30),求最大值和最小值。 ; ; ; ) { // 打印随机数(范围为10~30) + ; printf("%4d", random); if (max < random) { max = random; } if (min > random) { min = random; } number++; } printf("max = %d\n", max); printf("min = %d\n", min);
三、 break, continue
break:在switch...case中,结束当前的case分支
在循环中,遇到break,break后面的语句不再执行并结束整个循环
continue:在循环中遇到continue,后面的语句不再执行并结束本次循环
; ) { ) { printf("相中,走啦%d\n", count); break; } ) { printf("前女友,跳过\n"); count++; continue; } printf("count = %d\n", count); count++; }
//练习:打印1-20之间所有的数,如果是7,不打印,如果是17,17和后面的数不再打印 ; ) { a++; ) { a++; continue; } ) { break; } printf("%d ", a); a++; }
四、do...while
do {
循环体
} while (循环条件);
定义循环变量
int a = 1;
do {
a++;
} while (a > 10);
printf("a = %d\n", a);
while (a > 10) {
a++;
}
printf("a = %d\n", a);
五、 for循环
//打印1-5之间所有的数 ; ;) { printf("%d ", a); a++; }
(定义循环变量 ; 循环条件;循环增量)
for (int a = 1;a <= 5;a++) {
printf("%d ", a);
}
//用for循环打印1-100之间所有的数 ; ; i <= ; i++){ printf("%d", i); printf(" "); } printf("i = %d\n", i); //用for循环打印1-100之间所有的偶数 ; i <= ; i++) { == ) { printf("%d ", i); } } // 用for循环打印出1~100之间7的倍数。 ; i <= ; i++) { == ) { printf("%4d", i); } } //用for循环打印出1~100之间个位为7的数。 ; i<= ; i++) { == ) { printf("%4d", i); } } // 用for循环打印出1~100之间十位为7的数。 ; i <= ; i++) { == ) { printf("%4d", i); } } //用for循环打印出1~100之间既不是7的倍数并且也不包含7的数。 ; i <= ; i++) { != && i % != && i / != ) { printf("%-4d", i); } }
六、循环嵌套
/* 1 2 3 4 1 2 3 4 1 2 3 4 */ //控制行数 ; i <= ; i++) { // 控制每一行要打印的内容 ; j <= ; j++) { printf("%d ", j); } printf("\n"); }
/* 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 */ //控制行数 ; i <= ; i++) { // 每一行要打印的内容 ; j <= i; j++) { printf("%d ", j); } printf("\n"); }
/* 1 2 3 4 5 1 2 3 4 1 2 3 1 2 1 */ //控制行数 ; i >= ; i--) { // 每一行要打印的内容 ; j <= i; j++) { printf("%d ", j); } printf("\n"); }
//打印乘法口诀表 2 3 //控制行数 ; i <= ; i++) { // 控制打印的方格 ; j <= i; j++) { printf("%dx%d=%d ", j, i, j*i); } printf("\n"); }
//打印三个数字(0 - 9)的组合可能(组合成三位数)。 2 3 //控制百位数 ; i <= ; i++) { // 控制十位数 ; j <= ; j++) { // 控制个位数 ; k <= ; k++) { printf(+j*+k); } } }
总结:
for循环通常用于知道循环次数的情况下使用(常用)
while:不明确循环次数,知道循环结束的标识