网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
- 省略了“表达式1(循环变量赋初值)”,表示不对循环控制变量赋初值。
- 省略了“表达式2(循环条件)”,则不做其它处理时便成为死循环。例如:
for( i=1; ; i++ ) sum=sum+i;
相当于:
i=1;
while(1){
sum=sum+i;
i++;
}
- 省略了“表达式3(循环变量增量)”,则不对循环控制变量进行操作,这时可在语句体中加入修改循环控制变量的语句。例如:
for( i=1; i<=100 ; ){
sum=sum+i;
i++;
}
- 省略了“表达式1(循环变量赋初值)”和“表达式3(循环变量增量)”。例如:
for( ; i<=100 ; ){
sum=sum+i;
i++;
}
相当于:
while(i<=100){
sum=sum+i;
i++;
}
- 3个表达式都可以省略。例如:
for( ; ; ) 语句
相当于:
while(1) 语句 - 表达式1可以是设置循环变量的初值的赋值表达式,也可以是其他表达式。例如:
for( sum=0; i<=100; i++ ) sum=sum+i;
- 表达式1和表达式3可以是一个简单表达式也可以是逗号表达式。
for( sum=0,i=1; i<=100; i++ ) sum=sum+i;
或:
for( i=0,j=100; i<=100; i++,j-- ) k=i+j;
- 表达式2一般是关系表达式或逻辑表达式,但也可是数值表达式或字符表达式,只要其值非零,就执行循环体。例如:
for( i=0; (c=getchar())!=’\n’; i+=c );
又如:
for( ; (c=getchar())!=’\n’ ; )
printf("%c",c);
循环的嵌套
#include <stdio.h>
int main(void){
int i, j, k;
printf("i j k\n");
for (i=0; i<2; i++)
for(j=0; j<2; j++)
for(k=0; k<2; k++)
printf("%d %d %d\n", i, j, k);
return 0;
}
4.常用C语言for循环范式
通过上面我们对for循环使用的一般形式的介绍,我们对for循环的普通使用应该很熟悉了,下面我们来看看几种常见的for循环使用方法。
1.循环变量每次递增不为1
比如要打印100以内的奇数
#include "stdio.h"
int main() {
for (int i = 1; i < 100; i+=2) {
printf("%d\n",i);
}
}
当然我们也可以写成下面这种形式,
#include "stdio.h"
int main() {
for (int i = 1; i < 100; ) {
printf("%d\n",i);
i+=2;
}
}
2.同时控制多个循环变量
#include "stdio.h"
int main() {
for (int i = 1, j =2; i < 100; i+=2, j+=2) {
printf("i:%d\n",i);
printf("j:%d\n",j);
}
}
注意表达式里的 int i = 1, j =2 不能写成 int i = 1, int j =2 ,否则会报错,从这里我们也可以看出,如果前面使用了类型定义(比如本文中的int),那后面的变量类型就必须和该类型一致。
如果想使用两个不一样的变量类型,那就不应该在表达式1里面定义变量,而应该这之前就将这些变量定义好。
#include "stdio.h"
int main() {
int i;
char j;
for (i = 1, j =2; i < 100; i+=2, j+=2) {
printf("i:%d\n",i);
printf("j:%c\n",j);
}
}
3. 表达式2中的真假判断形式可以更加多样
一般我们在使用for循环中,我们经常判断某个循环变量和某个值得大小来判断真假,但其实,只要是一个表达式或者逻辑表达式,都可以放在表达式2中,这样我们可以更加灵活的设置循环终止条件。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
ZO-1715879815298)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新