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修饰 ...
随机推荐
- 学习java需要英语很好吗?
学习java需要英语很好吗? 编程语言起源于美国,是由英文构成的,其中包括几十个英文的关键字以及几百个英文的函数,除非需要对文本进行处理,否则一般不会出现中文.但是,它们都是孤立的单词,不构成任何语句 ...
- shiro实战(2)--ssm
一.web.xml的配置 <?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi=& ...
- [转]为什么group by后面不能使用别名(除MySQL)
同事工作中遇到一个问题: select count(billingdate),to_char(billingdate,'YYYYmm') month from tu_trade where to_ ...
- linux-创建/使用快照/克隆(类似windows中备份还原)
一. 创建/使用快照 1.什么是快照 说的直白一点,就是创建一个备份. 当执行了不可逆的错误操作后,可以通过快照用来恢复系统 2.创建快照的3种模式 挂载状态下创建快照 开机状态下创建 ...
- GO基础之Map
go开发手册: https://studygolang.com/pkgdoc 一.什么是map 有资料翻译成地图.映射或字典.但是大多数习惯上翻译成集合.1.map是Go中的内置类型,它将一个值与 ...
- Navicat Premium12.0 常用快捷键
- vue-property-decorator使用指南
在Vue中使用TypeScript时,非常好用的一个库,使用装饰器来简化书写. 1.安装npm i -S vue-property-decorator @Prop @PropSync @Provide ...
- 关于angularjs异步操作后台请求时,用$q.all排列先后顺序的问题
最近我在做angularjs程序时遇到了一个问题 1.页面有很多选择框,一个选择框里面有众多的选择项,和一个默认选定的项,像下面这样(很多选择框,不只一个): 2.众多的选项要从后台接口得到,默认项从 ...
- 推荐一个Emoji框架
表情的需求很常见.有的可以看看,没有的可以先收藏以备不时之需. 这个框架的反应速度很快,界面简洁漂亮,功能完备. 而且代码简洁易懂,便于学习. GitHub:https://github.com/ne ...
- Redis—配置文件详解
https://www.cnblogs.com/shizhengwen/p/9283973.html https://www.cnblogs.com/yangy608/p/4443665.html h ...