内容正文:
专题一 基本数据类型(讲义)
---《编程语言基础—C语言》专题复习讲练测
[考纲要求]
1:了解C语言的基本数据类型
2:理解常量和变量的定义
[课时安排]
2课时
[知识梳理]
一:C语言数据类型
二:C语言基本数据类型
类型标识符
名称
长度(B)
表示范围
char
字符型
1
0~255
short
短整型
2
-215~+215-1(-32768~32767)
int或long
整型(长整型)
4
-231~+231-1(-2147483648,2147483647)
float
浮点型(实型)
4
10-37,10+38(绝对值)
double
双精度浮点型
8
10-307,10+308(绝对值)
unsigned只用于非负值的场合。这种类型与有符号类型表示的范围不同。例如,在int类型之前加上关键字unsigned,即表示无符号整数类型,其值为非负整数。
例如,在16位系统中,unsigned int允许的取值范围是0~65535,而不是-32768~32767。
【知识拓展】
整数类型和浮点数类型的区别:在C语言中,整数是没有小数部分的数。例如,3、−123和456都是整数。而1.14、0.12和3.000000都不是整数。整数没有小数部分,浮点数有小数部分。浮点数可以表示的范围比整数大。
整数类型在内存中的存放形式:
例如,整数5在内存中以二进制编码的形式存储。在1个字节中存储,将前5位数字设置为0,后三位数字分别设置为1,0,1。
浮点数在内存中的存放形式:
三:常量和变量
常量和符号常量:
概念:某些数据类型在程序使用之前已经预先设定好了,其值在程序运行过程中不可以改变的量称为常量。常量可以用一个标识符来进行表示,称为符号常量,可在程序的开头用#define命令来进行定义。例如:
#define PI 3.1415926
在程序中可用PI来代替3.1415926。
分类:
(1)整形常量
概念:C语言把不含小数点和指数的数作为整数。例如21、32都是整型常量。C语言把大多数整型常量视为int类型。
表示形式:通常,C语言都假定整型常量是十进制数。但整型常量也有八进制、十六进制以及long型十进制整数形式。
进制
说明
举例
十进制整型
包含数字0-9,逢十进一
25、56
八进制整型
包含数字0-7,逢八进一,以0开头
012、047
十六进制整型
包含数字0-9、字母A-F或a-f,以0x或0X开头
0xa5、0XE8
long型十进制整数
以l或L结尾,表示该类型为十进制长整型
0L
任何类型的数据在计算机中都是以二进制补码的形式存在。
【知识拓展】
机器数:一个数在计算机中的二进制表示形式,叫做这个数的机器数。机器数是带符号的,在计算机用机器数的最高位存放符号,正数为0,负数为1。
例如:十进制中的数+4 ,计算机字节为8位,转换成二进制就是0000 0100。如果是 -3 ,就是 1000 0100。
原码、反码与补码:
①原码:将最高位作为符号位(0表示正,1表示负),其它数字位代表数值本身的绝对值的数字表示方式。
②反码:如果是正数,则表示方法和原码一样;如果是负数,符号位不变,其余各位取反,则得到这个数字的反码表示形式。
③补码:如果是正数,则表示方法和原码一样;如果是负数,则将数字的反码加上1(相当于将原码数值位取反然后在最低位加1)。
原码、反码、补码之间的关系:正数的补码等于其原码,负数的补码等于其原码的反码+1。
(2)浮点型(实型)常量
C语言中的浮点类型主要分为单精度(float)和双精度(double)两种,一般以双精度为主。在一个值后面加上一个小数点,该值就成为一个浮点值。所以,7是整数,7.00是浮点数。2.34、3.18E9、9.00 和 2e-7 都是浮点数。
科学计数法:科学计数法使用指数来表示一个数的大小,其形式为(数字)e(指数)其中数字是实数,通常在1和10之间,而指数代表的是一个整数,表示10的幂次。在C语言中,我们可以使用e或E来表示指数。
例如,2.5e3表示2.5乘以10的3次方,即2500
2.51e-2表示2.51乘以10的-2次方,即0.0251
原则:出现在字母e(或E)之前的小数点,其左边和右边至少应有一位数字,在字母e(或E)之后必须是整数。
(3) 字符型常量
C语言中的字符常量是用单引号(')括起来的一个字符。如'A'、'x'、'D'、 '?'、'3'、'X'等都是字符常量。对于字符来说,'x'和'X'是两个不同的字符。字符常量只能是单个字符,不能是字符串。
字符数据存放在内存中,并不是字符的本身,而是字符的代码,即ASCII码。字符数据在内存中仅占