关键字介绍
基本数据类型由11个关键字组成:int、short、long、unsigned、char、float、dobule、_Bool、_Complex(复数)、_Imaginary(虚数)
C 语言内置运算符 sizeof(),以字节为单位给出指定类型的大小。编译器可用%u 或%lu 打印。
注:在运算对象是类型时,圆括号必不可少,但是对于特定量,可有可无,如:sizeof(char), sizeof name或 sizeof(name).
int 类型
如何显示不同进制数字:
- 以十进制显示数字,使用%d;
- 以八进制显示数字,使用%o;
- 以十六进制显示数字,使用%x;
- 显示各进制数的前缀0,0x和0X 必须分别使用%#o、%#x、%#X
unsigned int 或 unsigned 只用于非负值的场合,这种类型与有符号类型表示的范围不同,可以表示更大的数。
整数溢出
unsigned int 无符号整数当达到它能表示的最大值时,会重新从起始点0开始。
int 有符号整数类型则从最小值(-2147483648)开始。
打印相关类型
- 打印 unsigned int类型的值使用%u;
- 打印 long类型的值使用%ld;
- %lx 表示以十六进制格式打印 long 类型整数;
- %lo 表示以八进制格式打印 long 类型整数;
- %hd 表示以十进制显示 short 类型的整数;
- %ho 表示以八进制显示 short 类型的整数;
- %lu 表示打印 unsigned long 类型的值;
- %lld 和%llu 分别表示有符号和无符号的 long long 类型。
char 类型
char类型实际上存储的是整数而不是字符,通过特定整数表示特定的字符,标准的 ASCII 码 的范围是0~127,只需7位二进制数即可表示。char类型长度为1字节即8个 bit 位。单引号表示单个字符。双引号表示字符串。打印字符用%c;
float、double 和 long double浮点数类型
-
浮点数在代码中的表示法:
有符号的数字(包括小数点),后面紧跟 e 或 E,最后一个是有符号数表示10的指数。如:-1.56E+12=-1.56x1012 2.87e-3=2.87x10-3
float 类型的值至少有6位有效数字
double 类型的值至少有13位有效数字
long double 类型至少与 double类型的精度相同。
-
注意:
编译器假定浮点数常量是 double 类型的精度。虽然计算精度更高,但会减慢程序的运行速度。 -
在浮点数后面加上 f或 F后缀可覆盖默认设置,编译器将浮点型常量看作 float 类型。如2.3f 和9.33E9F
-
使用 l或 L 后缀使得数字成为 long double 类型,如43.2l和4.32L.
-
打印方式
-
用%e 打印指数计数法的浮点数
-
打印 long double 类型要使用%Lf、%Le 或%La(十六进制) 转换说明。
-
浮点值的上溢和下溢
上溢:当计算导致数字多大,超过当前类型能表达的范围时,就会发生上溢。printf()显示该值为 inf 或 infinity(表示具有无穷的含义)。
下溢:把损失了类型全精度的浮点值称为低于正常的浮点值.
复数和虚数类型
C语言有3种复数类型:float _Complex、double _Complex 和 long double _Complex.
C 语言的3种虚数类型是 float _Imaginary、double _Imaginary 和 long double _Imaginary.使用时引入 complex.h 头文件。
_Bool 布尔类型
布尔类型是无符号int 类型,所占用的空间只要能存储0或1即可。
字符串的存储方式
C语言中没有专门用于存储字符串的变量类型,字符串都被储存在 char 类型的数组中。数组由连续的存储单元组成,字符串中字符被出处在相邻的存储单元中,每个单元储存一个字符,末尾位置的字符为\0空字符。字符串以\0空字符结束。
strlen()函数计算字符串中的字符长度。
本文介绍了C语言的基本数据类型,包括int、char、float、double、_Bool等,详细阐述了每种类型的使用场景、表示范围及打印方式,并提到了复数和虚数类型以及字符串的存储方式。
6426

被折叠的 条评论
为什么被折叠?



