《高级语言程序设计教学课件》第5章.pptx
第5章数据类型和表达式
C
数
据
类
型
指针类型
空类型void
基本类型
字符类型char
数值类型
整型
短整型short
长整型long
整型int
浮点型
单精度型float
双精度型double
构造类型
枚举类型enum
数组
结构体struct
共用体union
数据在计算机内存中以【】形式存储
A、二进制 B、十六进制
C、十进制 D、八进制
整型数据在内存中以【】存储
A、原码 B、反码
C、补码 D、ASCII码
符号常量定义:用标识符代表一个常量
使用符号常量的优点
含义清楚
一改全改
注意:符号常量名通常用大写,变量名用小写
1
2
5
#includestdio.h
#definePI5.1415927
main()
{
floatr1,r2,len1,len2,s1,s2;
r1=10;
r2=20;
len1=2*PI*r1;
s1=PI*r1*r1;
printf(len1=%fs1=%f\n,len1,s1);
len2=2*PI*r2;
s2=PI*r2*r2;
printf(len2=%fs2=%f\n,len2,s2);
}
符号常量定义
符号常量使用
01
02
03
整型
实型
字符型
基本类型:int
类型
比特数
取值范围
[signed]int
32
-231~(231-1)
unsigned[int]
32
0~(232-1)
[signed]short[int]
16
-215~(215-1)
unsignedshort[int]
16
0~(216-1)
[signed]long[int]
32
-231~(231-1)
unsingedlong[int]
32
0~(232-1)
整型常量表示方式
8
1、整型常量表示方式
十进制
如:12,-123,0
八进制(以0开头)
如:012表示10
十六进制(以0x开头)
如:0x12表示18
长整型需在数值后面加上一个字母L或l:123L、0123L。
无符号常量后面加上字母U或u:
123U、0x123U。
1、实型数据的存储
实型数据一般占4个字节(float型)
举例:(3.14159)10=0.11001001000011111100111110*1010
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
0
1
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
阶符阶码
数符尾数
指数形式
123.4e4-123E3.123e-10
十进制小数形式
.123123.456-123.0.0
实型常量表示方式
3、实型变量
说明:ANSIC并没有具体规定每种类型的长度、精度和数值范围。下面是常用的C编译系统的情况
类型
字节数
有效数字
最小取值范围
float
4
6~7
-3.4*10-38~3.4*1038
double
8
15~16
-1.7*10-308~1.7*10308
实型数据的舍入误差
从上面的表中可以看出,实型数据的有效数据是有限的,有效数据以外的数字将被舍去。因此会产生误差
实型常量的类型
系统默认为double类型
若希望指定为float类型在后面加f或F
3f-0.123F2e-3f
1
2
1、字符数据的存储
一个字节存储一个字符数据
字节中存储的是字符的ASCII码
如:字符A
0
1
0
0
0
0
0
1
A
65
字符常量
15
2、字符常量
以单撇号括起来的一个字符。如a、C、#
以一个\开头的字符序列。
字符形式
含义
ASCII码
\n
换行,将当前位置移到下一行开头
10
\t
水平制表(跳到下一个tab位置)
9
\b
退格,将当前位置移到前一列
8
\r
回车,将当前位置移到本行开头
13
\f
换页,将当前位置移到下一页开头
12
字符形式
含义
ASCII码
\\
反斜杠字符\
92
\
单撇号字符
39
\
双撇号字符
34
\ddd
1到3位8进制数所代表的字符
\xhh
1到2位16进制数所代表的字符
问题:已知换行的ASCII码值为10,则下列正确表示换行符的方法是:(ch是字符型变量)
(A)ch=\n;
(B)ch=\10;
(C)ch=\12;
(D)ch=\x10;
(E)ch=\xa;
(F)ch=