系列文章目录

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

壹 ---- 嵌入式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. one-hot与哑变量(dummy variable)的区别
  3. Python之路---------Python介绍
  4. jenkins 对 maven对应的 jvm 配置参数
  5. 前端手动封装数组的foreach,map,filter,every,some,Reduce,reduceRight方法
  6. 电脑怎么彻底删除软件_电脑在使用的过程中如何彻底删除今日热点广告弹窗的方法...
  7. 再问数据中台 - 数据中台是什么?
  8. SASL讲解,以及在Spark中的应用
  9. 解决VS2010自带的C/C++编译器CL找不到mspdb100.dll的问题
  10. linux 进程内核栈
  11. 至少连接一个aura sync兼容设备_EDA365:浅谈电磁兼容
  12. Linux在线词典项目,实现注册,登陆,查询单词以及查询历史记录,退出查询等功能,(涉及网络编程,进程线程,文件io,sqlite)
  13. 一文读懂 HBase 使用场景
  14. UVC之MJPEG流
  15. MySQL安装教程包含所有平台(图解),MySQL下载步骤详解(带安装教程)
  16. PD芯片程序烧录方法
  17. 23种设计模式——软件设计模式概述
  18. ACFLY开源飞控的介绍
  19. 软考高项真题解析-关键路径的计算
  20. 让时间成为自己的知心朋友\\《把时间当做朋友》读书笔记

热门文章

  1. R语言批量处理读取压缩包里面的Excel文件(带源代码)
  2. SASS实现圆形动画菜单
  3. python + OpenCV 实现人脸检测(全网之最通俗易懂)
  4. 我为什么佩服柳传志?
  5. 初学Java,先搞懂第一个程序-----简易用户信息管理系统
  6. 是省还是亏?手工升级iPhone内存存在“后遗症”!
  7. zoj 1543 Stripies
  8. 日记500字初中计算机课,初中日记500字
  9. 无网络也没关系 Google云端硬盘新增脱机模式
  10. Windows 下使用 grep 命令