这个for循环如何工作?

时间:2013-01-03 10:24:14

标签: c++

我是编程的新手,每当我使用for循环时,它都包含以下内容

 1. Initialize
 2. Condition 
 3. Body 
 4. Update 
 5. Go to 2
 6. Quit.

然而,在代替更新的cin>>number之前的for循环中?

int number = 0;
cout<<"please enter a number that is greater than 15"<<endl;
for (cin>>number; number <= 15; cin>>number)
{
    cout<<" Please enter a number that is greater than 15"<<endl;
}

4 个答案:

答案 0 :(得分:5)

  1. 初始化

    CIN&GT;&GT;数

    要求用户提供初始值。

  2. 条件

    数&LT; = 15

    根据条件检查号码。

    如果number小于15,请转到3,否则转到6.

  3. <强>车身

    cout&lt;&lt;“请输入大于15”的数字&lt;&lt; ENDL;

    这形成了身体,每次都会执行。

  4. 更新

    CIN&GT;&GT;数

    再次要求用户输入一个号码。

  5. 转到2

  6. <强>退出


  7. 另外,这是一种非常奇怪的编码风格。循环结构通常不以此形式使用。它们具有您提到的元素,但更清晰。

    如果你的引用有这样的代码,你应该参考其他的东西。它可能不是开始学习C ++的最好书。查看一些书here

答案 1 :(得分:4)

这是一种奇怪的风格,但实际上它会在每次迭代时提示用户输入一个数字(而不是典型的初始化或循环计数器更新步骤),并检查15次。只要用户输入&lt; 15,它保持循环

如果我的优先级列表中的可读性很高(这应该是#1或关闭),这不是我写的方式。这种代码可能更好地表达为。

cin>>number;
while (number <= 15){
    cout<<" Please enter a number that is greater than 15"<<endl;
    cin>>number;
}

答案 2 :(得分:1)

更新阶段是for语句中的第二个cin >> number

这是一种有点不寻常的方式,但这是一个完全有效的数字更新。尽管++和 - 更常见,但这显然可以在每次循环时更新数字。人们经常付出相当大的努力来避免初始化部分与更新部分相同,尽管我不确定原因。

答案 3 :(得分:-1)

“cin&gt;&gt;数字”接受该号码 “number&lt; = 15”检查条件是否大于或等于15 然后再次