C++学习 数据类型

数据类型存在的意义:

给变量分配合适的内存空间,避免资源浪费。

整型:

整型变量表示的是整数类型的数据

long类型 在 windows 中4字节 linux 中 32位4字节 64位8字节,占用空间的不同,可以表示的取值范围就越广,实际开发中int使用的频率最高。

#include <iostream>
using namespace std;
int main()
{
    // 短整型
    short a = 10;
    cout << "短整型a=" << a << endl;
    short a1 = 32768;
    cout << "短整型a1=" << a1 << endl; //-32768  表示范围为(-32768~32767)
    // 整型
    int b = 10;
    cout << "整型b=" << b << endl;
    int b1 = 32768;
    cout << "整型b1=" << b1 << endl; //32768 

    // 长整型
    long c = 10;
    cout << "长整型c=" << c << endl;
    // 长长整型
    long long d = 10;
    cout << "长长整型d=" << d << endl;
    system("pause");
    return 0;
}

sizeof关键字:

统计数据类型所占内存大小。

语法:

sizeof(数据类型 / 变量)     “/”是或者的意思

#include <iostream>
using namespace std;
int main()
{
    // 在windows中
    // 短整型short(2)
    // 整型int(4)
    // 长整型long(4)
    // 长长整型long long(8)
    // sizeof(数据类型 / 变量) "/"是或者的意思不是运算符

    short a = 10;
    cout << "shortTest1:" << sizeof(a) << endl;
    cout << "shortTest2:" << sizeof(short) << endl;
    int b = 10;
    cout << "intTest1:" << sizeof(b) << endl;
    cout << "intTest2:" << sizeof(int) << endl;
    system("pause");
    return 0;
} //其他的感兴趣可以自行测试

 

实型(浮点型)

用于表示小数。

需要注意的是,浮点类型的占用空间和取值范围是近似值,具体取决于编译器和系统的实现。此外,long double 类型的占用空间可能会比 double 更大,但具体取决于系统架构和编译器的支持。

#include <iostream>
using namespace std;
int main()
{
    // 默认情况下 输出一个小数 会显示6位有效数字  即3.14159
    // 单精度 float
    float f1 = 3.1415926f;
    cout << "f1: " << f1 << endl;
    // 双精度 double
    double d1 = 3.1415926;
    cout << "d1: " << d1 << endl;
    // 科学计数法
    float f2 = 3e2; // 3*10^2
    cout << "f2: " << f2 << endl;
    float f3 = 3e-2;              // 3*10^2 = 300
    cout << "f3: " << f3 << endl; // 3*0.1*0.1 = 0.03
    system("pause");
    return 0;
}

 

字符型

显示单个字符

语法

char ch = 'a';

注意:单引号且只能有一个字符 1个字节,字符型变量不是把字符本身放到内存中存储而是将对应的ASCII码放入到存储单元。

#include <iostream>
using namespace std;
int main()
{
    // 创建字符型变量ch
    char ch = 'a';
    cout << ch << endl; // a
    // 字符型所占内存空间大小
    cout << sizeof(ch) << endl; // 1
    // 字符型变量对应的ASCII编码
    cout << (int)ch << endl; // 97
    system("pause");
    return 0;
}

转义字符

表示一些不能显示出来的ASCII字符

常用的有:\n ,\\, \t

 

#include <iostream>
using namespace std;
int main()
{
    // 换行 \n
    cout << "hello world\n";
    // 反斜杠 两个反斜杠输出一个反斜杠
    cout << "\\" << endl;
    // 水平制表符 \t 补全8位 3个a则aaa     bbb 中间存在5个空格 用途:制表符后内容对齐
    cout << "aaa\tbbb" << endl;
    cout << "aaaa\tbbb" << endl;
    cout << "aaaa\tbbb" << endl;
    cout << "aaaaaaaaa\tbbb" << endl; // 超出了8位 无补齐效果
    system("pause");
    return 0;
}

 

字符串型

表示一串字符

两种风格

C风格: char 变量名[] = "字符串值" 

C++风格:String 变量名 = "字符串值"

#include <iostream>
 // #include<string> C++风格可能报错 但是我的没有问题 网上有的说是vscode问题,我在Dev-C++编译器中也没有问题 不知道是否和mingw64有关联或者编译器版本
using namespace std;
int main()
{
    // C风格字符串 char 变量名[] = "字符串值" 
    char arr1[] = "123";
    cout << arr1 << endl;
    // C++风格字符串 String 变量名 = "字符串值"
    string arr2 = "1234";
    cout << arr2 << endl;
    system("pause");
    return 0;
}

 

 布尔类型 bool

代表真或假的值

bool只有两个值

true --真(本质是1)

false --假(本质是0)

#include <iostream>
using namespace std;
int main()
{
    // 创建bool数据类型
    bool flag = true;
    cout << flag << endl; // 1
    flag = false; // 变量赋值false
    cout << flag << endl; // 0
    cout<<sizeof(flag)<<endl; //boll占用内存空间
    system("pause");
    return 0;
}

 

 数据的输入

从键盘中获取数据

关键字: cin

语法: cin>>变量

#include <iostream>
using namespace std;
int main()
{
    // 整型
    int a = 10;
    cout << "please Enter int" << endl;
    cin >> a;
    cout << " Enter a " << a << endl;
    // 浮点型
    float b = 10.0f;
    cout << "please Enter float" << endl;
    cin >> b;
    cout << " Enter b " << b << endl;
    // 字符型
    char c = 'a';
    cout << "please Enter char" << endl;
    cin >> c;
    cout << " Enter c " << c << endl;
    // 字符串型
    string d = "abcd";
    cout << "please Enter string" << endl;
    cin >> d;
    cout << " Enter d " << d << endl;
    // 布尔型
    bool e = false;
    cout << "please Enter bool" << endl;
    cin >> e;
    cout << " Enter e " << e << endl; // (-1,1)开区间内与false 输出结果为0 其余为1
    system("pause");
}

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python:基础知识—流程控制—函数与模块—数据结构—类与GUI和Turtle—异常处理与文件,概括全书(上万字最详细版)

这里是一张夜景&#xff0c;给大家放松一下。 !&#xff01;无锡南长街 文章目录 模块一&#xff1a;基础知识1、python语言2、常见数字类型3、字符串4、数字类型转换5、标识符命名6、常见关键字7、运算符与表达式&#xff08;1&#xff09;算术运算符&#xff08;2&#xff09…

ZooKeeper的集群部署和启动与关闭

ZooKeeper是一个分布式应用程序协调服务。一个ZooKeeper集群可以存在多个Follower和Observer服务器&#xff0c;但只允许存在一台Leader服务器。如果Leader服务器宕机&#xff0c;那么ZooKeeper集群的其它服务器会投票选举出一个新的Leader服务器&#xff0c;为防止投票数不过半…

Elasticsearch:部署 ELSER - Elastic Learned Sparse EncoderR

警告&#xff1a;此功能处于技术预览阶段&#xff0c;可能会在未来的版本中更改或删除。 Elastic 将尽最大努力修复任何问题&#xff0c;但技术预览中的功能不受官方 GA 功能的支持 SLA 约束。 Elastic Learned Sparse EncodeR - 或 ELSER - 是由 Elastic 训练的检索模型&#…

浅谈中移链中插件的功能及使用

中移链是在满足我国信息化监管需求、合规可控的前提下&#xff0c;打造的中国移动区块链服务平台。它允许使用插件来扩展其功能&#xff0c;以适应各种不同的使用场景。 什么是中移链插件呢&#xff1f;如果把中移链比作一个操作系统&#xff0c;那么插件就类比于操作系统上的…

工作流引擎Flowable

这里写目录标题 1.Flowable基础1.1 入门学习 2.流程图设计器2.1 FlowableUI2.1.1 绘制流程图 1.Flowable基础 官方手册 1.1 入门学习 一、依赖 <dependencies><dependency><groupId>org.flowable</groupId><artifactId>flowable-engine</…

Android系统安全 — 6.2 Ethernet安卓架构

1. Android Ethernet架构介绍 整个Ethernet系统架构如下图所示&#xff1a; 以太网服务&#xff08;EthernetService&#xff09;的启动与注册流程&#xff1b;应用层调用使能ethernet功能的方法流程来分析&#xff0c;从应用层如何将指令一步一步传到底层kernel&#xff1b;…

阿里巴巴开源的Spring Cloud Alibaba手册在GitHub上火了

“微服务架构经验你有吗&#xff1f;” 前段时间一个朋友去面试&#xff0c;阿里面试官一句话问倒了他。实际上&#xff0c;不在BAT这样的大厂工作&#xff0c;是很难接触到支撑千亿级流量微服务架构项目的。但也正是这种难得&#xff0c;让各个大厂都抢着要这样的人才&#x…

docker-harbor私有仓库

一、Harbor概述 1、Harbor的概念 • Harbor是VMware公司开源的企业级Docker Registry项目&#xff0c;其目标是帮助用户迅速搭建一个企业级的Docker Registry服务 • Harbor以 Docker 公司开源的Registry 为基础&#xff0c;提供了图形管理UI、基于角色的访问控制(Role Base…

华为流程体系:IPD流程框架(限制版)

目录 前言 详细内容 专栏列表 CSDN学院课程地址 前言 今天主要来谈谈 IPD 体系的主体框架所涉及的一些相关内容。 其实关于 IPD 体系&#xff0c;我在之前的文章或课程中都有过不同程度的讲解。 但是&#xff0c;由于这个体系所涉及的面是非常广泛的。 这个时候就必须通…

sql总理论加实践

一、基础查询 DQL语法 SELECT 字段列表 1.设置别名 SELECT 字段1[别名],字段二[别名]......FROM 表名 WHERE 条件列表; 2.查询多个字段 SELECT 字段1,字段2,字段3......FROM 表名; SELECT * FROM 表名; 3.去除重复记录 DISTANT FROM 表明列表 WHERE 条件列表(条件…

利用etcd实现分布式锁

python etcd3模块的lock使用 观察lock的加解锁影响 在python中已经自带了分布式锁的实现方式&#xff0c;下面我们尝试一下加锁与解锁的流程 在运行该demo同时也对lock对应的key进行watch&#xff0c;观察其变化&#xff0c;注意python-etcd3在实现分布式锁的时候&#xff0…

【Python爬虫开发基础⑤】HTML概述与基本标签详解

专栏&#xff1a;python网络爬虫从基础到实战 欢迎订阅&#xff01;近期还会不断更新~ 往期推荐&#xff1a; 【Python爬虫开发基础①】Python基础&#xff08;变量及其命名规范&#xff09; 【Python爬虫开发基础②】Python基础&#xff08;正则表达式&#xff09; 【Python爬…

探秘华为交换机:端口类型全解析

在下列情况下&#xff0c;判断的一般方法是什么&#xff1f; 1.交换机某个端口下的用户丢包。 2.交换机下的所有用户都在丢失数据包。 3、用户反映网速缓慢 检查网络电缆&#xff0c;重做水晶头&#xff0c;检查用户的计算机网卡&#xff0c;并重新启动交换机。 这几种做法都能…

Flink 学习五 Flink 时间语义

Flink 学习五 Flink 时间语义 1.时间语义 在流式计算中.时间是一个影响计算结果非常重要的因素! (窗口函数,定时器等) Flink 可以根据不同的时间概念处理数据。 处理时间: process time System.currentTimeMillis()是指执行相应操作的机器系统时间&#xff08;也称为纪元时间…

Docker安全

一、Docker 容器与虚拟机的区别 1、隔离与共享 • 虚拟机通过添加 Hypervisor 层&#xff0c;虚拟出网卡、内存、CPU 等虚拟硬件&#xff0c;再在其上建立虚拟机&#xff0c;每个虚拟机都有自己的系统内核 • Docker容器则是通过隔离的方式&#xff0c;将文件系统、进程、设…

Redis入门 - Lua脚本

原文首更地址&#xff0c;阅读效果更佳&#xff01; Redis入门 - Lua脚本 | CoderMast编程桅杆https://www.codermast.com/database/redis/redis-scription.html Redis 脚本使用 Lua 解释器来执行脚本。 Redis 2.6 版本通过内嵌支持 Lua 环境。执行脚本的常用命令为 EVAL。 …

Spark01-Spark快速上手、运行模式、运行框架、核心概念

1 概述 Spark和Hadoop Hadoop HDFS(GFS:TheGoogleFileSystem)MapReduce总结&#xff1a;性能横向扩展变得容易&#xff0c;横向拓展:增加更多的计算节点来扩展系统的处理能力Hbase&#xff1a;分布式数据库 Spark Spark CoreSpark SQLSQL 方言&#xff08;HQL)Spark Streamin…

光伏电池局部遮阴下三种不同的工况对比MATLAB仿真模型

光伏电池局部遮阴下三种不同的工况对比MATLAB仿真模型及程序资源-CSDN文库https://download.csdn.net/download/weixin_56691527/87910311 模型简介&#xff1a; 建议使用MATLAB21b及以上版本打开&#xff01; 光伏阵列表面被局部遮挡时会产生热斑效应。为了防止太阳电池因热…

【Matter】Matter学习笔记1

文章目录 前言Matter协议架构1.Matter Over IPV62.Matter协议架构3.Matter标准协议架构 Matter网络拓扑结构Mesh组网1.单一网络拓扑2.星形网络拓扑 设备数据模型&#xff08;Date Model&#xff09;1.设备和端点&#xff08;Node、Endpoint&#xff09;2.节点角色&#xff08;N…

ADAudit Plus:保护企业内部IT安全的强大解决方案

随着企业数字化的推进&#xff0c;IT系统和数据安全变得比以往任何时候都更加重要。为了保护企业的机密信息和敏感数据&#xff0c;企业需要一种可靠的IT安全解决方案。在众多选项中&#xff0c;ADAudit Plus是一款备受赞誉的软件&#xff0c;为企业内部的IT安全提供了强大的支…