黑马程序员技术交流社区
标题:
C语言--while与do...while循环控制语句
[打印本页]
作者:
Jack-xie
时间:
2014-10-17 09:19
标题:
C语言--while与do...while循环控制语句
1、循环控制概述
循环结构是程序中一种很重要的结构。其特点是,在给定条件成立时,反复执行某程序段,直到
条件不成立为止。给定的条件称为循环条件,反复执行的程序段称为循环体。
循环结构简单来说就是:循环是一次又一次的执行相同的代码块
循环的构成:
一般来说一个循环需要以下几部分构成:
1、循环控制条件 循环退出的主要依据,来控制循环到底什么时候退出
2、循环体 循环的过程中重复执行的代码段
3、能够让循环结束的语句(递增、递减、真、假等) 让循环条件为假的依据,退出循环
2、while循环结构
while循环的格式:
while ( 条件 ) {
语句1; 语句2; ....
}
1)while循环的特点:
如果while中的条件一开始就不成立,那么循环体中的语句永远不会被执行
2)while语句的语义是:
如果条件成立,就会执行循环体中的语句(“循环体”就是while后面大括号{}中的内 容)。然后再次判断条件,重复上述过程,直到条件不成立就结束while循环
3、while的使用场景
1)不知道要循环的次数的时候使用最佳 常常妙用死循环
2)在某个范围內查找满足条件的值
4、while循环的注意点
1、任何数值都真假性
while (-1) {
printf("死循环\n");
}
2、当一个变量与一个常量进行== 或 != 的时候,通常把常量写在前面
int num = 3;
while (3 == num) {
printf("num = %d\n",num);
num++;
}
3、 1、while 后如果只有一条语句它可以省略大括号
2、空语句它也是一条语句
3、while小阔号后面不可以直接写分号
int num = 0;
while (num < 3);
{
printf("num = %d\n",num);
num++;
}
4、作用域:内部代码块中定义的变量不可以在外边代码块中访问
while (1 < 3) {
int a = 0;
}
printf("a = %d\n",a);
5、作用域紊乱
while (1 < 3)
int num = 5;
6、最简单死循环
while (1);
5、do...while循环
do ... while循环的基本格式:
do {
语句1;
语句2;
……
}while (条件);
1)do...while语句的语义是:
当执行到do-while循环时,首先会执行一遍循环体中的语句(“循环体”就是do后面大括号{} 中的内容)。接着判断while中的条件,如果条件成立,就执行循环体中的语句。然后再次判 断条件,重复上述过程,直到条件不成立就结束while循环
2)do-while循环的特点:
不管while中的条件是否成立,循环体中的语句至少会被执行一遍
int i=0;
while(i<0){
i++;
}
int i=0;
do{
i++;
} while(i<10);
3)do...while和while的对比
while
是先判断再执行 例:
int
i=10;
while(i<10){
System.err.println(i);
i++;
}
结果是什么都不打印,最终i的值为10
do-while
是先执行再判断
例:
int i=10; do{ System.err.println(i); i++; }while(i<10); 打印的也是10,最终i=11 两者的区别在于第一圈循环时,while是先判断循环条件,再循环.所以第一个程序什么都不打印. 而do-while则是先执行后判断.所以,第二个程序先打印10,然后i++然后跳出循环.
作者:
李欢宇
时间:
2014-10-26 13:41
学习了。
作者:
sfm
时间:
2014-11-13 21:10
写的很详细!
作者:
mahei521
时间:
2014-11-15 18:12
不错哦!
作者:
mahei521
时间:
2014-11-16 21:41
嘿嘿,比书上写的明白,啥时候书上能这样写!
作者:
天空总是很蓝
时间:
2014-11-17 19:39
写得很好,辛苦了
作者:
sfm
时间:
2014-11-17 21:43
写的还挺详细,不错,赞一个
作者:
世俗孤岛
时间:
2015-3-2 11:45
详细,可以写个小例子
作者:
hxd4241
时间:
2015-3-2 15:32
明白了不少啊
作者:
世俗孤岛
时间:
2015-3-21 08:51
总结的很好啊
作者:
yafengxn
时间:
2015-3-22 16:36
不错啊,学习下
作者:
小白一号
时间:
2015-3-22 21:02
技术分都这么多了,应该看到OC都学完了吧,
作者:
qq350106106
时间:
2015-5-4 21:49
嗯哪 学习了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2