数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。
在 C 语言中数据类型可分为四大数据类型,分别如下所示:
整数类型是指不包含小数点的数据,生活场景中的电影票数量、人的年龄等。
下表列出了关于标准整数类型的存储大小和值范围的细节:
类型 | 存储大小 | 值范围 |
---|---|---|
char | 1 byte | -128 到 127 或 0 到 255 |
unsigned char | 1 byte | 0 到 255 |
signed char | 1 byte | -128 到 127 |
int | 2 或 4 bytes | -32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647 |
unsigned int | 2 或 4 bytes | 0 到 65,535 或 0 到 4,294,967,295 |
short | 2 bytes | -32,768 到 32,767 |
unsigned short | 2 bytes | 0 到 65,535 |
long | 4 bytes | -2,147,483,648 到 2,147,483,647 |
unsigned long | 4 bytes | 0 到 4,294,967,295 |
浮点类型是带小数的数据类型,生活场景中商品金额、物体重量等都为浮点类型。
类型 | 存储大小 | 值范围 | 精度 |
---|---|---|---|
float | 4 byte | 1.2E-38 到 3.4E+38 | 6 位小数 |
double | 8 byte | 2.3E-308 到 1.7E+308 | 15 位小数 |
long double | 10 byte | 3.4E-4932 到 1.1E+4932 | 19 位小数 |
“村里有个姑娘叫小芳,年方十八,身高1米68,长得美丽又大方。”
#include <stdio.h> int main(){ char name = "xiaofang"; int age = 18; float height = 1.68; printf("村里有个姑娘叫%c,年方%d,身高%f,长得美丽又大方。", name, age, height); return 0; }
常量:指程序运行期间不会改变的变量,分为直接常量和符号常量
直接常量
#include <stdio.h> int main() { printf("PI %d", 3.1415926); // 无需声明的量 return 0; }
符号常量
#include <stdio.h> #define PI 3.1415926 int main() { printf("PI %d", PI); // 使用之前先使用符号 #define 定义 return 0; }
自动转换
自动类型转换在编译阶段完成
#include <stdio.h> int main() { char c = 'C'; int n = c; float f = c; double d = c; printf("%d %f %lf", n, f, d); // 67 67.000000 67.000000 return 0; }
强制转换
需要手动定义进行强制转换,形式为:(数据类型) (表达式)
#include <stdio.h> #define PI 3.1415926 int main() { int intPI = (int)(PI); printf("intPI 的整数部分是%d\n", intPI); // intPI 的整数部分是3 return 0; }