《手把手教你学C语言》学习笔记(10)--- 程序的循环控制
C语言程序设计中,有些代码需要重复执行很多次,循环主要有三类:
一、for循环
1、基本格式为:for(表达式1;表达式2;表达式3){ //表达式1:循环变量赋初值
//表达式2:循环变量满足的条件
//表达式3:循环变量的增加量
执行语句1;
……
执行语句n;
}
2、语句块功能:执行特定次数的代码循环
例子1代码:
1 #include <stdio.h> 2 3 int main(int argc, char **argv) 4 { 5 int sum = 0; 6 int num = 0; 7 printf("请输入你要求和的个数:"); 8 scanf("%d", &num); 9 10 for(int i = 0; i <= num; i++){ 11 sum += i; 12 } 13 printf("1~%d的和为: %d\n", num, sum); 14 15 sum = 0; 16 for(int i = 1; i <= num; i += 2){ 17 sum += i; 18 } 19 printf("1~%d的奇数和为: %d\n", num, sum); 20 21 sum = 0; 22 for(int i = 0; i <= num; i += 2){ 23 sum += i; 24 } 25 printf("1~%d的偶数和为: %d\n", num, sum); 26 27 return 0; 28 }
代码的执行结果为:
请输入你要求和的个数:100
1~100的和为: 5050
1~100的奇数和为: 2500
1~100的偶数和为: 2550
注:在代码第10行中for循环中出现了i++中的++是自增运算符,根据运算符与变量的位置关系,可以写为++i和i++,那究竟有什么区别呢:例如以下代码:
1 #include <stdio.h> 2 3 int main(int argc, char **argv) 4 { 5 int var1 = 0; 6 int var2 = 0; 7 int i = 5; 8 int j = 5; 9 printf("i: %d and var1: %d\n", i, var1); 10 var1 = ++i; 11 printf("i: %d and var1: %d\n", i, var1); 12 printf("iiiiiiiiiiiiiii jjjjjjjjjjjjjjj\n"); 13 printf("j: %d and var2: %d\n", j, var2); 14 var2 = j++; 15 printf("j: %d and var2: %d\n", j, var2); 16 17 return 0; 18 }
代码的结果:
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;
人就像是被蒙着眼推磨的驴子,生活就像一条鞭子;当鞭子抽到你背上时,你就只能一直往前走,虽然连你也不知道要走到什么时候为止,便一直这么坚持着。