C——选择结构

2023-11-13

1、关系运算与逻辑运算

C语言中的逻辑值:C语言将 非0 值当做值, 0 值当作假

1.1、关系运算

  • 关系运算符:
    1. >,>=,<=,==(等于),!=(不等于)
    2. 优先级: 前四者高于 后两者
    3. 结合性: 自左向右 比较
  • 关系表达式:
    在这里插入图片描述

1.2、逻辑运算

  • 逻辑运算符:
    1. !(非),&&(与),||(或)
    2. 优先级:> && > ||
  • 逻辑表达式:
    1. &&(与):
      0&&0==0		0&&1==0
      1&&0==0		1&&1==1
      2&&3==1		-2&&-3==0
      0&&-1==0
      
    2. ||(或):
      0||0==0		0||1==1
      1||0==1		1||1==1
      5||3==1		-5||0==1
      
    3. !(非)
      !0==1	!1==0
      !7==0	!(-2)==0
      
  • 短路运算:
    1. &&(与): 左边第一个运算结果为 0 ,则停止运算
    2. ||(或): 左边第一个运算为 1 ,则停止运算

2、if语句

一个if条件只能控制一条语句

2.1、单分支的if语句

  • 形式:if(条件) 语句;
    1. 条件为真,执行语句
    2. 条件为假,不执行语句

2.2、双分支的if语句

就近原则:
else总是和 上面的、离它最近的、未配对的 if进行配对

  • 形式:if(条件) 语句1;else 语句2;
    1. 条件为真,执行语句1
    2. 条件为假,执行语句2

3、条件运算符

  • 形式:条件?值1:值2
  • 执行过程:条件为真结果为值1(左值),条件为假结果为值2(右值)
  • 优先级:高于赋值与逗号
  • 结合性:自右向左

4、switch语句

  • 语句结构:
    1. switch语句从字面上讲,可以称为开关语句,是一种多分支选择结构,一般与case、break、default配合使用,对流程进行控制。

    2. switch语句的语法格式如下:

      switch(表达式){ 
      	    case 常量表达式1:  语句1;
      	    case 常量表达式2:  语句2;
      	    …… 
      	    case 常量表达式n:  语句n;
      	    default:  语句n+1;
      	}
      
  • switch语句规则:
    1. switch语句的 执行过程先进入再向下

    2. 只能针对基本数据类型中的整型类型使用switch,这些类型包括intchar等。对于其他类型,则不能使用switch语句。

    3. switch()的参数类型不能为实型 。

    4. case标签必须是常量表达式,如62’8’或者5+3等。

    5. case标签必须是唯一的表达式;也就是说,不允许两个或以上case具有相同的值。

    6. casedefault子句的先后顺序可以变动,而不会影响程序执行结果。

    7. default子句可以省略不用。

    8. break语句的功能是终止当前的switch语句。

      switch(表达式){ 
      	    case 常量表达式1:  语句1;break;
      	    case 常量表达式2:  语句2;break;
      	    …… 
      	    case 常量表达式n:  语句n;break;
      	    default:  语句n+1;
      	}
      
  • switch嵌套:
    • switch语句可以嵌套,也就是在switch语句中的入口处理语句中又包含了switch语句。case与default标号是与包含它的最小的switch相联系的。例如:
      int a,b;
      switch(a)
      {
          case 1 :
          case 2 :
          switch(b)
          {    //嵌套switch
       	   	case 1:
      	    case 2:
      	    default:
          }
          case 3:
      }
      
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C——选择结构 的相关文章

随机推荐

  • sqli-labs第九十关

    这两关是时间盲注 Less 9 GET Bilnd Time based String Quotes 手工注入 这里使用sleep 函数 闭合方式还是跳过 id 1 1 1 爆破数据库 id 1 and if ascii substr da
  • 【学习笔记】rabbitmq设置队列ttl和使用延迟插件的代码示例

    文章目录 设置队列ttl 配置文件 生产者 消费者 设置消息ttl 延迟插件的使用 修改配置文件 修改生产者 修改消费者 设置队列ttl 代码架构 创建两个队列QA和QB 两者队列TTL分别设置为10S和40S 然后在创建一个交换机X和死信
  • 阿里P8大神讲解——Java,JVM内存模型

    在Java程序界流行着一种默认的说法叫 黄金5年 也就是一个程序员从入职的时间开始算起 前五年的选择直接影响着整个职业生涯发展方向和薪资走向 如何走好这5年很关键 如何彻底从一个菜鸟蜕变成 可以以不变应万变的职业大牛 这是一个涉及到自身专业
  • 朋友去华为面试,轻松拿到26K的Offer,羡慕了......

    最近有朋友去华为面试 面试前后进行了20天左右 包含4轮电话面试 1轮笔试 1轮主管视频面试 1轮hr视频面试 据他所说 80 的人都会栽在第一轮面试 要不是他面试前做足准备 估计都坚持不完后面几轮面试 其实 第一轮的电话面试除了一些常规的
  • 【电气专业知识问答】问:在何种事故情况下应立即停用电动机?

    电气专业知识问答 问 在何种事故情况下应立即停用电动机 答 1 发生危急人身安全情况 需要立即停用电动机的 2 电动机所带机械设备损坏至危险程度时 3 电动机起火冒烟 4 电动机强烈振动 窜轴或内部发生定 转子碰擦 5 电动机缺相运行 6
  • C#读写各类文件合集

    C 文件操作合集 一 利用字节流与文件流读写txt json文件 1 以文件的方式进行操作 2 以文件流的方式进行读写 3 以二进制数据流的方式进行读写 4 以文本流的方式进行读写 5 JOSN文件的读写 二 kernel32读写ini文件
  • 【论文笔记】疯狂的检测工具 —— 静态分析工具

    本文目标 精度论文 CryptoGuard High Precision Detection of Cryptographic Vulnerabilities in Massive sized Java Projects 主要针对大规模的
  • 【Pytorch Lighting】第 9 章:部署和评分模型

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • Win10系统安装使用H3C HCL实验室(最新版)方法

    如果安装了wsl2虚拟机的 首先参照此教程将wsl版本降为1 https blog csdn net qq 26123545 article details 120169070 spm 1001 2014 3001 5501 如果之前的HC
  • CMake编译.dll并使用开源库SDE

    目录 环境 项目修改 编译 dll文件并确保它能正常使用 测试使用 dll文件 文件下载链接 环境 本篇博客所要做的是 Win10环境使用CMake编译一个开源C 库 这个库所有 h头文件和 cpp源文件都有了 将这个库编译为动态链接库 d
  • armbian安装图形桌面_Linux桌面环境(桌面系统)大比拼「附带优缺点」

    早期的 Linux 系统都是不带界面的 只能通过命令来管理 比如运行程序 编辑文档 删除文件等 所以 要想熟练使用 Linux 就必须记忆很多命令 后来随着 Windows 的普及 计算机界面变得越来越漂亮 点点鼠标就能完成很多工作 人们已
  • x86-64 汇编基础 ---- 记读 《CS: APP》

    x86 64 汇编基础 记读 CS APP 通常情况下 使用现代的优化编译器产生的代码至少与一个熟练的汇编语言程序员手工编写的代码一样有效 1 看懂汇编码 1 汇编码的格式 ATT格式 这是GCC OBJDUMP和其它一些工具的常用格式 由
  • 推荐系统实战2——EasyRec 推荐框架环境配置

    推荐系统实战2 EasyRec 推荐框架环境配置 学习前言 先验条件 EasyRec仓库地址 EasyRec环境配置 一 EasyRec的下载 二 EasyRec的初始化 三 EasyRec的安装 四 一些额外的情况 学习前言 EasyRe
  • opencv 读取NV12格式(.yuv)文件,并转为RGB格式保存为JPG

    实测代码如下 include
  • OpenStack的搭建与使用

    初次接触open stack与Linux 如有错误与可改进的地方 恳请指出 一 搭建 一 配置推荐 系统 镜像 内存 储存 Linux centos7 6 16G 100G 二 前期准备 1 开启虚拟化 图2 1 开启虚拟化 2 关闭防火墙
  • C语言典型例题四——斐波那契数列

    Fibonacci 斐波那契 数列 求斐波那契数列的前40个数 这个数列有个特点 第1 2两个数为1 1 从第三个数开始 该数是其前面两个数之合 即该数列为1 1 2 3 5 8 13 这是一个有趣的古典数学问题 有一对兔子 从出生后第三个
  • python 在Excel中新增一列

    1 在Excel中定义新列 定义新列需要用到columns tolist 函数 具体代码如下 col name df columns tolist col name insert 新列位置 新列名称 wb df reindex column
  • Log4j2源码分析系列:(一)配置加载

    在实际开发项目中 日志永远是一个绕不开的话题 本系列文章试图以slf4j和log4j2日志体系为例 从源码角度分析日志工作原理 学习日志框架 首先要熟悉各类日志框架 这里推荐两篇文章 就不再赘述了 https www cnblogs com
  • C——选择结构

    选择结构 1 关系运算与逻辑运算 1 1 关系运算 1 2 逻辑运算 2 if语句 2 1 单分支的if语句 2 2 双分支的if语句 3 条件运算符 4 switch语句 1 关系运算与逻辑运算 C语言中的逻辑值 C语言将 非0 值当做值
  • buuCTF [ISITDTU 2019]EasyPHP 1

    buuCTF ISITDTU 2019 EasyPHP 1 直接代码审计 第一个if 过preg match 一般有三种方法 取反绕过 异或绕过 转义绕过 这里用取反绕过 第二个if的意思是输入的字符串不重复的字符长度不超过0xd即13 如