C++青少年简明教程:C++数据类型

C++青少年简明教程:C++数据类型

数据类型定义了变量可以存储哪些类型的数据,以及对这些数据可以进行哪些操作。C++提供了丰富的数据类型供开发者使用。

下面是 C++ 中常见的数据类型:

★整型(int):整数类型的数据用于表示整数值。不同的整数类型在占用的存储空间大小上有所区别。整数运算的基本操作(例如加法、减法等)。例如:

int age = 10;

int score = 90;

整数类型及数值范围:

short:-32768 到 32767

unsigned short:0 到 65535

int:-2147483648 到 2147483647

unsigned int:0 到 4294967295

long:-2147483648 到 2147483647

unsigned long:0 到 4294967295

long long:-9223372036854775808 到 9223372036854775807

unsigned long long:0 到 18446744073709551615

★浮点型(float和double):用于表示带有小数部分的数值,浮点数类型在计算机中的存储方式是近似值,因此在使用时需要注意精度问题,小数点后的位数。例如:

float weight = 34.5;

double height = 156.78;

浮点数类型及数值范围:

单精度(float):约 -3.4e38 到 3.4e38(精度为6位小数)

双精度(double):约 -1.7e308 到 1.7e308(精度为15位小数)

长双精度(long double):约 -1.7e308 到 1.7e308(精度为15位小数)

★字符型(char):用于表示单个字符。说明字符类型的数据表示和范围。讲解ASCII码和字符常量的概念,以及通过字符型变量可以存储字符数据。例如:

char grade = 'A';

在C++中,ASCII编码字符可以进行计算。在计算时,可以使用字符的 ASCII 值进行加、减、乘等运算,从而进行字符之间的操作。例如:

char c = 'B';

int asciiValue = c - 1; // 将字符'B'的ASCII值减1

char result = asciiValue; // 将结果转换回字符

cout << result; // 输出字符'A'

★布尔型(bool):布尔类型在计算机内存中占用一个字节,只有两种值(true或false)例如:

bool isTrue = true; // 布尔型变量,存储值为真

★枚举类型:

enum:用于定义一组命名的常量值。

★数组类型:

数组:用于存储相同类型的多个值。

★指针类型:

指针:用于存储变量的内存地址。

★结构体类型:

struct:用于定义一种包含多个不同类型成员的复合数据类型。

★类类型

class:类似于结构体,但具有更多的面向对象功能。

★字符串类型

C风格字符串:

char*:指向以null结尾的字符数组的指针,通常用于存储字符串。

例如:const char* str = "Hello, World!";

C++标准库中的string类:需要包含头文件 <string>。例如:

string name = "Alice"; // 字符串型变量,存储名字 "Alice"

string message = "Hello, World!";

特别提示,在使用C风格字符串时,需要注意字符串的长度和边界条件,避免造成溢出等问题。而使用string类则不需要过多考虑这些细节。

将下面的代码在电脑上输入并运行一下,可以查看到你的电脑上C++各种类型的整数都占多少字节呢?

源码如此下:

#include <iostream>
using namespace std;int main() {int a;short b;long c;long long d;cout << "int 整数长度:" << sizeof(a) << endl;cout << "short 整数长度:" << sizeof(b) << endl;cout << "long 整数长度:" << sizeof(c) << endl;cout << "long long 整数长度:" << sizeof(d) << endl;return 0;
}

 运行效果:

 下面是查看实型(浮点型)占多少字节程序源码:

#include <iostream>
#include <iomanip>
using namespace std;int main() {// 创建一个双精度实型变量
double a = 3.912348239293;// 创建一个单精度实型变量float b = 3.912348239293f; //注意最后一位// 打印两个变量cout << "双精度:" << a << endl;cout << "单精度:" << b << endl;cout << setprecision(13); // 包含小数点和小数点后共13位。cout << "打印出小数13位:" << a << endl;return 0;}

数据类型定义了存储在计算机内存中的数据的种类以及这些数据可以进行的操作——定义了数据的种类、表示方式、支持的操作以及内存使用方式。例如,整数类型(如 int、short、long)表示的是整数值,而浮点类型(如 float、double)表示的是带有小数点的数值。字符类型(如 char)则用于存储字符(通常是 ASCII 或 Unicode 编码)。每种数据类型都支持一组特定的操作。例如,可以对整数进行算术运算(如加法、减法、乘法、除法),但对字符进行算术运算可能没有意义。通过限制可以对变量执行的操作,数据类型有助于减少错误并增强代码的可读性。数据类型决定了变量在内存中占用多少空间。例如,int 类型在大多数现代系统上通常占用 4 字节(32 位)或 8 字节(64 位)的存储空间,而 char 类型通常只占用 1 字节。通过选择适当的数据类型,可以更有效地管理内存使用。在编译时,编译器会检查变量和表达式的类型,以确保它们之间的操作是有效的。如果尝试对不兼容的数据类型执行操作(如将整数与字符串相加),编译器将报告错误。这有助于在代码执行之前捕获潜在的错误。合适的数据类型可以增加程序的效率。例如,选择 float 还是 double 来存储浮点数,取决于对精度的需求与对性能的考虑。

本节仅对数据类型做概要介绍,初学者大体了解即可,后续还将在适当的地方介绍。

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

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

相关文章

5 款免费好用的精品软件推荐!

AI视频生成&#xff1a;小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频https://aitools.jurilu.com/ 1.系统优化软件 - Wise Care 365 Wise Care 365 -全球最快的系统优化软件&#xff01;精简系统、管理启动项、清理和优化注册表、清理个人隐私…

给第一次接触产品设计的写的

设计概念 设计原则 你可以参考以下的原则在每次评估一个网站时&#xff0c;建立excel&#xff0c;包含两个表格 表格1&#xff1a; 启发式评估 评估人员姓名 设备/浏览器/OS 网站URL 日期容易修复度 (ER) E0.修复需要最大的努力 E1.修复需要相当大的努力 E2.修复需要一些努…

攻防演练-防守单位常见防守策略

为方便您的阅读&#xff0c;可点击下方蓝色字体&#xff0c;进行跳转↓↓↓ 01 防守单位常见防守策略 01 防守单位常见防守策略 为普及网络安全知识&#xff0c;提高网络安全防范意识&#xff0c;和网络安全工作技能。我们将向大家介绍网络安全攻防演练中防守单位的一些关键策…

怎么通过微信小程序实现远程控制8路控制器/断路器

怎么通过微信小程序实现远程控制8路控制器/断路器呢&#xff1f; 本文描述了使用微信小程序调用HTTP接口&#xff0c;实现控制8路控制器/断路器&#xff0c;支持8路输出&#xff0c;均可独立控制&#xff0c;可接入各种电器。 可选用产品&#xff1a;可根据实际场景需求&#…

想搭建AI知识库的企业看这篇就够了

企业要想在激烈的竞争中脱颖而出&#xff0c;有一套高效、智能的知识管理系统是非常重要的。搭建AI知识库能够帮助企业整合、分类、检索和应用知识&#xff0c;因此成为众多企业的第一选择。对于想要搭建AI知识库的企业来说&#xff0c;应该注意哪些方面呢&#xff1f;本文将从…

大模型管理工具:SWIFT

目录 一、SWIFT 介绍 二、SWIFT 安装 2.0 配置环境(可选) 2.1 使用pip进行安装 2.2 源代码安装 2.3 启动 WEB-UI 三、部署模型 3.0 deploy命令参数 3.1 原始模型 3.2 微调后模型 一、SWIFT 介绍 SWIFT&#xff08;Scalable lightWeight Infrastructure for Fine-Tuni…

Vue 局部布局 Layout 内部布局 [el-row]、[el-col]

之前的布局容器是一个整体的框架&#xff0c;layout里面的布局其实就是el-row和el-col的组合。 基础布局 使用单一分栏创建基础的栅格布局。 通过 ​row ​和 ​col ​组件&#xff0c;并通过 ​col ​组件的 ​span ​属性我们就可以自由地组合布局。 这种最简单&#xff0c;…

房屋出租管理系统需求分析及功能介绍

房屋租赁管理系统适用于写字楼、办公楼、厂区、园区、商城、公寓等商办商业不动产的租赁管理及租赁营销&#xff1b;提供资产管理&#xff0c;合同管理&#xff0c;租赁管理&#xff0c; 物业管理&#xff0c;门禁管理等一体化的运营管理平台&#xff0c;提高项目方管理运营效率…

纯血鸿蒙APP实战开发——一镜到底“页面转场”动画

介绍 本方案做的是页面点击卡片跳转到详情预览的转场动画效果 效果图预览 使用说明 点击首页卡片跳转到详情页&#xff0c;再点击进入路由页面按钮&#xff0c;进入新的路由页面 实现思路 首页使用了一种视觉上看起来像是组件的转场动画&#xff0c;这种转场动画通常是通过…

Linux---windows 机器和远端的 Linux 机器如何通过 XShell 传输文件

一、关于rzsz 这个工具用于 windows 机器和远端的 Linux 机器通过 Xshell 传输文件. 二、下载rzsz软件 用root输入命令&#xff1a; sudo yum install -y lrzsz下载完成&#xff1a; 三、如何传输 有图形化界面 1、从Windows机器传输给远端Linux机器 ① 直接拖拽 直接将…

栈和队列的基础知识,C语言实现及经典OJ题

基础知识 一.栈 1.栈的概念 定义&#xff1a;堆栈又名栈&#xff08;stack&#xff09;&#xff0c;它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶&#xff0c;相对地&#xff0c;把另一端称为栈底。 压栈&#xff1a;向一个栈插入新…

2024年3月 青少年等级考试机器人理论真题二级

202403 青少年等级考试机器人理论真题二级 第 1 题 一个机器小车&#xff0c;用左右两个电机分别控制左右车轮&#xff0c;左侧电机转速是100rpm&#xff0c;右侧电机转速是50rpm&#xff0c;则此机器小车&#xff1f;&#xff08; &#xff09; A&#xff1a;原地右转 B&am…