| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 935 人关注过本帖
标题:写给新手 【循环专项总结】
只看楼主 加入收藏
t505556855
Rank: 2
等 级:论坛游民
帖 子:27
专家分:32
注 册:2010-10-31
结帖率:100%
收藏
 问题点数:0 回复次数:5 
写给新手 【循环专项总结】
【循环专项总结】

一:while与do-while语句的格式:

    while语句的格式如下:
   
     【1】while(条件表达式)  
         //循环体
   
     
   
     【2】while(条件表达式){
        //循环体
         }

     【1】:while后面必须加小括号,里面填入的表达式可以是任何类型的表达式,返回的一定是逻辑值,非真即假;循环体是一句代码的话,可以不要大括号
     【2】:while后面必须加小括号,里面填入的表达式可以是任何类型的表达式,返回的一定是逻辑值,非真即假;循环体是多行代码的话,需要加上大括号


    do-while语句的格式如下:
      
      【1】do{
            //循环体
            }while(条件表达式);
      【1】:do-while语句,do和while结合一起,必须加上大括号,在while语句括号里填入条件表达式,在括号后面一定要加";" (分号).

二:do-while和while语句的区别:

     【1】:格式区别

            while语句可以不加大括号,但do-while一定要加大括号;而且do-while语句while括号后面一定要加";"(分号结束)。

     【2】:执行区别
           
            while语句是先判断条件再执行循环体;do-while语句先执行循环体在判断条件。
            在条件都为真的时候,他们都执行一次,但条件为假的时候,do-while语句比while语句多执行一次。

            例子:
            #include <stdio.h>
            void main()
           {
            int i=2;
            int j=2;
            while(i<2){
            i++;
           }
           printf("while语句:   %d\n",i);
           do{
           j++;
           }while(j<2);
           printf("do-while语句:%d\n",j);
           }
          【运行结果是:2     3    可以看出条件为假的时候,do-while语句比while语句多执行一次】

三:for循环语句的格式
 
           for语句的一般表达式:

           for(表达式1;表达式2;表达式3)==for(循环变量赋初值;循环条件;循环步长控制值)

           表达式1:初始化表达式(设置初始条件,只执行一次。可以为0个,一个或多个变量设置初始值)
           表达式2:循环条件表达式(循环判断条件,看是否继续执行)
           表达式3:循环变量控制表达式(在执行完循环体后,自增或自减)


四:for循环语句的多种形式【求1加到100的算法表现形式】

           (1):for语句的一般形式
            int i;
            int s=0;
            for(i=1;i<=100;i++){
            s=s+i;
            }
            或者是:
            int s=0;
            for(int i=1;i<=100;i++){
            s=s+i;
            }
           【一般表达式是三个条件表达式都写完整,可以在初始化表达式里直接声明定义并赋初始值】

           (2):表达式1,可以忽略,但后面的分号不能忽略
            int i=1;
            int s=0;
            for(;i<=100;i++){
            s=s+i;
            }
           【初始化表达式可以不写,但要在前面声明定义赋初始值】

           (3):表达式2,可以忽略,但前后两个分号不能忽略
            int s=0;
            for(int i=1;;i++){
            if(i>100){
            break;
            }else{
            s=s+i;
            }
            }
           【条件表达式可以忽略,但整个循环语句没有限制条件,就会是死循环,所以需要加控制语句break】

           (4):表达式3,可以忽略,但第二个分号不能忽略
            int i;
            int s=0;
            for(i=1;i<=100;){     
            s=s+i;
            i++;
            }
           【循环变量控制表达式可以忽略,但需要在循环体里面加上循环变量控制表达式,一定要在循环体后面加,因为按照for循环语句运行机制,先执行循环体再自增自减】

           (5):表达式1 和 表达式2 可以忽略
            int i=1;
            int s=0;
            for(;i<=100;){
            s=s+i;
            i++;
            }
           【初始化表达式和循环变量控制表达式都可以忽略,其中初始化表达式要在前面进行声明定义,循环变量控制表达式要在循环体后面写】

           (6):三个表达式全部忽略
            int i=1;
            int s=0;
            for(;;){
            if(i>100){
            break;
            }else{
            s=s+i;
            i++;
            }
            }
           【三个表达式全部忽略话,就会出现死循环,需要在循环体加上控制条件】

           (7):表达式1可以是其他表达式(非循环变量初始表达式可以是与循环变量无关的表达式)
            int i=1;
            int s;
            for(s=0;i<=100;i++){
            s=s+i;
            }
           【初始化表达式1中可以是其他表达式,但需要在前面进行声明定义与赋初值】

           (8):初始化表达式1和初始化表达式3可以是多个变量
            int i;
            int j;
            int s=0;
            for(i=1,j=3;i<=100;i++,j+=3){
            s=s+i;
            }                  
           【初始化表达式和循环变量控制表达式可以是多个变量,但要用逗号来隔开,起作用也是自增自减】

           (9):可以是多个条件表达式,但一般会按照最小的条件执行结束
            int i;
            int j;
            int s=0;
            for(i=1,j=2;i<=100,j<50;i++,j+=2){
            s=s+i;
            }
           【条件表达式中可以是多个,但会按照执行次数最小的那个执行进而结束整个循环语句】

           (10):循环变量控制表达式可以是多个
            int i;
            int s=0;
            for(i=1;i<=100;i++,i++){
            s=s+i;
            }
            等同于:
            int i;
            int s=0;
            for(i=1;i<=100;i+=2){
            s=s+i;
            }
           【循环变量控制表达式可以是同一个的多个,相当于叠加有等同效果】


五:死循环
   
    (1):
     for(;;)
   
    (2):
     while(真){
     }
  
    (3):
     do{
     }while(真);

    (4):
     for(int i=1;;i++){
     }
     【1和4只要没有条件表达式,就是死循环,因为他没有条件来结束整个循环;;2和3只要条件用为真的时候就会出现死循环!】
           
搜索更多相关主题的帖子: 专项 
2010-10-31 20:14
jack10141
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:陕西西安
等 级:小飞侠
威 望:6
帖 子:706
专家分:2271
注 册:2010-8-10
收藏
得分:0 
支持下!!!

Coding就像一盒巧克力,你永远不会知道你会遇到什么BUG
别跟我说你是不能的,这让我愤怒,因为这侮辱了你的智慧
2010-10-31 20:41
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
收藏
得分:0 
谢谢你了

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2010-10-31 20:53
五当家
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:2
帖 子:1112
专家分:3674
注 册:2010-10-20
收藏
得分:0 
谢啦!

经验积累中............
2010-10-31 22:38
tomliu05
Rank: 2
等 级:论坛游民
帖 子:17
专家分:28
注 册:2010-11-1
收藏
得分:0 
谢谢
2010-11-01 11:07
kevin_zh
Rank: 4
来 自:农村
等 级:业余侠客
威 望:1
帖 子:129
专家分:250
注 册:2010-8-14
收藏
得分:0 
支持下,总结的很全

"please input a number :\n"
2010-11-01 11:14
快速回复:写给新手 【循环专项总结】
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.101528 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved