c语言之判断if语句

简介: c语言之判断if语句

if语句

语法结构:


一:if(表达式)//表达式为真时执行语句


  语句;


二:if(表达式)


  语句1;


elseyi


  语句2;


//多分支    


三:if(表达式1)


  语句1;


else if(表达式2)


  语句2;


else


  语句3;


注意:C语言中不含有布尔类型,所以用非0表示真,0表示假


下面我们来看一段代码:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//判断结构,C语言中不含有布尔类型,所以用非0表示真,0表示假
int main(){
  int coding = 0;//coding变量初始化为0
  scanf("%d", &coding);//可以自定义输入变量
  if (coding == 20000)//判断是否为真,真的话执行括号里面的语句,假的话跳出
  {
    printf("%s\n", "走上人生巅峰\n");
  }
  else if (coding == 10)//判断是否为真,真的话执行括号里面的语句,假的话跳出
  {
    printf("%s\n", "回家卖红薯\n");
  }
  else//如果上述都有错误,执行此括号里面的语句
  {
    printf("%s\n", "没救了\n");
  }
  return 0;
}


此段代码我们用了多分支语句,当输入的coding等于20000时,则打印输出“走上人生巅峰”,当输入的coding等于10时,则输出“回家卖红薯”,如果输入的coding都不等于上述数值时,则输出“没救了”。


输出结果为:

2.png2.png2.png


下面来看两段代码,这两段代码的对比主要是为了凸显代码的风格以及{}的使用

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//适当的使用{}可以使代码的逻辑更加清楚
//代码风格很重要
int main(){
  int a = 1;
  int b = 2;
  if (a == 1)
    if (b == 2)
      printf("hehe\n");
  else
    printf("haha\n");
  return 0;
}
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//适当的使用{}可以使代码的逻辑更加清楚
//代码风格很重要
int main(){
  int a = 1;
  int b = 2;
  if (a == 1)
  {
    if (b == 2)
    {
      printf("hehe\n");
    }
  }
  else
  {
    printf("haha\n");
  }
  return 0;
}

对比上述的两段代码可以看出两者的代码风格完全不同,一个注重对于{}的使用,一个没有,显然下面的代码风格更让人赏心悦目,适当的使用{}可以让代码的逻辑更加清楚。


如果上述代码不去使用{}会发生什么呢?下面我们来看一段代码:并思考此段代码的输出结果是多少?

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(){
  int a = 1;
  int b = 2;
  if (a==1)
      if (b == 2)
          printf("hehe\n");
  else
          printf("haha\n");
  return 0;
}

分析:


假如此时a等于0,但是执行if(a==1)时会判断为假,那么就执行不到if(b==2)语句,也就不会再有输出语句,则会直接执行return 0语句,程序结束。


现在根据图中的代码,此时a=1,那么当执行到if(a==1)时,判断为真,则此时执行if(b==2),又因为此时b=2,if判断为真,则执行printf("hehe\n");输出hehe.


假如此时b不等于2,则此时会输出haha,原因是else会找最近的if语句进行匹配,也就是if(b==2)语句,此时if条件语句判断为假,则会调换到else语句进行输出。


输出结果为:

2.png


下面来看最后一段代码:思考这段代码的输出结果:


#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(){
  int a = 10;
  if (5 < 10 < 30)//判断的顺序为首先5小于10,为真所以为1,下来1小于30,为真,所以此时执行printf("hello\n");
  {
    printf("hello\n");
  }
  else
  {
    printf("hello1\n");
  }
  return 0;
}

分析:在if判断条件中,判断的顺序为首先5小于10,为真所以为1,下来1小于30,为真,所以此时执行printf("hello\n");


输出结果为:

2.png

相关文章
|
6月前
|
C语言
爱上C语言:分支与循环(分支篇)多个if与if — else if区别
爱上C语言:分支与循环(分支篇)多个if与if — else if区别
|
6月前
|
存储 C语言
C语言中的if语句编程
C语言中的if语句编程
88 0
|
5月前
|
C语言
C语言条件判断:if、else、else if 和 switch 详解
C语言条件判断:if、else、else if 和 switch 详解
296 0
|
6月前
|
算法 搜索推荐 程序员
C语言中的if语句
C语言中的if语句
197 1
|
6月前
|
C语言
【精通C语言】:分支结构if语句的灵活运用
【精通C语言】:分支结构if语句的灵活运用
98 1
|
6月前
|
C语言
C语言if语句深度解析
C语言if语句深度解析
|
6月前
|
C语言
C语言中的if语句:深入解析与实践
C语言中的if语句:深入解析与实践
88 0
|
6月前
|
C语言
C语言程序设计——if与else if的区别及用法
C语言程序设计——if与else if的区别及用法
|
6月前
|
C语言
if语句的应用(C语言零基础教程)
if语句的应用(C语言零基础教程)
|
6月前
|
C语言
C语言7🔥:条件判断 if else 语句与分支(千字总结)
C语言7🔥:条件判断 if else 语句与分支(千字总结)
64 0