笔者有Java基础,Java是C(++)语言,也被称为C++-,但写博客时,仍会不自主的将两者进行比较:类似于Java中的一样,并非意味着C语言起源于Java,望不要误解。
上一节,我们通过while循环打印了摄氏度和华氏度对照表,本节通过for循环实现同样的功能。
while循环实例
C语言和Java中for循环基本一致,这里仅做剪短说明。
1.for代码
main(){
int fahr, celsius,s;
int lower, upper, step;
step = 20;
lower = 0;
upper = 300;
fahr = lower;
for(fahr;fahr<=upper;fahr+=step){
celsius = 5*(fahr-32)/9;
printf("%d\t%d\n",fahr,celsius);
}
}
2.代码分析
for语句也是循环语句,是对while语句的推广。for()圆括号中包含三部分,用分号隔开。
2.1第一部分:初始化部分
仅在进入循环前执行一次;
fahr;
2.2第二部分:控制循环的测试或条件部分。
循环对该条件求值,如果为true,则执行循环体。
fahr<=upper;
2.3第三部分:增加步长部分
并在此对条件求值,为false则终止执行。
fahr+=step
这里是fahr=fahr+step
的简写。
C语言的for不能将声明及初始化放在一起
值得一提的是,在C的for语句中,不能将声明和初始化放在for里面。具体见下:
比如打印0~9,C语言中:
int i;
for( i = 0; i<10 ; i++ ){
printf("%d ", i);
}
我们必须在for循环之前声明变量i,然后在for循环中只能初始化。
而在Java中,除了上述写法,我们还可以这么写:
for(int i = 0; i<10 ; i++ ){
printf("%d ", i);
}