本文目录:

  • 一、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. oracle对象类型

    Oracle的对象类型 对象类型 在PL/SQL中,面向对象的程序设计师基于对象类型来完成的.对象类型是用户自定义的一种复合数据类型,它封装了数据结构和用于操纵这些数据结构的过程和函数. 数据库的对象 ...

  2. volley超时和重复请求问题

    原文:  Android Volley double post when have slow request I have a problem with Volley POST request on ...

  3. 深入理解Sqlserver索引

    1. Sqlserver中索引分为聚集索引和非聚集索引: 聚集索引:表中数据的物理存储的顺序与索引顺序完全相同(字典的按拼音查法),检索效率比非聚集索引高,但对数据更新影响较大. 非聚集索引:表中数据 ...

  4. php防止sql注入

    [一.在服务器端配置] 安全,PHP代码编写是一方面,PHP的配置更是非常关键. 我们php手手工安装的,php的默认配置文件在 /usr/local/apache2/conf/php.ini,我们最 ...

  5. Eclipse全面提速小技巧

    转自:http://rongmayisheng.com/post/eclipse%E5%85%A8%E9%9D%A2%E6%8F%90%E9%80%9F 欢迎关注我的社交账号: 博客园地址: http ...

  6. Ubuntu 安装 Redis

    1. 下载并安装 redis 2.6.16版 sudo mkdir /usr/local/src/Redis cd /usr/local/src/Redis sudo wget http://down ...

  7. mouseover,mouseenter,mouseleave,mouseout

    mouseover和mouseout对应 //鼠标移入移出触发该元素及子元素 mouseenter和mouseleave对应 //鼠标移入移出只触发该元素 看完例子即可知道其区别: mouseover ...

  8. css3内容持续更新ing

    要做在手机里面.4s和5都有差别更加何况还有其他安卓手机,所以做好之后要缩小一点 用的是background.用的了background-size,如果是50%就是等比缩放,50% 50%就会变形,现 ...

  9. Longest Consecutive Sequence [LeetCode]

    Given an unsorted array of integers, find the length of the longest consecutive elements sequence. F ...

  10. class、interface、struct的区别

    1 struct和class有什么区别 1.1默认的继承访问权限 Struct是public的,class是private的. 你可以写如下的代码: struct A { char a; }; str ...