系列文章目录

零 ---- 千里之行,始于足下

壹 ---- 嵌入式C语言编程


一、运算符、表达式和语句的概念

        运算符是一种告诉编译器执行特定的数学或逻辑操作 的符号, C 语言内置了丰富的运算符,并提供 了多种类型的运算符。
表达式就是通过 运算符运算对象 (操作数)连接起来的式子。
   

表达式组成的语句称为表达式语句。它由一个表达式后接一个分号“;”组成。

二、运算符

(一)运算符类型

根据运算符的作用,主要分为以下几种类型:

运算符也叫做操作符,根据运算符操作的运算对象的个数,可以将运算符分为以下几种:

----单目运算符:只需要一个操作数

----双目运算符:需要两个操作数

         ----三目运算符:需要三个操作数

(二)运算符的优先级

运算符的优先级一般按照如下规律:

 ! > 算术运算符 > 关系运算符 > && > || > 条件运算符 > 赋值运算符 > 逗号运算符

具体可参照下表

(三)算术运算符

C语言内置的算术运算符有如下几种:

---- % 取模运算符的两个操作数只能作为整数

---- 前自增/前自减先计算后使用,后自增/后自减先使用后计算

(四)赋值运算符

C语言内置赋值运算符有如下几种:

---- 在C语言中,“ = ” 不是相等的意思,而是将右值赋给左值。赋值表达式的语句的目的是把值存储到内存上。用于存储值的数据存储区域统称为数据对象。 “左值"指用于标识一个特定的数据对象的名字或表达式。"右值"指的是能赋给可修改的左值的量。

  ---- 左值具有三个特性:
                1. 可修改性,又称为可修改左值
                2. 是数据对象的标识符,应具有标识符的特性

                3. 左值不能为常量

(五)关系运算符

C语言内置关系运算符有如下几种:

关系运算符用于比较两个数值中间的关系,所以也叫做比较运算符。

        另外,需要特别注意 “=”“==” 的区别!通常在刚接触代码的时候,会经常判断错误,将“=”误以为是“==”

(六)逻辑运算符

为什么在关系运算符里面,结果只有0和1呢?而且成立则是1,不成立是0。原来,在计算机中,通过两个逻辑来表达数值之间的关系的,分别是逻辑真逻辑假,逻辑真则表示关系是成立的,逻辑假则表示关系不成立。

逻辑假是用0来表示的,而逻辑真是使用非0来表示。在这里,初学者容易掉入一个坑,我们需要记住,1 ,但是不仅仅是1!

C语言内置逻辑运算符有如下几种:

在实际的生活当中,我们经常会用区间表示范围,例如,我们经常将学生成绩大于等于60且小于70的值判定为良好,在书写时是使用“60<=x<70”来表示。

但是通过我们上面学习的运算符优先级和关系运算符,大家可以猜猜上面的判断结果答案有多少个呢?

(1)第一步:我们先计算 60 <=x表达式的结果,很显然不论x的值为多少答案都只有两个,分别是0或者1

(2)第二步:用0或者1和70比较大小,很显然结果为1!

        也就是说,无论x的值是多少,60<=x<70的答案都是成立的!因此,在我们进行范围判断的时候,需要使用逻辑运算符来连接两个范围,例如:60<=x && x<70

(七)位运算符

        在软件开发过程中,常常需要处理二进制位的问题,例如:
  ---- 通过单片机、STM32等控制灯光、风扇等
  ---- 通过子网掩码求IP地址的网络号
  ---- 通过异或对数据进行加密
  ---- 通过位运算判断数据的奇偶性(x & 1)
        C 语言内置的位运算符有:

---- 左移n位等于乘以2的n次方

---- 右移n位等于除以2的n次方


思考

1、是不是只要是左移就能够实现乘以2的倍数呢?数据是否会产生溢出?

2、如何不使用中间变量交换两个整型变量的值?可以用“+”和“-”实现吗?可以用“^”实现吗?

IOT嵌入式物联网----运算符,表达式和语句相关推荐

  1. 《C Primer Plus》第五章-运算符 表达式和语句(笔记、复习题、编程题,副作用和序列点,升降级)

    文章目录 运算符 表达式和语句 本章内容 循环简介 基本运算符 赋值运算符:= 几个术语:数据对象.左值.右值和运算符 加法运算符:+ 减法运算符:- 5.2.4 符号运算符:-和+ 乘法运算符:* ...

  2. 第五章运算符表达式和语句

    title: 第五章 运算符.表达式和语句 author: HardyDragon tags: C Notes 第五章 运算符.表达式和语句 5.1 循环简介 5.2 基本运算符 5.2.1 赋值运算 ...

  3. IOT嵌入式物联网----从零到一的转变或许在这一刻开始

    系列文章目录 零 ---- 千里之行,始于足下 文章目录 前言 一.物联网是什么? 二.关于物联网的方向有什么? 后记 前言 为什么突然间想写这个系列呢?或许是因为自己也准备毕业了,经过在外面的线上线 ...

  4. IOT嵌入式物联网----C语言基本数据类型

    系列文章目录 零 ---- 千里之行,始于足下 壹 ---- 嵌入式C语言编程 前言 在嵌入式的实际开发过程中我们更多的需要使用C语言进行编程,而在编程时我们需要处理各种类型的数据,C语言提供的数据类 ...

  5. python基本对象_python基础教程:运算对象、运算符、表达式和语句

    编程的本质就是数据和运算,数据由基本数据类型.数据结构来表示,运算就是对这些数据的各种操作,基本的加减乘除.是非判断.流程控制等等.这些操作就是今天我们要讲的运算符.表达式和语句. 前面我们学习Pyt ...

  6. Java 运算符、表达式、语句

    文章目录 1. 运算符 2. 表达式 3. 语句 1. 运算符 赋值运算 = +, -, *, /, % 算术运算 +, -, !, ~ 一元运算 关系运算 >, <, >=, &l ...

  7. java表达式语句_Java基础知识笔记第三章:运算符表达式语句

    算术运算符与表达式 操作符描述例子 + 加法 - 相加运算符两侧的值 A + B 等于 30 - 减法 - 左操作数减去右操作数 A – B 等于 -10 * 乘法 - 相乘操作符两侧的值 A * B ...

  8. C | 运算符、表达式和语句

    目录 一.循环简介 二.基本运算符 2.1 赋值运算符:= 2.2 加法运算符:+ 2.3 减法运算符:- 2.4 符号运算符:-和+ 2.5 乘法运算符:* 2.6 除法运算符:/ 2.7 运算符优 ...

  9. C语言基础之5:运算符、表达式和语句

    Tips1: 关键字:while.typedef 运算符:=.-.*./.%.++.--.(类型名) C语言的各种运算符,包括用于普通数学运算的运算符 运算符优先级以及语句.表达式的含义 while循 ...

最新文章

  1. 开源成就你我,感恩共享礼包
  2. Web前端开发代码规范(基础)
  3. java 线程之对象的同步和异步
  4. K个一组翻转链表—leetcode25
  5. Android App 优化之 ANR 详解
  6. h5禁用浏览器下载视频_Flash正式被全球禁用,只有中国版还活着
  7. Springboot02配制jsp
  8. OSPF 的六种 LSA类型
  9. Maven 解决parent项目下部分子项目的依赖问题
  10. 全国计算机三级网络技术感悟,这几天准备计算机三级考试的感悟
  11. 比特鹏哥第二节课笔记
  12. BCS演讲实录 | 未来智安CTO陈毓端精讲《XDR扩展威胁检测响应探索与实践》
  13. 均值,期望,方差,标准差,协方差
  14. Revit: AR and VR Workflows Revit:AR和VR工作流程 Lynda课程中文字幕
  15. viicms仿乐享微信源码官方版
  16. Node.js 模块化的操作,简单明了的代码帮助你明白后端的实现和前端之前的交互,及解决跨域等问题
  17. 如画的水乡,如画的同里58
  18. VL813-Q7威锋一出四HUB芯片方案
  19. Unity3d 原生录音 Microphone
  20. AI 已死?不,AIGC 给我们带来了新的希望

热门文章

  1. String 之substring的用法
  2. 2020-12-09-商城,记录每天学了什么
  3. MATLAB04:基础绘图
  4. PDF转换成PPT后格式混乱,可能这个没做好
  5. File/String类常用方法
  6. 游戏屏幕外渲染黑屏_看Nintendos在屏幕外的精灵渲染故障
  7. java web jsp的银行柜员绩效考核系统
  8. java计算机毕业设计vue宿舍管理系统源码+mysql数据库+系统+lw文档+部署
  9. WSUS 重置引导指南(WSUS Reset Guide Line) WSUS针对性获取上级补丁数据
  10. CSGO赛事管理系统毕设