黑马程序员------C语言基础 循环体结构

 ------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

循环结构

循环就是将需要重复的代码, 包裹起来, 只需要写一遍 设置循环的次数, 或条件, 即可进行重复执行。

 1.while循环结构

while 循环是最简单的循环

语法:

     while ( 表达式 ) 语句;

    或者

     while ( 表达式 ) {

          语句;

    }

每次执行, 首先判断 表达式的真和假, 如果为真, 则执行循环体中的代码如果为假, 就结束循环, 那么每次执行完循环体, 都会再次判断表达式的真假.

  代码练习:

求1到100的和
#include <stdio.h>
int main(int argc, const char * argv[]) {
int sum = 0;
    int count = 1;
    while ( count <= 100 ) {
        sum += count;
        count++;
    }
printf("1 加到 100 和 是 %d\n", sum);
return 0;
}


 

>1 一般使用 while 循环的地方

      一般需要在某些特定的条件下重复执行某个操作

      一般控制某些代码执行 n 次

        int count = 0;

        while ( count < n ) {

            // 代码体

 

            count++;

        }

2.do while 循环结构

 do-while

首先执行一次循环体 然后再进行判断, 如果判断为真, 再次执行循环体, 在判断..如果判断为假, 则跳出

语法

            do {

     

                循环体

            } while ( 条件 );

int i = 0;

    do {

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

        i++;

} while (i < 10);

 

 注意:一般使用的时候, 只考虑 while 循环

 如果 while 循环满足下面的格式, 再考虑 do-while 循环

   语句;

  while ( 表达式 ) {

       语句;

 }

   如果上面的 语句 与 循环体中的语句 是一样的, 那么直接考虑 do-while循环

3.for 循环

 int i = 0;

    while (i < 10) {

   

       i++;

    }

基本语法

 

        for (表达式1; 表达式2; 表达式3) {

            循环体

        }

     

        表达式1 -> 表达式2 -> 循环体 -> 表达式3 -> 表达式2 -> 循环体 -> 表达式3 -> 表达式2 -> ...

 #include <stdio.h>
int main(int argc, const char * argv[]) {
 int sum = 0;
   for (int i = 0; i <= 100; i++) {
        sum += i;
    }
   
   printf("%d\n", sum); 
return 0;
}

 

       1>  for循环的常用格式

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

        // 循环 100 次的 for 语法

    }

    

    for (int i = 1; i <= 100; i++) {

        // 循环 100 次的 for 语法

    }

    

    for (int i = 100; i > 0; i--) {

        // 也是循环 100 次

    }

 2> for循环嵌套

   所谓的 for 循环嵌套, 就在 一个 for 循环中还有另一个 for 循环

    

     理解运行的过程

    for (int i = 0; i < 5; i++) { // 外循环

        for (int j = 0; j < 3; j++) { // 内循环

            // 循环体

        }

代码练习:

//九九乘法表
#include <stdio.h>
int main(int argc, const char * argv[]) {
    // row 行
    // column 列(col)
    for (int row = 1; row < 10; row++) {
        for (int col = 1; col < row + 1; col++) {
            printf("%d*%d=%d\t", col, row, row * col);
        }
        printf("\n");
} 
return 0;
}

 

4.条转语句

 跳转语句

     break        使用在循环中表示结束整个循环

                  break 语句只用在循环和 switch-case 结构中

    

    continue     表示忽略 continue 后面的语句, 进行下一次循环

    

    return       表示函数的结束

     goto       了解

代码练习:

// 求水仙花数
#include <stdio.h>
int main(int argc, const char * argv[]) {
 for (int i = 100; i < 1000; i++) {
        // 求各个位置上的数字
        int bai = i / 100;
        int shi = i % 100 / 10;
        int ge = i % 10;
        
        
        if (i == bai * bai * bai + shi * shi * shi + ge * ge * ge) {
            printf("%d\n", i);
        }
return 0;
}


 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值