本文目录:

  • 一、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. Android网络编程系列 一 TCP/IP协议族之网际层

    这篇借鉴的文章主要是用于后续文章知识点的扩散,在此特作备份和扩散学习交流. 网际层包括:IP.ICMP.IGMP 以及处在网际层实际工作在链路层的 ARP 和 RARP等等协议. 1.IP协议 互联网 ...

  2. 转:C语言字符串操作函数 - strcpy、strcmp、strcat、反转、回文

    转自:C语言字符串操作函数 - strcpy.strcmp.strcat.反转.回文 C++常用库函数atoi,itoa,strcpy,strcmp的实现 作者:jcsu C语言字符串操作函数 1. ...

  3. 最大堆的插入/删除/调整/排序操作(图解+程序)(JAVA)

    堆有最大堆和最小堆之分,最大堆就是每个节点的值都>=其左右孩子(如果有的话)值的完全二叉树.最小堆便是每个节点的值都<=其左右孩子值的完全二叉树. 设有n个元素的序列{k1,k2,..., ...

  4. OpenCV3编程入门笔记(6)自我验证各函数程序代码

    // asw.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <opencv2/opencv.hpp> usi ...

  5. 抛弃vboot不格盘用grub4dos+firadisk安装Ghost版XP到VHD,轻松RAMOS!

    http://bbs.wuyou.net/forum.php?mod=viewthread&tid=363198&extra=抛弃vboot不格盘用grub4dos+firadisk安 ...

  6. SpringMVC--xxx.xml配置

    <!--configure the setting of springmvcDispatcherServlet and configure the mapping--> <servl ...

  7. 如何使用java调用DLL运行C++(初篇)

    JNI:Java Native Interface,简称JNI,是Java平台的一部分,可用于让Java和其他语言编写的代码进行交互. 下面是从网上摘取的JNI工作示意图:

  8. Valid Palindrome [LeetCode]

    Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignori ...

  9. easyUI dialog 弹窗 居中显示

    默认情况下应该是在屏幕居中显示的.但是有的时候没有居中只要重新纠正下就可以了 $('#add_dialog').dialog('open'); //打开添加对话框 $('#add_dialog').w ...

  10. 递归算法(一)——akm

    要求 已知akm函数如下: { n+1 while m=0 }                          => Rule I akm(m,n)= { akm(m-1,1) while n ...