类型和描述
数据类型:是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式
基本类型
整数类型的存储大小和值的范围
![]()
存储大小和系统位数有关,int在64位系统里面占四个字节 ,32位系统里面占两个字节
为了得到某个类型或某个变量在特定平台上的准确大小,您可以使用 sizeof 运算符。表达式 sizeof(type) 得到对象或类型的存储字节大小。
浮点类型
浮点类型的存储大小和值的范围
![]()
printf() 只会看到双精度数,printf 的 %f 格式总是得到 double,所以在 printf() 中使用 %f 跟 %lf 的输出显示效果是一样的。
对于变量来说,double 类型比 float 类型的精度要高。double 精度更高,是指它存储的小数位数更多,但是输出默认都是 6 位小数。
如果你想输出更多小数,可以自己控制,比如 %.10lf 就输出 10 位小数。
void类型
数据类型转换
数据类型转换:C 语言中如果一个表达式中含有不同类型的常量和变量,在计算时,会将它们自动转换为同一种类型;也可以对数据类型进行强制转换;
① 自动类型转化:当两种不同类型出现,类型自动的从低到高转换(数据存储大小)
- 浮点数赋给整型,该浮点数小数被舍去;
- 整数赋给浮点型,数值不变,但是被存储到相应的浮点型变量中;
② 强制类型转换形式: (类型说明符)(表达式)
不同数据类型的输出格式
int %d
unsigned int %u
long %ld
unsigned long %lu
char %c
char * %s
float %f
double %f,%lf
打印地址 %p
特殊输出方式
- %md:要求输出字段宽度为m,右对齐,不够左端补空格,大于m按实际输出
- %0md:要求输出字段宽度为m,右对齐,不够左端补0,大于m按实际输出
- %m.nd:要求输出字段宽度为m,右对齐,后面n个位置当做小数,没有的补0,最前面m-n个没有的补空格
网友评论