文档介绍:第二章数据类型、运算符与表达式
数据类型
常量与变量
不同类型数据间的转换
运算符和表达式
数据类型
数据类型总表
<
>
C
数
据
类
型
基本类型
构造类型
指针类型
空类型void
定义类型typedef
字符类型char
枚举类型enum
整型
实型
单精度型float
双精度型double
数组
结构体struct
共用体union
短整型short
长整型long
整型int
数据类型决定:
1. 数据占内存字节数
2. 数据取值范围
3. 其上可进行的操作
语言程序设计
第二章数据描述
C
基本数据类型
<
>
类型
符号
关键字
数的表示范围
所占位数
整型
字符型
实型
有
无
(signed)int
16
-32768~32767
(signed)short
16
-32768~32767
(signed)long
32
-2147483648~2147483647
16
unsigned int
0~65535
32
0~4294967295
unsigned long
unsigned short
16
0~65535
有
float
32
-38~
有
double
64
-308~
有
char
8
-128~127
无
unsigned char
8
0~255
说明:数据类型所占字节数随机器硬件不同而不同,上表以IBM PC机为例:
语言程序设计
第二章数据描述
C
常量与变量
标识符
定义:用来标识变量、常量、函数等的字符序列
组成:
只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线
大小写敏感
不能使用关键字
长度:最长32个字符
命名原则:
见名知意
不宜混淆如l与I, o与0
例:判断下列标识符号合法性
sum Sum day Date 3days
student_name #33 lotus_1_2_3
char a>b _above $123
<
>
3days
#33
char
$123
a>b
语言程序设计
第二章数据描述
C
一般用大写字母
是宏定义预处理命令,不是C语句
直接常量:
整型常量
实型常量
字符常量
字符串常量
如#define PRICE 30
常量
定义:程序运行时其值不能改变的量(即常数)
分类:
符号常量:用标识符代表常量
定义格式: #define 符号常量常量
>
>
>
>
<
>
例符号常量举例()
#define PRICE 30
main()
{
int num,total;
num=10;
total=num*PRICE;
printf("total=%d",total);
}
运行结果:total=300
语言程序设计
第二章数据描述
C
整型常量(整常数)
三种形式:
十进制整数:由数字0~ 123,-456,0
八进制整数:由数字0开头,后跟数字0~,011
十六进制整数:由0x开头,后跟0~9,a~f,A~F表示. 如0x123,0Xff
<
例 12 与 12L
例 30000 为int型
65536 为long int 型
整型常量的类型
根据其值所在范围确定其数据类型
在整常量后加字母l或L,认为它是long int 型常量
问题:
0123 = ( )10
0x123 = ( )10
0Xff = ( )10
83
291
255
问题:
0123 = ( )10
0x123 = ( )10
0Xff = ( )10
语言程序设计
第二章数据描述
C
实型常量(实数或浮点数)
表示形式:
十进制数形式:(必须有小数点) , .123, , , 123.
指数形式:(e或E之前必须有数字;指数必须为整数) ,123E2, , e-5 , -
<
实型常量的类型
默认double型
在实型常量后加字母f或F,认为它是float 型
语言程序设计
第二章数据描述
C
字符常量
定义:用单引号括起来的单个普通字符或转义字符.
字符常量的值:该字符的ASCII码值
<
转义字符及其含义:
转义字符
含义
\n
\v
\r
\a
\‘
\ddd
\t
\b
\f
\\
\“
\xhh
转义字符
含义
换行
垂直制表