for循环
循环语句中for语句最为常用,其格式为:
for(表达式1;表达式2;表达式3)
循环语句;
- 不可在for循环内修改循环变量,防止for循环失去控制。
- 循环体表达式可省略但非必要不建议省略。
Q:1、请问下列循环要循环多少次?
#include
int main()
{
int i = 0;
int k = 0;
for(i=0,k=0 ; k=0 ; i++,k++)
k++;
return 0;
}
while循环
其格式为:
while(表达式)
循环语句;
例1
int main()
{
int i=0;
while(10 >= i)
{
printf("%d ",i);
i++;
}
return 0;
}
do while循环
其格式为:
do
循环语句;
while(表达式);
例1
int main()
{
int i = 0;
do
{
printf("%d ",i);
i++;
}
while(10 >= i);
return 0;
}
- 特点:循环至少执行一次,使用场景有限,所以不经常使用
练习
1、计算n的阶乘。
#include <stdio.h>
int main()
{
int n,i;
int jc = 1;
printf("计算n!,请输入n:>");
scanf("%d", &n);
for (i=1; n >= i; i++){
jc*= i;
}
printf("%d! = %d\n",n,jc);
return 0;
}
2、计算1!+2!+3!+......+10!
#include <stdio.h>
int main()
{
int sum = 0;
int i = 0;
int jc = 1;
for (i=1; 10 >= i; i++){
jc*= i;
sum += jc;
}
printf("sum= %d\n",sum);
return 0;
}
3、在一个有序数组中查找具体的某个数字n。编写int binsearch(int x, int v[] ,int n);功能:在v[0]<=v[1]<=v[2]<=v[n-1]的数组查找x
#include <stdio.h>
int main()
{
int a[] = {1,3,4,5,6,7,8,9,10};//创建顺序数组序列
int k = 6;//查找的值
int mid =sizeof(a)/sizeof(a[0]);//元素个数
int left = 0;//左下标
int right = mid-1;//右下标
//二分查找算法
while (left <= right)
{
mid = (left + right) / 2;
if (a[mid] < k){
left = mid + 1;
}
else if (a[mid] > k){
right = mid - 1;
}
else{
printf("找到了!其下标为[%d]\n", mid);
break;
}
}
if (left > right)
printf("没找到!\n");
return 0;
}
总结/收获
1、二分查找算法
2、各种情况下循环语句的选用
标签:语句,--,++,C语言,int,while,循环,printf,jc From: https://blog.51cto.com/u_16071993/6193505