基本内置类型

一:基本数据类型:
一:算术类型
1.整型
2.浮点型
二:空类型
算术类型
类型含义最小尺寸
bool布尔类型未定义
char字符8位
wchar_t宽字符16位
char16_tUnicode字符16位
char32_tUnicode字符32位
short短整型16位
int整形16位
long长整型32位
long  long(C11新特性)长整型64位
float单精度浮点型6位有效数字(一个字)
double双精度浮点型10位有效数字(二个字)
long   double扩展精度浮点型10位有效数字(三或四个字)

除去布尔型与字符型外,其余整型可以划分为带符号(signed) 无符号(unsigned) 两种。
带符号(signed) :可以表示正数,负数或0
无符号(unsigned):仅能表示大于等于0的值


二:类型转换:
注意:
1:当赋值给无符号类型一个超出它表示的范围时,结果是初始值对无符号类型表示数值总
数取模后的余数。
2:当赋值给带符号类型一个超出它表示范围的值时,结果是未定义的,此时,程序可能继
续工作,可能崩溃,也可能生成垃圾数据。
3:如果表达式里既有带符号类型又有无符号类型,当带符号类型取值为负时会出现异常结
果,因为带符号数会自动的转换成无符号数。
举例:
1:初始化:unsigned char c = -1; //如果char为8比特,c的值为255
2:初始化:signed char c = 256; //如果char为8比特,c的值是未定义的
3:unsigned int b = 1; int a = -1; a * b = 4294967295

三:字面值常量:
1:整型与浮点型字面值
可以将整型字面值写作十进制,八进制或十六进制。 以0开头的是八进制,以0x或0X开头的
为十六进制,默认情况下,十进制是带符号型的,而八进制与十六进制根据编译器而定。
2:字符与字符串字面值
由单引号括起来的一个字符称为char型,双引号括起来的零个或多个字符则为字符串型。

注意:
字符串实际上是由常量字符构成的数组,每个字符串结尾处添加一个空字符(’\0‘),因
此,字符串字面值的实际长度要比它的内容多1;

四:转义序列:
有两类字符程序员不可以直接使用
一:不可打印字符,如退格或其他控制字符
二:在语言中有特殊含义的字符(单引号,双引号,问好,反斜杠)
换行符\n问号\?
纵向制表符\v进纸符\f
反斜杠\\报警符\a
回车符\r 双引号\"
横向制表符\t单引号\'
退格符\b  

泛化的转义序列:形式为 \x后紧跟一个或多个十六进制数字,或者 \ 后紧跟一个,两个或
三个八进制字符。
\7响铃\12换行\40空格
\0空字\115字符M\x4d字符M


五:指定字面值的类型:
通过添加前缀与后缀,可以改变整型,浮点型和字符型字面值的默认类型
字符和字符串字面值
前缀含义类型
uUnicode16字符char16_t
UUnicode32字符char32_t
L宽字符wchar_t
u8UTF-8(仅用于字符串)char
整型字面值浮点型字面值
后缀最小匹配类型后缀类型
u or Uunsignedf 或 Ffloat
l or Llongl 或 Llong double
ll or LLlong long  


六:布尔字面值和指针字面值:
bool:true,flase
指针:nullptr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值