变量和常量
常量是设定好不变得量
变量是在运行过程中可以修改或者赋值的量
C语言关键字
指只用于语义定义的单词不能用于其他用途
int、 short、 long、char、unsigned、signed、Float、Double、_bool、_comlex、_imaginary
整数
整数是指没有小数的数
关键字有 int、 short、 long、
int 至少16位
short int 有可能比int等于或者小于,至少16位
long 或者long int 有可能比int 大或者等于至少32位
long long (为64为系统特别设计)有可能比longt 大或者等于,至少64位
常量有的系统保存的数据类型为1ong型
整数溢出会从头开始
打印整数
unsigned int %u
long %ld
long和int相同的话 %d
short %h
打印long 八进制 %lo;
打印long 十进制 %lx;
有符合和无符号
unsigned、signed
unsigned 与signed 取值范围是不同的,unsigned能表达的整数更大
字符
字符类型是用来存储字符的常用的ASCII
赋值的是数字,用单引号引字符常量,标点符号
行为标点字符
\n,\a,\t,\b,\f,\r,\v,\\,\',\\",\?,\0oo,\xhh
布尔型
用来表示布尔量的值
整数移植库 stdio.h,inttypes.h
实现数据类型的移植
精确宽度整数数据类型
最小宽度数据类型
最快最小宽度数据类型
浮点数
Float
单精度浮点数至少有6位有效数字,精度为10(-37)~10(37)
32位存储,24保存非指数部分,8位保存指数和符号部分
Double
双精度浮点数有效数字至少13位有效数字(最低标准是至少10位)
64位存储,的部分保存非指数部分,有的系统多出的保存指数部分
Long Double
至少和Double精度相同
打印
Float/Double 10进制数 %f
Float/Double 16进制数 %a/A
Float/Double 指数计数法 %e
Long Double 指数计数法 %Le
浮点数的溢出问题
上溢
给toobig赋一个无穷大的值/printf时显示inf/infinity
下溢
得出的值低于正常的值,C库提供计算低于正常值的函数
复数(C99 标准)
float_comlex
double_comlex
long double_comlex
虚数(C99 标准)
float_imaginary
double_imaginary
long double_imaginary
衍生的其他基本类型
数组、结构、联合后续讲解
测试数据类型的大小
sizeof(数据类型) 打印%u、%lu、%zd都可以