一、内部单元
CPU为中央处理单元,主要用于运算;RAM为随机访问存储器,主要用于存放。
两者之间用地址总线、数据总线、控制总线连接。
二、基本数据类型
1、整型
整型分为整型常量与整型变量。
(1)常量整型:十进制、八进制(以0开头)、十六进制(以0x开头)。
(2)变量整型:
·short(2字节)短整型; unsigned short 无符号短整型;
·int(4字节)整型; unsigned int 无符号整型;
int在内存中存储方式:在一个字节(8bit)中存两位十六进制数。
若整型数据为负数,现将其绝对值原码按位取反,得到反码,再加一得到补码。
例如:int i;
i = 100;
·long(8字节)长整型; unsigned long 无符号长整型;
·long long(8字节)长长整型; unsigned long long 无符号长长整型。
注意:(1)每种变量类型都有对应的取值范围,若超过该范围则整型溢出。可变为更大字节变量。
(2)printf 是将给定的内存片段,以不同的眼光打印出来。
其中可跟: 类型的类型名 (抽象的) <——> 变量的变量名(具体的)
%d 为有符号十进制打印,%u 为无符号十进制打印,%c为字符打印。
2、浮点型
浮点型分为浮点型常量与浮点型变量。
(1)浮点型常量:十进制小数形式、指数形式。
指数形式例如29.3e7,表示29.3*10^7。其中e的右边必须为整型。
(2)浮点型变量:float(4字节)单精度;
float在内存中的存储方式为:由IEEE制定将32bit分为三部分,符号位占1bit,阶码占8bit,尾数占23bit。
例如:float f;
f = -6.25;
解析:第一步:符号位负为1,正为0。
第二步:将6.25用二进制表示为110.01。再类比于科学计数法表示为1.1001*2^2。将整数部分抹掉,其中指数2+127所表示的二进制1000 0001为阶码,1001为尾数,不够23位在其后补0。
第三步:得出存储二进制数为1100 0000 0110 0100 0000 0000 0000 0000;
其十六进制为C0C80000。
注意:C语言为强类型编程语言,类型要匹配。
如下所示代码中,0.9为双精度浮点型常量,不能与单精度浮点型变量比较。
解决方法:可将0.9 变为 单精度浮点型常量0.9f。加上常量后缀。
double(8字节)双精度;
long double(16字节)长双精度。
3、字符型
char(1字节);
范围:+2^7-1 ~ -2^7
根据ASCII表有对应的字符。但也可用字符型常量直接表示,注意要用单引号引起来。
其中对于不可见的字符,用转义字符表示。
三、标识符
标识符由字母、数字、下划线组成,其首字符必须为字母或者下划线。
注意:(1)符号常量要大写;
(2)二类字与关键词不作为标识符使用。
式