变量与数据类型 - 整型、浮点型、字符型等
引言
在编程中,变量和数据类型是基础中的基础。理解它们如何工作以及如何正确使用它们对于编写高效且无误的代码至关重要。本文将详细介绍 C++ 中的几种基本数据类型:整型、浮点型、字符型等,并通过实例帮助读者更好地理解和掌握这些概念。
一、什么是变量?
变量是程序中用于存储数据的容器。每个变量都有一个名称(标识符)和一个特定的数据类型,用来确定它可以存储什么种类的数据。例如:
int age = 25; // 定义了一个名为 age 的整型变量,并赋值为 25
在这个例子中,age 是变量名,int 是它的数据类型,表示这是一个整数类型的变量。
二、整型(Integer Types)
整型用于表示没有小数部分的数值,如 1, 100, -5 等。C++ 提供了多种不同大小的整型以适应不同的需求:
| 类型 | 关键字 | 字节大小 | 范围 |
|---|---|---|---|
| 字符型 | char | 1 | -128 到 127 或 0 到 255 (取决于编译器) |
| 短整型 | short | 2 | -32,768 到 32,767 |
| 普通整型 | int | 4 | -2,147,483,648 到 2,147,483,647 |
| 长整型 | long | 4 或 8 | 视平台而定 |
| 长长整型 | long long | 8 | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 |
示例:
#include <iostream>int main() {char c = 'A'; // 字符型short s = 100; // 短整型int i = 1000; // 普通整型long l = 100000L; // 长整型long long ll = 10000000000LL; // 长长整型std::cout << "Char: " << c << "\n";std::cout << "Short: " << s << "\n";std::cout << "Int: " << i << "\n";std::cout << "Long: " << l << "\n";std::cout << "Long Long: " << ll << "\n";return 0;
}
三、浮点型(Floating-Point Types)
浮点型用于表示带有小数部分的数值,如 3.14, 0.001 等。C++ 提供了两种主要的浮点类型:
| 类型 | 关键字 | 字节大小 | 范围 | 精度 |
|---|---|---|---|---|
| 单精度浮点型 | float | 4 | ±1.18×10^-38 到 ±3.4×10^38 | 约 6-7 位有效数字 |
| 双精度浮点型 | double | 8 | ±2.23×10^-308 到 ±1.80×10^308 | 约 15-16 位有效数字 |
示例:
#include <iostream>int main() {float f = 3.14f; // 单精度浮点型double d = 3.141592653589793; // 双精度浮点型std::cout << "Float: " << f << "\n";std::cout << "Double: " << d << "\n";return 0;
}
四、字符型(Character Types)
字符型用于表示单个字符,如字母、数字或符号。在 C++ 中,字符型用 char 表示,占用 1 个字节的空间。字符常量需要用单引号括起来,例如 'A', '1', '@'。
此外,C++ 还支持宽字符类型 wchar_t,它通常用于处理多字节字符集(如 Unicode)。
示例:
#include <iostream>int main() {char ch = 'A'; // 普通字符型wchar_t wch = L'Ω'; // 宽字符型std::cout << "Char: " << ch << "\n";std::wcout << L"Wide Char: " << wch << "\n";return 0;
}
五、布尔型(Boolean Type)
布尔型用于表示逻辑值,只有两个可能的取值:true 和 false。在 C++ 中,布尔型用 bool 表示。
示例:
#include <iostream>int main() {bool isTrue = true;bool isFalse = false;if (isTrue) {std::cout << "This is true.\n";}if (!isFalse) {std::cout << "This is also true.\n";}return 0;
}
六、枚举类型(Enumeration Types)
枚举类型是一种用户自定义的数据类型,它由一组命名的常量组成。这使得代码更具可读性和维护性。
示例:
#include <iostream>enum Color { RED, GREEN, BLUE };int main() {Color myColor = RED;switch (myColor) {case RED:std::cout << "The color is red.\n";break;case GREEN:std::cout << "The color is green.\n";break;case BLUE:std::cout << "The color is blue.\n";break;}return 0;
}
总结
本文详细介绍了 C++ 中常见的几种基本数据类型:整型、浮点型、字符型、布尔型和枚举类型。每种类型都有其独特的用途和特点,合理选择和使用它们可以让你的程序更加简洁、高效。希望这篇文章能够帮助你更好地理解 C++ 中的变量和数据类型。如果有任何问题或建议,请随时留言交流!
相关文章:
变量与数据类型 - 整型、浮点型、字符型等
引言 在编程中,变量和数据类型是基础中的基础。理解它们如何工作以及如何正确使用它们对于编写高效且无误的代码至关重要。本文将详细介绍 C 中的几种基本数据类型:整型、浮点型、字符型等,并通过实例帮助读者更好地理解和掌握这些概念。 一…...
MacOS安装Xcode(非App Store)
文章目录 访问官网资源页面 访问官网资源页面 直接访问官网的历史版本下载资源页面地址:https://developer.apple.com/download/more/完成APP ID的登陆,直接找到需要的软件下载即可 解压后,安装将xcode.app移动到应用程序文件夹。...
运行Zr.Admin项目(后端)
1.下载Zr.Admin代码压缩包 https://codeload.github.com/izhaorui/Zr.Admin.NET/zip/refs/heads/main 2.打开项目 我这里装的是VS2022社区版 进入根目录,双击ZRAdmin.sln打开项目 3.安装.net7运行时 我当时下载的代码版本是.net7的 点击安装 点击安装࿰…...
Ubuntu24.04最新版本安装详细教程
Ubuntu 24.04 LTS发布说明 推荐的系统配置要求: 双核2 GHz处理器或更高 4 GB系统内存 25 GB磁盘存储空间 可访问的互联网 光驱或USB安装介质 Ubuntu 24.04官方下载网址:https://cn.ubuntu.com/download/desktop 04. Ubuntu 22.04(创建虚拟机方式一) 4…...
js版本之ES6特性简述【Proxy、Reflect、Iterator、Generator】(五)
目录 Proxy Reflect 静态方法 部分实例 Iterator 实际开发迭代器的使用实例 迭代器(Iterator)应用 Generator Proxy Proxy 是 ES6 中新增的对象 Proxy 是JavaScript中的内置对象,它提供了一种机制,可以拦截并自定义各种…...
CSS实现一个自定义的滚动条
要使用CSS创建一个自定义的滚动条,你可以使用伪元素和CSS的伪类来控制滚动条的外观和行为。以下是一个简单的例子,展示如何为任何HTML元素添加一个自定义的滚动条样式: <!DOCTYPE html> <html lang"en"> <head> …...
CKA认证 | Day8 K8s安全
第八章 Kubernetes安全 1、Kubernetes RBAC授权 Kubernetes 基于角色的访问控制(Role-Based Access Control, RBAC) 是一种强大的权限管理机制,用于控制用户、用户组、服务账户对 Kubernetes 集群资源的访问。通过 RBAC,可以细…...
深度分析java 使用 proguard 如何解析混淆后的堆栈
经过proguard混淆过后,发生异常时堆栈也进行了混淆,那么如果获取的原始的堆栈呢?我们下面来看下 使用proguard 根据mapping文件直接解析 import proguard.obfuscate.MappingReader; import proguard.retrace.FrameInfo; import proguard.re…...
bash 中 ${-#*i} 是什么意思?
-------------------------------------------------- author: hjjdebug date: 2024年 12月 25日 星期三 17:43:45 CST description: bash 中 ${-#*i} 是什么意思? -------------------------------------------------- 在centos 的 /etc/profile 中有这样的语句 for i in /…...
什么是Top-p采样与Top-k采样?大模型推理时如何同时设置?解析Transformers库源代码
什么是Top-p采样与Top-k采样?大模型推理时如何同时设置? 在自然语言生成(NLG)和大规模语言模型推理中,Top-k采样 和 Top-p采样 是两种常用的解码策略,用于控制生成文本的多样性和质量。它们在生成过程中对…...
java队列--数据结构
文章目录 前言本文源代码网址:https://gitee.com/zfranklin/java/tree/master/dataStructure/src/com/njupt/queue队列的性质数组队列成员变量方法 链表栈成员变量方法 总结 前言 顺序表和链表两种存储方式实现数据结构–队列。 本文源代码网址:https:/…...
【WebSocket】tomcat内部处理websocket的过程
websocket请求格式 浏览器请求 GET /webfin/websocket/ HTTP/1.1。 Host: localhost。 Upgrade: websocket。 Connection: Upgrade。 Sec-WebSocket-Key: xqBt3ImNzJbYqRINxEFlkg。 Origin: http://服务器地址。 Sec-WebSocket-Version: 13。 服务器响应 HTTP/1.1 101 Swi…...
【踩坑/Linux】Vmware中的Ubuntu虚拟机无法访问互联网
Vmware中的Ubuntu虚拟机无法访问互联网 首先前提是我的系统是Ubuntu 16.04系统,vmware workstation选择的是NAT模式,虚拟机内连不上网络 ping www.baidu.com ping: unknown host www.baidu.com首先检查 DNS 解析服务:在虚拟机中打开命令提示…...
overleaf中的includegraphics设置图片缩放,居中显示
overleaf中的includegraphics设置图片缩放,居中显示 \includegraphics[width=0.5\textwidth]{example.jpg} \centering 在使用 \includegraphics 命令插入图片时,可以通过设置其参数来缩小图片的显示尺寸,以下是几种常见的方法: 设置宽度或高度 按比例缩小宽度:可以使用…...
IPv6的地址类型
IPv6地址总长度为128bit,被分为8组,每组为4个十六进制数,用冒号分隔: 例如:FC00:0123:4567:8901:ABFD:0987:0000:0023 可缩写为:FC00:0123:4567:8901:ABFD:0987::23 IPv6中取消了v4中的广播,新…...
Elasticsearch:analyzer(分析器)
一、概述 可用于将字符串字段转换为单独的术语: 添加到倒排索引中,以便文档可搜索。级查询(如 生成搜索词的 match查询)使用。 分析器分为内置分析器和自定义的分析器,它们都是由若干个字符过滤器(chara…...
【工作感悟】
1、不返工 - 复述任务 避免返工的前提是先把事情弄清楚,怎么弄清楚,要问到每个细节,怎么确保每个细节都问到了,把要做的事情复述一遍,有必要的话再讲述一下自己打算怎么做;及时对齐工作进度可以避免出错 …...
事件(event) SystemVerilog
1.定义 在数字逻辑仿真中,事件(event) 是一种机制,用于触发模型中的更新或计算。这种机制是仿真器用来追踪信号的变化以及调度进程执行的核心。 2.分类 事件可以分为以下两种类型: 更新事件(Update Even…...
【MySQL学习笔记】关于索引
文章目录 【MySQL学习笔记】关于索引1.索引数据结构2.索引存储3.联合索引3.1 联合索引的b树结构3.2 索引覆盖?回表?3.3 联合索引最左匹配原则3.5 索引下推 4.索引失效 【MySQL学习笔记】关于索引 1.索引数据结构 索引是一种能提高查询速度的数据结构。…...
APIs-day3
1.全选反选案例 <head><meta charset"utf-8"><meta name"viewport" content"widthdevice-width,initial-scale1.0"><title>练习</title><style>*{margin: 0;padding: 0;}table{margin: 100px auto;width: …...
丹青幻境效果展示:宣纸底纹UI下生成图像与界面美学统一性视觉报告
丹青幻境效果展示:宣纸底纹UI下生成图像与界面美学统一性视觉报告 1. 设计理念与视觉定位 丹青幻境的设计理念源于传统东方美学与现代数字艺术的完美融合。这款基于Z-Image架构打造的数字艺术创作工具,彻底摒弃了传统AI工具冰冷的技术感,将…...
React Overdrive与Next.js集成:构建流畅页面过渡
React Overdrive与Next.js集成:构建流畅页面过渡 【免费下载链接】react-overdrive Super easy magic-move transitions for React apps 项目地址: https://gitcode.com/gh_mirrors/re/react-overdrive React Overdrive是一款为React应用提供超简单魔法移动过…...
航空安全报告分析:UAE-Large-V1的事件分类与风险评估应用
航空安全报告分析:UAE-Large-V1的事件分类与风险评估应用 【免费下载链接】UAE-Large-V1 项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/UAE-Large-V1 UAE-Large-V1作为一款先进的通用英文句子嵌入模型,在航空安全领域展现出强大的事…...
3行代码实现微信级扫码:OpenCV wechat_qrcode 实战全解(c++实现)
文章目录前言一、wechat_qrcode 核心优势1.模块定位2.核心技术优势二、环境准备与模块部署1.版本要求2.环境安装3.模型下载与路径配置三、核心代码实战(c)1.单张图片解码2.摄像头实时流解码总结前言 日常开发中,传统二维码解码方案总会遇到各类难题&…...
数据库表的性能优化过程
问题背景做一个数据库表查看、标注与分析的工具软件。是数据库中表的信息(information_schema.tables);是的数据字典文档,存储在本地文件中;是对的额外标注信息,存储在另一个数据库中。每一条,最…...
《B3845 [GESP样题 二级] 勾股数》
题目背景 对应的选择、判断题:https://ti.luogu.com.cn/problemset/1102 题目描述 勾股数是很有趣的数学概念。如果三个正整数 a,b,c,满足 a2b2c2,而且 1≤a≤b≤c,我们就将 a,b,c 组成的三元组 (a,b,c) 称为勾股数。你能通过编…...
青铜器RDM研发管理平台
我们深耕研发管理服务20余年,依托 10 余年研发管理实战经验,累计为超 10000 家企业提供专业培训、为200 余家企业深度咨询,打造完全自主知识产权的研发管理数字化平台 —— 青铜器 RDM。以 IPD、CMMI、Scrum、PMBOK 等业界最佳实践为内核&…...
第二桌面 + 小龙虾:让企业AI智能体安全落地、全员可用
本文发布于2026年4月1日。引言:从“养虾”到“用虾”,AI落地需要新底座过去几个月,OpenClaw(昵称“小龙虾”)在开发者圈子里火得一塌糊涂。这个开源AI智能体网关,能听懂人话,还能替你操作电脑、…...
GNU Radio滤波器设计实战指南:从原理到高性能实现
GNU Radio滤波器设计实战指南:从原理到高性能实现 【免费下载链接】gnuradio GNU Radio – the Free and Open Software Radio Ecosystem 项目地址: https://gitcode.com/gh_mirrors/gn/gnuradio GNU Radio作为开源软件定义无线电生态系统,提供了…...
杨立昆新模型杀疯了,1500万参数单GPU就能碾压大厂?
就在前几天,AI教父、图灵奖得主杨立昆刚发了个新模型,名叫LeWorldModel,论文一发出,整个圈子瞬间炸锅。说出来你们可能都不信——这货只有1500万参数,单块GPU几个小时就能训完,随便一个研究者都拉起来跑一遍…...
