C 语言(二)


主要包括变量与常量、数据类型、存储方式、数制转换以及字符处理等内容

一、变量与常量
在 C 语言中,变量是用来存储数据的命名空间,它会在内存中分配地址。例如:int i; i = 12345; 其中 i 是变量,12345 是常量。

    常量表示在程序运行过程中不会改变的值,而变量 i 会在 RAM(随机访问内存)中被分配一段空间,用于存放数据。

变量的命名规范如下:由字母、数字和下划线组成;首字符不能为数字;

此外,还了解了整数的不同表示形式:
十进制:直接写出数值,如 123;
八进制:以 0 开头,如 0123;
十六进制:以 0x 开头,如 0x1A3;

二、整型变量与存储
C 语言中常用的整型有:int、short、long、long long 等。可以使用 sizeof 操作符查看某变量占用的字节数,例如:
int i;
printf("%d\n", sizeof(i));

在学习中还涉及了小端存储方式,即低地址存储低位,高地址存储高位。

signed int 表示有符号整型,通常占 4 个字节。
unsigned int 表示无符号整型,即只表示正数。

负数在计算机中采用补码存储:
正数的补码 = 原码
负数的补码 = 原码取反加一

存储在 RAM 中的目的是为了将人类可读的十进制数据转换为计算机内部使用的二进制形式进行处理。

整数的打印格式:
%d:打印有符号整型
%u:打印无符号整型

不同整型的范围要注意防止“溢出”现象。

三、浮点型数据与存储
浮点型变量打印格式:%f
科学计数:12.3e2 表示 12.3 × 10²

float:单精度,占 4 字节
double:双精度,占 8 字节

IEEE 754 标准将 float 表示为:1 位符号位 + 8 位阶码 + 23 位尾数。

示例:float f = -6.25;
其存储过程如下:
1. 符号位为 1(负数)
2. 6.25 转换为二进制为 110.01 = 1.1001 × 2²
3. 阶码:127 + 2 = 129(二进制为 10000001)
4. 尾数:1001 后补 0 补齐到 23 位
5. 拼接后转换为十六进制为:C0 C8 00 00(小端存储方式)

四、数据类型匹配与类型转换
变量赋值与使用时需注意数据类型匹配,防止精度丢失或误读。
对浮点型数据进行比较时,尽量避免直接使用等号判断,可设定误差范围。
字符型和整型是兼容的,字符变量可存储整数值,对应 ASCII 表中的字符。

示例:
#include<stdio.h>
int main(void) {
char c;
c = 107;
printf("%c\n", c); // 输出 k(ASCII 表中 107 对应的字符)
}

如果将 c 改为:c = 'H'; 那么输出结果就是 H。

通过学习 ASCII 表,可以更加直观理解字符与整型之间的对应关系。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.tpcf.cn/pingmian/88968.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

原型继承(prototypal inheritance)的工作原理

这是一个非常常见的 JavaScript 问题。所有 JS 对象都有一个__proto__属性&#xff0c;指向它的原型对象。当试图访问一个对象的属性时&#xff0c;如果没有在该对象上找到&#xff0c;它还会搜寻该对象的原型&#xff0c;以及该对象的原型的原型&#xff0c;依次层层向上搜索&…

OpenCV 视频处理与摄像头操作详解

1. 引言大家都来写OpenCV&#x1f60a;&#xff0c;学的好开心&#xff01;2. 视频基础与OpenCV简介2.1 视频的定义视频&#xff08;Video&#xff09;是由一系列静态图像&#xff08;帧&#xff09;以一定速率连续播放形成的动态影像。其本质是利用人眼的视觉暂留效应&#xf…

Agentic AI 的威胁与缓解措施

原文&#xff1a;https://www.aigl.blog/content/files/2025/04/Agentic-AI—Threats-and-Mitigations.pdf AI Agent 的定义 1. 定义与基础 智能代理&#xff08;Agent&#xff09;的定义&#xff1a; 智能代理是一种能够感知环境、进行推理、做出决策并自主采取行动以实现特定…

ArrayList列表解析

ArrayList集合 ArrayList 的底层是数组队列&#xff0c;相当于动态数组。与 Java 中的数组相比&#xff0c;它的容量能动态增长。在添加大量元素前&#xff0c;应用程序可以使用ensureCapacity操作来增加 ArrayList 实例的容量。这可以减少递增式再分配的数量。 ArrayList 继承…

《恋与深空》中龙和蛇分别是谁的代表

在《恋与深空》宏大而神秘的世界观中&#xff0c;每一个符号都蕴含着深意。当玩家们热议“龙”和“蛇”这两种强大而古老的生物究竟代表着谁时&#xff0c;所有的线索都默契地指向了同一个名字——秦彻。 他不仅是力量与权威的象征“恶龙”&#xff0c;也是背负着宿命与纠葛的“…

gitignore添加后如何生效?

清除 Git 缓存&#xff1a; git rm -r --cached .添加文件到 Git&#xff1a;git add .使用 git commit 命令提交这些更改git commit -m "Update .gitignore"

多尺度频率辅助类 Mamba 线性注意力模块(MFM),融合频域和空域特征,提升多尺度、复杂场景下的目标检测能力

在伪装物体检测领域&#xff0c;现有方法大多依赖空间局部特征&#xff0c;难以有效捕捉全局信息&#xff0c;而 Transformer 类方法虽能建模长距离依赖关系&#xff0c;却存在计算成本高、网络结构复杂的问题。同时&#xff0c;频域特征虽具备全局建模能力&#xff0c;可频繁的…

Dify的默认端口怎么修改

1.定位配置文件 在 Dify 的安装目录中找到 .env 文件&#xff08;通常位于 docker/ 子目录下&#xff09;。此文件定义了 Docker 容器的环境变量&#xff0c;包括端口配置。 2.调整端口参数 修改以下两个关键配置项&#xff1a; # Docker 容器内部 Nginx 监听的端口&#xf…

Go内存分配

图解Go语言内存分配 - 知乎 go内置运行时&#xff0c;采用了自主管理&#xff0c;实现更好的内存使用模式&#xff0c;不需要每次内存分配都进行系统调用 采用TCMalloc算法&#xff1a;把内存分为多级管理&#xff0c;从而降低锁的粒度 将可用的堆内存采用二级分配的方式进行…

cursor使用mcp连接mysql数据库,url方式

背景。 用cursor生成后端代码。让cursor可以创建响应的表结构以及插入数据。使用的cursor版本是1.2.1 cursor 官网 mcp 说明smithery 中mysql mcp这个mcp具有建表的本领。 在cursor中是这样配置的。 以上这种配置方式是是通过在smithery 网站中配置好自己的mysql数据库连接后才…

Twisted study notes[1]

文章目录serverreferencesserver Twisted usually using subclass twisted.internet.protocol.Protocol to treat protocols .Protocol is a fundamental class in Twisted for implementing network protocols.protocol class instant don’t exists forever because of it w…

Python 数据建模与分析项目实战预备 Day 6 - 多模型对比与交叉验证验证策略

✅ 今日目标 引入多种常见分类模型&#xff08;随机森林、支持向量机、K近邻等&#xff09;比较不同模型的训练效果使用交叉验证提升评估稳定性&#x1f9fe; 一、对比模型列表模型类名&#xff08;sklearn&#xff09;适用说明逻辑回归LogisticRegression基础线、易于解释KNNK…

xss-labs 1-8关

level1打开检查&#xff0c;发现test直接放入h2标签中此时通过script绕过h2标签构造payload127.0.0.1/xss-labs/lvel1.php?name<script>alert(111)</script>直接使用script标签绕过h2,并执行alert,通过level2打开检查&#xff0c;输入的123被放在input标签里面的v…

Conda 核心命令快速查阅表

本表旨在提供一个简洁、高效的 Conda 命令参考&#xff0c;专注于最常用功能的快速查找。 1. 环境管理 (Environment Management)功能 (Function)命令 (Command)示例 (Example)创建新环境conda create -n <env_name> [packages...]conda create -n myenv python3.9 panda…

音视频学习(三十九):IDR帧和I帧

主要区分&#xff1a;I 帧 是帧内编码帧&#xff0c;IDR 帧 是一种特殊的 I 帧&#xff0c;它是“清除参考帧链的强制切断点”。H.264 视频结构 结构 H.264 视频由多个 NAL&#xff08;Network Abstraction Layer&#xff09;单元 构成&#xff0c;每一帧图像可由一个或多个 NA…

人工智能与机器学习暑期科研项目招募(可发表论文)

人工智能与机器学习暑期科研项目招募 华中科技大学博士论文指导我是计算机专业的研二学生&#xff1a;从大二开始接触科研&#xff0c;至今已发表1篇CCF-A类会议论文、1篇CCF-B类会议论文&#xff0c;以及2篇Top期刊论文。正是这段从本科开始的科研经历&#xff0c;让我在保研和…

C盘爆满?一键清理恢复极速体验!“小番茄C盘清理”彻底解放你的电脑

目录 前言 C盘变红&#xff1f;&#xff01;那么你的电脑将会出现下面糟糕的情况&#xff1a; 一、小番茄C盘清理介绍——拯救你的C盘爆红&#xff01; 二、安装登录小番茄C盘清理 2.1 安装小番茄C盘清理 2.2 登录—拥有专属自己电脑的小番茄C盘清理 三、手把手教你深度…

UI前端大数据可视化实战技巧:如何利用数据故事化提升用户参与度?

hello宝子们...我们是艾斯视觉擅长ui设计、前端开发、数字孪生、大数据、三维建模、三维动画10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩!一、引言&#xff1a;从 “图表堆砌” 到 “故事共鸣” 的可视化革命当企业管理者面对布满折线…

CSS基础1.1

HTML骨架<!DOCTYPE html> <!-- 中文网站 --> <html lang"zh-CN"> <head><!--charset"UTF-8" 规定网页的字符编码 --><meta charset"UTF-8"><!-- ie(兼容性差) / edge --><meta http-equiv"X…

前端基础JavaScript 笔记

本文是基于 B 站 pink 老师前端 JavaScript 课程整理的学习笔记 JS简介 JavaScript是一种运行在客户端&#xff08;浏览器&#xff09;的编程语言 作用&#xff1a;1.网页特效(监听用户的一些行为让网页作出对应的反馈) 2.表单验证(针对表单数据的合法性进行判断) 3.数据交互…