目录
1.1选择控制语句 if
if(条件表达式)
{//复合语句,若干条语句的集合
语句1;
语句2;
}
如果条件成立执行大括号里的所有语句,不成立的话大括号里的语句不执行.
if(条件表达式)//如果if没有{} 只能作用一条语句(if只识别语句1)
语句1;
语句2;
注意:如果只在乎项目的某个结果,请选择上面的
if
语句形式
案例
1
:判断
data
能被
3
整除
int data=12;
if(data%3 == 0)
{
printf("%d能被3整除",%data);
}
1.2 if...else...语句
if(表达式1)
{
语句1;
}
else
{
语句2;
}
如果表达式
1
为真 执行语句
1
,否则执行语句
2
。
注意:如果项目有两种结果,不会同时出现,就选择
if...else...
案例
1
:键盘输入一个
int
数据 求它对
2
的余数
int data = 0;
scanf("%d",&data);
if(data%2 == 0)
{
printf("%d对2的余数为0\n",data);
}
else
{
printf("%d对2的余数为1\n",data);
}
1.3 if..else if...else语句
if(表达式1)
{
语句1;
}
else if(表达式2)
{
语句2;
}
else if(表达式3)
{
语句3;
}
else
{
语句n;
}
如果表达式
1
为真执行语句
1
,其他条件将不会再判断。只有当表达式
1
为假时 才会去判断表达式
2
的真假。
如果表达式
2
为真执行语句
2
,其他条件将不会再判断。只有当表达式
2
为假时 才会去判断表达式
3
的真假。(依此类推)
只有所有表达式都为假时,最后才会执行
else
中的语句
n
。
注意:如果项目有多个结果,但是只会出现一个,请选择
if...else if
案例
1
:键盘输入一个
int
数据求它对
3
的余数
int data = 0;
scanf("%d",&data);
if(data%3 == 0)
{
printf("%d对3的余数为0\n",data);
}
else if(data%3 == 1)
{
printf("%d对3的余数为1\n",data);
}
else if(data%3 == 2)
{
printf("%d对3的余数为2\n",data);
}
2.1选择控制语句switch
switch语句形式
switch(表达式)//表达式只能是字符型(char)或整型的(short int int long int)
{
case 常量表达式1:
语句1;
break;
case 常量表达式2:
语句2;
break;
default:
语句3;
break;
}
将表达式的结果 与
case
后的常量表达式的值 一一对比,相等就从当前
case
语句处 进入执行 ,直到遇到 break跳出
switch
语句。
案例
1
:键盘输入
1~7
的数值 判断是星期几
int date = 0;
printf("请输入1~7的数值:");
scanf("%d"&data);
if(date<1 || date>7)
{
printf("输入的时无效数值,请输入1~7的数值\n");
return;//函数返回值结束
}
switch(date)
{
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;
}