不怎么重要的前言
上一篇介绍了if条件式的语法,让我们可以依照设定好的条件来执行不同内容。
这次我们来介绍程式设计中另一个很重要的语法--「For Loop」!
Loop是什么?
「Loop」一词在中文翻译中一般称为「迴圈」,而使用到它的时机在于,当我们需要重複的利用相同方法处理资料时,我们会使用迴圈来代劳,而不是複製许多相同的程式码于程式中,虽然执行结果也许是相同的,但迴圈能使我们省去重複撰写的麻烦,而是让程式能在符合条件时自动执行。
其中「For Loop」就是我们第一个要学习的迴圈模式,通常我们需要明确次数的重複处理时会使用到它。
假设今天我们需要将使用者的输入,进行十次处理后输出答案(这里只是单纯把data+1),可以参考以下的程式码:
#include <stdio.h>int main(void){ int data; printf("input your data: "); scanf("%d", &data); printf("---\n"); for (int i = 0; i < 10; i++){ data = data+1; printf("This is %d times for loop.\n", i+1); } printf("---\n"); printf("result: %d\n", data); return 0;}
正式使用For Loop
规则(1) for迴圈的基本结构:「( )」包住的内容为条件,被「{ }」包住的内容为需重複执行的body。
for(int i = 0; i < 10; i++){ data = data+1;}
(2) for迴圈的条件有三个区块
a. 条件中的三个区块作用分别如以下
for(int i = 0; i < 10; i++){ data = data+1;}
b. 依照逻辑可以把for迴圈的条件拆开成这样,执行结果也会是一样的。
#include <stdio.h>int main(void){ int data; printf("input your data: "); scanf("%d", &data); printf("---\n"); int i = 0; for (; i < 10;){ data = data+1; printf("This is %d times.\n", i+1); i++; } printf("---\n"); printf("result: %d\n", data); return 0;}
(3) 通常使用for迴圈时,是在我们能明确知道迴圈需重複多少次时。
应用我们可以结合第九篇提到scanf来设定迴圈次数,然后用上一篇学的if来判断使用者输入的data。
#include <stdio.h>int main(void){ int data,times; printf("plz input times: "); scanf("%d", ×); printf("---\n"); for(int i = 0; i < times; i++){ printf("plz input your data: "); scanf("%d", &data); if(data%2 == 0){ printf("this num is even.\n\n"); } else{ printf("this num is odd.\n\n"); } } return 0;}