黑马程序员_C语言_循环结构

一.while循环


/*和if的格式相同

 if(条件表达式)

 {

    语句1

    语句2

    。。。。

 }

 while(条件表达式)

 {

    语句1

    语句2

    。。。

 }

//初学者写循环

 1.确定循环要执行的操作

 2.确定约束条件

 ifwhile

 if:如果条件成立,就执行if后的大括号里的内容,如果条件不成立,就不执行

 while:如果条件成立,就执行while后的大括号里的内容,执行完毕以后,再进行条件判断,如果条件成立,继续执行while后的大括号里的内容,直到条件不成立,为止

 while后面的大括号中的内容,称为循环体

 */

int main()

{

//    printf("转圈\n");

//     printf("转圈\n");

//     printf("转圈\n");

//     printf("转圈\n");

//     printf("转圈\n");

   int age = 20;

   if (age > 18) {

        printf("成年人\n");

    }

   int count = 0;

   while (count < 5) {

        printf("转圈 %d\n",count +1);

        count++;

    }

    

   return 0;

}


*.while注意点


int main()

{

//    1.C语言中任何数字都有真假,非0及是真.

//    死循环 在我们程序中尽量避免死循环,但是有的时候,我们需要用到死循环

//    while (1){

//        printf("123\n");

//    }

//    2.while可以省略大括号,条件满足,就会执行小括号后面的第一行语句

//    if(1)

//        printf("123454\n");

//    while (1)

//        printf("1234\n");

//    printf("4567\n");//和循环无关

//    3.作用域的问题

//    while (1){

//        int a = 10;

// 

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

//    }

//    4.分号是空语句

//    if(0);

//    {

//        printf("666\n");

//    }

//

   while (1);

    printf("while 1\n");

//    5.while(1);最简单的死循环

   return 0;

}


二.for循环


/*

 for格式

 for(初始化表达式;条件表达式; 循环后操作表达式)

 {

    语句1

    语句2

    。。。。

 }

 初始化表达式:在整个for循环中首先执行的,只会执行一次

 条件表达式:只有条件为真,才会执行循环体

 循环后操作表达式:当循环执行完毕就会执行的操作表达式

 */


int main()

{

//    int age = 0;

//    while (age < 5) {

//        printf("转圈\n");

//        age++;

//    }

    

           1         25        4 7

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

       3  6

        printf("转圈\n");

       //计数

    }

//  1.执行初始化表达式(有且只执行一次)

//  2.判断条件表达式

//  3.条件为真,执行循环体

//  4.执行循环体后操作表达式

//  5.判断条件表达式

//  6.重复35

//  条件表达式为假,跳出循环

    

   return 0;

}


/*

 当变量再循环外面还要用的时候,用while循环

 当变量在循环结束以后不需要使用,我们就可以用for

 */

#include <stdio.h>


int main(int argc,const char * argv[])

{

   int i = 0;

   while (i < 3) {

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

        i++;

    }

    printf("循环结束以后 i = %d\n",i);

    

    printf("-------------------\n");

    

   for (int j =0; j < 3; j++) {

        printf("j = %d\n",j);

    }

    

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

    

   return 0;

}


*.for循环注意点


//    1.for也能省略大括号while if一样的,当条件满足的时候,会执行for后面的第一行语句

//    for(int i = 0; i < 3; i++)

//        printf("for \n");

//      2.if while一样,当省略大括号的时候,不能在大括号后面这条语句定义变量,作用域混乱

//    for (int i = 0; i < 3; i++)

//     int x = 30;

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


三.循环嵌套


多种嵌套方式

/*

 1.循环嵌套

 while(条件表达式)

 {

    while(条件表达式)

    {

       语句1;

        语句2;

    }

 }

 2.for(;;)

    {

        for(;;)

        {

            语句1

        }

    }

 

 3.for(;;)

 {

    while(条件表达式){

        语句

        ....

    }

 }

 */


int main()

{

    

//    要求打印好友列表

//    printf("好友列表1\n");

//    printf("     好友1\n");

//    printf("     好友2\n");

//    printf("好友列表2\n");

//    printf("     好友3\n");

//    printf("     好友4\n");

//    做法

//    for (int i = 0; i < 3; i++) {

//        printf("好友列表1\n");

//        printf("     好友1\n");

//        printf("     好友2\n");

//    }

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

        printf("好友列表1\n");

       for (int j =0; j < 3; j++) {

             printf("    好友1\n");

        }

//        printf("     好友1\n");

//        printf("     好友2\n");

    }

//    这样写法的好处

//    1,如果修改好友的个数,比较简单

//    2.可扩展性好

   return 0;

}


*.总结


/*

 写循环的步骤:

 1.确定我要重复执行的操作

 2.确定约束条件

 //当条件表达式为真,才会执行循环体,直到条件不满足为止

 while(条件表达式)

 {

    语句1

    。。。。。

 }

//无论条件是否满足,首先执行一次循环体

 do

 {

 

 }while(条件表达式);//分号必须写

// 开发中,经常用for循环,因为可以优化内存,灵活比较强

        1          2  5      4

 for(初始化表达式;条件表达式; 循环后操作表达式)

 {

    3

    语句;

    。。。

 }

 

 continue;//跳过本次循环,直接进入下次判断

 使用场合:

 while

 do while

 for

 

 break;//跳出循环

 使用场合

 switch

 while

 do while

 for

 共同点:

 continuebreak单独存在的时候,其后面不可以写任何语句

 因为都执行不到

 */

int main()

{

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

        continue;

        printf("仰卧起坐\n");

    }

    

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

        break;

        printf("俯卧撑\n");

    }

    

    printf("运行结束\n");

//    for (int i = 0; i < 3; i++) {

//        for (int j = 0; j < 2; j++) {

//            if (j == 0) {

//                break;//就近原则,写在哪个循环里,就会跳出哪个循环

//            }

//            printf("俯卧撑\n");

//        }

//    }

    

//    for (int i = 0; i < 3; i++) {

//        for (int j = 0; j < 2; j++) {

//            if (j == 0) {

//                continue;//跳出循环,就近原则,写在那个循环里,就跳出哪个循环的本次循环,进行循环的下一次判断

//            }

//            printf("俯卧撑\n");

//        }

//    }

//    int count = 0;

//    while (count < 10) {

//        printf("俯卧撑\n");

//        count++;

//    }

 

    return 0;

}



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在现如今这个互联网以及信息技术飞速发展的时代,信息技术被广泛地运用于人们的日常生活与生产中,并有效地提高了办事、办公效率。教育信息化的高速发展,使得学校在线考试系统,作为一种新的考试管理工具,在各大院校及相关教育机构的运用日趋普遍。绝大多数的考试机构需要不断地推进自身信息化的建设,而在考务管理方面,以往手工记账、登记信息的方式,已经逐渐不能满足现如今大数据量、高效率完成的要求,使用学校在线考试系统,对学校及相关教育机构的考试事宜管理已成当下教育信息化发展的必要手段。现代化的考试机构都应该进行学校在线考试系统的替换工作,学校在线考试系统一经推出,便在考试机构范围内引起了极大地反响。 本次学校在线考试系统的实现过程,它的开发使用B/S结构即浏览器和服务器结构框架,采用SSM框架技术,数据库使用了mysql数据库,页面设计采用了MVC框架,后端采用了SSM框架技术scrip等其他一些脚本语言,使用到在大学里面学的软件工程导论课程、mysql数据库、数据库原理、SSM框架技术高级程序设计等方面的知识完成本系统。本文结合全流程网站系统开发过程,详细介绍了此次学校在线考试系统的设计理念、模型结构,将所学知识融入到本网站的开发实践中,简略介绍了研究的背景和系统存在的现实意义,开发使用的技术背景,并对系统概要设计、系统实现与系统测试等进行了详细的介绍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值