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修饰 ...
随机推荐
- 2019/12/16学习内容摘要(Vim)
一,Vim与vi的区别 vim可以当作vi的升级版本,他可以用多种颜色的方式来显示一些特殊的信息. vim会依据文件扩展名或者是文件内的开头信息, 判断该文件的内容而自动的执行该程序的语法判断式,再以 ...
- MATLAB聚类有效性评价指标(外部 成对度量)
MATLAB聚类有效性评价指标(外部 成对度量) 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 更多内容,请看:MATLAB: Clustering ...
- 11. java random类
一.random类使用 import java.util.Random; public class Demo{ public static void main(){ Random r = new Ra ...
- javascript---简介的切换图片效果。
<!--切换图片--> <img src="img/9.gif" alt="" id="img"> <butt ...
- js中触发表单提交
html代码: <form action="/test/action" method="get" id="myForm"> &l ...
- SQLServer之数据库表转化为实体类【带注释】
1.在开发过程中,有时候需要将数据库表转化为实体类.手敲除了不方便,还容易出错.本着DRY+懒人原则,参考了一位老司机的博客[见底部],并在其基础上进行了优化.[原先是不带注释的] DECLARE @ ...
- Kubernetes的Job对象
Deployment.StatefulSet及DaemonSet三个主要用来进行长时间业务,不会退出. 而有一些离线业务,或者叫Batch Job(计算业务),计算完成后就直接退出 了,如果用Depl ...
- requests-html库render的使用
一.render的使用 from requests_html import HTMLSession session =HTMLSession() response = session.get('htt ...
- linux-创建/使用快照/克隆(类似windows中备份还原)
一. 创建/使用快照 1.什么是快照 说的直白一点,就是创建一个备份. 当执行了不可逆的错误操作后,可以通过快照用来恢复系统 2.创建快照的3种模式 挂载状态下创建快照 开机状态下创建 ...
- 【Angular】学习笔记-环境部署、项目建立相关
Angular官网>搭建环境 首先要安装Node.js.官网>Download 一直next就好了. 安装node.js的目的是使用npm这些命令啦 然后这里推荐下载使用git SCM 也 ...