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

C语言基础_补充知识、数据类型转换、选择结构

0、补充知识:

  • 原码、反码、补码的知识:
    • 计算机中原码转补码,正数不变,负数是符号位不变,其余各位取反码加一。
    • 负数的补码转原码应该是补码减一然后再取反,为什么负数的补码转原码是补码取反然后再加一?答:这就是用补码的好处,保持了转化时硬件的一致性。
    • 计算机中是先把原码转换成补码运算完之后再把补码转成原码输出的吗?答:计算机中是直接使用补码进行所有算术运算,仅在需要显示或输出结果时,才将补码转换回原码(或用户可理解的格式)。
  • 左值(有存储地址的值)
    • 一般出现在赋值运算符的左边的内容,标识了可以存储结果值的地点。
    • 程序编译的时候,编译器会为每一个变量分配一个确定地址(左值),这个地址是在编译程序的时候直接是可知的。
    • 左值是可以取地址的。
  • 右值(无存储地址的值)
    • 一般是出现在赋值运算符的右边,必须是一个特定的值。
    • 与左值是相反的,变量中存储的那个值(右值),只有在程序运行的时候才能知道它的值。
    • 一般右值指的是一个具体的数字,或者常量,它在内存中并没有一个具体的位置(地址),但它仍然是存储在内存中的。

注意:左值可以出现在赋值符号左边或右边,右值可以出现在赋值符号右边。


1、数据类型转换:

  • 隐式类型转化(例如:一个整型数据和一个浮点型数据进行运算,结果就自然被转换为了浮点型)
    将低等级的数据类型转化为高等级的数据类型进行计算,数据类型由低到高:int、unsigned int、long、unsigned long、long long、unsigned long long、float、double。

  • 强制类型转化
    (类型说明符)(表达式):如果表达式比较复杂,可以加括号增加可读性。
    (类型说明符)表达式:如果只是简单转化,可以不给表达式加括号,同样可以生效


2、选择结构:

  • if-else if -else 结构
    在这里插入图片描述
    else 和 else if是可以省略的,不一定都要使用,根据场景决定即可
  • switch结构
    在这里插入图片描述
    如果进行判等的操作时,一般情况都是采用switch case,结构会更加明确。
  • 三目运算符也是一种条件结构:语句?满足语句:不满足语句;


总结:

  • 计算机当中一直是以补码的形式运算的,原码和补码之间的转换还得经过一个反码。
  • 条件结构中,switch一般是用于判等的,且switch后面只能跟整型数值,大部分情况都是采用if。
http://www.lryc.cn/news/611052.html

相关文章:

  • OpenLayers学习(一)-基础
  • bcryptprimitives.dll是什么文件
  • 机器学习 集成学习之随机森林
  • 真正的多模态上下文学习需要关注视觉上下文
  • ASP3605I同步降压调节器的高频化设计与多相扩展技术优化方案
  • 利用链上数据进行数字资产量化因子发现
  • 关于怎么知道linux(ubuntu)系统交叉编译器的命令的方法:
  • 算法训练之哈希表
  • 【自动化运维神器Ansible】playbook核心组件之templates深度解析
  • 如何在虚拟机(Linux)安装Qt5.15.2
  • lvm逻辑卷管理
  • docker-compose常用的网络模式有哪些?
  • Linux DNS缓存与Nginx DNS缓存运维文档
  • RK3568 Linux驱动学习——字符设备驱动开发
  • 八股——WebSocket
  • 单片机充电的时候电池电压会被拉高,如何检测电压?
  • 三种灰狼算法求解无人机三维路径规划【MATLAB实现】
  • 计算机网络:(十三)传输层(中)用户数据报协议 UDP 与 传输控制协议 TCP 概述
  • 计算机网络:详解路由器如何转发子网数据包
  • DHCP 握手原理
  • Android与Flutter混合开发:页面跳转与通信完整指南
  • PHP获取淘宝商品详情返回参数详解
  • C/C++ 宏中 `do { ... } while (0)` 的“零次循环”技巧
  • 基于Docker的RabbitMQ运行参数设置
  • 【Python办公】图片格式转换GUI工具
  • 2048小游戏
  • Qwen Image:开源中文渲染SOTA,重塑文生图技术边界
  • 计划任务:被忽视的网络与系统安全边界
  • Linux-Day10.系统安全保护web服务管理
  • React在使用create-react-app创建项目慢的解决办法