C语言除了顺序结构和选择结构还有循环结构
- while
- for
- do...while
while循环
//while 语法结构
while(表达式)
循环语句;
表达式的结果为真,则执行循环语句,否则循环停止
例如:打印1~10
#include <stdio.h>
int main()
{
int i = 1;
while(i<=10)
{
printf("%d ",i);
i++;
}
return 0;
}
while循环中的break
下面的代码输出什么呢?
#include <stdio.h>
int main()
{
int i = 1;
while(i<=10)
{
if (i == 5)
break;
printf("%d ",i);
i++;
}
return 0;
}
输出 1 2 3 4
在while循环中,break用于永久的终止循环
while循环中的continue
#include <stdio.h>
int main()
{
int i = 1;
while(i<=10)
{
if (i == 5)
continue;
printf("%d ",i);
i++;
}
return 0;
}
输出 1 2 3 4 死循环
在while循环中,continue用于跳过continue后的代码,直接去判断部分,看是否进行下一次循环
getchar() putchar()
getchar从一个流或标准输入中读取一个字符,读取到字符后返回字符的ASCII码值,如果读取失败或出错,则返回EOF(-1) - end of file - 文件的结束标志
putchar输出一个字符
#include <stdio.h>
int main()
{
int ch = 0;
//ctrl + z - getchar 读取结束
while((ch = getchar())!= EOF)
{
putchar(ch);
}
return 0;
}
getchar是从缓冲区读取字符的,当我们从键盘上输入A回车,缓冲区中就存在了A\n,此时执行第一次循环,从缓冲区中读取了A赋给ch,putchar输出A,此时缓冲区中还有\n,再执行第二次循环,读取\n并赋给ch,putchar输出,效果就是换行,此时缓冲区中无内容,等待键盘输入。