if条件判断语句
#include <stdio.h>
int main(voif){
int hour1,minute1;
int hour2,minute2;
scanf("%d %d",&hour1,&minute1);
scanf("%d %d",&hour2,&minute2);
int ih = hour2 - hour1;
int im = minute2 - minute1;
if(im <0 ){ //如果(im小于0),那么
im = 60 + im;
ih --;
}
printf("时间差是%d小时%d分。\n",ih,im);
return 0;
}
if(条件成立){
······
}
判断的条件
条件
计算两个值之间的关系,所以叫关系运算
运算符 | 条件 |
---|---|
== | 相等 |
!= | 不相等 |
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
关系运算的结果
当两个值的关系符合关系运算的预期时,关系运算的结果为整数1,否则为整数0。 整数1代表成立,整数0代表不成立
优先级
所有关系运算符的优先级比算术运算的低,但是比赋值运算的高。
7>=3+4 (先算3+4的结果,再与7比较)
- 判断是否相等的 == 和 != 的优先级比其他的低,而连续的关系运算是从左到右进行的。
- 5 > 3 == 6 > 4
- 6 > 5 > 4
找零计算器
#include <stdio.h>
int main(void){
//初始化
int price = 0;
int bill = 0;
//读入金额和票面
printf("请输入金额:");
scanf("%d",&price);
printf("请输入票面:");
scanf("%d",&bill);
//计算找零
printf("应该找您:%d",bill - price);
return 0;
}
注释
注释(comment)插入在程序代码中,用来向读者提供解释信息。他们对于程序功能没有任何影响,但是往往能够使程序更容易被人类读者理解。
单行注释
- 以两个斜杠“//”开头的语句把程序分成了三个部分:
- 初始化
- 读入金额和票面
- 计算并打印找零
//是C99的注释,ANSI C不支持
多行注释
- 延续数行的注释,要用多行注释的格式来写。多行注释有一对字符序列“/”开始,以“/”结束。
- 也可用于一行内注释 例:int ak=47/36/,y=49;
否则的话
- else = 否则的话
int price = 0;
int bill = 0;
//读入金额和票面
printf("请输入金额:");
scanf("%d",&price);
printf("请输入票面:");
scanf("%d",&bill);
//计算找零
if(bill > price){
printf("应该找您:%d\n",bill - price);
}else{
printf("你的钱不够\n");
}
if语句再探
嵌套的IF-ELSE
- 判断三个数哪个数是最大的 ```c 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)
<a name="v0DrW"></a>
### 嵌套的判断
- 当if满足或者不满足的时候要执行的语句也可以是一条if或if-else语句,这就是嵌套if语句。
```c
if(code == READY){
if(count < 20){
printf("一切正常\n");
}else{
printf("继续等待\n");
}
}
else的匹配
- else总是和最近的那个if匹配。(if语句没加大括号的情况下)
-
tips
在if或else后面总是用{}
- 即使只有一条语句的时候
级联的if-else if
分段函数
f(x)=-1;x<0
0;x=0;
2x;x>0;
if(x<0){
f = -1;
}else if(x=0){
f = 0;
}else{
f = 2*x;
}
IF语句常见的错误
- 忘了大括号
- if后面加分号
- 错误的使用==和=
- 使人困惑的else
代码风格
- 在if和else之后必须加大括号形成语句块;
- 在大括号内的语句缩进一个tab的位置;
多路分支
switch-case
switch(type){
case 1:
printf("你好");
break;
case 2:
printf("早上好");
break;
case 3:
printf("晚上好");
break;
case 4:
printf("再见");
break;
default:
printf("啊,什么啊??");
}
switch(控制表达式){
case 常量:
语句
……
case 常量:
语句
……
default:
语句
}