-------------------------------------- android培训、java培训、ios培训期待与您交流! ---------------------------------
while循环结构:
while(条件)
{
循环体
}
运行原理
1、如果一开始条件就不成立,永远不会执行循环体
2、如果条件成立,就会执行1次循环体,执行完毕再次判断条件是否成立,以此类推
break:
直接结束整个循环
continue:
结束当天的循环体,进入下一次循环体的执行
#include <stdio.h>
int main()
{
//1、先确定要重复执行的操作
//2、再确定约束条件(while后面的括号内的条件)
//3、定义一个变量记录做的次数
int count = 0;
/*
while(count < 50)
{
count++;
printf("做第%d次俯卧撑\n",count);
}
*/
/*
while(count < 50)
{
count++;
if(count%10 == 0)
{
//continue:直接结束这一次的循环体,进入下一次循环
continue;
}
printf("做第%d次俯卧撑\n",count);
}
*/
while(count < 50)
{
count++;
printf("做第%d次俯卧撑\n",count);
if(count==20)
{
//break:直接结束整个循环
break;
}
}
return 0;
}
while小练习:
/*
提示用户输入一个正整数n,计算1+2+3+4+...+n的和
*/
#include <stdio.h>
int main()
{
int n;
int num = 0;
int sum = 0;
//提示用户输入整数
printf("输入一个整数\n");
scanf("%d",&n);
if(n<=0)
{
printf("非法输入\n");
return 0;
}
//计算
while (num < n)
{
num++;
sum = sum + num;
}
printf("%d\n",sum);
return 0;
}
练习2:
//
// 16-while练习2.c
// 2、 提示用户输入一个正整数n,计算1-2+3-4+5-6+…+n的和
//
#include<stdio.h>
int main()
{
//定义变量存储用户输入的值
int n=0;
//判断是否为正整数
while(n<=0)
{
printf("输入一个正整数");
scanf("%d",&n);
}
//计算
int b=0;
int sum=0;
while(b<n)
{
b++;
if(b%2==0)//如果是偶数则执行减法
{
sum = sum - b;
}
else
{
sum = sum + b;
}
}
printf("和是:%d\n",sum);
return 0;
}
练习3:
/*
输出100以内所有3的倍数的个数
*/
#include <stdio.h>
int main()
{
//定义一个变量,记录3的倍数的个数
int number = 0;
//记录当前检查的数值
int n = 0;
//计算
while(number<=100)
{
number++;
//判断
if(number%3==0)
{
n++;
}
}
printf("3的倍数的个数是:%d\n",n);
return 0;
}
for循环结构:
for(语句1;条件;语句2)
{
循环体
}
语句1:初始化语句
语句2:增量语句(执行完循环体后再执行的语句)
1、for一开始就会执行一次语句1(整个for循环只会执行一次语句1)
2、判断条件是否成立,如果条件成立,则执行一次循环体,然后执行语句2,再次判断条件是否成立,如果成立,再次执行循环体,然后执行语句2
#include <stdio.h>
int main()
{
/*
输出“做俯卧撑”50次
*/
/*
printf("做俯卧撑第%d个\n",count),printf("哈哈哈\n");两个语句中间用“,”逗号隔开叫逗号表达式,也叫逗号运算符,逗号运算符可以连接无数条小语句
*/
for( int count = 1; count <= 50; count++)
{
printf("做俯卧撑第%d个\n",count);
}
return 0;
}
for循环和while循环的区别:
for(int a = 0; a < 50 ; a++)
{
循环体
}
int a = 0;
while(a<50)
{
循环体;
a++;
}
区别:for循环中的变量可以写在()内,当循环结束,变量会被回收,提高性能。while中的变量是在整个循环语句外的,不能被回收,性能不如for循环