1.for(表达式1;表达式2;表达式3)
表达式1 为初始化部分,用于初始化循环变量
表达式2为条件判断,用于判断循环时候终止
表达式3为调整部分,用于循环条件的调整
2.不在for循环体内修改循环变量防止for循环失去控制
建议佛如语句的循环控制变量的取值采用前闭后开的区间写法
for循环的判断部分省略意味判断恒成立
3.break只能作用于一个for或者while循环,直接跳出此循环,多个嵌套循环break不能一次全部跳出。
4.int main ()
{int i=0;
int j=0;
for (;i<3;i++)
{
for(;j<3;j++)
{
printf("hehe\n",j)
}
}
return 0;
}上述程序执行三次打出3个呵呵,原因在于少了初始化条件导致j的值不能重置
5.int main()
{
int i = 0;
int k = 0;
for (i = 0, k = 0; k = 0; i++, k++)
k++;
return 0;
}上述代码循环0次,因为k被赋值为0,0为假不进入循环
6.二分法查找
int main()
{
int i = 0;
int k = 0;
char arr[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
scanf("%d", &k);
int sz = sizeof(arr) / sizeof(arr[0]);
int left = 0;
int right = sz - 1;
while (left <= right)
{
int middle = (left + right) / 2;
if (arr[middle] > k)
{
right = middle - 1;
}
else if (arr[middle] < k)
{
left = middle + 1;
}
else
{
printf("找到了,下标是%d\n", middle);
break;
}
if (left > right)
{
printf("zhaobudao\n");
}
}
return 0;
}关键在于while循环中加入break跳出循环
7.