当前位置: 首页 > article >正文

C语言二级查漏补缺

直接拿错过的选择开始补知识点

二叉树

推荐视频

基础名词讲解

  1. 根节点(Root):二叉树的顶端节点,没有父节点。
  2. 子节点(Children):每个节点下面的节点。对于二叉树来说,每个节点最多有两个子节点。
  3. 叶节点(Leaf):没有子节点的节点。
  4. 父节点(Parent):一个节点上面的节点。
  5. 兄弟节点(Siblings):共享同一父节点的节点。
  6. 深度(Depth):从根节点到该节点的唯一路径上的边的数量。
  7. 高度(Height):节点的高度是指从该节点到最远叶节点的最长路径上的边的数量。整个树的高度是其根节点的高度。
  8. 层(Level):节点的层级,根节点位于第1层。
  9. 二叉树的是指节点拥有的子节点的最大数量

 具体来说:

  • 度为0的节点称为叶子节点(Leaf),没有子节点。
  • 度为1的节点有一个子节点。
  • 度为2的节点有两个子节点,这是二叉树节点的最大度数。

 在二叉树中,节点的度可以是0、1或2,但整个二叉树的度定义为2,因为这是树中任何节点的最大可能子节点数。

耦合性、内聚性名词意思

耦合性:模块间互相连接的紧密程度

内聚性:一个模块内部各元素间彼此结合的紧密程度 

这里可以这么理解:

耦合就好比中国市场与国际市场的联系(一个主体与其他主体之间关系)

内聚就好比中国内部各地方市场之间的联系(一个主体内部各元素之间关系)

这里往深了说有很多,甚至牵扯到控制原理以及软件工程(开个坑先)

关系矩阵

这里是数据库的知识(本人学的程序设计所以第一次做一脸懵) 

选择是针对(数据记录)的(三行结果选其中几行数据记录)

投影是针对(属性)的(三列数据投影过去几列属性)

 

整型变量初始化为0

static静态变量可以做到默认在未赋值情况取0

auto未赋值情况是默认的瞎取(平时int a等价于auto int a)

register是用寄存器存储某个变量(用的很少)

位运算

以下是C语言中可用的位运算符及其用途:

  1. 按位与(&)

    • 运算规则:两个位都为1时,结果为1,否则为0。
    • 示例:5 & 3 的结果是 1
      0101 (5的二进制)
      0011 (3的二进制)
      ----
      0001 (结果为1)
      
  2. 按位或(|)

    • 运算规则:两个位中只要有一个为1,结果就为1,否则为0。
    • 示例:5 | 3 的结果是 7
      0101 (5的二进制)
      0011 (3的二进制)
      ----
      0111 (结果为7)
      
  3. 按位异或(^)

    • 运算规则:两个位不同,结果为1,相同则为0。
    • 示例:5 ^ 3 的结果是 6
      0101 (5的二进制)
      0011 (3的二进制)
      ----
      0110 (结果为6)
      
  4. 按位取反(~)

    • 运算规则:将位从0变为1,或将位从1变为0。
    • 示例:~5 的结果是 6(假设是8位系统)。
      0101 (5的二进制)
      ----
      1010 (结果为~5,即-6)
      
  5. 左移(<<)

    • 运算规则:将位向左移动指定的位数,右侧补0。
    • 示例:5 << 1 的结果是 10
      0101 (5的二进制)
      ----
      1010 (结果为10)
      
  6. 右移(>>)

    • 运算规则:将位向右移动指定的位数,左侧根据符号位进行填充(对于无符号类型,左侧补0)。
    • 示例:5 >> 1 的结果是 2
      0101 (5的二进制)
      ----
      0010 (结果为2)

其中左移右移有快速计算的方法,不用背数字的二进制

左移n位-->原数字乘以2的n次幂

右移n位-->原数字除以2的n次幂

函数传参是复制

在c语言里面,函数的参数是复制过来的,还有就是指针的坑

这里就是int *c是个坑

这道题可以看看这篇博客 ,就会发现上面这个写法啥也不是,把两种杂糅在一起,当然就是什么也没交换(交换了也传不出来结果)

交换了但是没有从函数中传出来

 

正确的交换(注意中间变量t的类型不是指针),只有这个相当于真正的修改了指针指向的内容

这次是指针的变化没有传出来

总结

二级坑还挺多,建议假期多去bilibili逛逛刷刷课,想要考前速通不太可能

以上均是本人理解,如有错误欢迎各位大佬评论区指出~


http://www.kler.cn/a/511220.html

相关文章:

  • 如何下载对应城市的地理json文件
  • 常见的两种虚拟化技术比较:KVM与VMware
  • RC2在线加密工具
  • RabbitMQ基础篇
  • 图数据库 | 19、高可用分布式设计(下)
  • 如何在 Google Cloud Shell 中使用 Visual Studio Code (VS Code)?
  • 数据结构——双向链表(带头、循环)
  • Restormer: Efficient Transformer for High-Resolution Image Restoration解读
  • 森林网络部署,工业4G路由器实现林区组网远程监控
  • STM32 物联网智能家居 (四) 设备子系统之分层框架
  • 聊一聊如何适应AI时代
  • Android 导出CSV文件乱码问题处理
  • 【数据结构】线性表-单链表
  • macOS Sequoia 15.3 beta3(24D5055b)发布,附黑、白苹果镜像下载地址
  • Spring Boot 集成MyBatis-Plus
  • 【报错解决】Sql server 2022连接数据库时显示证书链是由不受信任的颁发机构颁发的
  • 【SSH端口转发:实现安全的远程端口映射】
  • C/C++内存管理(超详解)
  • 鸿蒙MVVM开发模式
  • 使用Flask和Pydantic实现参数验证
  • 【25考研】也很难!清华大学计算机考研复试难度分析!
  • Linux软件包管理器yum
  • 全面解析计算机网络:从局域网基础到以太网交换机!!!
  • Cursor的composer和chat的区别
  • leetcode——接雨水(java)
  • API接口技术推动电商数据处理的自动化