C++学习 数据类型

news2024/9/28 11:14:36

数据类型存在的意义:

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

整型:

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

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");
}

 

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

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

相关文章

hello TypeScript

在上一章节中我们介绍了typescript的产生背景&#xff0c;和使用typescript开发需要环境和工具&#xff0c;这一节我们就来感受一下typescript吧 一、第一个typescript程序&#xff0c;‘hello ts’ 1. 安装TypeScript编译器 在开始编译TypeScript文件之前&#xff0c;需要先…

LeetCode算法题---两数相加(二)

给你两个 非空 的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的&#xff0c;并且每个节点只能存储 一位 数字。 请你将两个数相加&#xff0c;并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外&#xff0c;这两个数都不会以 0 …

Python嵌套列表处理「有问必答系列1」

1. 提问&#x1f64b; teacher&#xff0c;如果想把列表里的子列表&#xff0c;拆出来&#xff0c;让他们变成一个列表&#xff0c;可以用什么[可怜] 解答 如果你有一个列表包含子列表&#xff0c;你可以使用Python的extend()函数或列表推导式来实现。下面是两种方法的例子&a…

Dart 3.0 语法新特性 | switch 匹配加强

theme: cyanosis 一、 重新审视 switch 关键字 众所周知&#xff0c; switch 关键字用于流程控制&#xff1a; 可以基于一个对象进行匹配&#xff0c;并通过 case 关键字产生分支语句&#xff0c;进行不同的逻辑处理。其中有一个非常值得注意&#xff0c;使用者很容易忽略的一点…

Jetpack Compose —— ProgressBar

Jetpack Compose的ProgressBar是一种用户界面组件&#xff0c;用于向用户展示长时间操作的当前进度。ProgressBar可以有两种形式&#xff1a;线性和环形&#xff0c;这两种形式都可以通过Jetpack Compose轻松实现。 注意&#xff1a;从Jetpack Compose 1.0版本开始&#xff0c…

ChatGPT使用的SSE技术是什么?

在现代web应用程序中&#xff0c;实时通信变得越来越重要。HTTP协议的传统请求/响应模式总是需要定期进行轮询以获得最新的数据&#xff0c;这种方式效率低下并且浪费资源。因此&#xff0c;出现了一些新的通信技术&#xff0c;如WebSocket和SSE。但是&#xff0c;GPT为什么选择…

R语言学习4:比例的假设检验

一、实验目的 1. 掌握理解两个总体比例假设检验的相关概念。 2. 掌握理解两个总体比例假设检验的相关方法。 3. 熟悉R语言等语言的集成开发环境。 二、实验分析与内容 完成教材P98的第4题 在一个流行病事件中,A地区656 例病人中完全康复了474人,B地区568例病人中完全康复了…

k8s delete namespace Terminating

版本情况 kubenetes版本: v1.19.10 docker版本: v20.10.6 一、问题经过 早上发现 kubectl delete ns时, 删除namespace一直处于Terminating状态 尝试加上--force参数&#xff0c;执行kubectl delete ns --force&#xff0c;也是一样Terminating 当时Terminating截图 1、猜测…

《网络安全0-100》低层协议安全性

低层协议安全性 IP协议 对于网络层&#xff0c;IP协议是其中一个非常重要的协议。网络层的IP地址相当于数据链路层的Mac地址。协议字段如下&#xff0c;每行4字节&#xff0c;总共4*520字节。 IP协议安全性&#xff1a;IP协议不能保证数据就是从数据包中给定的源地址发出的&am…

高速 AD/DA 实验

目录 高速 AD/DA 实验 1、简介 1.1、AD9708 芯片 1.2、AD9280 芯片 2、实验任务 3、硬件设计 4、程序设计 4.1、AD/DA 顶层模块代码 4.2、创建一个 ​​​​​​​ILA IP 核 4.3、创建一个ROM IP核&#xff0c;将 .coe 文件保存到生成的 Rom IP 核中 4.4、DA 数据发…

人工智能基础实验报告

蒙特卡洛算法 目 录 蒙特卡洛算法 1 概述&#xff1a; 1 思考步骤: 1 应用&#xff1a; 1 特点: 2 参 考 资 料 3 概述&#xff1a; 蒙特卡罗法&#xff08;Monte Carlo method&#xff09;也称统计模拟法、统计试验法。是把概率现象作为研究对象的数值模拟方法。是按抽样调…

【操作系统】CPU调度

目录 1.什么叫调度 2.调度的目标 3.进程调度方式 4.闲逛进程 5.典型的调度算法 5.1先来先服务(FCFS)调度算法 5.2短作业优先(SJF) 调度算法 5.3优先级调度算法 5.4高响应比优先调度算法 5.5时间片轮转调度算法 5.6多级队列调度算法 5.7多级反馈队列调度算法(融合了前…

Qgis基本操作之图层符号化和标注实战

目录 前言 一、基础数据 1、公共预算收入数据简介 2、省份数据简介 二、地图标注 1、百强县公共预算收入地图标注 2、省信息标注 三、地图符号化 1、百强县公共预算收入符号化 2、省数据符号化 总结 前言 在之前的Qgis中进行Shp和Excel属性连接实现百强县公共预算空间分…

MATLAB 之 图形对象及其句柄和图形窗口与坐标轴

这里写目录标题 一、图形对象及其句柄1. 图形对象2. 图形对象句柄的使用3. 图形对象属性3.1 属性名与属性值3.2 属性的操作3.3 图形对象的公共属性 二、图形窗口与坐标轴1. 图形窗口对象2. 坐标轴对象 一、图形对象及其句柄 MATLAB 的图形系统是面向图形对象的。图形对象是 MA…

Redis新功能

Redis 新功能 ACL 参考官网&#xff1a;https://redis.io/topics/acl 基本介绍 1、Redis ACL 是Access Control List&#xff08;访问控制列表&#xff09;的缩写&#xff0c;该功能根据可以执行的命令和可以访问的键来限制某些连接 2、在Redis 5 版本之前&#xff0c;Red…

使用python做一个批量重命名文件的小工具

&#x1f6f4; 放松 端午放假前的下午&#x1f644; 没事儿可做&#xff0c;一个准备开始弄的项目里面有大量的图片&#xff0c;但是名字都乱七八糟的&#xff0c;作为一个稍微带点强迫症的人看不下去。 既然如此&#xff0c;想直接重命名&#xff0c;可是Windows的重命名效果…

《XrayGLM:基于VisualGLM-6B微调训练对X光胸片进行医学诊断》学习分享与本地项目微调部署实践

XrayGLM据说是首个会看胸部X光片的中文多模态医学大模型&#xff0c;我最近也是因为关注这个所以就找时间学习了一下&#xff0c;顺便把学习资料对应记录分享一下。 官方提供了开源的项目&#xff0c;地址在这里&#xff0c;如下所示&#xff1a; 最近&#xff0c;通用领域的大…

MySQL - 第6节 - MySQL表的增删查改

1.MySQL表的增删查改概述 • 表的增删查改简称CRUD&#xff1a;Create&#xff08;新增&#xff09;&#xff0c;Retrieve&#xff08;查找&#xff09;&#xff0c;Update&#xff08;修改&#xff09;&#xff0c;Delete&#xff08;删除&#xff09;。 • CRUD的操作对象是对…

抖音小店有哪些常见扣分原因?如何避免在抖音小店中被扣分?

抖音小店现在已经成为了很多商家的首选电商平台&#xff0c;但是在使用抖音小店的过程中&#xff0c;也会出现一些扣分的情况。接下来&#xff0c;四川不若与众将为大家介绍抖音小店扣分的原因和避免办法。 一、抖音小店扣分原因 1. 服务不到位&#xff1a;商家没有及时回复用户…

2023-01-06 VMWare桥接网络配置.md

VMWare16 桥接网络配置 一 环境清单 VMWare 16虚拟机&#xff1a;Centos7宿主机&#xff1a;Windows 10 二 配置过程 查看宿主机的IP相关信息 ipconfig -all 配置虚拟网络编辑器 2.1 打开VMware Workstation Pro&#xff0c;点击左上角编辑-->虚拟网络编辑器 2.2 点击更改配…