条件判断ifelse、switch和循环
C语言中的条件判断语句:
运算符 | 含义 |
---|---|
>= | 大于或者等于 |
<= | 小于或等于 |
== | 相等 |
|| | 或者 |
&& | 与,AND,只有两者同时为真时,条件成立 |
!= | 不等于 |
if,else条件判断
基本结构:
if(条件1)
{
代码段1·····
}
else if(条件2)
{
代码段2·····
}
else
{
代码段3·····
}
先判断条件1,如果满足执行代码段1,如果不满足条件1,判断条件2,若满足则执行代码段2,不满足执行代码段3.
接下来上代码:
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
int a=0;
int b=1;
int c=1;
if(a||b) //a=0,b=1,条件满足
{
printf("a=1 or b=1\n");
}
if(b&&c) //b=1 c=1 条件满足
{
printf("b=1 and c=1\n");
}
if(a>0 && c>0) //a=0,c=1,条件不满足执行else语句里面的代码
{
printf("a>0 c>0");
}
else
{
printf("a<=0 or c>=0");
}
return 0;
}
执行结果:
a=1 or b=1
b=1 and c=1
a<=0 or c>=0
if,else的嵌套
代码结构:
if(条件1)
{
if(条件2)
{
代码段1·····
}
else
{
代码段2····
}
}
else
{
代码段3·····
}
如果满足条件1,则继续判断条件2,如满足条件,执行代码段1,不满足则执行代码段2。
如果不满足条件1,执行代码段3。
switch分支结构
语法结构:
switch(变量)
{
case 条件1:
代码段1·····
break;
case 条件而:
代码段二·····
break;
default:
代码段三·····
break;
}
直接上代码:
int day;
while(1)
{
scanf("%d",&day);
if(day==0)
{
break;
}
switch (day)
{
case 0:printf("无效输入!\n"); break;
case 1:printf("星期一\n");break;
case 2:printf("星期二\n");break;
case 3:printf("星期三\n");break;
case 4:printf("星期四\n");break;
case 5:printf("星期五\n");break;
case 6:printf("星期六\n");break;
case 7:printf("星期天\n");break;
default :printf("无效输入!请重新输入!");break;
}
}
while设置重复输入。运行结果:
1
星期一
2
星期二
3
星期三
4
星期四
5
星期五
6
星期六
1
星期一
9
无效输入!请重新输入!
0(退出系统)
while循环
代码很简单:
while(条件)
{
代码段1······
if(条件2)
{
代码段2·····
break;
}
}
先判断while语句的条件,如果满足则进入循环,执行代码段1,在判断 条件2,不满足条件2,则执行代码段1······一直循环,知道满足条件2.
如果不满足条件2,则程序会一直循环下去,不会退出。
代码:
int day;
while(1)
{
scanf("%d",&day);
if(day==0)
{
break;
}
switch (day)
{
case 0:printf("无效输入!\n"); break;
case 1:printf("星期一\n");break;
case 2:printf("星期二\n");break;
case 3:printf("星期三\n");break;
case 4:printf("星期四\n");break;
case 5:printf("星期五\n");break;
case 6:printf("星期六\n");break;
case 7:printf("星期天\n");break;
default :printf("无效输入!请重新输入!");break;
}
}