C2 处理数据

C++命名规则

  • 名称中只能使用字母、数字和下划线(_)。
  • 名称的第一个字符不能是数字。
  • 字符区分大小写。
  • 不能使用C++关键字作为名称。
  • 以两个下划线或以下划线和大写字母开头的名称被保留给实现使用。以一个下划线开头的名称被保留给实现,作为全局标识符。
  • C++对名称的长度没有限制,名称中所有的字符都有意义,但有些平台有长度限制

基本数据类型

基本数据类型主要有两大类:整型和浮点型。整型中主要有short、int、long、long long,这些都是带符号类型,能够表示正负,在这些类型前加unsigned就是无符号类型,unsigned short、unsigned int(或unsigned)、unsigned long、unsigned long long。

浮点型主要有三类,分别是float、double、long double(C90新增)

整型字面量的进制表示

进制表示方式
二进制前两位为 0b或 0B
八进制第一位数字为 0,第二位数字为 1~7
十进制第一位数字为 0~9
十六进制前两位为 0x或 0X

C++如何确定常量的类型

对于十进制字面值,C++从int、long、long long中选择能存储该常量的最小类型。

对于八进制和十六进制字面值,C++会从int、unsigned int、long、unsigned long、long、long long、unsigned long long中选择能存储该常量的最小类型。

char 类型

char在默认情况下既不是没有符号,也不是有符号。是否有符号由C++实现决定。

如果将char看做数值类型,那么char是否有符号的差异就比较重要了。

signed char能表示-128到127,而unsigned char能表示0到255

printf转换符

转换符意义
a, A以十六进制形式输出浮点数(C99 新增)。
x, X以十六进制形式输出无符号整数(不输出前缀Ox)
d以十进制形式输出带符号整数(正数不输出符号)
u以十进制形式输出无符号整数
o以八进制形式输出无符号整数(不输出前缀0)
f以小数形式输出单、双精度实数
e, E以指数形式输出单、双精度实数
g, G以%f或%e中较短的输出宽度输出单、双精度实数
lu32位无符号整数
llu64位无符号整数
跟形式有关的
转换符意义
c输出单个字符
s输出字符串
p输出指针地址
不是数字类型的