勇气是在压力之下展现出的优雅。

一.简介

  C语言提供了两种分支语句可供选用,一是if.......else....类型,一种是Switch语句。两种语句都能根据条件判断结果执行不同的指令,且能进行替换,但也有诸多差异,下面详细介绍。

二.if语句与Switch语句

  2.1if语句

  if语句是一种逐个判断条件的分支语句,可以else关键字搭配使用,当条件满足时执行if语句所包含的命令,条件不满足执行与之配对的else语句所对应的命令。逻辑结构如下所示:

    2.1.1需注意的是,与else配对的if关键字为该else关键字之前且离它最近的if。

    2.1.2条件为0的情形分析

      if(......),括号内的条件可为常量、宏、表达式等。

      ①条件为boolean的0

        

      ②条件为整型或字符型0的表达式

        为了便于编译器检错,0建议写在表达式的右边,形如if(0==a),当比较符号'=='写错成‘=’时,表达式为if(0=a)此时编译器编译时会报错,而0卸载左边在这种情形下则不会报错。

      ③条件为Float类型的0.0的比较表达式

        因为Float类型的数据是一种不精确存储的数据,当我们给一个Float类型的变量赋值为0.0,它在计算机中的存储结果是偏离0一定值的数,与零比较不一定相同。

  2.2Switch语句

      Switch语句是一种多条件并列的分支语句,与case配合使用,条件必须为整性或字符型的常量。Switch语句中必须包含Default语句用于执行缺省(默认)的指令,Case后需接break以防止分支重叠,某些情况下也可使部分case语句后无break,但需注意程序的特殊执行流程。

  2.3if语句与Switch语句可替换使用

C语言进阶_分支语句的更多相关文章

  1. C语言进阶_变量属性

    人们总说时间会改变一些,但实际上这一切还得你自己来. 一.概念详解 变量:计算机语言中储存计算结果,其值可以被修改.通过变量名来访问计算机中一段连续的内存空间. 属性:区别于同类事物的特征. C语言中 ...

  2. C语言进阶——分支语句06

    if分支语句分析: if语句用于根据条件选择执行语句 else不能独立存在且总是与在它之前的最近if相匹配 esle语句后可以连接其他if语句 用法如下: if(condition) { //stat ...

  3. C语言入门(10)——if分支语句

    在我们写的函数中可以有多条语句,但这些语句总是从前到后顺序执行的.除了从前到后顺序执行之外,有时候我们需要检查一个条件,然后根据检查的结果执行不同的后续代码,在C语言中可以用分支语句实现,比如: if ...

  4. 【C疯狂的教材】(四)C语言分支语句

    1.程序的结构 程序默认从上到下顺序运行(顺序结构) 程序的结构:顺序结构.分支结构.循环结构 2.if分支语句 程序运行的过程中能够有多个选择 格式: if(表达式){ 语句块; } ...... ...

  5. JS基础_条件分支语句:switch语句

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. 苹果新的编程语言 Swift 语言进阶(五)--控制流

    Swift 语言支持C语言全部的控制语句.包含for  和while循环语句,if和switch条件语句,以及break和continue控制语句等. Swift 语言除了支持以上语句,还添加了一个f ...

  7. 《C语言进阶剖析》课程目录

    <C语言进阶剖析>学习笔记                                                         本文总结自狄泰软件学院唐佐林老师的<C语言 ...

  8. HTML基础--JS简介、基本语法、类型转换、变量、运算符、分支语句、循环语句、数组、函数、函数调用.avi

    JS简介 1.JavaScript是个什么东西? 它是个脚本语言,需要有宿主文件,它的宿主文件是HTML文件. 2.它与Java什么关系? 没有什么直接的联系,Java是Sun公司(已被Oracle收 ...

  9. Linux Shell系列教程之(十三)Shell分支语句case … esac教程

    本文是Linux Shell系列教程的第(十三)篇,更多Linux Shell教程请看:Linux Shell系列教程 分支语句非常实用,基本上高级语言都支持分支语句(python 没有),大多数都使 ...

随机推荐

  1. E. 数字串

    给你一个长度为 n 的数字串,找出其中位数不超过15位的不包含前导0和后导0的数 x ,使得 x+f(x) 是一个回文数,其中 f(x) 表示将 x 反转过来的数. 输入格式 多组输入,处理到文件结束 ...

  2. python做个谷歌内核浏览器

    源码: import sys,os os.chdir(os.path.dirname(os.path.abspath(__file__))) from PyQt5.QtGui import * fro ...

  3. Cucumber(2)——目录结构以及基本语法

    目录 回顾 HelloWorld 扩展 回顾 在上一节中,我大致的介绍了一下cucumber的特点,以及基于ruby和JavaScript下关于cucumber环境的配置,如果你还没有进行相关的了解或 ...

  4. python-Django收集主机信息json格式

    Control: from django.conf.urls import patterns, include, url from django.contrib import admin admin. ...

  5. nodejs之https双向认证

    说在前面 之前我们总结了https的相关知识,如果不懂可以看我另一篇文章:白话理解https 有关证书生成可以参考:自签证书生成 正题 今天使用nodejs来实现https双向认证 话不多说,直接进入 ...

  6. 什么是LVM

    LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性.前面 ...

  7. 二叉树中两节点的最近公共父节点(360的c++一面问题)

    面试官的问题:写一个函数  TreeNode* Find(TreeNode* root, TreeNode* p, TreeNode* q) ,返回二叉树中p和q的最近公共父节点. 本人反应:当时有点 ...

  8. <algorithm>中sort()函数的用法

    先说一下,本篇文章我没有讲sort()实现排序的原理,我写在另一篇文章中了,如果想了解的话,可以看一下,附上链接:https://www.cnblogs.com/buanxu/p/12772700.h ...

  9. 【Django】runserver 0.0.0.0:0 后,究竟发生了什么

    WSGI协议 Django是遵循WSGI协议设计的 WSGI协议主要包括server和application两个部分: WSGI server:负责从客户端接收请求,将request转发给applic ...

  10. .Net平台GC VS JVM垃圾回收

    前言 不知道你平时是否关注程序内存使用情况,我是关注的比较少,正好借着优化本地一个程序的空对比了一下.Net平台垃圾回收和jvm垃圾回收,顺便用dotMemory看了程序运行后的内存快照,生成内存快照 ...