C++ 中的数据类型

C++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存.

1 整型

作用:整型变量表示的是整数类型的数据

C++中能够表示整型的类型有以下几种方式,区别在于所占内存空间不同

数据类型占用空间取值范围
short(短整型)2字节(-2^15~2^15-1)
int(整形)4字节(-2^31~2^31-1)

long(长整型)

Windows为4字节,Linux为4字节(32位),8字节(64位)(-2^31~2^31-1)
long long(长长整形)8字节(-2^63~2^63-1)

数据类型存在的意义:给变量分配合适的内存空间。

#include<iostream>
using namespace std;int main()
{//整型//1、短整型short num1 = 10;//2、整形int num2 = 10;//3、长整型long num3 = 10;//4、长长整型long long num4 = 10;cout << "num1 = " << num1 << endl;cout << "num2 = " << num2 << endl;cout << "num3 = " << num3 << endl;cout << "num4 = " << num4 << endl;system("pause");return 0;}

日常开发中最常用的是int

2 sizeof关键字

作用:利用sizeof关键字可以统计数据类型所占内存大小

语法:sizeof(数据类型/变量)

示例:

int main() {short mum = 10;cout << "short 类型所占内存空间为:" << sizeof(short) << endl;cout << "num所占内存空间为:" << sizeof(num) << endl;cout << "int 类型所占内存空间为:" << sizeof(int) << endl;cout << "long 类型所占内存空间为:" << sizeof(long) << endl;cout << "long long 类型所占内存空间为:" << sizeof(long long) << endl;system("pause");return 0;}

3 实型(浮点型)

浮点型变量分为两种:

  1. 单精度float
  2. 双精度double

两者的区别在于表示的有效数字范围不同

数据类型占用空间有效数字范围

float

4字节7位有效数字

double

8字节15~16位有效数字

示例:

int main() {//单精度float f1 =3.1415926f;cout << "f1 =" << f1 <<endl;//双精度double d1 = 3.1415926;cout << "d1 =" << d1 <<endl;// 默认情况下 输出一个小数,会显示6位有效数字//统计float和double占用的内存空间cout << "float占用内存空间为:" << sizeof(float) << endl;cout << "double占用内存空间为:" << sizeof(double) << endl;//科学计数法float f2=3e2; //3*10^2;cout << "f2 = " << f2 << endl;float f3=3e-2; //3*0.1^2;cout << "f3 = " << f3 << endl;system ("pause");return 0;}

4 字符型变量

作用:字符型变量用于显示单个字符

语法:char ch = 'a';

注意1:在显示字符型变量时,用单引号将字符括起来,不要用双引号

注意2:单引号内只能有一个字符,不可以是字符串

  • C和C++中字符型变量只占用1个字节
  • 字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元

示例:

#include<iostream>
using namespace std;int main() {//1、字符型变量创建方式char ch = 'a';cout << ch << end;//2、字符型变量所占内存大小cout << "char字符型变量所占内存:" << sizeof(char) << endl;//3、字符型变量常见错误//char ch2 = "b";//创建字符型变量的时候,要用单引号//char ch2 = 'abcdef';//创建字符型变量的时候,单引号内只能有一个字符//4、字符型变量对应ASCII编码//a---97//A---65cout << (int)ch << endl;system("pause");return 0;}

附 ASCII码表格

5 转义字符

作用:用于表示一些不能显示出来的ASCII字符

现阶段我们常用的转义字符有: \n  \\  \t

转义字符含义ASCII码值(十进制)
\a警报007
\b退格(BS),将当前位置移到前一列008
\f换页(FF),将当前位置移到下页开头012
\n换行(LF),将当前位置移到下一行开头010
\r回车(CR),将当前位置移到本行开头013
\t水平制表(HT)(跳到下一个TAB位置)009
\v垂直指标(VT)011
\\代表一个反斜线字符“\”092
\'代表一个单引号(撇号)字符039
\"代表一个双引号字符034
\?代表一个问号063
\0数字0000
\ddd8进制转义字符,d范围0~73位八进制
\xhh16进制转义字符3位16进制

示例:

int main() {cout << "\n" << endl;cout << "\\" << endl;cout << "\tHello" << endl;system("pause");return 0;
}

6 字符串型

作用:用于表示一串字符

两种风格

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

示例:

int main() {char str1[] = "hello world";cout << str1 << endl;system("pause");return 0;}

 注意:C风格的字符串要用双引号括起来

2.C++风格字符串:string 变量名 = “字符串值”

示例:

int main() {string str = "hello world";cout << str << endl;system("pause");return 0;}

 注意:C++风格字符串,需要加入头文件#include<string>

7 布尔类型 bool

作用:布尔数据类型代表真或假的值

bool类型只有两个值:

  • true --- 真(本质是1)
  • false --- 假(本质是0)

bool类型占1个字节大小

示例:

int main() {bool flag = true;
cout << flag << endl;//1flag = false;
cout << flag << endl;//0cout << "size of bool =" << sixeof(bool) << endl;//1system("pause");
return 0;}

 8 数据的输入

作用:用于从键盘获取数据

关键字:cin

语法:cin >> 变量

示例:

int main() {//整形输入int a = 0;cout << "请输入整形变量" << endl;cin >> a;cout << a << endl;//浮点型输入double d = 0;cout << "请输入浮点型变量:" << endl;cin >> d;cout << d << endl;//字符型输入char ch = 0;cout << "请输入字符型变量:" << endl;cin >> ch;cout << ch << endl;//字符串型输入string str = "hello";cout << "请输入字符串:" << endl;cin >> str;cout << str << endl;//布尔型输入bool flag = false;cout << "请输入布尔型变量:" << endl;cin >> flag;system("pause");return 0;}

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

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

相关文章

python(6)numpy的使用详细讲解

在numpy中&#xff0c;最基本的数据结构是数组&#xff0c;因此我们首先需要了解如何创建一个数组。numpy提供了多种数组创建方法&#xff0c;包括从列表或元组创建、从文件中读取数据、使用特定函数创建等。下面是一些常用的创建方法&#xff1a; 一、创建数组 1. 从列表或元…

【MySQL备份】Percona XtraBackup基础篇

目录 1.关于Percona XtraBackup 2. Percona XtraBackup有哪些特点&#xff1f; 3.安装Percona XtraBackup 3.1.环境信息 3.2.安装步骤 4. xtrabackup内部流程图 5.Percona XtraBackup基础语法 5.1.全量备份 5.2.增量备份 5.2.1.基于全量备份的增量备份 5.2.2.基于前…

[leetcode]max-consecutive-ones 最大连续1的个数

. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:int findMaxConsecutiveOnes(vector<int>& nums) {int maxCount 0, count 0;int n nums.size();for (int i 0; i < n; i) {if (nums[i] 1) {count;maxCount max(maxCount, count);} else…

安装和微调大模型(基于LLaMA-Factory)

打开终端&#xff08;在Unix或macOS上&#xff09;或命令提示符/Anaconda Prompt&#xff08;在Windows上&#xff09;。 创建一个名为lora的虚拟环境并指定Python版本为3.9。 conda create --name lora python3.9激活新创建的虚拟环境。 conda activate lora克隆项目。 git …

详解COB显示屏的技术特点

COB&#xff08;Chip on Board&#xff09;显示屏作为一种采用倒装COB封装技术的LED显示屏&#xff0c;在显示效果以及使用稳定性跟防护性方面&#xff0c;拥有更大优势&#xff0c;今天跟随COB显示屏厂家中品瑞科技一起来看看&#xff0c;COB显示屏的技术特点&#xff1a; 1、…

如何在OpenEuler 上快速部署一套Zabbix7.0监控系统

如何在OpenEuler 上快速部署一套Zabbix监控系统 一、环境信息 用途机器IP操作系统备注zabbix-server172.22.33.180openeuler 22.03 LTS SP37.0 LTS 版本&#xff0c;容器部署zabbix-agent172.16.10.182openeuler 22.03 LTS SP37.0 源码编译部署 二、Docker 部署 2.1 二进制…

【小白入门】关于视频剪辑该自学还是报课?

★解密&#xff1a;【赋能计划—剪辑小白入门】 ★ 在这个视频流量为王的时代&#xff0c;人人都想打造属于自己的IP&#xff0c;今年更是有许多企业家也纷纷下场干起来了&#xff0c;网上曾流行这样的一句话&#xff1a;“现在人们的生活方式改变了&#xff0c;所有事情都值得…

Anti-Canine Heartworm Antibody (Chicken) - HRP Conjugated

犬心丝虫&#xff08;学名Dirofilaria immitis&#xff09;是一种寄生丝虫&#xff0c;通过蚊子叮咬而传播。感染犬在早期阶段&#xff0c;大多不会出现症状。随着病情发展&#xff0c;将出现咳嗽、呼吸困难等症状&#xff0c;并伴有右心功能衰竭&#xff0c;最终全身衰弱或虚脱…

检索增强生成RAG系列3--RAG优化之文档处理

在上一章中罗列了对RAG准确度的几个重要关键点&#xff0c;主要包括2方面&#xff0c;这一章就针对其中一方面&#xff0c;来做详细的讲解以及其解决方案。 目录 1 文档解析1.1 文档解析工具1.2 实战经验1.3 代码演示 2 文档分块2.1 分块算法2.2 实战经验2.3 代码演示 3 文档e…

VLAN基础

一、什么是Vlan VLAN&#xff08;Virtual Local Area Network&#xff09;是虚拟局域网的简称&#xff0c;是一种将单一物理局域网&#xff08;LAN&#xff09;在逻辑层面上划分为多个独立的广播域的技术。每个VLAN都是一个独立的广播域&#xff0c;其内部主机可以直接通信&am…

python自动化办公之shutil

目录 1复制文件&#xff0c;此时存在2份相同文件 2移动文件&#xff0c;此时仅有1份文件 3删除文件&#xff0c;此时0份文件 用到的库&#xff1a;shutil&#xff0c;os 实现的效果&#xff1a;复制文件&#xff0c;移动文件&#xff0c;删除文件 代码&#xff1a; 1复制…

并发请求数量限制

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>并发请求数量限制</title> </head> <…

使用Colly库进行高效的网络爬虫开发

引言 随着互联网技术的飞速发展&#xff0c;网络数据已成为信息获取的重要来源。网络爬虫作为自动获取网页内容的工具&#xff0c;在数据分析、市场研究、信息聚合等领域发挥着重要作用。本文将介绍如何使用Go语言中的Colly库来开发高效的网络爬虫。 什么是Colly库&#xff1…

力扣974.和可被K整除的子数组

力扣974.和可被K整除的子数组 将余数相同的做差 若为负数要翻正再存入哈希表若为正数要存入哈希表统一操作 (sj % k k ) % k class Solution {public:int subarraysDivByK(vector<int>& nums, int k) {int n nums.size();vector<long> s(n1);for(int i0;i…

超声波清洗机怎么选?极力推荐四款口碑大牌超声波清洗机

相信大家都知道超声波清洗机&#xff0c;每次眼镜脏的时候&#xff0c;去眼镜店里让老板帮忙清洗&#xff0c;她们用的就是超声波清洗机&#xff0c;通过超声波的原理深入物品深处清洁&#xff0c;清洁效果非常好。相对手洗的方式&#xff0c;超声波清洗机能够保护镜片在清洗过…

[240701] 苹果设备持久耐用,人工智能战略成未来致胜关键

目录 苹果设备持久耐用&#xff0c;人工智能战略成未来致胜关键 苹果设备持久耐用&#xff0c;人工智能战略成未来致胜关键 苹果公司产品策略的转变及其对未来发展的影响。 现状&#xff1a; 苹果硬件创新速度放缓&#xff0c;产品外观和设计迭代周期变长&#xff0c;导致消…

【开放词汇分割】Side Adapter Network for Open-Vocabulary Semantic Segmentation

论文链接&#xff1a;Side Adapter Network for Open-Vocabulary Semantic Segmentation 代码链接&#xff1a;https://github.com/MendelXu/SAN 作者&#xff1a;Mengde Xu,Zheng Zhang,Fangyun Wei,Han Hu,Xiang Bai 发表单位&#xff1a;华中科技大学、微软亚洲研究院 会…

Vue 快速入门案例

步骤一&#xff1a;引入vue.js文件 添加<script>标签并标明路径 步骤二&#xff1a;定义Vue对象 el Vue接管区域 data 定义数据模型 步骤三&#xff1a;编写视图层的展示 v-model 绑定数据模型 {{要展示的数据模型}} 运行效果 总结 文本框里的值&a…

雪花算法的原理以及实现

文章目录 一、简介二、算法优缺点三、算法实现 一、简介 有这么一种说法&#xff0c;自然界中并不存在两片完全一样的雪花的。每一片雪花都拥有自己漂亮独特的形状、独一无二。雪花算法也表示生成的ID如雪花般独一无二。 雪花算法 &#xff08;SnowFlake &#xff09;算法&am…

几度互联网站群管理系统全媒体解决方案

随着高考的结束&#xff0c;各高校开启了紧张的招生宣传工作&#xff0c;几度互联网站群系统助力各高校招生宣传。 学校官方网站是互联网时代学校对外交流的重要途径和信息公开的主要载体&#xff0c;是展示学校形象、密切联系师生的重要窗口&#xff0c;是加强校园宣传思想工…