判断
-
格式
-
if (满足条件){
完成大括号里的操作
}
//同一天时间差计算:
int main()
{
int hour1, minute1;
int hour2, minute2;
printf("请输入时间1:几小时几分钟");
scanf("%d %d", &hour1, &minute1);
printf("请输入时间2:几小时几分钟");
scanf("%d %d", &hour2, &minute2);
int hou = hour2 - hour1;
int mint = minute2 - minute1;
if (mint < 0) {
mint = 60 + mint;
hou--;
}
printf("相差%d小时%d分钟",hou,mint);
return 0;
}
1.1判断的条件(关系运算符)
C语言提供了六个关系运算符:
运算符 | 意义 |
---|---|
== | 相等 |
!= | 不相等 |
> | 大于 |
>= | 大于或等于 |
< | 小于 |
<= | 小于或等于 |
- 有两个字符的运算符:==、>=和<=的两个字符必须紧紧连在一起,中间不能插入空格
- 关系运算的结果是一个逻辑值,逻辑值只有两种可能的值:true(真,表示成立1)或false(假,表示不成立0)。当两个值的关系符合关系运算符的预期时,关系运算的结果为true,否则为false。
运算符优先级
- 所有关系运算符优先级比算术运算符低,比赋值运算符高
7>=3+4
int r=a>0
- 相等运算符==和!=优先级比其它低,连续关系运算从左到右进行
5>3==6<4 /输出1
1.2嵌套的if语句
int main()
{
int a,b,c;
scanf("%d %d %d", &a, &b, &c);
int max = 0;
if ( a>b ) {
if ( a>c ) {
max = a;
} else {
max = c;
}
} else { //{}确定执行程序(良好的编程习惯)
if ( b>c ) {
max = b;
} else {
max = c;
}
}
printf("The max is %d\n", max);
return 0;
}
- else就近原则匹配if
- 级联 else if
1.3 if常见错误
- 忘记{}
永远在if和else后面加上{},即使只有一句执行语句 - if后面加;
;表示if语句执行结束 - 错误使用==和=
学会尊重warning
if(a=0)
表示条件不成立,跳出if
1.4多路分支switch-case
switch(){
case常量:
break;
case常量:
break;
case常量:
break;
}