1.while循环
while(表达式1)
{
语句块1
}
表达式1为真则循环继续,为假则循环结束
例题.求和1~10
#include<stdio.h>
int main()
{
int sum=0;
int i=1;
while(i<=10)
{
sum+=i;
i++;
}
printf("%d\n",sum);
return 0;
}
2.do while循环
do
{
语句块1
}while(表达式1);
1)表达式1为真则循环继续,为假循环结束
2)初次执行时,若表达式1为假,do while语句相较其他语句会多执行一次
例题.计算1~10的和
#include<stdio.h>
int main()
{
int i=1;
int sum=0;
do
{
sum+=i;
i++;
}while(i<=10);
printf("%d\n",sum);
return 0;
}
3.printf使用规则
printf格式化符: %d:格式化十进制整数
%c:格式化字符
%s:格式化字符串
%f:格式化float和double型
%lf:格式化double型
%x:格式化16进制,相关的还有%X,%08x,%08X
(x,X决定结果中字母为大写还是小写,08x和08X结果前补0补够八位)
int main()
{
printf("%d,%c\n",65,65);//'A'的编码为65
printf("%s\n","hello");
float a=12.5f;
double b=23.4;
printf("%f,%f\n",a,b);
printf("%f,%lf\n",a,b);
printf("%x\n",20);//0 100 ~ Ox14
return 0;
}
4.scanf的使用规则
scanf: %d:格式化十进制整数
%c:格式化字符
%s:格式化字符串
%f:格式化float
%lf:格式化double型
1)格式化符和类型一定要匹配
2)scanf后跟地址列表
3)不要加\n等字符
例如:scanf("%d\n",&a);
输出显示时要打\n
5.break和continue使用
break:跳出一层循环
continue:提前结束本次循环,直接进入下一次循环
例:已知1+2+3+.......+x<1000,1+2+3+4+......+x+(x+1)>1000,求x的值
int main()
{
int sum=0;
int i;
for(i=1; ;i++)
{
sum+=i;
if(sum>1000)
break;//跳出一层循环
}
printf("%d\n",i-1)//i=x+1
return 0;
}
例题.100~200中不可被3和15整除的数
int main()
{
for(int i=100;i<200;i++)
{
if(i%15!=0)
{
continue;//提前结束本次循环
}
}
printf("%d\n",i);
}