当前位置:
文档之家› c语言程序设计谭浩强ch2基本数据类型和表达式
c语言程序设计谭浩强ch2基本数据类型和表达式
11111001 00000000
00000000 01111111~ 10000000 (-128~+127)
• 纯整数的补码最小可以表示到-2^n 。这时在[-2^n]中,符号位的1既 表示符号“-”,也表示数值2^n 。
• 若要一个负数变补码,其方法是符号位置1,其余各位0变1,1变0,然后在最 末位上加1 。
10 01.03.2021
2.2 常量与变量
变量命名的规定:C语言规定标识符只能由 字母、数字和下划线三种字符组成,且第一 个字符必须为字母或下划线。
例:sum,_total, month, Student_name,
lotus_1_2_3,BASIC, li_ling
M.D.John, ¥123,3D64,a>b
13 01.03.2021
2.3 整型数据
(3)十六进制整数。以0x开头的数是16进制数。 如:0x123,代表16进制数123,等于十进制数
291。 -0x12等于十进制数-10。
2.3.2 整型变量 (1)整型数据在内存中的存放形式
数据在内存中是以二进制形式存放的。
如: int i; /* 定义为整型变量 */
– 数值的表示方法——原码、反码和补码
• 原码:最高位为符号位,其余各位为数值本身 的绝对值
• 反码:
– 正数:反码与原码相同
– 负数:符号位为1,其余位对原码取反
• 补码:
– 正数:原码、反码、补码相同
01.03.2021
– 负数:最高位为1,其余位为原码取反,再 对整个数加1
5
+7 -7 +0 -0
第二章
本章要点
数据的描述规则 数据的操作规则
主要内容 2.1 C的数据类型 2.2 常量与变量 2.3 整型数据 2.4 浮点型数据运行 2.5 字符型数据
主要内容
2.6变量赋初值 2.7 各类数值型数据间的混合运算 2.8 算术运算符和算术表达式 2.9 赋值运算符和赋值表达式 2.10 逗号运算符和逗号表达式
代符表号常常量量3的0,值此在后其凡作在用本域文内件不中能出改现变的,
P也RI不CE能都再代被表赋30值,可。以和常量一样进行运算
9 01.03.2021
2.2 常量与变量
2.2.2 变量 • 变量代表内存中具有特定属性的一个存储单
元,它用来存放数据,这就是变量的值,在 程序运行期间,这些值是可以改变的。 • 变量名实际上是一个以一个名字对应代表一 个地址,在对程序编译连接时由编译系统给 每一个变量名分配对应的内存地址。从变量 中取值,实际上是通过变量名找到相应的内 存地址,从该存储单元中读取数据。
数的范围
(用一字节表示数)
原码 00000111
反码 00000111
10000111 00000000
11111000 00000000
10000000
11111111
01111111~ 11111111 (-127~ (-127~+127)
补码 00000111
i=10; /* 给i赋以整数10 */
14 01.03.2021
2.3 整型数据 注意:
• 十进制数10的二进制形式为1010, Turbo C 2.0和Turbo C++ 3.0为一个整 型变量在内存中分配2个字节的存储单元( 不同的编译系统为整型数据分配的字节数 是不相同的,VC++ 6.0则分配4个字节) 。
基本类型 字符型 char 单精度实型
float 实型(浮点型)
数据类型
构造类型
数组类型 结构类型 联合类型
双精度实型
struct
double
union
指针类型 枚举类型 enum
空类型(无值类型) void
7 01.03.2021
2.2 常量与变量
2.2.1 常量和符号常量
• 在程序运行过程中,其值不能被改变的量称为常量 • 常量区分为不同的类型:
整型 100,125,-100,0
直接
实型 3.14 , 0.125,-3.789
常量
字符型 ‘a’, ‘b’,‘2’
字符串 〝a〞, 〝ab〞,〝1232〞
8 01.03.2021
例2.1 符号常量的使用 #define PRICE 30
运行结果: total=300
#include <st说di明o.:h>如再用赋值语句给PRICE赋值是错的
• 负数补码转换成十进制数:最高位不动,其余位取反加1
01.03.2021
例 补码:11111001
取反:10000110
加1: 10000111=-7
6
2.1 C的数据类型
数据类型决定: 1. 数据占内存字节数;
C语言提供了以下一些数据类型。2. 数据取值范围; 3. 其上可进行的操作
整型 int
11 01.03.2021
2.2 常量与变量
注意:
• 编译系统将大写字母和小写字母认为是两 个不同的字符。
• 建议变量名的长度最好不要超过8个字符 。
• 在选择变量名和其它标识符时,应注意做 到“见名知意”,即选有含意的英文单词 (或其缩写)作标识符。
• 要求对所有用到的变量作强制定义,也就 是“先定义,后使用” 。
• 数值是以补码(complement) 表示的。
15 01.03.2021
2.3 整型数据
(2)整型变量的分类
有符号基本整型 (signed)int 有符号短整型 (signed)short (int )
共六种 有符号长整型 (signed) long (int)
无符号基本整型 unsigned int 无符号短整型 unsigned short (int) 无符号长整型 unsigned long (int) 注意:括号表示其中的内容是可选的.
void main ( )PRICE=40; {
/* 错误,不能给符号常量赋值
int num, total;
num=10;
total=num * PRICE;
printf(″total=%d\n″,total);
}
说符明号:常量程: 用序一中个用标#d识ef符in代e命表令一行个定常义量P。RICE
12 01.03.2021
2.3 整型数据
2.3.1整型常量的表示方法 整型常量即整常数。在C语言中,整常数
可用以下三种形式表示:
(1)十进制整数。 如:123, -456, 4。
(2)八进制整数。以0开头的数是八进制数。 如:0123表示八进制数123,等于十进制数
83,-011表示八进制数-11,即十进制数-9。