精华内容
下载资源
问答
  • 前言: 最近在看面试题的时候,做到了一些关于它们的一些选择题,我也有点疑惑,所以求助于百度,...D、两种循环结构中都必须有循环体,循环体不能为空 答案:A、C 解释: A:我没有找到可以反对的例子,所以A项正确 B

    前言:

    最近在看面试题的时候,做到了一些关于它们的一些选择题,我也有点疑惑,所以求助于百度,然后我也没有找到确切的答案,下面给出2个选择题谈谈我个人的看法。

    选择题1:

    下列关于for循环和while循环的说法中那个是正确的?()

    A、while循环能实现的操作,for循环也都能实现

    B、while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果

    C、两种循环任何时候都可替换

    D、两种循环结构中都必须有循环体,循环体不能为空

    答案:A、C

    解释:

    A:我没有找到可以反对的例子,所以A项正确

    B:如果while循环判断条件一般是程序结果,那在循环体里面会执行什么判断呢,暂时没有遇到,毕竟用while循环的情况还是比较少的,感觉B项错误

    C:这个暂时没有找到可以反对的例子,所以C项正确

    D:首先两种循环结构中都必须有循环体,如下所示:

    证明for循环必须有循环体:
    在这里插入图片描述
    证明while循环必须有循环体:
    在这里插入图片描述
    其次for循环的循环体可以为空,而while循环的循环体不一定能为空,如下所示:

    证明for循环循环体可以为空:
    在这里插入图片描述
    证明while循环循环体不一定能为空:

    在这里插入图片描述
    在这里插入图片描述

    选择题2:

    说法中正确的是()

    A、for循环完全可以用while循环替代。

    B、while循环完全可以用do{}while循环替代。

    C、while循环完全可以用for循环替代。

    D、do{}while循环完全可以用while循环替代。

    E、do{}while循环和while循环均完全可以用for循环替代。

    答案:A、C、D、E

    解释:

    A:没有找到可以反对的例子,所以A正确

    B:有些while循环不能用do while循环代替,如下所示:

    int a = 1;
    while (a != 1) {
        System.out.println(a);
    }
    

    上述的while循环根本不会执行,由于do while循环是循环一次在判断,因此无法替换,所以B错误

    C:没有找到可以反对的例子,所以C正确

    D:do while循环不过是先执行在判断,while循环完全可以做到,来一个do while循环的特例吧,如下所示:

    int a = 1;
    do{
        System.out.println(1);
    } while (a!=1);
    

    上述例子中只会执行一次循环体,接下来看我用while循环怎么替代它,如下所示:

    int a = 1;
    while(a!=2){
        System.out.println(1);
        a++;
    }
    

    虽然样子不一样,但是实现的功能是一样的,都是一次循环,所以D正确

    E:既然while循环都能替代do while循环,那for循环和while循环可以相互转换,所以for循环也能替代do while循环,所以E正确

    展开全文
  • for和while

    2017-12-04 09:54:38
    下列关于for循环和while循环的说法中哪个是正确的?( ) A.while循环能实现的操作,for循环...两种循环结构中都必须有循环体,循环体不能为空   我的理解是: 当知道执行次数的时候一般用for 当条件循环时一般
    下列关于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的区别,大家可以发表一下自己的看法,最好是有依据的。(欢迎大家讨论)

    展开全文
  • while for

    2014-10-10 10:08:22
    下列关于for循环和while循环的说法中哪个是正确的?( ) A.while循环能实现的操作,for循环也都能实现...两种循环结构中都必须有循环体,循环体不能为空   我的理解是: 当知道执行次数的时候
    下列关于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的区别,大家可以发表一下自己的看法,最好是有依据的。(欢迎大家讨论)

    展开全文
  • JAVA面试题(2018)

    2018-07-07 21:32:46
    (答案在最后面。。。) 第1题:下列关于for循环和while循环的说法中,正确的是: ...两种循环结构中必须都有循环体,循环体不能为空 第2题:下面的表达式中正确的是: A.String s=”你好”;if(s==”你好...

    (答案在最后面。。。)

    第1题:下列关于for循环和while循环的说法中,正确的是:
    A.while循环能实现的操作,for循环也能实现
    B.while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果
    C.两种循环任何时候都可以替换
    D.两种循环结构中必须都有循环体,循环体不能为空
    第2题:下面的表达式中正确的是:
    A.String s=”你好”;if(s==”你好”) System.out.println(true);
    B.String s=”你好”;if(s!=”你好”) System.out.println(false);
    C.String s=”你好”;if(s.equals(”你好”)) System.out.println(true);
    D.String s=”你好”;if(equals(s,”你好”)) System.out.println(true);
    第3题:以下关于字符串类的说法正确的是:
    A.String类用于字符串变量,而StringBuffer类用于字符串常量
    B.String类用于字符串常量,而StringBuffer类用于字符串变量
    C.String类的对象只能用“new”关键字生成
    D.StringBuffer字符串的容量是指字符串中字符的个数
    第4题: 给出一段程序,试判断哪个是正确的结果:
    public class Test{

    public static void main (String args[]){
    
        try{ System.out.print(“Hello world ”); }
    
        finally{System.out.println(“Finally executing”); }
    
    }
    

    }
    A.无法编译运行,因为没有指定异常
    B.无法编译运行,因为没有catch子句
    C.Hello world
    D.Hello world Finally executing
    第5题:下面数据类型的定义中错误的是:
    A.int a = 10;
    B.double d = 1.2;
    C.float f = 1.2;
    D.char c = ‘A’;
    第6题: 设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是:
    A.a[0];
    B.a[a.length-1];
    C.int i=1; a[i];
    D.int[2>1];
    第7题:执行String [ ] s=new String[10];代码后,下面结论正确的是:
    A.s[10]为””
    B.s[10]为null
    C.s[0]未定义
    D.s.length为10
    第8题:下列关于for循环和while循环的说法中,正确的是:
    A.while循环能实现的操作,for循环也能实现
    B.while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果
    C.两种循环任何时候都可以替换
    D.两种循环结构中必须都有循环体,循环体不能为空
    第9题:以下正确的逻辑表达式:
    A.(x+y>7)&&(x-y<1)
    B.!(x+y)
    C.(x+y>7)||(z=a)
    D.(x+y+z)&&(z>=0)
    第10题:以下有关条件运算符(?:)说法正确的是:
    A.条件运算符是一个三元运算符,其格式是:表达式1?表达式2:表达式3
    B.格式中的“表达式1”是关系或者逻辑表达式,其值是boolean值
    C.若“表达式1”成立,该条件表达式取“表达式2”的值,否则取“表达式3”的值
    D.以上说法都正确

    答案:ACBDCDDAAD
    文章来源:http://blog.songchunmin.com/564.html

    展开全文
  • C++基础之循环

    2019-04-21 12:33:00
    while循环 ``` while (表达式)语句 ``` 表达式是一个关系表达式或一个逻辑表达式,当值为真是开始循环执行语句,为假退出循环。 ...循环每次执行完语句后回到表达式出重新开始判断,重新计算...2.表达式不能为空...
  • for 和 while的区别

    万次阅读 2012-08-25 13:34:29
    下列关于for循环和while循环的说法中哪个是正确的?( ) A.while循环能实现的操作,for循环也都能...两种循环结构中都必须有循环体,循环体不能为空   我的理解是: 当知道执行次数的时候一般用for
  • Python的代码中不需要写begin、end或者大括号去标记开头或结尾。...循环体不能为空。 给你一个没有缩进的序列,求有多少种方式添加缩进可以形成一个完整的Python代码。 输入格式: 第一行:N 接下来N行
  • 题目链接:Python Indentation 题意:  Python是没有大括号来标明语句块的,而是用严格的缩进来体现。现在有一种简化版的... 相当于for循环,并且规定它的循环体不能为空。  然后给你一段没有缩进的Python...
  • for循环 2021-02-19

    2021-02-19 23:29:12
    ”可以代表一个语句,省略了之后语句减少,即语句格式发生变化,则编译器不能识别而无法进行编译。 for循环小括号里第一个“;”号前一个不参与循环的单次表达式,其可作为某一变量的初始化赋值语句, 用来给...
  • 第五章:循环结构

    2018-08-15 17:02:43
    第五章:循环结构 5.1while语句和调用while语句构成的循环结构 “当”循环:由while语句构成 ... While后一对圆括号中的表达式可以是C语言中任意合法的表达式,但不能为空,由它来控制循环是否执行。 在语法上...
  • ”可以代表一个语句,省略了之后语句减少,即语句格式发生变化,则编译器不能识别而无法进行编译。 for循环小括号里第一个“;”号前一个不参与循环的单次表达式,其可作为某一变量的初始化赋值语句, 用来给...
  • 循环语句 C++中的循环语句有while,for,do...while。 ...1.condition不能为空。 2.condition条件可以是一个表达式或者一个初始化的变量声明。通常,条件本身或者循环体必须要能够改变这个表达式
  • 如题,自己参照网上的例子做了一个C语言的PL0编译器,能跑通,但是遇到调用procedure的时候,就会一直循环无限调用,查错查了好久,还是没有找到,希望有大神能为我解答一下!谢谢~ 代码如下,有点长。。 #include...
  • // 验证码不能为空 $secode = session($key); if(empty($code) || empty($secode)) { return false; } // session 过期 if(NOW_TIME - $secode['verify_time'] > $this->expire) { session($key, ...
  • 5.4 迭代语句 while和for语句在执行循环体之前检查条件,do while语句先执行循环体,然后再检查条件。... condition 不能为空,如果 condition 第一次求值就得 false,statement 一次都不执行。 定义在 while
  • 表达式不能为空 while循环的意思就是:当条件满足时,不断地重复循环体内的语句。 循环执行之前判断是否继续循环,所有有可能一次也没有被执行,也有可能为无限循环(死循环),一定要有能使此表达式的值为0的操作,...
  • //提示用户A输入用户名 且用户名不能为空 只要是空 用户就一直输入 //循环体:输入用户名 循环结构:用户名等于空 //string name1 = ""; //string name2 = ""; //while (name1 == "") //{ // Console....
  • 1.循环体代码为空 虽然说非volatile共享变量保证可见行,但是“最终”一定会看到结果,这里的子线程死循环里面“最终”应该看到结果才对。但是结果就是始终看到变量被修改为false,子线程的循环一直结束了。...
  • java学习日记4

    2020-10-11 18:10:17
    13.For循环 for循环里面有多个条件(初始值;条件;每轮执行循环体后要执行的表达式) eg: for:(count=10;...PS: for()后面不能加分号,否则就为空循环。并且可以在for循环里面直接定义变量。 for Scanner
  • (1)for语句中的表达式可以省略,但表达式之间的分隔符不能...(2)当for语句的循环体内容为空时,一定在for的结尾添加分号。 (3)一定注意循环变量的初始值,由于编译器不同,并不是所有的整数在声明时都被初始化为0。 ...
  • 其中for语句的循环体需要缩进一格,并且不能为空(for语句的循环体里至少有一个s语句或for语句)。给出n条语句,问总共有多少种合法的缩进方法。思路dp[i][j] 第i行缩进j格的种数。 如果第i行是f语句,它的下一行...
  • 题目链接: ... 题意: ...其中 for 语句的循环体需要缩进一格,并且不能为空( for 语句的循环体里至少有一个 s 语句或 for 语句)。给出 n 条语句,问总共有多少种合法的缩进方法。 输入: 4 s f ...
  • java的程序控制语句

    2006-08-31 20:58:00
    for语句他的三个表达式都可以使空的,但表达式第2个是空的,则需要在循环体中书写其他的跳转语句中止循环,否则他是个死循环。三个表达式为空的时候,两个" ;"不能少 不要在for语句后面加分号,否则,当前只循环一次...
  • 流程控制

    2016-11-10 19:19:51
    break 跳出本层循环 continue 结束本次循环,执行下次循环。 ...用在函数中,如果函数有返回值...这时就相当于一个break的功能,但是break是不能用在循环体或者switch之外的。 public static void main(String[]
  • 解法1:利用一个队列先把跟结点进队中,然后进入一个循环体,在循环体中先出队打印当前队头,然后判断是否存在左儿子,有的话进队,同样对右儿子做同样的操作,在整个循环体中结束条件是队列为空。(当这样打印出来...
  • 5.3.2 switch语句 switch语句计算一个整型表达式的值,然后根据这个值从几条执行路径中选择一条。case关键字和她对应的值被...condition不能为空,condition使用的变量必须定义在循环体之外,不允许在条件部分定义变量
  • do...while

    2019-10-19 13:44:38
    do…while语句与while语句非常相似; 唯一的区别 do…while语句先执行循环体后检查条件。不管条件如何,先执行一次循环。...在do语句中,求condition值之前首先执行一次statement,condition不能为空。如...
  • 本人又犯错了。 我写了一个程序(假如我叫做程序2),它调用了程序1的参数。...然后程序2通过函数反复修改该变量(因为程序1定义在程序2之前,所以1不能读2,但是2能读1) 写个代码表示下: # d
  • STM32开发 --- Keil常见错误/警告 解释

    千次阅读 2020-02-11 09:11:47
    翻译:while为空的偱环体 只是警告,语句没有错误,不消除也正常编译、运行; 把循环体下面一条语句,与while左对齐,可消除警告; 如果上一条方法不能解决,应该是两条语句前的空位是Tab或空格不统一,删除...
  • /*字符串不是基本类型,做等值比较,不能用== * 应该使用Java专门的API比较字符串是否相等 * 语法:字符串1.equals(字符串2); */ while(!inStr.equals("EXIT")&&position!=chs.length){ System...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 150
精华内容 60
关键字:

循环体不能为空