目录

(1)算数操作符

(2)移位操作符

A:左移

B:右移​

(3)位操作符

(4)赋值操作符

(5)单目操作符

(6)关系操作符

(7)逻辑操作符

(8)条件操作符(三目运算符)

(9)逗号表达式

(10)下标引用,函数调用和结构成员

A:下标引用操作符

B:函数调用操作符

C:结构体成员

(11)表达式求值

A:隐式类型转换

B:算数转换

C:操作符的属性


(1)算数操作符

第一点:基本介绍

算数操作符包括以下几种

第二点:注意事项

1:除了“%”之外,其余算数操作都可以用于整数和浮点数,"%"左右两侧必须为整数

2:对于“/”,当左右操作数是整数时,执行的是整除(也就是只要商的部分),当左右操作数有一个是小数时,当然前提变量要定义为浮点型,执行的就是除法,也就是结果是小数

(2)移位操作符

A:左移

左移就是这个数的二进制位向左移动,空出来的用0补齐

左移的结果就是这个数变为2倍

B:右移

逻辑移位:补码向右移动,空出来的用0填充

算数移位:补码向右移动,空出来的用符号位填充(主要使用)

算数右移的结果就是变为原来的二分之一

需要注意不要移动负数位,此标准未定义

(3)位操作符

(4)赋值操作符

赋值操作符基本无需讲解,这里只需注意一下常用的这些复合赋值符

(5)单目操作符

第一:单目操作符的类型

第二:对其中几个单目操作符的说明

1:sizeof

sizeof是用来计算空间大小的

sizeof和数组

sizeof内部不会进行计算

2:"~"按位取反

按位取反基本介绍

按位取反的应用

(6)关系操作符

(7)逻辑操作符

(注意这里的逻辑操作符不要和位操作符搞混了,位操作符是对数的二进制位进行操作,而逻辑操作符是对数本身操作)

第一:逻辑操作符类型

第二:逻辑与和逻辑或的区别

逻辑与:遇假则假,全真则真

逻辑或:遇真则真,全假则假

这里要特别注意逻辑与左边为假停止计算,如果是逻辑或左边为真停止计算

(8)条件操作符(三目运算符)

(9)逗号表达式

用逗号分开的表达式就叫做逗号表达式,逗号表达式会从左到右依次计算,最终逗号表达式返回的是最后一个表达式的结果

在一般情况下,逗号表达式是不常使用的,因为有时会造成代码的不易理解

(10)下标引用,函数调用和结构成员

A:下标引用操作符

B:函数调用操作符

我们调用函数的圆括号,就是函数调用操作符

C:结构体成员

第一点:结构体是什么

我们之前使用的int,char类似于结构体,然后int a,就是创建一个int类型的变量。

我们可以把结构体理解为一个学生,这个学生它有很多信息,例如信息,学号,性别等等。而这些信息就叫做这个结构体的成员

第二点:创建结构体变量

上述实例中创建的就是“struct Student”的结构体,然后类似于Python中类与对象关系,进行实例化,就是创建结构体变量

第三:"结构体.成员名"

第四点:"结构体指针->成员名"

前面我们说过“int* a”,定义了一个指向int的指针a。那么这里对于我们自己创建的结构体也是这样的

当然上述取成员的操作是正确的,但是太麻烦了,于是对于结构体指针我们取成员名是用"->"

(11)表达式求值

A:隐式类型转换

第一点:什么是整型提升

C语言的整型算数运算总是至少以整型类型的精度进行的,如下一个例子中最终的输出结果可能会与我们所想的不一样

在上述这个表达式中,字符或短整形操作数在使用前被转换为了普通整形,这种转换称为整形提升

第二点:整形提升的规则

第三:整形提升的例子

实例1

实例2:

B:算数转换

C:操作符的属性

第一:复杂表达式求值顺序的决定因素

1:操作符的优先级

2:操作符的结合性(先考虑优先级再考虑结合性)

3:是否控制求值顺序

4:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符

【C语言笔记初级篇】第五章:操作符相关推荐

  1. 【C语言笔记初级篇】第一章:C语言快速入门及注意事项

    (1)第一个C语言程序 A:利用vs2010写C语言程序 1:按以下步骤新建工程 2:添加源文件,".c"文件 B:第一个C语言代码 1:以下是基本的C语言程序 2:由于没有设置连 ...

  2. 【C语言笔记初级篇】第二章:分支与循环

    目录 (1)什么是语句 (2)分支语句 A:if语句 B:switch语句 (3)循环语句 A:while B:for循环 C:do while循环 (4)goto语句 A:goto语句说明 B:go ...

  3. 【C语言笔记初级篇】第七章:结构体相关

    目录 (1)结构体的声明,定义,初始化和成员访问 A:什么是结构体 B:结构体声明和定义 C:结构体的初始化 D:成员访问 (2)结构体传参 (3)结构体自引用 (4)内存对齐 (5)结构体传参 (6 ...

  4. 【C语言笔记初级篇】第三章:函数与递归

    第三章:函数 (1)函数是什么 在计算机科学中,子程序是一个大型程序中的某部分代码, 由一个或多个语句块组成.它负责完成某项特定任务,而且相较于其他代码,具备独立性.一般会有输入参数并有返回值,提供对 ...

  5. 【C语言笔记初级篇】第六章:指针入门

    目录 (1)指针是什么 (2)指针和指针类型 A:指针类型 B:指针类型的意义 (3)野指针 A:什么是野指针 B:野指针的起因 C:如何避免野指针 (4)指针运算 A:指针+-整数 B:指针-指针 ...

  6. 【C语言笔记初级篇】第四章:数组入门

    目录 (1)一维数组 A:数组的创建 B:数组初始化 C:一维数组的使用 D:一维数组在内存中的存储 (2)二维数组 A:二维数组的创建 B:二维数组的初始化 C:二维数组的使用 D:二维数组的存储方 ...

  7. 【C语言笔记进阶篇】第二章:字符串函数和内存函数

    目录 (1)分类 (2)字符串函数 A:strlen(求字符串长度) B:strcpy(字符串复制_不受限制) C:strcat(字符串追加_不受限制) D:strcmp(字符串比较_不受限制) E: ...

  8. 【C语言笔记进阶篇】第一章:指针进阶

    目录 (1)字符指针 (2)指针数组 A:什么是指针数组 B:指针数组的用法 (3)数组指针 A:什么是数组指针 B:数组指针的用法 C:关于指针和数组的再总结 (4)数组参数,指针参数 A:一维数组 ...

  9. 【C语言笔记初级篇】第八章:简单调试

    目录 (1)Debug和Release A:什么是Debug和Release (2)Windows下的调试 A:调试时,确保是Debug B:使用快捷键进行调试 C:在调试时查看信息 (1)Debug ...

最新文章

  1. 进制转换(完成Python14作业的背景补充)
  2. 20145234黄斐《Java程序设计》第五周
  3. 18.Mysql SQL优化
  4. 职业素养和职业技能问题_中职生职业素养提升的综述
  5. 批处理打开和关闭oracle11g 服务
  6. 传统金融为什么要做AI?平安保险CEO解读行业痛点
  7. Python 3.7 即将发布,引入多项新功能!
  8. 拓端tecdat|R语言实现拟合神经网络预测和结果可视化
  9. 如何在C中调用C++的示例代码
  10. Python清屏命令:)
  11. 免费好用的SNMP网管工具 Sugarnmstool
  12. 深度Linux收费,Deepin专业版为收费的,而Deepin社区版则是能免费使用的
  13. 这个是什么错误,求大神解答
  14. DAOS 源码解析之 daos_pool
  15. freeswitch呼叫中心之freeswitch集成百度MRCP智能语音
  16. 【 vue 】局部样式与全局样式
  17. day030进程的两种创建方法,验证进程的空间隔离,join等待子进程
  18. 淘集集官宣破产,创业不易,且行且珍惜
  19. 小马哥---高仿三星Galaxy J100H主板型号J7210国外版 刷机拆机图
  20. 推荐5款小众实用神器软件,功能强大,值得你去收藏

热门文章

  1. HTML5 API详解(7):link prefetch提升加载速度,优化体验
  2. 计算机二级c语言公共基础知识(免费的) 百度云,计算机二级c语言公共基础知识(免费的).doc...
  3. hive 导出json格式 文件_hive中创建hive-json格式的表及查询
  4. requestmapping配置页面后_SpringBoot2.0 基础案例(03):配置系统全局异常映射处理
  5. 给刚博士毕业的年轻学者9点建议,最后一条:抓紧结婚,生娃!
  6. python response重头开始_你必须学写 Python 装饰器的五个理由
  7. CSP-J NOIP NOI数学与动态规划
  8. ideajdk升级_JDK升级为13
  9. ThinkPHP6项目基操(1.环境搭建及ThinkPHP6的安装)
  10. Qt笔记-递归获取文件夹中文件(含过滤文件名)