数据类型是程序的基础:它告诉我们数据的意义以及我们能在数据上执行的操作。

C 语言支持广泛的数据类型,如下:

c基本的数据类型有哪些(C的数据类型) 第1张

数据类型选择:

  1. 当明确知道数值不可能为负时,选用无符号类型。
  2. 使用int执行整数运算。
  3. 在算术表达式中不要使用char或bool,只有在存放字符或布尔值时才使用它们。
  4. 执行浮点数运算选用double,这是因为float通常精度不够而且双精度浮点数和单精度浮点数的计算代价相差无几。

当我们赋给带符号类型一个超出它表示范围的值时,结果是未定义的。

尽管我们不会故意给无符号对象赋一个负值,却可能(特别容易)写出这么做的代码:

unsigned u = 10;

int i = -42;

cout << u i << endl; //如果int占32位,结果为4294967264

//错误:变量u永远也不会小于0,循环条件一直成立,死循环

for (unsigned u = 10; u >= 0; --u)

cout << i << endl;

可以将整型字面值写作十进制数、八进制数或十六进制数的形式,以0开头的整数代表八进制数,以0x或0X开头的代表十六进制数。整型字面值具体的数据类型由它的值和符号决定。默认情况下,十进制字面值是带符号数,八进制和十六进制字面值既可能是带符号的也可能是无符号的。类型short没有对应的字面值。

浮点型字面值表现为一个小数或以科学计数法表示的指数,其中指数部分用E或e标识。

由单引号括起来的一个字符称为char型字面值,双引号括起来的零个或多个字符则构成字符串型字面值。字符串字面值的类型实际上是由常量字符构成的数组,编译器在每个字符串的结尾处添加一个空字符(′\\0′),因此,字符串字面值的实际长度要比它的内容多1。

,
收藏(0)