概述

C语言支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构。

  • 顺序结构:程序按顺序执行,不发生跳转。
  • 选择结构:依据是否满足条件,有选择的执行相应功能。
  • 循环结构:依据条件是否满足,循环多次执行某段代码。

今天,我们就来详细讨论一下选择结构。

选择结构

if语句

if语句是C语言中最常用的语句之一,它向我们表达的意思也很简单——如果。

逻辑流程图如下所示:

看完我们就可以清晰的知道,if语句是一个具有选择筛选功能的语句,其也具有选择筛选功能。

if 语句格式如下:

if (表达式) 语句 1

上述括号中的表达式会先被计算,以判断接下来是否执行语句 1,如果它的值为 true(也就是不等于 0),那么语句 1 会被执行。如果为 false,那么语句 1将会被直接跳过。

 if语句语法如下:

if(boole_a_expression)
{/* 如果布尔表达式为真将执行的语句 */
}

代码实例:

#include <stdio.h>int main()
{int a = 10;int b = 20;if (a > b)    //给出判断a是否大于b{printf("%d\n", a);    //如果a大于b 则执行该语句,反之跳过即可。}return 0;
}

if…else语句

前面我们刚看完if语句,知道了if语句是一个具有选择功能的语句,那么接下来,我们也不难理解if...else 语句。

其if...else 语句是如果...那么... 否则...那么... 的意思,也就是如果只有if语句的话,在不成立的情况下会直接跳过,但是后面衔接else的话,不成立则会执行else后的语句。

逻辑流程图如下所示:

if ...else语句格式如下:

if (表达式) 语句 1

else 语句2

上述括号中的表达式会先被计算,以决定接下来被执行的是语句 1 还是语句 2。该表达式必须具有标量类型。如果它的值为 true(也就是不等于 0),那么语句 1 会被执行。如果为 false,则语句 2 会被执行。

注意C 语言把任何非零和非空的值假定为 true,把零或 null 假定为 false。

  if ...else语句语法如下:

if(boole_a_expression)
{/* 如果布尔表达式为真将执行的语句 */
}
else
{/* 如果布尔表达式为假将执行的语句 */
}

代码实例

#include <stdio.h>
int main()
{int a = 10;int b = 20;if (a > b)    //判断{printf("%d\n", a);    //如果a>b 则执行此语句}else{printf("%d\n", b);    //如果a<b 则执行此语句}return 0;
}

if…else if…else语句

至于if...else if...else语句 就是不断嵌套的一个过程,也就是其结果可以分为多枝,只需要确保一个if 对应 一个else即可。

这里我们可以理解为,如果一个语句执行,判断为真后执行语句1,如果判断为假后,继续判断其是否满足另一个条件,如果满足另一个条件就执行语句2,如果不满足可以继续延伸下去。

一个 if 语句后可跟一个可选的 else if...else 语句,这可用于测试多种条件。

当使用 if...else if...else 语句时,以下几点需要注意:

  • 一个 if 后可跟零个或一个 else,else 必须在所有 else if 之后。
  • 一个 if 后可跟零个或多个 else if,else if 必须在 else 之前。
  • 一旦某个 else if 匹配成功,其他的 else if 或 else 将不会被测试。

逻辑流程图如下所示:

if…else if…else语法如下:

if(bool_a_expression 1)
{/* 当布尔表达式 1 为真时执行 */
}
else if( bool_a_expression 2)
{/* 当布尔表达式 2 为真时执行 */
}
else if( bool_a_expression 3)
{/* 当布尔表达式 3 为真时执行 */
}
else
{/* 当上面条件都不为真时执行 */
}

代码实例

#include <stdio.h>int main()
{unsigned int a;scanf("%u", &a);if (a < 10){printf("个位\n");  }else if (a < 100){printf("十位\n");}else if (a < 1000){printf("百位\n");}else{printf("很大\n");}return 0;
}

这些就是C语言中选择结构——if语句/if...else语句的相关知识了,当然选择结构不仅仅只有if语句,接下来会为大家介绍switch语句以及三目运算符,如果感兴趣的朋友可以订阅一下本人C语言的专栏,获得更新进度噢。

C语言中的选择结构——if语句/if...else语句相关推荐

  1. C语言中的选择结构语句

    C语言中,选择结构语句可分为为if语句和switch语句 if语句的三种形式: if 语句   单分支结构 if...else 语句   双分支结构 if...else  if...else语句    ...

  2. C语言中 用选择结构编译算法,C语言程序设计立体化教程(高等教育立体化精品系列规划教材)...

    导语 内容提要 李刚.唐炜主编的<C语言程序设计立体化教程(高等教育立体化精品系列规划教材)>主要分为四篇:语法基础篇.程序设计结构篇.初级应用篇和高级应用篇:其中第一篇语法基础部分介绍了 ...

  3. c语言用if语句abc输出最大值,C语言基础入门选择结构-if语句(78页)-原创力文档...

    C语言基础入门选择结构-if语句_电脑基础知识_IT/计算机_专业资料.第9单元选择结构-if语句<程序设计基础>北京八维研修学院第1节选择结构导入?... <程序设计基础> ...

  4. 初步认识C语言中的选择和循环语句

    我们在日常生活中经常会做出选择,同样的我们在C语言的学习当中也经常会遇到选择语句,举一个简单的例子: 如果我们好好学习,不断完善自己,那么我们就能社会中找到一份好的工作,最终走上人生巅峰:反之,如果我 ...

  5. C语言中的分支结构和循环结构有哪些,【单选题】下面哪种不是C语言中的基本结构______。 A. 顺序结构 B. 分支结构 C. 跳转结构 D. 循环结构...

    [单选题]下面哪种不是C语言中的基本结构______. A. 顺序结构 B. 分支结构 C. 跳转结构 D. 循环结构 更多相关问题 [单选,A2型题,A1/A2型题] 金瓷基底冠进行氧化处理时,理想 ...

  6. C语言输入输出及选择结构程序设计的综合应用——简单超级战士游戏and 取牙签游戏

    最全C系列题目!从0到管理系统 一.C语言数据类型及输出--体重是否正常.球的体积.计算存银行利息and浮点数长度与精度 二.C语言运算符与表达式--输出逆序数and二进制包含0和1的数量and判断是 ...

  7. python中的选择结构语句是语句_python3控制语句---选择结构语句

    python中的控制语句主要有if.if--else.if--slif--else.pass语句.其实python的控制语句与其他语言的控制语句工作原理基本一样.控制语句可以分为选择结构语句和循环结构 ...

  8. python中的选择结构语句是语句_选择结构-if语句和if...else语句

    作为控制结构的核心,选择结构在我们生活中无处不在.通过几个例子来了解一下选择结构: 1) 使用手机的时候,如果手机没电,就无法使用,有电可以正常使用. 2) 在登录QQ输入账户密码之后,如果密码正确则 ...

  9. C语言选择结构--RAPTOR算法及if语句

    选择结构就是根据给定的判定条件,判断结果,并根据判断的结果来控制程序的流程 二.选择结构的三种情况 选择结构也称为分支结构,可以分为三种情况 1.单分支选择结构(Single Selection) 1 ...

最新文章

  1. python bound unbound method
  2. orcle 删除表报正在使用_删除文件时提示正在使用无法删除?这款免费软件帮你快速解决问题...
  3. python在线教学-微软推出 Python 免费在线教程视频
  4. JVM:-Xmx和-Xms应该维持什么样的比例?
  5. 杭电1044java实现dfs bfs
  6. Java敌人跟地图的碰撞_(译)加入敌人和战斗:如果使用cocos2d制作基于tiled地图的游戏:第三部分...
  7. 计算机专业词典_好书优选:实用英汉汉英计算机词典
  8. 模版设计模式概述和使用
  9. 无需付费,教你IDEA社区版中使用Tomcat
  10. python 解三阶多项式系数_python – 评估多项式系数
  11. GeoServer不同服务器安装配置、数据发布及客户端访问
  12. QT编程入门系列文章之六——API 文档的使用
  13. 关于ini读取错误问题?
  14. matlab谐波分析fft,fft谐波分析_matlab进行fft谐波分析_交流电谐波?
  15. 电脑计算机怎么显示到桌面,怎么显示我的电脑到桌面
  16. Python小白基础--集合set
  17. 【3dsmax插件】FBX转Bip插件 Bippy.ms
  18. 论文阅读:CCX-RAYNET: A CLASS CONDITIONED CONVOLUTIONAL NEURAL NETWORK FOR BIPLANAR X-RAYS TO CT VOLUME
  19. 2019 9月 月末总结
  20. COUNTIFS函数

热门文章

  1. arduino液位传感器_Arduino 水位检测器/传感器
  2. 十分钟掌握多项式回归:拟合非线性关系
  3. Matlab公网通信的实现(NAT123实现内网穿透)
  4. 全新升级达内java高级互联网架构课|课件齐全
  5. 【Windows 安装JDK8】如何安装java JDK8
  6. android 电视qq视频,腾讯视频电视版安
  7. 如何将JSONArray转为String数组
  8. php利用微博做图床最新2019,利用微博当图床-php语言实现
  9. 用 ffmpeg 合并 m4s 音视频
  10. java保存cookie在本地_Java保存Cookie