1)c语言中的数据类型及输出
常用的几种数据类型 | 输出格式 |
int 整型(占用4字节) | %d - 打印整型 |
short 短整型(占用2字节) | %hd - 打印short类型,%d也可以 |
long 长整型(Windows为4字节,也可以理解32位编译器中占4字节,64位编译器中占8字节) | %ld - 打印long类型,%d也可以 |
long long 更长的整型(8字节) | %lld - 打印long long类型,同上 |
char 字符数据类型 | %c - 打印字符 |
float 单精度浮点数 | %f - 打印浮点数 |
double 双精度浮点数 | %lf - 打印双精度浮点数-也可以用%f但是最好用%lf |
2)其他
%p指针变量地址,如果数处数据不够8位数,则左边补零
%o以八进制数形式输出整数,
%x以十六进制数形式输出整数,
%u以十进制数输出unsigned型数据(无符号数)。
%s用来输出一个字符串
%e以指数形式输出实数,
%g根据大小自动选f格式或e格式,且不输出无意义的零。
3)数据类型占用内存大小
char :1个字节
short int :2个字节
int :4个字节(16位机是2B,32位&64位是4B)
long :8个字节 (16位&32位&win64是4B,Linux64位是8B)
long long :8个字节
float :4个字节
double :8个字节
unsigned int :4个字节(16位机是2B,32位&64位是4B)
unsigned long :8个字节(16位&32位是4B,64位是8B)
char *(即指针变量):8个字节(16位是2B,32位是4B,64位是8B)
4)数字后面跟字母的含义
U
表示该常数用无符号整型
方式存储,相当于 unsigned int
L
表示该常数用长整型
方式存储,相当于 long
F
表示该常数用浮点型
方式存储,相当于 float
不加L默认是int,浮点数不加F默认是double类型,double转float可能损失精度。
5)单双引号的区别(参考C语言单引号和双引号_墨菲墨菲的博客-CSDN博客)
C语言中的单引号用来表示字符字面量
C语言中的双引号用来表示字符串字面量
‘a’表示字符字面量,在内存中占1个字节,‘a’+1表示’a’的ASCII码加1,结果为’b’
"a"表示字符串字面量,在内存中占2个字节,“a”+1表示指针运算,结果指向"a"结束符\0’
- 单引号括起来的单个字符代表整数
- 双引号括起来的字符代表字符指针
- C编译器接受字符和字符串的比较,无任何意义
- 编译器允许字符串对字符变量赋值,只能得到错误
6)C语言中0表示假,非零表示真。