1.选择结构
1 . if else 语句
if语句有3中形式
1.
if(表达式)
{
语句1;
语句2;
……
}
语义: 如果表达式的值为真 ,就依次执行{ }中的语句 ,否则 ,不执行
( 如果没有 { }则至执行在 if(表达式)之后的下一条语句)同样适用于其他的两种形式
2.
if(表达式)
{
语句1;
……
}
else
{
语句2;
……
}
语义:如果表达式的值为真,就执行第一个{ }中的内容,否则执行else之后{ }中的内容
#include<stdio.h>
#include<stdlib.h>
int main()
{
int n;
scanf("%d",&n);
if(n%2==0)
{
printf("%d是偶数\n",n);
}
else
{
printf("%d是奇数\n",n);
}
system("pause");
return 0;
}
语义:如果表达式的值为真,就执行第一个{ }中的内容,否则执行第二个{ }中的内容
3.
if(表达式1)
{
语句1;
}
else if(表达式2)
{
语句2;
}
else if (表达式3)
{
语句3;
}
……
else if(表达式n)
{
语句n
}
else
{
语句n+1;
}
语义:先判断表达式1是否成立,成立则执行表达式1之后的{ }中的内容,然后执离开整个判断结构,执行之后的代码;否则 判断表达式2,成立则执行表达式2之后的{ }中的内容,然后执离开整个判断结构,执行之后的代码;否则 判断表达式3……直到某一条件成立,执行表达式之后的{ }中的内容;或者表达式1到表达式n的条件都不成立,执行else之后{ }中的语句。
在形式3和2中只且只执行一个{ }的语句
#include<stdio.h>
#include<stdlib.h>
int main()
{
int n;
scanf("%d",&n);
if(n>0)
{
printf("%d是整数\n",n);
}
else if(n<0)
{
printf("%d是负数\n",n);
}
else
{
printf("%d\n",n);
}
system("pause");
return 0;
}
2.switch……case语句
switch(表达式)
{
case 常量表达式1:
语句1;
break;
case 常量表达式1:
语句1;
break;
case …:
…;
default:
break;
}
语义:当switch后()中的值与某个case后的常量表达式相等时,就从该常量表达式的冒号之后的语句开始执行,如果遇到break则离开switch选择结构,执行选择结构之后的代码。如果switch后()中的值与所有case后的常量表达式都不相等,则执行default之后的语句(本例中为break,则退出选择结构。也可以是一个语句)。
注意:不一定要在每一个case:的最后加一个 break;,如果不加则执行下一个case之后的语句,直到遇到break;退出选择结构,或选择结构的代码执行到完。
#include<stdio.h>
#include<stdlib.h>
int main()
{
int n;
printf("输入:");
scanf("%d",&n);
switch(n)
{
case 1:printf("case 1:%d\n",n*10);
case 2:printf("case 2:%d\n",n*10);
case 3:printf("case 3:%d\n",n*10);break;
case 4:printf("case 4:%d\n",n*10);break;
default:printf("0");break;
}
system("pause");
return 0;
}