嵌套的IF语句与IF-ELSE

时间:2015-09-08 19:47:20

标签: c++ c

我正在学习C语言usnig Turbo C ++编译器,并且我及时遇到了两个语句:

  • IF(与许多IF嵌套)
  • IF-else(不嵌套但继续其他,否则等等)

我想知道我的想法是否正确 IF(嵌入多个IF)和IF-else(非嵌套)是否相同?建议非常感谢。

3 个答案:

答案 0 :(得分:3)

这背后唯一的基本逻辑:

嵌套if条件: 如果第一个条件的值为真,则进入第二个条件。

if(a > 0)
{
  printf("A is greater than 0\n");
  if(a > 2) printf("A is greater than 0 and 2\n");
}

if-else条件: 如果第一个条件的值为假,请转到下一个:

if(a > 0) printf("A is greater than zero\n");
else if(a < 0) printf("A is lesser than zero\n");
else printf("A is zero\n");

还有一条指示您应该知道switch

switch(a)
{
  case 0: printf("A is zero\n"); break;
  case 1: printf("A is one\n"); break;
  case 5: printf("A is five\n"); break;
  default: printf("A is not 0, 1 or 5\n"); break;
}

答案 1 :(得分:2)

嵌套if不等同于if-else。它可以等同于具有组合条件的单if,例如:

if (a == 1) {
    if (b == 2) {
        ...
    }
}

相当于:

if (a == 1 && b == 2) {
    ...
}

答案 2 :(得分:1)

我想你的意思是:

if(expression){
    //code
}
else{
    if(expression){
        //code
    }
}

相当于:

if(expression){
    //code
}
else if(expression){
    //code
}

是的,它完全一样。第二个是更好看的方式。