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
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
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后面的{}以及空格

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

###单一出口,输出

你可能感兴趣的:(C语言,c语言,c++,开发语言)