1、循环控制
循环是程序语句的一种结构,当条件满足的时候,一直重复执行某一段代码
当条件不满足的时候,需要退出循环
正常情况下,够成循环结构三个要素:
1)循环结束的条件
2)得有循环体 ";"
3) 有一个操作可以让循环条件为假
2、while循环(当型循环: 当 .....满足时候,然后....)
格式:
while(表达式){
语句块;
}
计算机首先计算表达式的值,如果表达式的值非0(也就是真),会去执行语句块
执行完语句块以后,继续计算表达式的值,如果表达式的值非0(也就是真),再继续执行语句块....... 当表达式的值为0(也就是假)的时候,循环结束
注意:
1)死循环的问题
while(1);
int i=1;
while(i++&&i<=100)sum+=i;
2)作用域
while(a<10){
int num=10;
}
printf("%d",num);(错误的)
3)作用域的紊乱的问题
while(i<10) int num=10; (错误的)
4) 当循环体只有一句语句的时候,是可以省略大括号的
3、dowhile循环(直到型循环: .......直到条件为假)
格式:
do{
语句块;
}while(表达式);
表述:
程序先执行语句块,然后再计算表达式的值,如果表达式的值非0(真),再去执行语句块,执行完语句块以后再计算表达式的值,如果如果表达式的值非0(真)........... 直到执行完了以后,发现表达式的值为0,退出循环
注意:
1)当首次执行表达式为真的时候,执行的结果和while一样
2)当首次执行表达式为假的时候,while执行循环体0次,但是dowhile会执行一次
4、for循环(当型循环)
格式:
for(int i=0;i<100;i++){
语句块;
}
注意;
1)int i=0;只会被执行1次
2)当循环体语句只有一句代码,可以省略大括号
3)OC的格式:for(NSString *name in arr){NSLog(@"%@",name);}
//foreach( )
4)形式一:int i=0; for(;i<100;i++){}
5)形式二:int i=0; for(;i<100;){ i++;}
6)形式三: int i=0; for(;;){ if(i<100){ break;} i++;}
7)for的死循环 for(;;){ } 这是for的死循环
5、for循环的嵌套
for循环的嵌套:
for(int k=0;k<5;k++){
for(int i=0;i<5;i++){ //一行 *
printf("* ");
}
}
注意:
1)k的值每变化一次,i从0开始到4循环5次
2)双重循环:外层控制行数,里层控制列数
打印形状
6、break和continue的使用
1)break和continue都是关键字
2)break用在两个地方:
(1)用在switch中
switch(n){
case 1: printf("xxxx"); break;//表示结束switch语句
}
(2)用在循环中
while(1){
if(i==5){
break; //结束循环
}
}
(3)如果不在循环中 if语句中使用break是没有作用的
3)continue 表示结束本次循环,继续下一次循环
假如循环要执行100次,如果第5次循环的时候遇到了continue,第5次的余下部分不执行了,循环从第6次继续执行
|