- 输入一个整数,判断这个数是正数或负数或0
#include <stdio.h>
int main()
{
int a=0;
scanf("%d",&a);
if(a>0)
printf("正数");
else{
if(a==0) //"="是赋值 "=="才表示等于
printf("为0");
else
printf("负数");
}
return 0;
}
该题为选择语句,利用if...else...嵌套,先用if判断输入数a>0是否成立,成立则为正数,不成立则跳到else,再用if判断a==0是否成立,成立则为0,不成立则为负数
2.悬空else的判断,判断代码的最终结果
#include <stdio.h>
int main()
{
int a=0;
int b=2;
if(a==1)
printf("ha");
if(b==2)
printf("he");//else就近原则,悬空else总是和最近的if匹配
else
printf("ao");
return 0;
}
悬空的else有就近原则,悬空else总是和最近的if匹配,则该题else与if(b==2)最近,并且成立,则输出he
3.输入一个百分制成绩,如果成绩在100~90则输出A等级,如果成绩在100~90则输出A等级,如果成绩在90~80则输出B等级,如果成绩在80~60则输出C等级,如果成绩在60以下则输出D等级
#include <stdio.h>
int main()
{
int a=0;
printf("输入一个成绩:\n");
scanf("%d",&a);
switch(a/10)
{
case 10:printf("等级A");
break;
case 9:printf("等级A");
break;
case 8:printf("等级B");
break;
case 7:printf("等级C");
break;
case 6:printf("等级C");
break;
default:printf("等级D");
}
return 0;
}
注意:switch后面必须是整型表达式,case后面必须是整型常量