C语言菜鸟基础教程之条件判断

 更新时间:2017年10月03日 10:25:37   作者:翡翠森林Z  
本文给大家简单介绍了下C语言中的条件判断语句的语法和用法示例,非常简洁实用,有需要的小伙伴可以参考下

(一)if...else

先动手编写一个程序

#include <stdio.h>

int main()
{
  int x = -1;
  if(x > 0)
  {
    printf("x is a positive number!\n");
  }
  else
  {
    printf("x is not a positive number!\n");
  }
          
  
  return 0;
}

运行结果:

x is not a positive number!

程序分析:

定义一个整数x,并给他赋值。这个值要么大于0,要么不大于0(等于或小于0)。
若是大于0,则打印x is a positive number!
若不大于0,则打印x is not a positive number!

这里建议不要再使用在线编译器,而是使用本机编译器(苹果电脑推荐Xcode,PC推荐dev C++)。在本机编译器上设置断点逐步执行,会发现if中的printf语句和else中的printf语句只会执行一个。这是因为if和else是互斥的关系,不可能都执行。

(二)if...else if...else

稍微改动程序

#include <stdio.h>

int main()
{
  int x = 0;
  if(x > 0)
  {
    printf("x is a positive number!\n");
  }
  else if(x == 0)
  {
    printf("x is zero!\n");
  }
  else
  {
    printf("x is a negative number!\n");
  }       
  
  return 0;
}

运行结果:

x is zero!

程序分析:
假如条件不止两种情况,则可用if...else if...else...的句式。
这个程序里的条件分成三种: 大于0、等于0或小于0。
大于0则打印x is a positive number!
等于0则打印x is zero!
小于0则打印x is a negative number!

注意,x == 0,这里的等号是两个,而不是一个。
C语言中,一个等号表示赋值,比如b = 100;
两个等号表示判断等号的左右侧是否相等。

(三)多个else if的使用

#include <stdio.h>

int main()
{
  int x = 25;
  if(x < 0)
  {
    printf("x is less than 0\n");
  }
  if(x >= 0 && x <= 10)
  {
    printf("x belongs to 0~10\n");
  }
  else if(x >= 11 && x <= 20)
  {
    printf("x belongs to 11~20\n");
  }
  else if(x >= 21 && x <= 30)
  {
    printf("x belongs to 21~30\n");
  }
  else if(x >= 31 && x <= 40)
  {
    printf("x belongs to 31~40\n");
  }
  else
  {
    printf("x is greater than 40\n");
  }
  
  return 0;
}

运行结果:

x belongs to 21~30

程序分析:
(1)
这里把x的值分为好几个区间:(负无穷大, 0), [0, 10], [11, 20], [21, 30], [31, 40], (40, 正无穷大)
(负无穷大, 0)用if来判断
[0, 10], [11, 20], [21, 30], [31, 40]用else if来判断
(40, 正无穷大)用else来判断

(2)
符号“&&”代表“并且”,表示“&&”左右两侧的条件都成立时,判断条件才成立。

相关文章

  • C++中volatile关键字及常见的误解总结

    C++中volatile关键字及常见的误解总结

    这篇文章主要给大家介绍了关于C++中volatile关键字及常见的误解的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-05-05
  • C++实现defer声明方法详解

    C++实现defer声明方法详解

    这篇文章主要介绍了C++实现defer声明,在和朋友交谈时候,无意间了解到Go语言的defer,发现挺有意思的。和智能指针类似,当出了作用域后,被defer修饰的操作才会执行
    2022-11-11
  • C++调试记录与心得分享

    C++调试记录与心得分享

    本文给大家详细记录了一次C++的调试过程,以及调试的心得,非常的实用,有需要的小伙伴可以参考下
    2017-07-07
  • C语言中dlopen和dlsym的使用方式详解

    C语言中dlopen和dlsym的使用方式详解

    这篇文章主要为大家详细介绍了C语言中dlopen和dlsym的使用方式,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • c++实现简单的线程池

    c++实现简单的线程池

    这里给大家介绍了C++中对于pthread线程的一个简单应用以及使用继承CDoit,实现其中的start和end,有需要的小伙伴可以参考下
    2015-11-11
  • C语言实现静态链表

    C语言实现静态链表

    这篇文章主要为大家详细介绍了C语言实现静态链表,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07
  • 深入详解C编写Windows服务程序的五个步骤

    深入详解C编写Windows服务程序的五个步骤

    本篇文章介绍了,使用C编写Windows服务程序的五个步骤的详细概述。需要的朋友参考下
    2013-05-05
  • 一文详解Qt的QObject类

    一文详解Qt的QObject类

    Qt的QObject类是Qt框架中的基类,它是所有Qt对象的父类,本文主要介绍了Qt的QObject类,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • C语言植物大战数据结构希尔排序算法

    C语言植物大战数据结构希尔排序算法

    这篇文章主要为大家介绍了C语言希尔排序算法实现植物大战示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • 浅谈C++对象的内存分布和虚函数表

    浅谈C++对象的内存分布和虚函数表

    下面小编就为大家带来一篇浅谈C++对象的内存分布和虚函数表。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12

最新评论