本文目录:

  • 一、BOOL布尔类型
  • 二、关系运算符
  • 三、逻辑运算符
  • 四、if语句
  • 五、枚举类型
  • 六、switch语句

一、BOOL布尔类型

  • BOOL数据类型,是一种表示非真即假的数据类型,布尔类型的变量只有YES和NO两个值。YES表示表达式结果为真,NO表示表达式结果为假。
  • 在C语言中,认为非0即为真。
  • 分支语句中,经常使用BOOL值做判断,判断执行if语句还是else语句。
  • 循环结构中,也经常使用BOOL值做判断,判断是否要执行循环。

  注意事项:

  • #define YES 1
  • #define NO 0
  • 计算机在识别时,YES就替换成1,NO就替换成0。

二、关系运算符

> >= < <= == !=
  • 主要用于比较运算,比较的结果只有真假两种情况,结果值用BOOL类型变量存储。
  • 注意:判断两个数是否相等,用 ==

三、逻辑运算符

  • 逻辑运算符组成的表达式,结果屙屎非真即假
  • &&(逻辑与):运算符两边表达式同时为真得时候,整个逻辑表达式的结果为真。
  • ||(逻辑或):运算符两边表达式同时为假的时候,整个逻辑表达式的结果为假。
  • !(逻辑非):将表达式的结果取反。

  注意事项:

  • 注意逻辑与和逻辑或的短路现象
  • 注意:
  • &&——一假即假
  • ||——一真即真

  程序的三种结构

  • 顺序结构:顺序执行语句。
  • 分支结构:通过进行一个判断在两个可选的语句序列之间进行选择执行。
  • 循环结构:在满足某个条件的时候反复执行一个语句序列(循环)。

四、if语句

  • 用if语句可以构成分支结构,它根据给的条件进行判定,以决定执行某个分支程序段
  • C语言的if语句有三种基本形式。

  if语句的第一种形式

if (条件表达式) {
语句1;
}

  当条件表达式为真,执行语句1,否则,跳过语句1,继续执行下面的语句。

  注意事项:

if(条件表示式); {
语句1;
}
//注意上述代码表达式括号后面跟了';',导致if语句为空语句,大括号内的语句跟if语句没有关系,无论条件真假都会执行语句1.

  if语句的第二中形式

if (条件表达式) {
语句1;
} else {
语句2;
}
//当条件表达式为真时执行语句1,否则执行语句2.

  if语句的第三种形式

if(条件表达式1){ 语句1;
} else if(条件表达式2){ 语句2;
} else { 语句3;
}

  如果条件表达式1为真,执行语句1,如果条件表达式1为假,条件表达式2为真,执⾏语句2,如果条件表达式1与条件表达式2都为假,执行语句3;

  条件运算符

  • 条件表达式 ? 表达式1 : 表达式2
  • 如果条件表达式为真,整个表达式的值为表达式1的值;
  • 如果条件表达式为真,整个表达式的值为表达式1的值;
  • 例如: int c = a > b ? a : b;

五、枚举类型

  • 一组有符号名称的整型常量,⼀一列举所有状态,罗列出所有可能的结果。
  • 枚举属于构造类型。
  • enum 枚举名 {枚举值表};
  • 目的:提⾼高程序的可读性 。
  • 作⽤用:将⼈人能看懂的标识符与计算机能识别的数字建⽴立对应关系。

enum season {
spring = 1,//默认从0开始
summer,
autumn,
winter
};

  

【C语言学习】-02 分支结构的更多相关文章

  1. [C语言入门笔记]分支结构与数组

    分支结构与数组 什么是分支结构? 分支结构是用户或者程序可以选择下一步执行哪个语句 分支结构有哪些? If If Else If Else If Switch 在初学者的学习过程中第一种和第二种比较普 ...

  2. C语言学习笔记--枚举&结构体

    枚举 枚举是一种用户定义的数据类型,它用关键字enum以如下语法格式来声明: enum 枚举类型名字 {名字0,名字1,...,名字n}: 枚举类型名字通常并不真的使用,要用的是大括号里面的名字,因为 ...

  3. Java学习之分支结构---判断语句:if语句和switch语句

    一个if语句包含一个布尔表达式和一条或多条语句,if 语句的用语法如下:if 语句 if(布尔表达式) { //如果布尔表达式为true将执行的语句 },如果布尔表达式的值为 true,则执行 if ...

  4. c语言学习笔记之结构体存储

    今天讲讲结构体存储问题 首先,结构体简单说是对不同类型的封装,一开始我们可能会想结构体在内存中的存储的大小是直接元素的和 例如 我们可能会觉得是 结构体大小=int(4个字节)+ short(2个字节 ...

  5. c语言学习之基础知识点介绍(六):if和switch结构

    本节主要说c语言中的分支结构. c语言中分支结构有两大类:一种是if,一种是switch. 一.if结构 //if结构,语法: //第一种: if(表达式){ //语句块 } //第二种: if(表达 ...

  6. C语言第01次作业--顺序、分支结构

    1.本章学习总结 1.1 思维导图 1.2本章学习体会及代码量学习体会 1.2.1学习体会 本周我学到了很多C语言中基础的结构和语法(见思维导图),能对一些生活中的简单问题对应编写程序解决一些这些简单 ...

  7. c语言第一次作业--顺序、分支结构

    1.1思维导图 1.2.1本周学习体会以及代码量学习体会 1.2.2学习体会     因为在暑假时候没有对c语言进行学习,没太关注一些学习资料,一些教学视频也没看,感觉对c语言是陌生的,刚开课的时候自 ...

  8. c语言博客作业——顺序结构,分支结构

    1.PTA截图 2.本章学习总结 2.1学习内容总结 数据的输入和输出:%d表示输入输出整数 %.lf表示输入浮点数 %.nf表示输出结果保留n位小数 if-else的分支结构可以有限个分类情况进行处 ...

  9. c语言基础表达式, 关系运算符, 逻辑运算符, 位运算符, 数据的取值范围, 分支结构(if...else, switch...case)

    1.表达式: 表达式的判断是有无结果(值), 最简单的表达式是一个常量或变量, 如:12, a, 3 + 1, a + b, a + 5 都是表达式 2.BOOL(布尔)数据类型: c语言中除了基本数 ...

随机推荐

  1. CodeForces 429 B Working out(递推dp)

    题目连接:B. Working out 我想了很久都没有想到怎么递推,看了题解后试着自己写,结果第二组数据就 wa 了,后来才知道自己没有判选择的两条路径是否只是一个交点. 大概思路是:先预处理出每个 ...

  2. JS作用域和预编译(转载 学习中。。。)

    JS在页面加载过程中顺序执行.但是分块预编译.执行. JS在执行前会进行类似”预编译”的操作,而且先预声明变量再预定义函数. 此时注意,是声明,不是定义,如:var a = 1; 在预编译中,只是执行 ...

  3. Android布局_表格布局TableLayout

    一.TableLayout概述 TableLayout表格布局模型以行列的形式管理子控件,每一行为一个TableRow的对象,当然也可以是一个View的对象 二.TableLayout的全局属性  1 ...

  4. 配置Linux任务计划

    Linux有三种计划任务: at:指定一个时间执行一个任务 (适用一个或多个任务,执行一次后就不用) cron:根据一个时间表自动执行任务 (使用一个或多个任务,周期性执行) 系统级别的计划任务及其扩 ...

  5. Java中的泛型方法

    泛型是什么意思在这就不多说了,而Java中泛型类的定义也比较简单,例如:public class Test<T>{}.这样就定义了一个泛型类Test,在实例化该类时,必须指明泛型T的具体类 ...

  6. java 集合(Set2)

    TreeSet: 1.向TreeSet添加元素时 如果元素具有自然特性,那么就按照元素的自然顺序的特点进行排序储存. 如果不具备,就要实现Compareable接口中的compareTo() 方法. ...

  7. eclipse 新建 maven 项目 添加 spring hibernate 的配置文件 详情

    主要配置文件 pom.xml 项目的maven 配置文件 管理项目所需 jar 依赖支持 web.xml 项目的总 配置文件  :添加 spring和hibernate 支持 applicationC ...

  8. C/C++, Java和C#的编译过程解析

    原文地址:http://www.cnblogs.com/rush/p/3155665.html 1.1.1 摘要 我们知道计算机不能直接理解高级语言,它只能理解机器语言,所以我们必须要把高级语言翻译成 ...

  9. DOM中元素节点、属性节点、文本节点

    DOM中有12中节点,但最常用到的是元素节点,属性节点,文本节点. 元素节点的节点类型(nodeType)是1: 属性节点的节点类型(nodeType)是2: 文本节点的节点类型(nodeType)是 ...

  10. 一致性哈希算法——算法解决的核心问题是当slot数发生变化时,能够尽量少的移动数据

    一致性哈希算法 摘自:http://blog.codinglabs.org/articles/consistent-hashing.html 算法简述 一致性哈希算法(Consistent Hashi ...