基本数据类型

1.C语言的基本数据类型

1.1变量

1.1.1变量的解释

变量类似一个盒子,你可以先把东西放里面(赋值),等用时再取出来。一个变量“盒子”理论上能放一个任何东西。但是我们需要贴上标签告诉别人这个盒子装的是什么东西(声明)。另外变量“盒子”有点特殊,他只能放入一个东西。如果一个“盒子”里已经有一个东西,但是你又放入了一个东西,原本东西就会被挤出去。
所以在c语言中变量的声明和赋值有两种方法:

  1. 声明并赋值
  2. 先声明后赋值
1.1.2变量命名规则

c语言中变量名是不能随便起的,他也要遵循一定的规则。

  1. 变量名中只能出现英文,数字,下划线和美元符号。
  2. 变量名不能以数字开头
  3. 大小写敏感。A和a是两个变量。
  4. 变量名不能和关键字相同。
1.1.3拓展

c语言中的32个关键字。

  • auto、double、int、struct;
  • break、else、long、switch;
  • case、enum、register、typedef;
  • char、extern、return、union;
  • const、float、short、unsigned;
  • continue、for、signed、void;
  • default、goto、sizeof、volatile;
  • do、if、while、static;

1.2基本数据类型

编译器要处理数据,就需要知道数据的存储大小和存储方式,即数据类型。
常用的基本数据类型有

  • 字符char,字符型在本质上就是整型,在c语言中用char表示一个字符型。他表示占用一个字符的存储空间。当我们读出时将会得到一个整形数据,而我们输出时会得到一个字符是因为我们人为的定义了一个对照表,这个表规定字符a的数值就是97,所以当我们遇到97时我们有两种读出方式,第一种以整数形式读出就是97,另一种就是以字符型读出,使用%c指定读出形式,则对照表则为a。
  • 整数int,整数又称作整数型,就是我们平时看到的准确的整数,一般占4个字节(32位)。最高位代表符号,0表示正数,1表示负数,取值范围是-2147483648~2147483647。
  • 浮点型,浮点型又称实型。
    • 单精度浮点数float,系统中基本的浮点类型。我们在c语言中使用float表示一个单精度浮点类型。一个float类型占用4个字节储存位。使用%f作为其格式说明符,而且float一般精确到小数点后6位。
    • 双精度浮点数double,范围更大的浮点类型。比float类型表示更多的有效数字以及更大的指数。我们在c语言中使用一个double类型表示一个双精度的浮点类。一个double类型占用8个字节,其内存消耗是double的两倍,double运算速度比float慢得多。double的格式说明符仍然是%f,而且double类型一般精确到小数位后15位。long double范围更大的浮点类型。我们使用%lf作为其格式说明符。
      基本上c语言最常用的就是这四个数据类型。

1.3数据类型汇总表格

名称 全称类型说明符 缩写类型说明符 位数 范围
整型 int int 16位 -32768至+32767
无符号整型 unsigned int unsigned 16位 0 至 65535
短整型 short int short 16位 -32768至+32767
无符号短整型 unsigned short int unsigned short 16位 0 至 65535
长整型 long int long 32位 -2^63 ~ 2^63-1
无符号长整型 unsigned long int unsigned long 32位 0至4,294,967,295
单精度浮点型 float float 32位 -3.410(-38)至3.410(38)
双精度浮点型 double double 64位 -16 -1.710(-308)~1.710(308)
长双精度浮点型 long double long double 128位 -1.210(-4932)~1.210(4932)

1.4基本类型的注意事项

1.4.1表示其他进制

只有整数可以表示其他进制。

  1. 十六进制。以0x或0X开头(0是阿拉伯数字0)
  2. 八进制。以0开头(0是阿拉伯数字0)
  3. 二进制。以0b或0B开头(0是阿拉伯数字0)
1.4.2 科学计数法

只有double类型可以进行科学计数法。

double a = 3E2; //表示3 x 10^2,所以a = 300
1.4.3 长整型long的问题

声明长整型时数的后面要加上L

long a = 666L;  //L大小写都可以,但为了便于区分,一般使用大写L
1.4.4 浮点型float问题

声明float时数的后面要加上F,因为默认的浮点型都是double

float a = 3.14F;    //F大小写都可以

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!