前期C语言回顾 循环结构

 循环的3中方式

  1. while循环

  2. do...while循环

  3. for循环




  程序的结构

  1. 顺序结构

  2. 分支结构(使用ifswitch来实现)

  3. 循环结构(使用whiledo...whilefor来实现)


/ while循环的使用

//

while (条件表达式) {

    语句

}

//

// 当条件表达式成立的时候,语句就会反复的执行,一旦条件表达式为假,循环停止

// 示例代码

int a = 0;

while (a < 10) {

    // printf("a = %d", a);

    a++;

}

// a < 10   条件表达式

// printf("a = %d", a); a++;   循环体


// 练习1
// 1. 用while打印出1~100之间7的倍数。
int i = 0;
while (i < 100) {
    if (i % 7 == 0) {
        // printf("%d\n", i);
    }
    i++;
}
// 2. 用while打印出1~100之间个位为7的数。
int i2 = 0;
while (i2 < 100) {
    if (i2 % 10 == 7) {
        // printf("%d\n", i2);
    }
    i2++;
}
// 3. 用while打印出1~100之间十位为7的数。
int i3 = 0;
while (i3 < 100) {
    if (i3 / 10 == 7) {
        // printf("%d\n", i3);
    }
    i3++;
}
// 4. 用while打印出1~100之间不是7的倍数并且不包含7的数。
int i4 = 0;
while (i4 < 100) {
    if ((i4 %7 != 0) && (i4 / 10 != 7) && (i4 % 10 != 7)) {
        // printf("%d\n", i4);
    }
    i4++;
}


// 返回一个随机数

int random = arc4random();

// 返回一个范围在10-100之间的随机数

// 公式:arc4random() % (b - a + 1) + a; // a表示10b表示100

int random2 = arc4random() % (100 - 10 + 1) + 10;


// 练习2
// 1. 用户从控制台输入一个n,用while打印n个随机数(范围为10~30)。
int n = 0;
// scanf("%d", &n);
int n0 = 0;
while (n0 < n) {
    int random3 = arc4random() % (30 - 10 + 1) + 10;
    // printf("random3 = %d\n", random3);
    n0++;
}
// 2. 用户从控制台输入一个n,用while打印n个随机数(范围为30~70),找出n个随机数中的最大值。
int n2 = 0;
// scanf("%d", &n2);
int n00 = 0;
int maxValue = 0;
while (n00 < n2) {
    int random4 = arc4random() % (70 - 30 + 1) + 30;
    if (random4 > maxValue) {
        maxValue = random4;
    }
    // printf("random4 = %d\n", random4);
    n00++;
}
// printf("maxValue is %d", maxValue);

break作用:

// switch语句中,跳出switch语句

// 在while循环中,跳出本层循环(通常与if连用)


// continue的作用:

// 在循环中的作用:结束本次循环(continue后面的代码不再执行),进入下次循环。(通常与if连用)




// do...while循环

// 与while循环非常相似,有一点区别:

// 先执行循环体,再判断循环条件,直到条件不满足的时候,循环结束。



//for(循环变量初始化;循环条件;循环增量) {

循环体;  

  }

  

// 循环条件为真,执行循环体。

for (int i = 0; i < 5; i++) {

    // printf("i = %d\n", i);

}

// 4. 用for打印出1~100之间不是7的倍数并且不包含7的数。
for (int i = 0; i < 100; i++) {
    if ((i %7 != 0) && (i / 10 != 7) && (i % 10 != 7)) {
        // printf("%d\n", i);
    }
}

// 循环嵌套

// 1. 实现乘法口诀表
for (int i = 1; i <= 9 ; i++) {
    for (int j = 1; j <= i; j++) {
        // printf("%d * %d = %-2d ", j, i, i * j);
    }
    // printf("\n");
}

// 练习5
// 1. 打印三个数字(0 - 9)的组合可能(组合成三位数)。
for (int i = 1; i < 10; i++) {
    for (int j = 0; j < 10; j++) {
        for (int k = 0; k < 10; k++) {
            // printf("%d\n", i * 100 + j * 10 + k);
        }
    }
}

// 总结

// 1. for最常用,通常用于知道循环次数的循环。

// 2. while也很常用,通常用于不知道循环次数的循环。

// 3. do…while不是特别常用,通常用于需要先执行一次的循环。

 

// 4. break跳出本层循环,continue结束本次循环。通常与if连用









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值