C语言中判断语句if

引入根据比较的结果,决定做、还是不做某些动作,就要用到if语句。

一个基本的if语句由一个关键字if开头,跟上在括号里的一个表示条件的逻辑表达式,然后是一对大括号“{}”之间的若干条语句。如果表示条件的逻辑表达式的结果为true,那么就执行后面跟着的这对大括号中的语句,否则就跳过这些语句不执行,而继续下面的其他语句。

1.if语句

if(条件){ }

2.if else

if(条件){ }

else { }

条件为关系表达式

关系运算为1时,执行{ }

注意

1.if的判断条件为赋值语句

if(a=2)

{

b=2;

c=4;

}

else d=3;

这个语句没有语法错误(可能会有警告),是可以执行的。

但是这个语句永远没有机会执行else部分。

a=2赋值表达式的计算结果就是2,当这个表达式出现在if语句逻辑表达式位置上的时候,它的计算结果是被当作逻辑值处理的,在C语言中用整型数表示逻辑量,非零表示“真”,所以这是一个永真式;这个if的逻辑条件永远不会为假。

2.强调if   else后面要加{ },即使只有一个语句

不加大括号,默认执行if()后面的第一条语句或者else后面的第一条语句。如果就是只有一条语句,那不加也没关系。如果有多条语句要执行,那这些语句必须包含在大括号里面。另外,从视觉上来看,大括号有助于快速识别if语句,便于浏览程序。综合视觉友好性和程序功能完整性,养成加大括号的习惯有益无害。

3.if-else语句的嵌套

例如求三个数中最大值

#include<stdio.h>
int main()
{	int a,b,c,max;
	scanf("%d %d %d",&a,&b,&c);
	if(a>b)
	{
		if(a>c)
		{
			max=a;
		}
		else
		{
			max=c;
		}
	}
	else
	{
		if(b>c)
		{
			max=b;
		}
		else
		{
			max=c;
		}
	}
	
	printf("最大值是%d",max);
     return 0;
}

else总是最近的那个if匹配,避免逻辑错误,所以要加{}

编译器中会有缩进格式,不能暗示else的if是哪个

4.级联的if-else

#include<stdio.h>
int main()
{	int f,x;
	scanf("%d",&x);
	if(x<0){
		f=x+1;
	}else if(x==0){
	f=0;
	}else if(x<9){
	f=x*2;
	}else if(x>20){
	f=2+x;
	} else{
		f=x*100;
	}
	printf("f=%d",f);
    return 0;
}

将else if 连在一起,省略掉else后面的{}以及空格

目的  省空间,容易看,不至于眼花缭乱

###单一出口,输出

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

指针不指南吗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值