11.2数据类型(内置)
内置数据类型
- 字符
- 整型
- 浮点型
- 布尔类型
表示真假
#include<stdbool.h>
_Bool flag = true;
_Bool unflag = false;
signed or unsigned
- signed
表示一个类型带有正负号
- unsigned
表示不带正负号,能表示的位数更大
void
类型转换
- 隐式类型转换
隐式类型转换是在表达式中自动发生的,无需进行任何明确的指令或函数调用。它通常是将一种较小的类型自动转换为较大的类型,例如,将int类型转换为long类型或float类型转换为double类型。隐式类型转换也可能会导致数据精度丢失或数据截断。
int i = 10;
float f = 3.14;
double d = i+f;//隐式将int类型转换为double类型
对浮点型赋值时需注意,如果使用到除法,至少有一方需要为浮点型,即:
int a = 1;
int b =2;
double c = a/b;//c为0
double d = a*1.0/b;//d为0.5
-
显示类型转换
-
显式类型转换需要使用强制类型转换运算符(type casting operator),它可以将一个数据类型的值强制转换为另一种数据类型的值。强制类型转换可以使程序员在必要时对数据类型进行更精确的控制,但也可能会导致数据丢失或截断。
double d = 3.14159;
int i = (int)d;//i==3