首页 > 其他 > 详细

基本内置类型

时间:2020-08-15 23:03:21      阅读:76      评论:0      收藏:0      [点我收藏+]

基本内置类型

基本数据类型:算术类型和空类型


算术类型

算术类型包括整型和浮点型

算术类型表

类型 含义 最小尺寸
bool 布尔类型 未定义
char 字符 8位
wchar_t 宽字符 16位
char16_t Unicode字符 16位
char32_t Unicode字符 32位
short 短整型 16位
int 整形 16位
long 长整型 32位
long?long 长整型 64位
float 单精度浮点数 6位有效数字
double 双精度浮点数 10位有效数字
long?double 拓展精度浮点数 10位有效数字

care:
bool值为true/false
int、short、long、long?long都是带符号的,只要在前面加上unsigned就可以得到无符号类型。
字符型则分为三类:char、signed?char、unsigned?char。char≠signed?char,char是否带字符由系统决定。


类型转换

当程序使用一种类型而其实对象应该是另外一种类型时,程序回自动进行类型转换。
????
care:
将一个非布尔类型的算术值赋值给布尔类型时,若为0便转化为false,否则都为true。
将一个布尔类型值赋值给非布尔类型时,若为false则转化为0,若为true则转换为1。
将一个算术值赋值给无符号类型,且超过其的范围,结果将会是算术值对无符号类型数值总数取模后的余数。


字面值常量

整数字面值

以O开头的整数代表八进制数,以Ox/OX开头的整数代表十六进制。

浮点型字面值

以小数/以科学计数法表示的指数,其中指数部分用E/e标识
eg:3.14159???3.14159E0???0.???0e0????.001

字符和字符串字面值

用但应好扣起来的称为char型字面值,双引号括起来的零个/多个字符构成字符串型字面值。

care:字符串字面值的类型其实是常量字符构成的数组,编辑器会在每个字符串的结尾处添加一个空字符(‘\0‘),所以字符串字面值的实际长度要+1。


转义序列

概念

不可打印的字符和在C++中有特殊含义的字符
若要使用这些字符则需要用到转义序列,以反斜线为开始(\)

care:需要注意的是转移序列在程序中是被当作字符来使用的

换行符 \n 横向制表符 \t 抱紧(响铃)符 \a
纵向制表符 ?\v 退格符 \b 双引号 \"
反斜线 \\ 问号 \? 单引号 \‘
回车符 \r 进纸符 ?\f

指定字面值的类型

通过添加前缀/后缀,改变整型、浮点型的字符字面值的默认类型

字符和字符串字面值

前缀 含义 类型
u Unicode 16字符
U Unicode 32字符
L 宽字符 wchar_t
u8 UTF-8 char

整数字面值

后缀 最小匹配类型
u/U unsigned
l/L long
ll/LL long?long

浮点型字面值

后缀 类型
f/F float
l/L long?double

参考

  《C++ primer》

基本内置类型

原文:https://www.cnblogs.com/halfsugar-ss/p/13510213.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!