(五)C语言教程&for 循环

(五)C语言教程&for 循环

今天,我们继续来学习C语言里的for循环

照常,上节课答案在最底下,上节课链接:

(四)C语言教程&if 判断与逻辑运算符

今天,我们学习C语言里比较重要的知识:for循环

这个可是C语言里重要的知识点,都好好学习哈,不懂多看看

先从例子开始

比如,我们现在要接受用户输入的三个数字 

常规的写法是这样的:

scanf(“%d”,&a);

scanf(“%d”,&b);

scanf(“%d”,&c);

但是,如果我们要写十遍呢?一百遍呢?

肯定就不能这么写了,因此,for循环也就出来了

for循环基本格式如下:

for(单次表达式;条件表达式;末尾循环体)

{

    中间循环体;

}

接下来,咱们来详细的讲一讲

for循环时,你需要有一个变量并赋值,随着循环次数的增多而增大,一旦这个变量到达了顶,就不能循环了,就自动退出了

这就是for的基本原理

那么变量呢?我们都会写上 int i ,当然,你也可以写int a,但是一般循环用i,j,k

赋值呢?i=0 ,这里 i=啥都行

所以单次表达式里写 i=0就OK,int i 写在前面

当然,你也可以写在一起,写成 int i=0 ;

条件表达式就是每次 i 的增加数量

比如 i = i+1,就是每次 i 循环一次后加 1

同样,i = i+2 就是加 2

但是一般我们不这样写,太繁琐了,一般我们写成 i++,这是代表 i +1

那么 i+2 呢?是 i+=2,当然你也可以把 i++写成i+=1

还有个末尾循环体,这就是那个条件,条件一满足,循环就退出

比如当 i >10时,循环退出,或者i >5也可以,当然>=也可以

中间循环体就是循环时要执行的语句

所以for循环的语句就都出来了,让我们试着写点例子:

接受用户输入的三个数字,然后输出它们的和

就可以写成:

for(int i=0;i<3;i++)       //注意这是分号

{

    scanf(“%d”,&a);

}

它的执行过程就是:i 为0,先判断i是不是小于3,然后执行让用户输入的操作,然后i++

i 为1,再判断一下,然后再执行让用户输入的操作,然后i++

i 为2,同样再判断,然后让用户输入,然后i++

i 为3,判断 i 不小于3,所以直接退出,循环体一共执行3次

当然你也可以写成 i=1;i<=3;i++这样的形式,或者 i=1;i<4;i++,都可以

但是一定要做到简单明了,让自己看得懂

除了for循环,其实还有别的循环方式,还有while循环和do-while循环,下面分别介绍一下

while(条件表达式)

{

    执行语句;

}

do{

    执行语句;

}while(条件表达式)

那么两者的区别呢?

while是先判断后执行,do-while是先执行后判断,while可能不会执行,但do-while一定会执行一次

其实本质上没啥区别,只是do-while不太一样,for和while可以互相转换

自己用着哪个好使就用哪个就行了,但是必须都得了解

给个例子:(九九乘法表)

include

int main(){

    for (int i = 1; i <= 9; i++){

         for (int j = i; j <= 9; j++){

                printf(“%d*%d=%-3d”, i, j, i * j);

         }

         printf(“\n”);

    }

    return 0;

}

自己好好琢磨琢磨,其实不难

九九乘法表
对了,还没告诉你们%-3d的意思呢,-代表左对齐,3是占三个位置,不够用空格补齐,这样可以更好的格式化输出,便于人们阅读

如果不带呢?

不带-%3d,可以看出乱了好多
是不是乱了?带上还是很好看的

下面开始总结:

其实没啥总结的,自己在脑子里过一遍for,while和do-while的句式,作者还贴心的为你们准备了课后练习题,能做了就代表你会这节的知识了

上题答案:

include

int main(){

    int age, score;

    printf(“请输入您的年龄和分数:”);

    scanf(“%d%d”, &age, &score);

    if (age > 18){

        if (score > 60){

            printf(“你可以使用该软件\n”);

        }

        else{

            printf(“你的分数太低了\n”);

        }

    }

    else if (age < 18 && score > 60){

        printf(“你太小了,不能使用\n”);

    }

    else{

        printf(“输入有误\n”);

    }

    return 0;

}

作者亲测无误

今天的题在这里:

要求用户输入一个数字,判断是否为质数,如果是,则输出”这个数是质数”,如果不是,则输出”这个数不是质数” 作者:江晓锦翁 https://www.bilibili.com/read/cv7164268?spm_id_from=333.999.0.0 出处:bilibili

发表评论