精华内容
下载资源
问答
  • ES.74: Prefer to declare a loop variable in the initializer part of a for-statementES.74:尽量在循环变量初始化表达式中定义循环变量Reason(原因)Limit the loop variable visibility to the scope of the loop...
    87aa18cc49a13ca1d629080d949fbab2.png

    ES.74: Prefer to declare a loop variable in the initializer part of a for-statement

    ES.74:尽量在循环变量初始化表达式中定义循环变量

    Reason(原因)

    Limit the loop variable visibility to the scope of the loop. Avoid using the loop variable for other purposes after the loop.

    将循环变量的作用域限制在循环之内。避免在循环之后将循环变量用于其他目的。

    Example(示例)

    for (int i = 0; i < 100; ++i) {   // GOOD: i var is visible only inside the loop    // ...}

    Example, don't(反面示例)

    int j;                            // BAD: j is visible outside the loopfor (j = 0; j < 100; ++j) {    // ...}// j is still visible here and isn't needed

    See also: Don't use a variable for two unrelated purposes

    参见:不用将变量用于两个不同的目的。

    Example(示例)

    for (string s; cin >> s; ) {    cout << s << '';}

    Enforcement(实施建议)

    Warn when a variable modified inside the for-statement is declared outside the loop and not being used outside the loop.

    如果发现一个变量在for语句外部定义,在循环内部被修改,同时没有在循环外没有被使用的情况,发出警告。

    Discussion: Scoping the loop variable to the loop body also helps code optimizers greatly. Recognizing that the induction variable is only accessible in the loop body unblocks optimizations such as hoisting, strength reduction, loop-invariant code motion, etc.

    讨论:将循环变量的作用域限制在循环体之内非常有利于代码优化。需要认识到:只在循环体内部才是可访问的归纳变量是很多优化的必要条件:变量提升,强度削减,循环不变代码外提等。

    原文链接

    https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#es74-prefer-to-declare-a-loop-variable-in-the-initializer-part-of-a-for-statement


    觉得本文有帮助?请分享给更多人。

    关注微信公众号【面向对象思考】轻松学习每一天!

    面向对象开发,面向对象思考!

    dc37d5b07e119f9a33e0d3b1607e7e00.png
    展开全文
  • C++循环的嵌套循环的嵌套就是,一个循环体内又包含了另一个完整的循环结构;内嵌的循环中还可以嵌套循环,这就是多层循环。在C++中,while循环、do while循环、for循环都可以互相嵌套,例如以下几种while语句嵌套...

    点击上方“C语言入门到精通”,选择置顶

    第一时间关注程序猿身边的故事

    fb2367b032ff7ec7e995c9a49ef82e08.png

    作者

    闫小林

    白天搬砖,晚上做梦。我有故事,你有酒么?

    C++循环的嵌套

    循环的嵌套就是,一个循环体内又包含了另一个完整的循环结构;内嵌的循环中还可以嵌套循环,这就是多层循环。

    在C++中,while循环、do while循环、for循环都可以互相嵌套,例如以下几种

    while语句嵌套while语句

    while()
    {
      ……while()
      {
        ……
      }
    }

    do while语句嵌套do while语句

    do
    {
      ……do
      {
       ……
      } while();
    } while();

    for语句嵌套for语句

    for(;;)
    {
      ……for(;;)
      {
        ……
      }
    }

    while语句嵌套do while语句

    while()
    {
      ……do
      {
        ……
      }while();
    }

    for语句嵌套while语句

    for(;;)
    {
      ……while()
      {
       ……
      }
    }

    do while语句嵌套for语句

    do
    {
      ……for(;;)
     {
      ……
     }
    }while();

    C++循环的比较

    while循环、do  while循环、for循环都可以用来处理同一问题,一般情况下,这三种循环可以互相代替,但是说实话,小林在开发中还是习惯用for循环。

    while循环和do while循环,是在while后面指定循环条件的,在循环体中应包含使循环趋于结束的语句。

    for循环可以在表达式3中包含使循环趋于结束的操作,甚至可以将循环体中的操作全部放到表达式3中。

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

    for(int i=1;i<101;i++)
    {
      ……
    }
    8e9bd1c9ebe24ebc32b2bf3e122729b2.png
    展开全文
  • while循环基本结构:while (条件表达式) { 循环语句}执行逻辑:while循环在每次循环开始前,首先判断条件是否成立。如果计算结果为true,就把循环体内的语句执行一遍,如果计算结果为false,那就直接跳到while循环的...

    while循环

    基本结构:

    while (条件表达式) { 循环语句}

    执行逻辑:

    while循环在每次循环开始前,首先判断条件是否成立。如果计算结果为true,就把循环体内的语句执行一遍,如果计算结果为false,那就直接跳到while循环的末尾,继续往下执行,直到条件不满足时停止。

    举个例子:

    public class SumNumber { public static void main(String[] args) { int sum = 0; // 累加的和,初始化为0 int n = 1; while (n <= 100) { // 循环条件是n <= 100 sum = sum + n; // 把n累加到sum中 n ++; // n自身加1 } System.out.println(sum); // 5050 }}

    do while循环

    基本结构:

    do { 执行循环语句} while (条件表达式);

    执行逻辑:

    do while循环则是先执行循环,再判断条件,条件满足时继续循环,条件不满足时退出;do while循环会至少循环一次。

    public class SumNumber { public static void main(String[] args) { int sum = 0; int n = 1; do { sum = sum + n; n ++; } while (n <= 100); System.out.println(sum); }}

    for循环

    for循环的功能非常强大,它使用计数器实现循环。for循环会先初始化计数器,然后,在每次循环前检测循环条件,在每次循环后更新计数器。计数器变量通常命名为i。

    基本结构:

    int sum = 0; for (int i=1; i<=100; i++) { sum = sum + i; }

    执行逻辑:

    for循环执行前,会先执行初始化语句int i=1,它定义了计数器变量i并赋初始值为1,然后,循环前先检查循环条件i<=100,循环后自动执行i++,因此,和while循环相比,for循环把更新计数器的代码统一放到了一起。在for循环的循环体内部,不需要去更新变量i。

    举个例子:

    public class Main { public static void main(String[] args) { int sum = 0; for (int i=1; i<=100; i++) { sum = sum + i; } System.out.println(sum); }}

    小结

    • do while循环先执行循环,再判断条件;
    • do while循环会至少执行一次。
    • for循环通过计数器可以实现复杂循环;
    33c98602e999f5900a5aa81689bcd4ea.png
    c547af6bd36c940f227ede422569ee46.png
    展开全文
  • C++循环的嵌套循环的嵌套就是,一个循环体内又包含了另一个完整的循环结构;内嵌的循环中还可以嵌套循环,这就是多层循环。在C++中,while循环、do while循环、for循环都可以互相嵌套,例如以下几种while语句嵌套...

    510b697bc1e343d495342ce74a2aad45.png

    C++循环的嵌套

    循环的嵌套就是,一个循环体内又包含了另一个完整的循环结构;内嵌的循环中还可以嵌套循环,这就是多层循环。

    在C++中,while循环、do while循环、for循环都可以互相嵌套,例如以下几种

    while语句嵌套while语句

    while()
    {
      ……
      while()
      {
        ……
      }
    }
    

    do while语句嵌套do while语句

    do
    {
      ……
      do
      {
       …… 
      } while();
    } while();
    

    for语句嵌套for语句

    for(;;)
    {
      ……
      for(;;)
      {
        ……
      }
    }
    

    while语句嵌套do while语句

    while()
    {
      ……
      do
      {
        ……
      }while();
    }
    

    for语句嵌套while语句

    for(;;)
    {
      ……
      while()
      {
       ……
      }
    
    }
    

    do while语句嵌套for语句

    do
    {
      ……
     for(;;)
     {
      ……
     }
    }while();
    

    C++循环的比较

    while循环、do while循环、for循环都可以用来处理同一问题,一般情况下,这三种循环可以互相代替,但是说实话,小林在开发中还是习惯用for循环。

    while循环和do while循环,是在while后面指定循环条件的,在循环体中应包含使循环趋于结束的语句。

    for循环可以在表达式3中包含使循环趋于结束的操作,甚至可以将循环体中的操作全部放到表达式3中。

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

    for(int i=1;i<101;i++)
    {
      ……
    }
    
    4.2 C++循环嵌套mp.weixin.qq.com
    1125934b6b6cd0b091f59d92d1aa2bf7.png
    展开全文
  • 循环”就是减少重复的利器,python里有两种循环方式,一种是for循环,一种是while循环,接着,我们分别解释这两种循环如何书写。01 while循环语句利用while语句,可以让一个代码块一遍又一...
  • ES.74:尽量在循环变量初始化表达式中定义循环变量 Reason(原因) Limit the loop variable visibility to the scope of the loop. Avoid using the loop variable for other purposes after the loop. 将..
  • 如果要对两个变量同时在for后面的括号中进行初始化,例如I=1与flag=1,两个表达式中间应用逗号隔开,而不是用分号,但初始化表达式循环继续条件表达式,循环控制变量增值表达式,这三者之间使用分号隔开。...
  • 是的,可以把这些初始化放到for的上面,可是有时觉得如果是一次性的变量,我希望它可以是for的局部变量,以避免浪费一些最佳变量名(额,好吧,我承认我强词夺理了^^),或者能让代码更优雅点吧? 拜求解决方案。
  • 循环和关系表达式

    2018-04-11 21:11:29
    )例子:表达式语句中的表达式部分和用作while循环中检测条件的表达式完整表达式包括变量初始化表达式,表达式语句,return语句的表达式,以及条件、循环和switch语句的控制表达式(for头部有三个控制表达式)·前缀...
  • 1.for(表达式1;表达式2;表达式3) ...初始化只执行一次 表达式2:1.进行循环条件判断(); 3.forEach循环 + Lambda表达式 2.for each 循环,遍历集合或者数组语句: 3.forEach循环 + Lambda表达式 ...
  • c++循环和关系表达式for循环递增,递减和组合赋值运算符,复合语句,关系运算符while循环,do while循环,...2.c++循环设计中的要素:初始化,测试,更新操作。这些操作由括号括起来,其中每个部分都是表达式,由分号隔
  • for 循环包括:循环初始化(loop initialization)、循环测试(loop test)、循环体(loop body)& 循环更新(loop update) 示例1: for (i = 0; i < 5; i++) cout << i << endl; 循环...
  • for forEach 循环及Lambda表达式使用 for循环 for循环语句一般代码结构如下: for(初始化; 判别式; 更新) { 代码语句 } 执行流程: 先进行初始化初始化之后执行判别式,如果判别式结果为真,会执行代码块内容,...
  • 关系表达式的优先级比算数表达式低; 不能用关系表达式来比较字符串,但是可以用它来比较字符大小(ASCII); for循环 在C++中,程序在需要整数的地方,把 true 当做 1,把 ...while循环是没有初始化和更新部分的for...
  • for(initialization初始化,test-expression循环测试,update-expression循环更新) { loop body循环体; } 其中循环测试作为进入循环体的条件(入口条件循环),可以用循环体里的break实现;...
  • 声明语句表达式不带分号,只能出现在for语句中,也就是在for中声明并初始化的变量i,当程序循环结束后,变量i就消失了。不会离开for语句,所以为了i延续,需要在for外声明i。 2、各种数据类型的内存 类型 32位...
  • While循环循环刚开始时,会计算一次“布尔表达式”的值,若条件为真,执行循环体。而对于后来每一次额外的循环,都会在开始前重新计算一次。语句中应有使循环趋向于结束的语句,否则会出现无限循环--即“死”循环...
  • while循环是没有初始化和更新部分的for循环 它只有测试条件和循环体: while(测试表达式) { 内容 } 还可以将while循环内的内容改成name[i],当name[i]为空值字符,其编码将为0或false。对于这种情况,"笨拙"的编译器...
  • 1.i++和++i、- -i和i- - ++:递增运算符(increment operator) - - :递减运算符(decrement operator) i++:先取值再加1 ++i:先加1再取值 ...可以理解成for(初始化;测试表达式;更新测试的值) ...
  • 第一个表达式不必初始化一个变量,同时,它也可以是某种类型的printf()语句,要记住第一个表达式只在执行循环的其他部分之前被求值或执行一次。 举个例子: #include&lt;stdio.h&gt; int main() { int ...
  • 这一部分内容节选自《C++ Primer Plus》的第五章 ...初始化循环测试、循环体、循环更新 5.1.1 for循环的组成部分 for循环为执行重复的操作提供了循序渐进的步骤: 设置初始值 执行测试,...
  • 初始化,测试和更新操作构成了控制部分,这下操作有括号括起。每个部分都是一个表达式,彼此由分号隔开。控制部分后面的语句叫做循环体,只要测试表达式为 true,它便被执行: for (initialization; test-...
  • 0、本章内容: for循环表达式和语句。 递增运算符和递减运算符:++和–。 组合赋值运算符。...while循环。...do while循环。...嵌套循环和二维数组。...1、for循环: ...1.1 for循环的组成部分 ...初始化、测试...
  • 一、循环语句  1、for循环 ... 首先初始化条件测试是否满足判断条件,如果满足则执行一次循环体,然后更新一次,再测试是否满足判断条件,如果满足,执行循环;反之跳出循环。注意body如果有多个语
  • for循环表达式: 简单循环: var num = 0; for(var i = 0;i5;i++){  console.log(num+=1) ... for 循环 (创建一个开始循环标记变量(初始化变量); 循环的成立的条件; 第三步 定义循环后要执行的代码)
  • for循环语法:for(循环初始化表达式; 循环条件表达式; 循环后的操作表达式) { // 循环体 } 在“循环初始化表达式”中声明的变量,我们称之为“循环变量”for循环执行顺序:​ 1)“循环初始化表达式”最先执行,...
  • 对于学c的朋友来说,for循环可能使我们经常用到的一种循环语句 for(表达式1;表达式2;表达式3){循环体} ...由上面的执行结果不难看出for循环中除了表达式1为了初始化变量,其的循环表达式2——循环体——表达

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,112
精华内容 1,244
热门标签
关键字:

循环初始化表达式