游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4133|回复: 7

谁能详细的解释一下C++_for循环

[复制链接]

29

主题

153

帖子

189

积分

注册会员

Rank: 2

积分
189
发表于 2005-12-2 16:24:00 | 显示全部楼层 |阅读模式
学了快一年c++,对for这个东西还是模糊
下面的程序:
#include<iostream>
using namespace std;
int main()
{
        for(int i=5;i>0;i--)//第一个for明白,是确定行数,I等于几,就输出几行;
        {
                for(int j=0;j<i;j++)//这个就不明白了,不是越排越少吗,怎么用++j,不是--j呢?
                        cout<<'*';
                cout<<endl;
               
        }
        return 0;
}
输出结果是:
*****
****
***
**
*

0

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2005-12-2 17:01:00 | 显示全部楼层

Re:谁能详细的解释一下C++_for循环

for(int j=0;j<i;j++)//这个就不明白了,不是越排越少吗,怎么用--j,不是++j呢?
什么意思?

85

主题

824

帖子

878

积分

高级会员

Rank: 4

积分
878
QQ
发表于 2005-12-2 17:17:00 | 显示全部楼层

Re:谁能详细的解释一下C++_for循环

用--的话就成死循环了

248

主题

2674

帖子

2702

积分

金牌会员

Rank: 6Rank: 6

积分
2702
QQ
发表于 2005-12-2 18:18:00 | 显示全部楼层

Re:谁能详细的解释一下C++_for循环

#include<iostream>
using namespace std;
int main()
{
for(int i=5;i>0;i--)//第一个for明白,是确定行数,I等于几,就输出几行;
{
for(int j=0;j<i;j++)//这个就不明白了,不是越排越少吗,怎么用--j,不是++j呢?
cout<<'*';
cout<<endl;

}
return 0;
}

这是两层循环,外层为5次
内层为5,4,3,2,1次。

外层的 i 同时也是也是内层的判断条件。因为它是递减的,所以内层的每次的次数曾递减。

内层的实际代码是打印*,外层打印回车。

0

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2005-12-2 20:20:00 | 显示全部楼层

Re:谁能详细的解释一下C++_for循环

  i是每行星号数,逐行递减;
  j负责行内打印星号,从左到右递加。

29

主题

153

帖子

189

积分

注册会员

Rank: 2

积分
189
 楼主| 发表于 2005-12-3 07:55:00 | 显示全部楼层

Re:谁能详细的解释一下C++_for循环

各位,谢了先...

14

主题

283

帖子

293

积分

中级会员

Rank: 3Rank: 3

积分
293
QQ
发表于 2005-12-3 20:41:00 | 显示全部楼层

Re:谁能详细的解释一下C++_for循环

真有耐心~

1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2005-12-10 15:33:00 | 显示全部楼层

Re:谁能详细的解释一下C++_for循环

如果把for 的定义看懂,在看一下循环嵌套 应该不难理解。 要看懂程序执行的顺序,才能有深刻的理解。第一个是外层循环for(i),i=5是初值,i>0是条件判断,如果i>0,则执行for(i)里面的语句,这里可以看出for(i)里面语句执行了5次,每执行一次后i--, i由初值依次变为4,3,2,1,0。当i变为0时,条件i>0不成立,终止for(i)循环。又来看内层的for(j),第一次由外层循环进入内层循环时,i=5,j = 0是初值,j < i是判断条件,接着分析for(j),它会执行5次,即执行5次{cout<<'*';} 打印5个’*‘后,退出for(j),接着执行一个cout<<endl; 跳到下一行,这时第一次外层循环结束,i--,i变为4,接着又进入for(j)的语句,j = 0 被重新赋初值,由于这次i =4,可以推断打印4个*。依次类推,会打印出那种倒3角的图形。
    楼主应该从语言细节上把握函数功能,建议可以看谭浩强的C ,c语言入门的基础教材。希望我写的对你有帮助。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-22 21:42

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表