本文目录:

  • 一、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. datatables使用

    //4.多列排序 //示例:http://www.guoxk.com/html/DataTables/Multi-column-sorting.html //5.隐藏某些列 $(document).r ...

  2. QBC用法

    方法 说明 Restrictions.eq = Restrictions.allEq 利用Map来进行多个等于的限制 Restrictions.gt > Restrictions.ge > ...

  3. JavaScript 返回值

    Window.Open()返回值: 利用window.open(‘NewWindow.html’):打开新的窗口NewWindow.html后,如果有返回值需要处理,应通过window.opener. ...

  4. Lua a and b or c

    lua中nil和false为条件不成立,其余都为条件成立. a and b : a条件不成立,则返回a,否则,返回b a or c   : a条件成立,则返回a,否则,返回b 常用x = x or v ...

  5. 百度编辑器 无法获取post过去的值

    如果你的,表单form是套用 table的话,请一下,要把 form 放在table的最外面.否则获取不到post值

  6. 使用fragmenttabhost后,子fragment怎么获取ID?怎么用getSharedPreferences

    使用fragmenttabhost后,子fragment怎么获取ID?怎么用getSharedPreferences public View onCreateView(LayoutInflater i ...

  7. The Daligner Overlap Library

    /************************************************************************************\ * * * Copyrig ...

  8. 在Windows下安装64位压缩包版mysql 5.7.11版本的方法

    为了学习数据库,自己去网上下载了最新版本的Windows64位的mysql 5.7.11,但是花了很长的时间在安装的问题上,同时也借鉴了几位前辈的博文来帮助自己解决在安装过程中遇到的问题,安装成功之后 ...

  9. is(C# 参考)

    检查对象是否与给定类型兼容. 例如,下面的代码可以确定对象是否为 MyObject 类型的一个实例,或者对象是否为从 MyObject 派生的一个类型:     if (obj is MyObject ...

  10. nodeschool.io 9

    ~~ JUGGLING ASYNC ~~ 其实就是一个循环,在循环里面输出的顺序,和排列后在外面的顺序不一样,这是为什么呢? 用第三方async包,直接报错了…… This problem is th ...