- 计算机的基本结构
CPU(负责运算) + RAM(负责存储);
链接使用控制总线、数据总线、地址总线;
地址总线以CPU分为32Bit 和 64Bit 用来区分数据总线的个数;
- 常量与变量(继续学习)
标识符: 标识符本质上就是一个名字,只能由字母、数字、下划线3钟字符组成;且第一个字符必须为字母或者下划线,不能为数字;不能使用二类字,关键字,不能同时定义同一个;
例如:sum、average、_total、class、day、mouth
(定义标识符:define N )
- 整型数据
整型常量的表示方法
整型常量即为整常数,表示方法有十进制、八进制、十六进制;
区分:以0开头的是八进制数;以X0开头的是十六进制数(x0可大写可小写);
(数字电路中只能存在0或者1,这样就需要把一位数转化为二进制数,且常量表示方法钟没有二进制数的表示)
实际上,数值是以补码的形式表示的,一个正整数的补码和该数的原码(即该数的二进制数形式)相同;如果是一个负数则将该数的绝对值的二进制形式按位取反再加1;
常见数的十六进制:
0 0000 1 0001
2 0010 3 0011
4 0100 5 0101
6 0110 7 0111
8 1000 9 1001
A 1010 B 1011
C 1100 D 1101
E 1110 F 1111
整型变量的分类
整型变量的基本类型符为int,可以根据数值的范围将变量定义为基本整型、短整型或者长整型;
为了充分利用变量的值的范围,此时可以将变量定义为“无符号”类型。如果加入修饰符signed,则指定是“有符号数”;加入修饰符unsigned,则指定是“无符号数”;如果既不指定为signed,也不指定为unsigned,则隐含为有符号(signed),事实上signed完全可以不写;归纳起来可以有以下8种整型变量,即
有符号基本整型 [signed] int 无符号基本整型 unsigned int
signed int
4个Byte
(%d\n有符号 10进制 有负数)
第一个bit 代表数值的正负;取值的区间为-2^31—2^31-1
unsigned int
无符号,所有的32bit都代表数值
取值的区间为0—2^32-1(4,294,967,295)(FFFF FFFF)
(“=”是赋值运算)
( printf:是一个函数,用于把给定的内存片段以__的方式来解读并展示)
i = FFFF FFFF
i = i + 1
会出现整型溢出不能超出数值范围
有符号短整型[ signed ] short 无符号短整型 unsigned short
2个Byte
范围-2^15—2^15-1
有符号长整型[signed ] long 无符号长整型 unsigned long
8个Byte
范围-2^64—2^64-1
和long long 基本一致 但是两者数据类型不一样;
(sizeof 关键字 长运算符 用于计算i在内存中所占的长度);
- 浮点型(用于表示小数)
- 十进制的小数形式,由数字和小数点组成(必须要有小数点);
- 指数形式;如123e3或者123E3都代表123*10^3.;注意:e之前必须有数字,且e后面的指数必须为整数;
浮点型变量
float (f)单精度浮点型
有4个Byte
double 双精度浮点型
有8个Byte 更大更为精准表示小数;
用0.9f代表单精度浮点型常量,用于小数比较时使用;
4Byte = 32Bit
故小数在表示时分为三个部分:
符号位:占1bit
阶 码:占8bit
尾 数:占23bit
(输出小数 %f )
( long double 长双精度浮点型 精度更高 有16个Byte)
- 字符型数据
char 刻字、字符
unsigned char
signed char
printf ( “%d\n”,sizeof(char))
1个Byte 128个Bit
范围 -2^7—2^7-1
主要用于装字符(参考ASC表)
字符常量的表示 ‘H‘
注意:‘ ‘之内只能存放一个字符,否则会出现warning;
若存放‘HE‘,则只会出现后面的字符 “E”;
转义字符
字符变量
字符变量常用来存放字符常量,它只能存放一个字符,不要以为在一个字符变量中可以放一个字符串(包括若干字符);
字符变量的定义形式如下:
char c1, ch2;
它表示c1,c2为字符型变量,各可以放一个字符,因此子啊本函数中可以用下面的语句对c1,c2进行赋值;
C1 = ‘a‘ ;c2 = ’b‘;
在所有的编译系统中都规定以一个字节来存放一个字符,或者说一个字符变量在内存中占一个字节。