精华内容
下载资源
问答
  • 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语句嵌套while语句while(){……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
    展开全文
  • C++循环的嵌套循环的嵌套...在C++中,while循环、do while循环、for循环都可以互相嵌套,例如以下几种while语句嵌套while语句while() { …… while() { …… } } do while语句嵌套do while语句do { …… do ...

    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语句,可以让一个代码块一遍又一...
    4f0f70cafb5006c4d600e1af52f5bc68.png

    引言:

    在上个章节中,我们已经计算出了一个月的折旧金额,但是,如果要计算12个月的折旧额,难道要重复写12次计算公式吗?每个月计算折旧的公式是一样的,有没有一种办法能让这个公式反复利用,减少重复呢?“循环”就是减少重复的利器,python里有两种循环方式,一种是for循环,一种是while循环,接着,我们分别解释这两种循环如何书写。

    01 while循环语句

    利用while语句,可以让一个代码块一遍又一遍的执行。只要while语句的条件为True,while子句中的代码就会执行。

    while循环的标准写法需满足三个要件(表达式):

    i = 0 # 初始化表达式:通过初始化表达式初始化一个变量

    while i<10 : # 条件表达式:条件表达式用来设置循环执行的条件

    print (i)

    i += 1 # 更新表达式:修改初始化变量的值

    注意:缺少更新表达式或条件表达式永远满足(比如while 1=1)会引起死循环(程序不断跑下去),死循环可以使用 CTRL+C 来中断循环。

    我们用一个简单的例子,来说明while语句的实现效果,计算1到100自然数的和(答案5050):

    sum = 0

    n=1

    while n<101:

    sum += n

    n+=1

    print(sum)

    可以看到,while循环就像跑道一样,每跑一圈就计算一个sum值并更新n值,一直到n更新到不满足while条件为止。

    02 for循环语句

    像while循环一样,for也可以完成循环的功能。不同的是,for通过遍历序列的每一个元素来实现循环,如一个列表或者一个字符串等。

    来看一个例子,用for循环逐一输出列表里的每个成员:

    #account是一个list

    accounts= ['现金', '银行存款', '货币资金', '应收账款', '其他应收款']

    #要求输出所有的account名称

    for account in accounts:

    print (account)

    #输出结果是:

    #现金

    #银行存款

    #货币资金

    #应收账款

    #其他应收款

    那么,上文中同样的例子,计算1到100自然数的和,如果用for循环如何实现呢?

    sum = 0

    for n in range(101): # range() 函数可创建一个整数列表,一般用在 for 循环中

    sum += n #见赋值运算符,意思是sum = sum+n

    print(sum)

    注意,这里调用了range函数,用来生成1-100的整数序列。range函数的调用方法为range(start,end,step),括号里是用逗号分开的参数,参数start起始值,end 终止值,step 步进值(默认为1)。

    所以,for循环和while循环在某些程度上是可以相互替代的,具体使用的时候,可以根据条件要件是一个判断式还是一个序列来进行选择。

    好了,学习了两种循环方式后,让我们回到本课开头的问题,如何连续计算固定资产12个月的折旧金额?

    案例背景:某企业一固定资产的原价为10000元,预计使用年限为5年,预计净残值5%,按直线法计算折旧,截止上个月,累计折旧为8333.5元。

    #变量赋值

    amount =10000

    year=5

    srate=0.05

    scrap= amount* srate

    drate=1/year/12

    depope= 8333.5 #期初累计折旧

    depinc=0

    listdep=[]

    for i in range(12):

    depope+=depinc

    depinc= round(amount* drate,2) #本期折旧

    netamount=amount- depope-depinc - scrap #固定资产净值

    if netamount>0:

    depinc = depinc

    else:

    depinc= round((amount- depope - scrap),2)

    listdep.append(depinc)

    print('1-12月的折旧金额为:',listdep)

    # 1-12月的折旧金额为: [166.67, 166.67, 166.67, 166.67, 166.67, 166.67, 166.48, 0.0, 0.0, 0.0, 0.0, 0.0]

    03 嵌套循环

    跟if嵌套类似,在一个循环里,也可以嵌套另一个循环。

    for循环嵌套语法:

    • for 变量1 in [序列1]:
    • for变量2 in [序列2]:

    while循环嵌套语法:

    • i=0
    • While :
    • j=0
    • while :
    • j = j + 1
    • i = i + 1

    04 跳转语句

    break

    在循环中,break语句的作用是满足条件时,提前退出循环。

    n=1

    while n<20:

    if n > 10: # 当n = 11时,条件满足,执行break语句

    break # break语句会结束当前循环

    print(n,end=',') # print的end参数可以设置与下一个输出之间的间隔符,默认换行符

    n+=1

    else:

    print(n)

    #执行上述程序后,输出1,2,3,4,5,6,7,8,9,10,

    continue

    在循环中,continue语句的作用是满足条件时,跳过当前的这次循环,直接开始下一次循环。

    n=0

    while n<19

    n+=1

    if n == 10: # 当n = 10时,条件满足,执行continue语句

    continue # continue语句会跳过当前循环

    print(n,end=',')

    else:

    print(n+1)

    #执行上述程序后,输出1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20

    注意continue语句下更新表达式要写在continue前面哦,否则continue会跳过更新,循环永远停留在n=10里,造成死循环。

    展开全文
  • 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的局部变量,以避免浪费一些最佳变量名(额,好吧,我承认我强词夺理了^^),或者能让代码更优雅点吧? 拜求解决方案。
  • 1.for(表达式1;表达式2;表达式3) ...初始化只执行一次 表达式2:1.进行循环条件判断(); 3.forEach循环 + Lambda表达式 2.for each 循环,遍历集合或者数组语句: 3.forEach循环 + Lambda表达式 ...
  • for循环 for循环语句一般代码结构如下: for(初始化; 判别式; 更新) { 代码语句 } 执行流程: 先进行初始化初始化之后执行判别式,如果判别式结果为真,会执行代码块内容,之后执行更新语句; 更新后再次执行...
  • 对于学c的朋友来说,for循环可能使我们经常用到的一种循环语句 for(表达式1;表达式2;表达式3){循环体} ...由上面的执行结果不难看出for循环中除了表达式1为了初始化变量,其的循环是表达式2——循环体——表达
  • for循环的执行顺序用如下表达式: for(expression1;expression2;expression3) { expression4; } 执行的顺序应该是: 1)第一次循环,即初始化循环。 首先执行表达式expression1(一般为初始化语句);...
  • 第一个表达式不必初始化一个变量,同时,它也可以是某种类型的printf()语句,要记住第一个表达式只在执行循环的其他部分之前被求值或执行一次。 举个例子: #include&lt;stdio.h&gt; int main() { int ...
  • 循环和关系表达式

    2018-04-11 21:11:29
    )例子:表达式语句中的表达式部分和用作while循环中检测条件的表达式完整表达式包括变量初始化表达式,表达式语句,return语句的表达式,以及条件、循环和switch语句的控制表达式(for头部有三个控制表达式)·前缀...
  • for循环表达式: 简单循环: var num = 0; for(var i = 0;i5;i++){  console.log(num+=1) }  第一步 第二步  for 循环 (创建一个开始循环标记变量(初始化变量); 循环的成立的条件; 第三步 定义...
  • C语言中,for语句是三种循环控制语句之一。也是比较常用且执行效率较高的一种。本文将详细阐述for语句的...其初始化部分通常是一个赋值语句,一般用于循环控制变量的初始化,当然也可以给其它变量初始化。条件表达式...
  • c++循环和关系表达式for循环递增,递减和组合赋值运算符,复合语句,关系运算符while循环,do while循环,typedef工具,字符输入方法get(),嵌套循环和二维数组 for循环 1.for循环的组成部分 1.for循环为执行重复的...
  • 当布尔表达式条件为true时,反复执行某语句,当布尔表达式的值为false时才停止循环,比如:while与for循环。 直到型: 先执行某语句, 再判断布尔表达式,如果为true,再执行某语句,如此反复,直到布尔表达式条件为...
  • for 循环包括:循环初始化(loop initialization)、循环测试(loop test)、循环体(loop body)& 循环更新(loop update) 示例1: for (i = 0; i < 5; i++) cout << i << endl; 循环...
  • for循环语法:for(循环初始化表达式; 循环条件表达式; 循环后的操作表达式) { // 循环体 } 在“循环初始化表达式”中声明的变量,我们称之为“循环变量”for循环执行顺序:​ 1)“循环初始化表达式”最先执行,...
  • 展开全部1、java中,for循环的格式一般如下几种62616964757a686964616fe4b893e5b19e31333363376466for(语句1;条件;语句2){//语句1,2,就是正常的语句,条件语句是需要循环执行下去必须符合的条件,//条件句可以为空...
  • for循环

    2019-05-26 16:50:47
    for循环 for循环语法格式: for(表达式1;表达式2;表达式3) { 语句;...for(初始化表达式1,初始化表达式2,初始化表达式3;表达式2;表达式3){ 语句;} 例: int sum=0; //int n; 定义 f...
  • for循环 在C++中,程序在需要整数的地方,把 true 当做 1,把 false 当做 0 ;而在需要 bool 值的地方把非 0 当做 true,把 0 当做 false。 注意这几个的区别:i++,++i,i–,--i; while循环 while循环是没有初始化...
  • 1.for循环语法 【语法格式】 ...“循环初始化表达式”最先执行,并且永远只执行一次! 在“循环初始化表达式”中声明的变量,我们称之为“循环变量”。 “循环变量”属于局部变量,只能在循环中使用,不能...
  • 5.1 for循环(定量循环,while则属于条件循环) a. for是一个C++关键字; 基本的循环结构表示为, for(initialization初始化,test-expression循环测试,update-expression循环更新) { loop body循环体; } 其中循环...
  • 声明语句表达式不带分号,只能出现在for语句中,也就是在for中声明并初始化的变量i,当程序循环结束后,变量i就消失了。不会离开for语句,所以为了i延续,需要在for外声明i。 2、各种数据类型的内存 类型 32位...
  • 1.循环  概述: 一件事情反复不停的做就叫做循环  A:循环结构的分类  * for,while,do...while   1) while 循环   语法:  初始化语句;  while(判断条件语句) {  ...

空空如也

空空如也

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

for循环初始化表达式