文档介绍:C语言程序设计
常量示例
#define PRICE 30
#define NUM 12
void main()
{
... ...
total = NUM * PRICE;
total2 = 84 *
1
i/2
-25的补码
j/2
32743的补码/原码
18
C语言程序设计 - 第2章 数据类型、运算符和表达式
整型数据的取值范围
类 型
长度 (bit)
取值范围
[signed] short [int]
16
-215 ~ 215-1
unsigned short [int]
16
0 ~ 216-1
[signed] int
16 or 32
-215(31) ~ 215(31)-1
unsigned [int]
16 or 32
0 ~ 216(32)-1
[signed] long [int]
32
-231 ~ 231-1
unsigned long [int]
32
0 ~ 232-1
19
C语言程序设计 - 第2章 数据类型、运算符和表达式
整型变量的定义 (Definition)
定义形式
int a, b;
unsigned c;
long d;
unsigned short e;
变量的定义一般放在一个函数开头的声明部分,关于变量定义的具体内容在以后相关章节里详细介绍
20
C语言程序设计 - 第2章 数据类型、运算符和表达式
整型变量的定义与使用举例
void main()
{
int a; /*定义有符号基本整型变量a*/
unsigned b; /*定义无符号基本整型变量b*/
long c; /*定义有符号长整型变量c*/
a = -23; /*a的值为-23*/
b = 45; /*b的值为45*/
c = a + b; /*c的值为22*/
}
21
C语言程序设计 - 第2章 数据类型、运算符和表达式
整型数据的溢出 (Overflow)
溢出
数据超出了变量能够存储的范围,造成数据丢失或数值改变等
举例
void main()
{
int a = 32767;
a++; /*32768?*/
}
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
+1
32767的补码
-32768的补码
22
C语言程序设计 - 第2章 数据类型、运算符和表达式
整型常量的类型
常量的类型后缀 (Suffix)
l、L 表示常量是一个长整型
u、U 表示常量是一个无符号整型数
两种后缀可以一起使用
举例
123l 长整型常数123
456U 无符号整型常数456
789ul 无符号长整型常数789
101Lu 无符号长整型常数101
23
C语言程序设计 - 第2章 数据类型、运算符和表达式
整型常量使用中的类型问题
对整型变量赋值
常量的值不要超过变量的取值范围
直接使用常量
带有l、L、u、U等后缀的整型常量一般用于函数调用
不带有后缀的整型常量的类型,是根据其数值大小所处的范围来确定的
24
C语言程序设计 - 第2章 数据类型、运算符和表达式
浮点型 (Floating Point)
浮点型常量的表示方法
浮点型变量
浮点型数据在内存中的存放形式
浮点型变量的类型
浮点型数据的舍入误差
浮点型常数的类型
25
C语言程序设计 - 第2章 数据类型、运算符和表达式
浮点型常量的表示方法
十进制小数形式
由符号、数字和小数点(必须)组成
整数和小数部分都可省略,但不能同时省略
举例,、-.123、123.、0.、.0
指数形式
由整数(或小数)、e(或E)、整数顺序组成
e或E之前必须有数字,之后必须是整数
举例,-×10-5
错例,e1、12e、、.e5、e
26
C语言程序设计 - 第2章 数据类型、运算符和表达式
规范化指数形式
规范化指数形式
类似于“科学计数法”
e或E之前的小数中,小数点前面有且仅有一个非零数字
举例,
规范化形式,、+002
非规范化形式,、、-2、、12345600e-5…
27
C语言程序设计 - 第2章 数据类型、运算符和表达式
浮点型数据在内存中的存放方式
二进制规范化指数形式
小数部分