C语言入门简明教程
0x03 数据
写在开头
计算机的一大优势就是计算速度非常快,因此适合用来进行一些大量的计算。数据也因此是学习C语言避不开的内容。运算将在后面章节提及。
1.数据的存储
最小存储单元是位(bit),为0或1
1字节(byte)=8位(bit)
另外,1KB=1024B,1MB=1024KB,1GB=1024MB,1TB=1024GB,1PB=1024TB
1KB=8Kb,大B到小b要乘8,小b到大B要除8
计算机中存储数据是以补码形式。
网页链接:原码、反码、补码
2.整数和小数
为了节省空间,让数据类型符合存储的数据的类型和范围,C语言中定义了各种不同的数据类型。各种数据类型所占的空间不同。
有符号和无符号的整数:int,short,long
小数:单精度浮点数:float,双精度:double
变量声明
int a;//可以声明一个变量
short b,c,d;//可以声明多个变量,用英文逗号隔开
int e=621,f=233;//带初始值的变量声明
//int g=1,h=g 错误,还未声明h就给h赋值
int g=1,h;
h=g;
显示十六/八进制
%x:十六进制打印,%#x:带0x前缀的十六进制打印
%o:八进制打印,%#o:带0前缀的八进制打印
特别地,添加unsigned前缀则数字为无符号
3.字符
char,可以表示字符。由于C语言的字符问题,可能在使用单个中文字符的时候会出问题。char的使用方法为:
char c='c';//单个字符
char c=122;//对应ASCII码的字符
char c='\124';//通过转义符定义的字符
char c='\x1B';//转义符加上十六进制表示的字符
特别地,用双引号的是字符串,单引号的才是字符。字符用双引号会报错~
网页链接:ASCII表
4.数据范围和溢出
每个数据类型都有自己的给定范围,如果超过了就将溢出。就像手表转完一圈就会从头开始。
5.类型转换
代码一看就会~
long a=1;
int b=(int)a;
类型转换大同小异,但是要注意数据范围。
6.sizeof()
使用sizeof函数可以得到各种数据所占的空间,如:
int a;
printf("%d",sizeof(a));
7.const
const定义的是常量,不同于宏定义的常量是简单替换,const的常量包含类型,使用更加精准。
const double PI=3.14159265;
总结
EOF