1.scanf相关的函数gets函数
int main()
{
int ch =0;
while((ch=getchar()) !=EOF)
{
if(ch<'0' || ch >'9')
continue;
purchar(ch);
}
return;
}
2.for循环语法
for(表达式1;表达式2;表达式3)
循环语句
例:
//1-10循环打印:
int main()
{
int i =0;
for(i=1;i<=10;i++)
{
printf("%d",i);
}
return 0;
}
for语句的break和while的语句的break效果一致
for语句的continue和while的continue效果不一样
for语句会继续执行,while语句会卡死
for循环的控制变量
1.不可在for循环内修改循环变量,防止for循环失去控制
2.建议for语句的循环控制变量的取值采用"前闭合后开区间",写法
例1:
//循环体内改变循环遍历的例子
int main()
{
int i = 0;
for(i-1;i<=10;i++)
{
printf("%d",i);
int j =0;
for(j = 0;j<10;i++)
{
printf("hehe\n")
}
}
return 0;
}
例3:
省略死循环案例
int main()
{
//判断部分的省略-判断部分为真,就会陷入死循环
for(;;)
{
printf("hehe\n");
}
return 0;
}
3.do....while循环
do语句的语法:
do
循环语句;
while(表达式);
do语句的特点
循环至少执行一次,使用的场景有限,所以不是经常使用
do语句中的 continue和break
break跳出循环,continue卡死不动
int main()
{
int i =1;
do
{
if(i==5)
continue;
printf("%d",i);
i++;
}while(i<=10);
return 0;
}
练习
1.计算n的阶乘
int main()
{
int i =0;
int n = 0;
int ret = 1;
for(i=1;i<=n;i++)
{
ret *= i;
}
printf("%d\n",ret);
return 0;
}