精华内容
下载资源
问答
  • for循环的goto语句版本的代码...由此可知,在机器内部for循环和while循环是等效的,二者之间可以相互替换. /**************************************************/ /* for_goto.c使用goto语句实现fot循环 / // #...

    for循环的goto语句版本的代码和while循环的goto语句版本的代码几乎一样.也就是说,这两种循环的控制结构是一样的.
    由此可知,在机器内部for循环和while循环是等效的,二者之间可以相互替换.
    /**************************************************/
    /* for_goto.c使用goto语句实现fot循环 /
    /
    /
    #include <stdio.h>
    int main(void)
    {
    int n = 1;
    int add = 0;/累加和/
    int num = 0;
    int t;
    scanf("%d,", &num);
    loop:
    add += n;
    t = n == num;
    if(t)
    {
    goto done;
    }
    n++;
    goto loop;
    done:
    printf("%d", add);
    return 0;
    }
    /
    /
    /
    while_goto.c使用goto语句实现while循环 /
    /
    ************************************************/
    #include <stdio.h>
    int main(void)
    {
    int n = 1;
    int mul = 1;/阶乘/
    int num = 0;
    int t;
    scanf("%d,", &num);
    loop:
    mul *= n;
    t = n == num;
    if(t)
    {
    goto done;
    }
    n++;
    goto loop;
    done:
    printf("%d\n",mul);
    return 0;
    }

    展开全文
  • for和while

    千次阅读 2017-12-04 09:54:38
    下列关于for循环和while循环的说法中哪个是正确的?( ) A.while循环能实现的操作,for循环也都能实现  B.while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果  C.两种循环任何时候都可替换...
    下列关于for循环和while循环的说法中哪个是正确的?( )  
    A.while循环能实现的操作,for循环也都能实现    
    B.while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果    
    C.两种循环任何时候都可替换    
    D.两种循环结构中都必须有循环体,循环体不能为空

     

    我的理解是:
    当知道执行次数的时候一般用for
    当条件循环时一般用while
    例如:
    for i=0,i<n,i++
    {}
    这里n是已知数,可以循环n次

    while i<n
    {}
    不知道要循环多少次,但当i>=n的时候停止循环

    do while循环总会执行一次,for不一定,

    一般来说,for对于初学使用的要多于while,但其实while的功能要大于for,以后你慢慢会体会到的,所有的for循环都可以用while来表示,但就不是所有的while循环都可以用for循环来表示!

    while的用途有时候比for要巧
    因为while有do...while这个变体,无条件执行一次循环体后再判断是否达到或超过循环终止条件
    但是具体用什么还是看个人程序设计风格了
    举些例子:
    如果是非常有规律的循环,比如简单穷举那么我们用for
    如果用于处理复杂的循环,不适用单循环变量稳定递增进行的循环,那么一般我们用while

    其实也可以这样说,for循环都是用来表示那些显而易见的循环结构,就是使用它表示很容易就可以看出循环的头和尾,所以对于初学的程序来说这样。而while是用来表示一些相对复杂一点的循环结构,一般的while都不太容易看出循环的头和尾,有很多复杂的循环并不能用for循环来表示时,就只能用while循环来表示了。

    for循环通常用在循环次数确定的时候,而while循环用在次数不确定时
    比如下面这个计算字符的函数就不能用for:

    int strcount( char *sz )
    {
     int count = 0;
      while ( *(sz++) )
        count++;
     return count;
    }

    无明显区别
    如果知道明显的区域界限,一般用for

    如果不知道界限,但可以判断条件是真与否,一般用while 如
    while(XXX.next())
    {
    }
    这个时候并不知道这个对象有好多,但可以返回是true,还是false

    1. 两种循环在构造死循环时的区别
    用while构造死循环时,一般会使用while(TRUE)来构造死循环;而用for来构造死循环时,则使用for(;;)来构造死循环。这两个死循环的区别是:while循环里的条件被看成表达式,因此,当用while构造死循环时,里面的TRUE实际上被看成永远为真的表达式,这种情况容易产生混淆,有些工具软件如PC-Lint就会认为出错了,因此构造死循环时,最好使用for(;;)来进行。
    2. 两种循环在普通循环时的区别
    对一个数组进行循环时,一般来说,如果每轮循环都是在循环处理完后才讲循环变量增加的话,使用for循环比较方便;如果循环处理的过程中就要将循环变量增加时,则使用while循环比较方便;还有在使用for循环语句时,如果里面的循环条件很长,可以考虑用while循环进行替代,使代码的排版格式好看一些。

     

    对于需要无条件进行循环的语句,优先采用for语句.

    ;而在进行变量循环时,for语句在初始化变量后有一条跳转操作,而while没有,这个应该跟vc编译器有关

    ;可以说应该在效率上没有多大差别,需要进一步进行大数据量操作

    ;同时,我对于各种语句操作的顺序是否有时间关联不是很清楚.

    2. 大批量数据操作实验 -- 自加1000w次,然后再自减1000w次,看执行时间

    实践发现对于千万级数据量,执行时间并没有差异

     

    总结:

       主要考虑程序的可读性和美观,对于效率问题,可以不用考虑差异性.

       所以我比较推崇,在循环次数确定时,用for,不确定时,用while~~

     

    这是在网上摘录的一些关于for和while的区别,大家可以发表一下自己的看法,最好是有依据的。(欢迎大家讨论)

    展开全文
  • C语言while循环语句 do while语句 for循环语句

    万次阅读 多人点赞 2019-06-10 14:17:53
    一、循环结构的思想及意义: ...for的流程图走向和while语句一模一样,但是for的思维过程,可以直接先分析从第一次开始执行,执行条件是什么,步长是多少,然后执行的语句是什么,套用for的结构即可。

    一、循环结构的思想及意义:
    知道了循环结构,那么在生活中也一样,我们每天都在重复做着相同的事情,例如:吸气呼气的过程;又如夏天开电扇,电扇一圈一圈的转,这都是在重复。现在大家玩个游戏,一个人A来说一个人B来做,一个人A说命令“敬礼,礼毕”,另一人B做动作十遍;第一种思维那就是说一下命令就让B执行动作,B执行完动作后,A再继续说命令,B再继续做动作,同样的事情重复十遍。如果利用所学的知识,让你输出十遍“敬礼,礼毕”,你会怎么写程序呢?

    /* 输出敬礼礼毕十遍 */
    #include "stdio.h"
    void main()
    {
        printf("1.敬礼、礼毕\n");
        printf("2.敬礼、礼毕\n");
        printf("3.敬礼、礼毕\n");
        printf("4.敬礼、礼毕\n");
        printf("5.敬礼、礼毕\n");
        printf("6.敬礼、礼毕\n");
        printf("7.敬礼、礼毕\n");
        printf("8.敬礼、礼毕\n");
        printf("9.敬礼、礼毕\n");
        printf("10.敬礼、礼毕\n");    
    }
    

    那A要让B说一万遍呢,显然如果还是用上面的程序来写的话,那么今天你一个小时不用做别的了,你就在这里慢慢复制粘贴吧!所以肯定有好的办法:A应该对B说执行命令动作“敬礼、礼毕”十遍。同样的问题大家来看第二段程序代码:

    /* 输出敬礼礼毕十遍 */
    #include "stdio.h"
    void main()
    {
    	int i;
    	i=1;
        while(i<=10)
    	{
    printf("%d.敬礼、礼毕\n",i);
    i=i+1;
    	}   
    }
    

    二、while的基本格式
    while的基本格式:(流程图如右图所示)
    while(表达式)
    {
    语句1;
    ……
    语句 n;
    }
    其中表达式代表了循环条件,整个复合语句为循环体。
    while语句规范:
    1:{和}自成一行
    2:语句1—语句n自动缩进
    while循环属于当型循环,也就是先判断表达式的值是否为真的(也可以理解为条件是否成立),若为真则循环,否则退出循环。
    它的格式变形如下;
    表达式1;
    while(表达式2)
    {
    语句;
    表达式3;
    }
    其中表达式1代表了程序循环前的初始值,表达式2代表了控制条件,表达式3代表了增量变化
    拿输出1到100为例分析。
    最初始的值(假设变量为i)应该是i=1;条件是i<101(或i<=100);语句是输出相应的变量值 printf(“%d ”,i);而表达式3应该是输出一个后进入下一个数,也就是i++;
    所以它的代码也就很容易就出来了:

    void main()
    {
        int i;
        i=1;
        while(i<101)
    {
      printf(“%d ”,i);
      i++;   
    }
    }
    

    do—while循环语句
    do–while语句
    在循环中有当型循环,还有直到型循环。接下来我们就来学习下直到型循环。
    一、do—while语句格式
    1.do—while语句格式1
    表达式1;
    do
    {
    语句;
    表达式3;
    } while(表达式2);
    其中表达式1代表了程序循环前的初始值,表达式2代表了控制条件,表达式3代表了增量变化
    这种格式在程序中已经很少用了。主要应用于下种变形格式:
    2.do—while语句格式变形
    do
    {
    语句;
    } while(条件表达式);
    二、do-while语句的思想及意义
    do英文翻译成中文是做的意思,那么从上面的结构我们也能看出,do语句后判断条件表达式,如果条件还表达式成立,再次执行语句,直到条件表达式不成立,往下继续执行。所以do—while的中心思想是至少执行一次循环语句。
    三、do-while循环结构实例
    下面我们一些操作实例来讲解循环结构的逻辑思维过程。
    1.求1+2+3+4±—+100和是多少?
    (1)步骤1,首先我们应该分析的是,我们要求一个数即和,那么和初值是几呢? sum=0
    (2)sum+=1;
    (3)sum+=2;
    (4)sum+=3;
    (5)假如我们如一个变量i来代表值的变化的话那么我们应该也能推算去,求和其实就是
    (6)sum+=i;只是i要从1变化到100
    (7)while代码参考代码如下

    /*求1+2+3+---+100的和*/
    #include "stdio.h"
    void main()//求各
    {
    	//定义变量并初始化
    	int i=1;
    	int sum=0;
    	while(i<=100)  //条件表达式
    	{
    		sum+=i;
    		i+=1; //步长
    	}	
    	printf("和是%d",sum);
    }
    

    (8)do–while代码参考代码如下

    /*求1+2+3+---+100的和*/
    #include "stdio.h"
    void main()//求各
    {
    	//定义变量并初始化
    	int i=1;
    	int sum=0;
    	do
    	{
    		sum+=i;
    		i+=1; //步长
    	}	while(i<=100); //条件表达式
    	printf("和是%d",sum);
    }
    

    2.输入qq的密码;输入正确则显示登录成功,否则可以一直输入密码直到对为至,假设密码为123456
    (1)那么我们分析题目,应该是先输入后判断的一种循环方式,那么应该选择do—while语句
    (2)程序中要求我们输入密码,密码可以变,所以要给密码定义成一个变量,我们假设int password;
    (3)因为密码是输入的,所以没有初始值
    (4)输入密码以后我们应该判断密码是否和默认密码相同
    (5)相同则登录成功
    (6)不相同则重新
    (7)do–while代码参考代码如下

    /*判断qq密码*/
    #include "stdio.h"
    void main()//登录
    {
    	//定义变量并初始化
    	int password;
        do	
    	{
    		printf("请输入qq登录密码:");
    		scanf("%d",&password);
    	}while(password!=123456);  	//条件表达式
    	printf("登录成功");
    }
    

    (8)do—while语句是可以被while()替换,其实循环之间的语句都可以相互替换,哪种方法更适合你,就选那种,也就是说一定要有一种是自己专长的。

    (9)参考代码如下
    /*登录*/
    #include "stdio.h"
    #include "stdlib.h"
    void main()//登录
    {
    	//定义变量并初始化
    	int password;
        while(1)
    	{
    		printf("请输入qq登录密码:");
    		scanf("%d",&password);
    		if(password==123456)
    		{
    			printf("登录成功");
    			break;
    			}
    	}
    	
    }
    

    3.while 与do—while的相同与不同总结?
    (1)while 语句是先计算表达式的值,再执行循环体,do…while是执行完一次循环体,再计算表达式的值
    (2)当表达式的值第一次为假时,while的循环体一次都不执行,do…while则执行一次循环体;
    (3)当表达式的值为真时,两者无区别
    (4)在不确定条件次数的情况下,程序一般用while比较多

    for循环语句
    for 循环为当型循环。for循环最容易实现计数控制循环方法。for循环的使用最为灵活,且适合应用在循环次数确定的情况下。
    for循环的思想是,先分析清楚循环的初始值,循环的控制条件,循环变量的步长变化,然后直接把语句再写到for的循环体里即可,这样可以让问题想的很清楚,流程也很清楚。
    二、for循环语句的应用
    for语句是c语言所提供的功能更强,使用更广泛的一种循环语句。
    1.for语句的一般格式
    (1)第1种情况
    for(表达式1;表达式2;表达式3)
    语句;
    (2)第2种情况
    for(表达式1;表达式2;表达式3)
    {
    语句块;
    }
    2.for语句的注意事项
    (1)各表达式之间分号不能省略
    (2)表达式1与表达式2与表达式3均可省略,一般是不省略的。
    ①当表达式1省略时,相当于省去了为循环变量赋初值,此时应在for语句之前给循环变量赋初值
    ②当表达式2省略时,表示不判断循环条件,也就是认为表达式2始终为真, 这时应在循环体内设法结束循环,否则将成为死循环
    ③当表达式3省略时,即省去修改循环变量的值,但此时应在循环体内设法结束循环
    (3)虽然说表达式可以省略,但是在使用for时,还是要正常使用的,也就是该有的都有。
    三、for的逻辑思维过程
    for语句和while语句一样,它的思想是在做循环之前,也是先有一个初值表达式1,然后判断条件表达式2是否成立,如果成立就执行{}里的语句然后跳转到表达式3,表达式3再跳转到表达式2,再次判断表达式2,如若成立再次,执行{}里的语句语句然后跳转到表达式3,表达式3再跳转到表达式2,如果成立就再重复执行,如果不成立就退出循环。
    for的流程图走向和while语句一模一样,但是for的思维过程,可以直接先分析从第一次开始执行,执行条件是什么,步长是多少,然后执行的语句是什么,套用for的结构即可。

    展开全文
  • while,do...while,for 三种循环的比较

    千次阅读 2019-11-14 13:57:19
    (2)在while循环do while循环中,只在while后面的括号内指定循环条件,因此为了使循环能正常结束,应该在循环中包含使循环趋于结束的语句(如 i++)。for循环可以在表达式3中包含使循环趋于结束的语句,甚至可以...

    while,do...while,for 三种循环的比较


    (1)三种循环都可以用来处理同一问题,一般情况下他们可以相互替换。

    (2)在while循环和do while循环中,只在while后面的括号内指定循环条件,因此为了使循环能正常结束,应该在循环中包含使循环趋于结束的语句(如 i++)。for循环可以在表达式3中包含使循环趋于结束的语句,甚至可以将循环所有操作放到语句3中。因此for语句的功能更强,凡是while循环能完成的for循环都可以完成。

    (3)在用while循环和do while循环时,循环变量初始化操作应在语句之前完成。for语句可以在表达式1中实现循环变量的初始化。

    (4)while dowhile for 都可以利用break语句跳出循环,用continue结束本次循环。
     

    展开全文
  • for和while等价替换 -------------------------- int i = 1; for (i; i sum = sum + 1; } -------------------------- int i = 1; while(i sum = sum + 1; i++; } -------------------------- 从键盘...
  • for while的区别

    万次阅读 2012-08-25 13:34:29
    下列关于for循环和while循环的说法中哪个是正确的?( ) A.while循环能实现的操作,for循环也都能实现  B.while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果  C.两种循环任何时候都可替换...
  • JavaScript | for循环和while循环的区别

    千次阅读 2018-07-04 16:19:14
    写在前面:for循环和while循环语法规则略有不同,两种方法可以替换使用,但是在部分问题上各有优势。主要代码://猜数字游戏,谜底:50; //用户可以猜5次 ,若用户猜的小于50,提示:猜小了;否则提示猜大了;猜中了...
  • Java基础之for循环和while循环区别

    千次阅读 2020-07-04 11:50:59
    class ForTest { public static void main(String[] args) { /* 用for完成累加。 */ int sum = 0; for(int x=1;... 1,for和while可以互换。 2,格式上的不同,在使用上有点小区别。
  • for循环、while循环do........while循环的区别

    万次阅读 多人点赞 2018-04-09 09:54:30
    做循环的时候,首先要把思路理清楚,回答四个问题: (1)初始化条件?...while循环do.......循环,当第一次进入循环就不满足条件时,while循环不做,do......while执行一次。其他情况输出结果是一样的。
  • 循环语句  循环语句在程序设计中用来描述有...而do-while语句属于“先循环再判断”的结构,所以从语法角度来看,do-while语句的循环体至少会执行一次,在实际使用时while语句和for语句之间可以进行很方便的替换
  • Java循环语句之 while 生活中,有些时候为了完成任务,需要重复的进行某些动作。如参加 10000 米长跑,需要绕 400 米的赛道反复的跑 25 圈。在 Java 中实现功能时,也经常需要重复执行某些代码,例如,我们...
  • 在多模块开发的微服务系统中,报错 while scanning for the next token found character ‘@’ that cannot start any token 解决方法 遇到报错,很头痛,百度google了很久没有找到解决方案 Caused by: org.yaml....
  •   循环语句  循环语句在程序设计中...而do-while语句属于“先循环再判断”的结构,所以从语法角度来看,do-while语句的循环体至少会执行一次,在实际使用时while语句和for语句之间可以进行很方便的替换
  • 下列关于for循环和while循环的说法中那个是正确的?() A、while循环能实现的操作,for循环也都能实现 B、while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果 C、两种循环任何时候都可替换 D、两种...
  • 一、for和while等价替换int i = 1; for (i; i; i++){ sum = sum + 1; }int i = 1; while(i){ sum = sum + 1; i++; }二、从键盘输入一个数字,如果该数字是回文数,则返回yes,否则返回no回文数:正着写倒着写一样...
  • Tcl循环控制命令之for、foreach、while、break、continue
  • 问题描述 最近在执行Linux脚本的时候遇到如下的报错...接着看第31行,结果发现该脚本只有30行,于是怀疑问题出在脚本最后一行,是不是末尾有异常符号,开始对最后一行进行删除、替换和注释等操作,一通操作之后问...
  • 虽然查找到的大部分回答都是“循环结构for和while进行互换”,但是感觉有个地方的确无法互换。 下面是用for写的,能够输出4组数字: 1 1 1 2 2 1 2 2 ``` #include void main() { int a,b; ...
  • goto语句的替换方法--用while

    千次阅读 2015-12-23 13:02:51
    goto在编程中最后不用, 有时代码逻辑需要类似goto的逻辑,可以用 do while 实现 do {  if(xx)  break; // 跳出循环,类似 goto到代码块的外边。 ......  if(yy)  break; }while(false);
  • Java 8 开始,我们有多个强大的新方法可以帮助我们简化复杂的迭代。在本文中,您将了解如何使用 InStream 方法、range、iterate limit 来...java8以前一个for循环这样写的: public class Demo { public st...
  • bash shell 中常用的 loop 有如下三种:  ...* while * until for loop 是从一个清单列表中读进变量值,并"依次"的循环执行 do 到 done 之间的命令行。 例: for var in one two three fou
  • 一、用for循环来计算1-100的。此处我列举两种方法,请同行多多提建议。提出更好的方法或更优化的小脚本程序。1、用for i in 方式: [root@bogon ~]# vim forin.sh #!bin/bash #The for i in shell script #2018年...
  • forwhile循环的使用   示例前提 模仿一个通用的学校的师生信息数据库,使用sql语句已经建好了如下表,表结构如下,数据自己随意啦: student 学生信息表: sno(学号) sname(姓名) ssex(性别) sage...
  • 语句模板,比如if else, for, while这些基本语句的模板 先输入前面几个字母,然后按下Ctrl+Shift+空格即可补全 参考资料: http://www.keil.com/support/man/docs/uv4/uv4_ui_templatestab.htm ...
  • python(for循环,while循环及字符串的使用)

    万次阅读 多人点赞 2019-06-23 17:40:43
    for循环 for i in range(10): 求阶乘 #输出 a = int(input('请输入一个值:')) #阶乘控制单位 total = 1 #求阶乘 for i in range(1,a+1,1): ##起始值为1,终止符为a+1,间隔为1求阶乘 total *= i print...
  • 1. for 语句 bash shell 中 for 命令的...也可以将 do 语句 for 语句放在同一行,但必须用分号将其同列表中的值分开:for var in list; do 1.1 读取列表中的值 for 命令最基本的用法就是遍历 for 命令自身所定...
  • 文章目录循环语句:for语句结构for语句示例:While语句结构:while示例:双重循环双重循环示例until语句until语句示例Shell函数Shell函数示例: 循环语句: for语句结构 for循环:指定次数循环 遍历 :将集合当中每...
  • (4)do...while和while语句相互替换时,要注意修改循环控制条件。先执行一次循环体,再判断条件。     4、while与do...while的区别:  while语句do...while语句的区别在于:do...while语句是先...
  • for循环代替while(1)

    千次阅读 2015-09-27 22:33:32
    【 声明:版权所有,欢迎转载,请勿用于商业用途。...    在下面的blog当中,我将会讲解一些提高个人代码效率的一些手段。这些手段都是被实践证明,切实可行的。但是不同的处理器处理平台上面可能会有所差

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 283,692
精华内容 113,476
关键字:

while和for替换