目录
程序 = 数据结构 + 算法
数据结构:对数据的描述,数据类型
算法:对数据处理的描述,方法和步骤,是程序的灵魂
一、数据的描述规则 数据的操作规则
- 所有数据存在存储器里,一个字节(8bit)为一个内存单位,必须为每个内存单元编号,编号即为地址
- 规定数据类型的原因:
- 不同的数据类型在内存中占用不同大小的存储单元
- 不同的数据类型所表示的数据取值范围不同
- 不同数据类型可以参与的运算种类也不相同
- 便于在程序中按不同的方式和要求进行处理
- C数据类型:
二、标识符,常量和变量
1、标识符:
- 定义:起名——用来标识变量、常量、函数等的字符序列(符号化的名字)
- 判断是否为合法的标识符:
- 起名规则:
- 开头:字母或下划线
- 组成:字母、数字或下划线
- C语言有32个关键字(如:int),不可用作标识符
- 预处理命令(如:include)不是关键字,可以用作标识符,但是一般不用
- 区分大小写
- 起名规则:
- 32个关键字
2、常量:
- 程序运行时其值不能改变的量
- 整型常量:例10、15L、010、0X3D、25U(无符号):
- 前缀:
- 八进制:前缀0 + 0~7 04、-034L(注意:0x3H 在C语言中表示方式不正确)
- 十进制:前缀0 + 0~9 89、-356L
- 十六进制:前缀0x 或x + 0~0~9、A~F 0x3A
- 后缀:
- L 或 l 长整型
- U 或 u 无符号整型
- 例如:345U:无符号数、0x3CL:长整型十六进制数3C=3CH(微机原理)、076lu:无符号长整型数
- 注意:程序中根据前缀区分
- 存储:
- 二进制
- 整数的数值在内存中用补码的形式存放;
- 正数的原码、反码、补码相同
- 负数的补码 = 原码的反码 + 1
- 0表示正数、1表示负数、符号位不变
3、实型常量(浮点数或实数):3.14、1.23E-2
- 十进制形式(必须带小数点):8.14、-78.96
- 指数形式(用 e 或 E 表示10):1.23E-2:1.23*10^-2、43.5e+4:43.5*10^4
- 注意:e前后必须有数,e后必须为正数
- 规范化的指数表示形式:小数点前只有一位非零数字,小数部分占6位,指数部分占4位,共13位:1.23e-2 :按%e这种指数形式输出时,以规范化形式输出结果为1.230000E-002
- 存储:小数和阶码
- 实数无精确值
- 实型常量默认为double,若为float,则后边需加f,例如:3.45f
- 字符常量:用单引号括起来的单个普通字符或转义字符:'A'、'\n'
- 可视字符常量:'3' 不等于 3、'a' 不等于 'A'
- 转义字符:无法从键盘输入或另有用途
- 以反斜杠( \ )开头,放在一对单引号内