while循环
例:计算1+2+3+…+100结果
#include <stdio.h>
int main()
{
int i = 1;
int sum = 0;
while (i<=100)
{
sum = sum + i;
i++;
}
printf("结果为:%d\n", sum);
return 0;
}
统计从键盘输入一行英文句子的字符个数
getchar():相当于只输入一个字符的scanf,例如下题getchar()遇到换行时,结束循环,否则conut持续+1,直到输入完所有字符,敲击“回车”,则停止循环,输出count
#include <stdio.h>
int main()
{
int count = 0;
printf("请输入一行英文字符:");
while (getchar()!='\n')
//判断是否使用回车换行,若无,则循环,若有,则停止
{
count += 1;
}
printf("结果为:%d\n", count);
return 0;
}
while:先判断,再执行
do…while:先执行,再判断(至少循环一次)
for循环
计算1+2+3+…+100结果
#include <stdio.h>
int main()
{
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum = sum + i;
}
printf("%d", sum);
return 0;
}
判断该数是否为素数
#include <stdio.h>
int main()
{
int i, num;
bool flag = 1;
printf("请输入一个数:");
scanf_s("%d", &num);
for (i = 2; i < num / 2; i++) {
if (num%i == 0) {
flag = 0;
}
}if(flag){
printf("%d是素数\n", num);
}
else {
printf("%d不是素数\n", num);
}
return 0;
}
99乘法表
#include <stdio.h>
int main()
{
int i, j;
for (i = 1; i <= 9; i++) {
for (j = 1; j <= i; j++) {
printf("%d*%d=%d ", i, j, i*j);
}
printf("\n");
}
return 0;
}
break语句
跳出循环
int main()
{
int i, j;
for (i = 0; i < 10; i++) {
for (j = 0; j < 10; j++) {
if (j == 3) {
break;
}
}
}
printf("i=%d,j=%d\n", i, j);
return 0;
}
结果:i=10,j=3。该题break循环停止了J的for循环,i的for循环还是执行了十次,故i=10,j=3.
continue语句
当满足某个条件,跳过本轮循环的内容
#include <stdio.h>
int main()
{
int ch;
while ((ch = getchar() != '\n'))
//敲击“回车”,结束循环
//getchar()输入一个
{
if (ch == 'C') {
continue;//跳过
}
putchar(ch);
//putchar()输出一个
}
printf("\n");
return 0;
}
结果:输入:i love fishC
输出:i love fish(没有C。跳过了C)
上题相当于键盘输入一个字符,计算机输出一个字符,当输入到需要continue的字符,计算机则跳过该输出。