if语句在C语言中就是进行条件判断的语句。
if语句的语法如下:
if (/* condition */)
{
/* code */
}
下面以实例对if语句进行简要讲解:
#include <stdio.h>
int main()
{
int price = 0;
int bill = 0;
printf("应付金额为:");
scanf("%d", &price);
printf("您的票面为:");
scanf("%d", &bill);
int change = bill - price;
if (change >= 0)
{
printf("应该找您:%d元",change);
}
else
{
printf("您的钱不够");
}
return 0;
}
if语句的判断条件是写在if
关键字后面的小括号()
中的,而将要执行的命令是在其后的花括号{}
中。其运行的逻辑是,如果小括号中的条件满足,则执行花括号中的命令。这是最简单的if
语句。
我们还可以看到在上述例子中,还有一个else
关键字,其作用在于,如果关键字if
的判断条件不满足,则会转到else
这里,进而执行else
后花括号内的命令。例子中即为,change >= 0
则执行应该找您xxxx
;否则(change < 0
)就执行输出您的钱不够
。这里的情况是简单的非黑即白的判断。
此外,还有else if
关键字,其作用于if
和else
之间,适用于多种条件的判断。
显而易见地是,if
判断语句的命令执行部分是存在于花括号{}
中的,那么这个括号能不能去掉呢?答案是肯定的。但是当{}
去掉后,if
语句只能执行关键词(if
,else if
,else
)后紧接着的一句语句。如下所示:
if (change >= 0)
printf("应该找您:%d元",change);
printf("您的钱够了\n");
C只能执行语句printf("应该找您:%d元",change);
,而不能执行printf("您的钱够了\n");
。在这里实际上是分号;
起了作用。
而拥有花括号{}
,则可以在判断条件后,执行多个命令,即使在{}
中的各个语句之间存在分号;
。此外,{}
的存在也更好地划分if
语句和程序其他部分的界限,增加了可读性。