入门:for 的使用说明

for这一函数的基本格式

for(条件一;条件二;条件三){

   语句

}

根据我个人的理解,对三个条件进行了一定的阐释:

  for(定义循环对象;对循环对象进行判断;进行循环)

例如:for(i=1;i<Num;i++)

注意:

1.这里需要提前储存i;

2.关于编译器对for语句的解读,先执行i的赋值,然后进行判断,如果符合条件,则执行for条下的语句,如果不符合,终止执行,最后执行完一次循环后,返回语句,进行循环,根据需要的循环条件继续执行

3.大括号部分表示其中语句皆为执行内容,否则只执行for的下一条语句;小括号后不加分号

这里有一道经典的例题,简单表述为:

现在有几个学生的成绩的数据,请(用for循环语句)找出其中的最大值和最小值。

我们先想思路

1.我们需要能够让对方有办法给出学生的人数和他们分数的数据;

2.我们要想一个能够比较多个分数的办法,如果我们总是拿后一个学生的分数和前一个学生的进行比较,那我们就可以得到其中的最大值与最小值;

得到思路后,我们应该确定可能使用的变量的种类和个数(当然也可以再补充),以及我们需要调用的函数(这里是for)

根据我学习过程中的想法,在用for语句时,最重要的是,你明白你的循环对象是什么,你的循环次数i需要和什么作比较。可能表述有些不清楚,那我们结合这道题来看:

在这里,我们要对每个学生的分数和前一个学生的分数进行比较,这是我们循环的对象,也是循环的语句中要表述的内容,其次,我们循环的次数应该是学生的人数。

最后,我们要做的是一些细节的处理和代码的编写。包括第一个学生的数据如何进行比较等。但大体的内容就是以上提到的。得到的代码如下:

#include <iostream>

using namespace std;

int main()
{
  int Score,Max,Min,Num,i;
  Min=100;
  Max=0;
  cout<<"请输入学生人数"<<endl;
  cin>>Num;
  for(i=1;i<Num;++i){
    cout<<"请输入第"<<i<<"名学生的成绩"<<endl;
    cin>>Score;
    if (Score>Max)
        Max=Score;
    if (Score<Min)
        Min=Score;
    }
    cout<<"最高的分数是:"<<Max<<endl;
    cout<<"最低的分数是:"<<Min<<endl;
    return 0;
}

        在这里出现了一个问题:当我的学生人数为五人时,运行这个代码,只出现了四次循环,就是只弹出了四个输入成绩的窗口。

根据我们对for的解读,当i=4时,代码继续执行,可是当返回i++时,i变成了5,在第二个条件时经过判断,无法执行。

所以,这里需要注意的是,为了进行五次循环,应该有i<6或者i<=5出现。在这里可以直接写成i<Num+1;

        这里还涉及到一个变量初始化的问题:

在程序中,我对Max和Min进行了初始化赋值,这是因为我在第一次循环中就进行了比较,如果不赋值,比较将无法进行。赋值Max=0,Min=100,保证了第一次的比较一定是第一个学生的数据被存储,与后面的学生进行比较。

        调整后,就能得到一个正确的代码。

        这篇分享就到此结束。后面可能还会有关于循环的进一步学习,欢迎大家关注。

如有不当之处,欢迎大家批评指教。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值