C++入门到理解阶段二基础篇(3)——C++数据类型
目录
1.数据类型概述
使用编程语言进行编程时,需要用到各种变量来存储各种信息。变量保留的是它所存储的值的内存位置。这意味着,当创建一个变量时,就会在内存中保留一些空间。计算机是怎么知道这个内存空间应该开多大?因为可能存储各种数据类型(比如字符型、宽字符型、整型、浮点型、双浮点型、布尔型等)的信息,只有当明确指出当前变量或者常量的数据类型,操作系统会根据数据类型来分配内存和决定内存空间大小。
2.基本的内置类型
C++ 为程序员提供了种类丰富的内置数据类型和用户自定义的数据类型
整型
short2个字节
int 4字节
long 4字节(windos中4个字节Liunx的64位是8个字节)
long long 8字节
可以通过sizeof(数据类型或者变量)函数查看数据类型或者变量字节大小
#include <iostream>
using namespace std;
int main() {
cout <<"short大小" << +sizeof(short)<<endl;
cout <<"int大小" << + sizeof(int) << endl;
cout <<"long大小" << + sizeof(long) << endl;
cout <<"long long大小" << + sizeof(long long) << endl;
return 0;
}
实型(浮点型)
用来描述小数,有单精度float(4字节)和double双精度(8字节)两种,区别在于两者精确范围不同
程序中如何定义
对于单精度如下,定义一个单精度数a=3.14,默认小数是double的,当我们使用float接收的时候会转成float,
所以最好定义的时候,在后面加个f,直接声明就是单精度数
但是在c++中默认,小数最多只能输出6位有效数字,(可以通过配置输出更多)
int main() {
float a = 3.1415926f;
double b = 3.1415926;
cout << a;//输出3.14159
cout << b;//输出3.14159
return 0;
}
字符型
字符型变量用于存储单个字符,定义格式 char a='b';
注意:
1.显示字符型变量只能是单引号,不能是双引号
2.单引号里面只能有一个字符,不能有多个
3.c/c++中字符占一个字节
4.字符型变量只是将对应的ASCll编码放在内存中,并不是字符本身,可以通过下面程序知道
int main() {
char a = 'c';
cout << (int)a;//输出99
return 0;
}
转义字符
表示一些不能显示的ASCll字符
转义字符 |
意义 |
ASCII码值(十进制) |
\a |
响铃(BEL) |
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 |
空字符(NULL) |
000 |
\ddd |
1到3位八进制数所代表的任意字符 |
三位八进制 |
\xhh |
1到2位十六进制所代表的任意字符 |
二位十六进制 |
字符串型
用于表示一串字符,c++有以下两种用来表示字符串
c风格的字符串
#include <iostream>
using namespace std;
int main() {
char a[] = "hell word";//格式 char 字符串名[]="字符串";
cout << a;//hell word
return 0;
}
c++风格的字符串
C++ 标准库提供了 string 类类型
#include <iostream>
#include <string>//c++字符串需要加上这个头文件
using namespace std;
int main() {
string a = "hell word";//格式string a="字符串"
cout << a;
return 0;
}
布尔类型bool
bool用来表示真或假,占用内存空间为1字节,取值只有false和true
false表示假,本质是0
true表示真,本质是1(默认非0值都代表1)
int main() {
bool flag = true;
cout << flag;//1
flag = false;
cout << flag;//0
return 0;
}
扫描 关注公众号 java一号。更重要的是小猿愿成为你编程路上的一个朋友!
文章首发地址: www.javayihao.top
首发公众号: java一号
C++入门到理解阶段二基础篇(3)——C++数据类型的更多相关文章
- C++入门到理解阶段二基础篇(8)——C++指针
1.什么是指针? 为了更加清楚的了解什么是指针?我们首先看下变量和内存的关系,当我们定义了int a=10之后.相当于在内存之中找了块4个字节大小的空间,并且存储10,要想操作这块空间,就通过a这个变 ...
- C++入门到理解阶段二基础篇(6)——C++数组
概述 C++ 支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合.数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量. 数组的声明并不是声明一个个单独的变量,比如 numbe ...
- C++入门到理解阶段二基础篇(5)——C++流程结构
1.顺序结构 程序从上到下执行 2.选择结构(判断结构) 判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的). C++ 编程 ...
- C++入门到理解阶段二基础篇(9)——C++结构体
1.概述 前面我们已经了解到c++内置了常用的数据类型,比如int.long.double等,但是如果我们要定义一个学生这样的数据类型,c++是没有的,此时就要用到结构体,换言之通过结构体可以帮我们定 ...
- C++入门到理解阶段二基础篇(7)——C++函数
目录 函数作用 函数定义 函数声明 函数调用 函数值传递 函数常见的样式 函数的分文件书写 函数作用 将经常使用的代码封装起来,减少重复代码 函数定义 C++ 中的函数定义的一般形式如下: retur ...
- C++入门到理解阶段二基础篇(4)——C++运算符
目录 算术运算符(进行四则运算) 赋值运算符(表达式的值赋给变量) 比较运算符(表达是比较,返回一个真值或假值) 逻辑运算符(返回表格式的结果真或假) 位运算符 杂项运算符 C++ 中的运算符优先级 ...
- C++入门到理解阶段二基础篇(2)——C++注释、变量、常量、关键字、标识符
目录 1.注释 注释作用 注释的方式 2.变量 变量基本知识 定义变量 3.常量 常量基本知识 整数常量 浮点常量 布尔常量 字符常量 字符串常量 常量定义 使用 #define 预处理器. 使用 c ...
- C++入门到理解阶段二基础篇(1)——简介与环境安装
1.C++ 简介 C++ 是一种静态类型的.编译式的.通用的.大小写敏感的.不规则的编程语言,支持过程化编程.面向对象编程和泛型编程. C++ 被认为是一种中级语言,它综合了高级语言和低级语言的特点. ...
- C++入门到理解阶段二核心篇(1)——c++面向对象概述、内存分析、引用
1.c++内存分区模型 c++程序在运行的过程中,内存会被划分为以下四个分区 代码区:程序的所有程序的二进制代码,包括注释会被放到此区 全局区:存放静态变量.全局变量.常量(字符串常量和const修饰 ...
随机推荐
- Redis令牌桶限流
一 .场景描述 在开发接口服务器的过程中,为了防止客户端对于接口的滥用,保护服务器的资源, 通常来说我们会对于服务器上的各种接口进行调用次数的限制.比如对于某个 用户,他在一个时间段(interval ...
- LeetCode 49: 字母异位词分组 Group Anagrams
LeetCode 49: 字母异位词分组 Group Anagrams 题目: 给定一个字符串数组,将字母异位词组合在一起.字母异位词指字母相同,但排列不同的字符串. Given an array o ...
- [Muxi_k] Manjaro安装WPS过程
Manjaro安装WPS过程 首先安装WPS: sudo pacman -S wps-office 1一条命令解决安装好后就可以在显示应用程序这里看到图标了 笔者在安装的时候出了点问题,就是下载了一短 ...
- Linux 磁盘分区、挂载
一.分区介绍 mbr分区: 1.最多支持四个主分区 2.系统只能安装在主分区上 3.扩展分区要占一个主分区 4.mbr最大只支持2TB,但拥有最好的兼容性 gpt分区: 1.支持无限多个主分区(但操作 ...
- Format a Business Object Caption 设置业务对象标题的格式
In this lesson, you will learn how to format the caption of a detail form that displays a business o ...
- JQuery iframe宽高度自适应浏览器窗口大小的解决方法
iframe宽高度自适应浏览器窗口大小的解决方法 by:授客 QQ:1033553122 1. 测试环境 JQuery-3.2.1.min.js 下载地址: https://gitee.com ...
- Saltstack_使用指南12_配置管理-jinja模板
1. 说明 下文的案例是根据上一篇文章进行的修改.因此请优先读取上一章博文内容<Saltstack_使用指南11_配置管理-状态之间依赖关系> 2. 主机规划 salt 版本 [root@ ...
- 读书笔记_python网络编程3_(2)
2.UDP 2.0.数据包表示较短的信息,大小通常不会超过几千字节,在浏览器与服务器进行会话/电子邮件客户端与ISP的邮件服务器进行会话时,这些独立而小型的数据包是如何组成会话的呢? 2.0.1.IP ...
- Android实现九宫拼图过程记录
算法老师给了一份关于九宫拼图的算法过程用C++写的,让我们自己封装,成为一个有图形界面的工程,我接触过android,c++的mfc,Java的图形界面JUI,网页的css.html.javascri ...
- docker 私有registry harbor安装
一,harbor安装: 参考:Installation and Configuration Guide 1,安装docker 2,安装docker compose sudo curl -L " ...