while循环格式:
while (条件表达式)
{
语句;
...
}
执行说明:
while是对给定的条件进行判断, 如果条件满足, 就执行while后面大括号中的内容, 执行完毕之后会再次判断条件表达式, 如果满足会再次执行while后面大括号中的内容(循环体), 直到条件表达式不满足为止
应用场景:
当我们需要一次又一次的执行相同的代码块的时候就可以使用while
步骤:
0.先将while的格式写好
1.找到需要重复执行的代码, 将需要重复执行的代码放到循环体中
2.确定结束条件(确定条件表达式)
使用举例:
// 1.提示用户输入一个整数
printf("请输入一个整数\n"); // 2.定义变量保存用户输入的整数
int number = -; // 3.接收用户输入的整数
scanf("%i", &number); // 4.安全校验
/*
if (number <= 0) {
return 0; // 结束函数
// break; // 注意: break只能用在switch和循环结构中, 离开这两个东西没有任何效果
}
*/
while (number <= ) {
// 1.提示用户输入一个整数
printf("请输入一个整数\n"); // 3.接收用户输入的整数
scanf("%i", &number);
} // 5.根据用户输入的整数计算结果
int sum = ;
int count = ;
while (count <= number) {
// int sum = 0; // 注意, 不能写到这个地方, 因为写到这里是一个局部变量, 作用域是从定义的这一行开始, 一直到循环体结束, 每次进来都会重新定义一个
// int count = 1; printf("%i + %i\n", sum , count);
sum = sum + count;
count++;
} printf("sum = %i\n", sum);
示例2:
// 获取1~100之间 7的倍数的个数并打印,并统计个数
int number = ;
int count = ;
while (number <= ) {
printf("%i\n", number);
if (number % == ) {
// 证明当前的数是7的倍数
count++;
printf("7的倍数是 %i\n", number);
}
number++;
}
printf("sum = %i\n", count);
还有哪些可以用循环呢
什么密码输入错了3次后就给你锁了
QQ加好友加几个就要验证码了
…..
你猜我多大了???
#include <stdio.h>
#include <stdlib.h> int main(int argc, const char * argv[]) { // 去和美女搭讪,美女要求猜出她的年龄她就和你交往
// 美女给你3次机会猜她的年龄
// 让用户输入一个年龄(代表着用户猜的年龄)
// 让电脑随机产生一个年龄(代表美女的年龄) int count = ;
// 随机生成美女的年龄
int girl = -;
// 生成一个0~19岁的年龄
girl = arc4random_uniform();
//printf("girl = %d", girl);
while (count > ) {
// 1.提示用户猜年龄
printf("猜猜姐的年龄\n");
system("say age \n");
// 2.接收用户输入的年龄
int age = -;
scanf("%d", &age);
// 4.判断是否猜中
if (age > girl) {
printf("姐有那么老吗?姐很生气!\n");
system("say no \n");
}
else if (age < girl)
{
printf("姐太开心了?但是还是不对哦!\n");
system("say no \n");
}
else
{
printf("你就是我的死冤家\n");
system("say yes \n");
break;
}
count--;
} printf("注定孤独一生\n");
system("say fuck \n"); return ;
}
break continue:
break用于跳出整个循环
continue用于跳出本次循环 直接进入下一次循环的条件判断
do while 格式:
do
{
语句;
...
}while (条件表达式);
与while的区别:
while如果条件表达式一开始就不满足, 那么循环体永远不会被执行
do while如果条件表达式一开始就不满足, 同样会执行一次循环体
也就是说: 无论条件表达式是否满足, do while始终会执行一次循环体,先干一次再说