C语言程序设计中,有些代码需要重复执行很多次,循环主要有三类:
一、for循环
1、基本格式为:for(表达式1;表达式2;表达式3){ //表达式1:循环变量赋初值
//表达式2:循环变量满足的条件
//表达式3:循环变量的增加量
执行语句1;
……
执行语句n;
}
2、语句块功能:执行特定次数的代码循环
例子1代码:
#include <stdio.h> int main(int argc, char **argv)
{
int sum = ;
int num = ;
printf("请输入你要求和的个数:");
scanf("%d", &num); for(int i = ; i <= num; i++){
sum += i;
}
printf("1~%d的和为: %d\n", num, sum); sum = ;
for(int i = ; i <= num; i += ){
sum += i;
}
printf("1~%d的奇数和为: %d\n", num, sum); sum = ;
for(int i = ; i <= num; i += ){
sum += i;
}
printf("1~%d的偶数和为: %d\n", num, sum); return ;
}
代码的执行结果为:
请输入你要求和的个数:100
1~100的和为: 5050
1~100的奇数和为: 2500
1~100的偶数和为: 2550
注:在代码第10行中for循环中出现了i++中的++是自增运算符,根据运算符与变量的位置关系,可以写为++i和i++,那究竟有什么区别呢:例如以下代码:
#include <stdio.h> int main(int argc, char **argv)
{
int var1 = ;
int var2 = ;
int i = ;
int j = ;
printf("i: %d and var1: %d\n", i, var1);
var1 = ++i;
printf("i: %d and var1: %d\n", i, var1);
printf("iiiiiiiiiiiiiii jjjjjjjjjjjjjjj\n");
printf("j: %d and var2: %d\n", j, var2);
var2 = j++;
printf("j: %d and var2: %d\n", j, var2); return ;
}
代码的结果:
i: 5 and var1: 0
i: 6 and var1: 6
iiiiiiiiiiiiiii jjjjjjjjjjjjjjj
j: 5 and var2: 0
j: 6 and var2: 5
例子表明:var1 = ++i;等效为代码 i = i + 1; var1 = i;
var2 = j++;等效为代码var2 = j;j = j + 1;