if()
语句;
如果满足if中的条件,则为真(非0),执行语句,得出结果。若为假(为0),则结束。
例如:#include<stdio.h>
int main()
{
int a;
scanf("%d",&a);
if(a>10)
printf("%d ",a);
return 0;
}
if()
语句1;
else
语句2;
如果满足if语句中的条件,则执行语句1,否则执行语句2.
例如:#include<stdio.h>
int main()
{
int a,b;
scanf("%d%d",&a,&b);
if(a==b)
printf("%d",a*b);
else
printf("%d",a-b);
return 0;
}
如果有多个条件语句,且输出内容不同时,可采用另一种if语句或者switch语句。
if() 语句1; else if() 语句2; else if() 语句3; else if() 语句4; else 语句5;
case、break、default
配合使用,对流程进行控制。switch作为一个开关,当变量表达式的值对应case中的值时,执行case后面的语句后跳出switch语句,如果都不符合,则执行default后面的语句后跳出switch语句。//输入年月日,判断当天是该年的第几天
#include
int main()
{
int leap, sum,year,mounth,day;
printf(" 年 月 日:\n");
scanf_s("%d%d%d\n", &year, &mounth, &day);
switch (mounth)
{
case 1:sum = 0; break;
case 2:sum = 31; break;//闰年29,非闰年28
case 3:sum = 59; break;
case 4:sum = 90; break;
case 5:sum = 120; break;
case 6:sum = 151; break;
case 7:sum = 181; break;
case 8:sum = 212; break;
case 9:sum = 243; break;
case 10:sum = 273; break;
case 11:sum = 304; break;
case 12:sum = 334; break;
}
sum = sum + day;
if (year % 400 == 0 || year % 4 == 0 && year % 100 == 0)
leap = 1;
else leap = 0;
if (leap == 1 && mounth > 2)
sum++;
printf("是该年的第%d天", sum);
return 0;
}
注意:
例如:打印数字1-100
#include
int main()
{
int i=1;//初始化局部变量
while(i<=100)//循环条件
{
i++;//循环体
printf("%d",i);//循环体,大括号里面都是循环体
}
return 0;
}
#include
int main()
{
int i=1;
do
{
printf("%d",i);//循环体
i++;
} while(i<=100);//循环条件
return 0;
}
#include
int main()
{
int i;
for(i=1;i<=100;i++)//for(表达式1;表达式2;表达式3)3个表达式作用分别是:初始化、判断、调整;
{
printf("%d",i);//该部分写循环语句,可以写多个;
}
return 0;
}
break和continue经常运用到循环语句当中,当日两者是有所区别的。
通常的解释是:
continue语句只跳出本次循环,但是下次循环还会继续执行,只影响本次循环。
break语句指在执行循环时,跳出循环,直接结束循环。
我们可以举一些例子来更好地理解它:
当使用break时:
//输出100-200之间所有的素数
#include
int main()
{
int i=0;
for(i=100;i<=200;i++)
{
int j=0;
for(j=2;j<=i-1;j++)
{
if(i%j==0)//判断i是否为素数;
break;
if(j==i-1)
printf("%d",i);
}
}
return 0;
}
运行结果如下:
当continue替换break时,运行结果如下:
很显然,运用continue运行出来的结果时不对的,因为在程序读到break时,自动跳出第二个循环语句,到达第一个循环语句继续执行,以此类推。而当程序读到continue时,自动跳出本次循环,继续来到第二个继续执行该循环内的语句,这样不管怎样执行,100-200之间每一个数字都会符合条件,这样就起不到筛选的作用了。所以这里使用了break语句。