笔记-C语言-第三节-循环结构

    

    //while语句的语法格式:

    /**

     *  while (条件表达式) {

            语句;

     }

     */

    //当条件表达式为真时,反复执行语句,当条件表达式为假时,跳过语句的执行,执行while语句下面的代码。

    //思路:1、需要一个循环增量,来让数字累加起来,并且作为内容来判断是否是7的倍数。2、采用while循环,来实现整个过程。

  

  用while打印出1~100之间不是7的倍数并且不包含7的数。 

    //1、循环增量(循环变量)初始化

    int i = 1;

    

    //2while语句

    while (i < 101) {

        if (0 != i % 7 && (7 != i / 10) && (7 != i % 10)) {

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

        }

        

        //不管是否是7的倍数,循环变量肯定要自增1.

        i ++;

    }

    */

    

    //求一个[10, 30]之间的随机数。

    //[a, b]之间的随机数 公式 arc4random() % (b - a + 1) + a;

    /*

    int number = arc4random() % (30 - 10 + 1) + 10;

    printf("number is %d",number);

    */

    

    /*

    //打印十个 [30, 70] 之间的随机数

    //声明两个变量,一个作为循环增量,一个用来储存生成的随机数

    int i = 0, number = 0, max = 0;

    

    //while 循环

    while (i < 10) {

        number = arc4random() % (70 - 30 + 1) + 30;

        printf("number is %d\n",number);

        

        //1if语句

        if (max <= number) {

            max = number;

        }

        

        //2、条件运算符

        max = max > number ? max : number;

        

        i ++;

    }

    

    printf("max is %d",max);

    */

    

    

    /*

    //打印1100之间的数,但是当遇见第一个13的倍数的时候,停止打印。

    //声明一个循环增量

    int i = 1;

    

    //开始循环

    while (i < 101) {

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

        

        //自增

        i ++;

 

        if (0 == i % 13) {

            break;

        }

        

    }

    

    printf("i = %d", i);

    */

//    int i = 1;

//    

//    while (i < 101) {

//        BOOL is7 = (0 == i % 7);

//        BOOL is7shi = (7 == i / 10);

//        BOOL is7ge = (7 == i % 10);

//

//        if (!is7 && !is7shi && !is7ge) {

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

//        }

//        

//        i ++;

//    }

    

    /*

    //打印iOS100次,并且后面跟着打印的次数,当次数为4的倍数的时候,省略次数,只打印iOS

    

    //声明一个循环增量

    int i = 1;

    

    while (i < 101) {

        printf("iOS ");

        

        if (0 == i % 4) {

            i ++;

            continue;

        }

        

        printf("%d ",i);

 

        i ++;

    }

    */

    

    //do while 循环打印 110之间的所有整数

    //do while循环的语法格式:

    /**

     *  do {

            语句;

     } while (条件表达式);

     */

 

    /*

    int i = 1;

    

    do {

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

    } while (++ i < 11);

    */

    

    //循环的组成部分,四部分

    /**

     *  1、循环变量的初始化

        2、循环条件

        3、循环变量自增或者自减

        4、循环语句

     */

    //whiledo whilefor循环组成部分都是以上四部分,没有任何变化,只不过在语法格式也就是外观上,有一定差别。

    

    //for 循环的语法格式:

    /**

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

                语句;(循环体)

        }

     */

    //for循环的执行顺序,与while循环的执行顺序是一样的。

    /**

     *  1、循环变量初始化

        2、循环条件判断

        3、语句(循环体)

        4、循环增量

     */

//    for (int i = 1; i < 101; i ++) {

//        if (0 != i % 7 && (7 != i / 10) && (7 != i % 10)) {

//            printf("%d\t",i);

//        }

//    }

    

    //怎么打印

    /**

     *  1

        1   2

        1   2   3

     */

    //思路:我们需要打印三行数据,这时候我们可以采用for循环控制打印的行数。每一行中打印的数字个数和行数相等,并且每一行中的最大数与行数相等。

//    printf("1\n");

//    printf("1    2\n");

//    printf("1    2    3\n");

    /*

    for (int i = 1; i < 4; i ++) {//用来控制行数

        //打印每一行中的数字

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

            printf("%d\t",j);

        }

        printf("\n");

    }

    */

    

    //打印乘法口诀表

    for (int i = 1; i < 10; i ++) {//外层循环控制打印多少行

        for (int j = 1; j < i + 1; j ++) {//内存循环控制打印多少个计算公式

            printf("%d * %d = %-2d ",j, i, i * j);

        }

        printf("\n");

    }

    

    //打印100999之间所有的数字

    for (int i = 1; i < 10; i ++) {//百位

        for (int j = 0; j < 10; j ++) {//十位

            for (int k = 0; k < 10; k ++) {//个位

                printf("%d ",100 * i + 10 * j + k);

            }

        }

    }

    

posted @ 2015-09-30 14:47  xlsn0w  阅读(239)  评论(0编辑  收藏  举报