-
数据的表现形式
一、常量:在程序运行中值不变的量;
- 整型常量:如100,0,-123等都是整型常量;
- 实型常量:
①十进制小数形式,由数字和小数点组成。如123.456。
②指数形式,如12.34e3(代表12.34),e或E代表以10为底的指数。
3. 字符常量
①普通字符:用单撇号括起来的一个字符,如:’a’, ’Z’, ’3’, ’?’, ’#’。
②转义字符:以字符“\”开头的字符序列。
转义字符及其作用对应表格:
转义字符 | 字符值 | 输出结果 |
\’ | 一个单撇号(’) | 输出单撇号字符 ’ |
\’’ | 一个双撇号(’’) | 输出双撇号字符 ’’ |
\? | 一个问号(?) | 输出问好字符 ? |
\\ | 一个反斜线(\) | 输出反斜号字符 \ |
\a | 警告(alert) | 产生声音或视觉信号 |
\b | 退格(backspace) | 将光标当前位置后退一个字符 |
\f | 换页(form feed) | 将光标当前位置移到下一页的开头 |
\n | 换行 | 将光标当前位置移到下一页的开头 |
\r | 回车(carriage return) | 将光标当前位置移到本行的开头 |
\t | 水平制表符 | 将光标当前位置移到下一个Tab位置 |
\v | 垂直制表符 | 将光标当前位置移到下一个垂直制表对齐点 |
\o、\oo或\ooo O代表一个八进制数 | 与该八进制码对应的ASCII字符 | 与该八进制码对应的字符 |
\xh[h…] h代表一个十六进制数 | 与该十六进制码对应的ASCII字符 | 与该十六进制码对应的字符 |
4. 字符串常量:
用双撇号把若干个字符括起来,字符串常量是双撇号中全部字符(但不包括双撇号本身),如”abc”,”123”等。
5. 符号常量
用#define指令,指定用一个字符名称代表一个常量。如:
#define PI 3.1415 //不加分号
经过以上指定后,本文件中所有PI都代表3.1415.
好处:
①含义清楚;
②在需要改变程序中多处用到同一常量时,能做到“一改全改”。
二、变量
在程序运行期间,变量的值是可以改变的。变量必须先定义后使用,在定义时指定该变量的名字和类型。变量名实际上是以一个名字代表的一个存储地址。
- 常变量
C99允许使用常变量,方法是在定义时,前面加一个关键字const,如:
const int a = 3;
定义a为一个整形变量,指定其值为3,而且在变量存在期间其值不能改变。
常变量与常量的异同:常变量具有常量的基本属性:有类型,占存储单元,只是不允许改变其值。可以说,常变量是有名字的不变量,而常量是没有名字的不变量。有名字就便于组程序中被引用。
2. 标识符
在计算机高级语言中,用来对变量、符号常量名、函数、数组、类型等命名的有效字符序列统称为表示符(identifier)。简单地说,表示符就是一个对象的名字。
-
数据类型
本章主要介绍整型、字符型、浮点型。
一、整型数据
(一)、整型数据的分类
- 基本整型(int型)
- 短整型(short int)
- 长整型(long int)
- 双长整型(long long int)
(二)、整型变量的符号属性
以上的几种类型,变量值在存储单元中都是以补码形式存储的,存储单元中的第1个二进制位代表符号。
表:整型数据常见的存储空间和值的范围(Visual C++的安排)
类型 | 字节数 | 取值范围 |
int | 4 | -2 147 483 648~2 147 483 647,即- |
unsigned int | 4 | 0~4 294 967 295,即0 ~ ( |
short | 2 | -32 768~32 767,即- |
unsigned short | 2 | 0~65 535,即0 ~ ( |
long | 4 | -2 147 483 648~2 147 483 647,即- |
unsigned long | 4 | 0~4 294 967 295,即0 ~ ( |
long long | 8 | -9 223 372 036 854 775 808~9 223 372 036 854 775 807, 即- |
unsigned long long | 8 | 0~18 446 744 073 709 551 615,即0~( |
注:对于不同的编译系统分配的字节数略有差异。
二、字符型数据
(一)字符与字符代码
字符与字符代码并不是任意写一个字符,程序都能识别的。只能使用系统的字符集,目前大多数系统采用ASCII字符集。字符是以整数形式(字符的ASCII代码)存放在内存单元中的。各种字符集的基本集都包括了127个字符。包括:
- 字母:大写A~Z,小写a~z;
- 数字:0~9;
- 专门符号:29个: ! “ # & ‘ ( ) * + , - / : ; < = > ? [ \ ] ^ _ ` { | } ~
4.空格符:空格、水平制表符(Tab)、垂直制表符、换行、换页(form feed)
5.不能显示的字符:空(null)字符(以‘\0’表示)、警告(以’\a’表示)、退格(以’\b’表示)、回车(’\r’表示)等。
(二)字符变量
字符变量是用类型符char定义字符变量。
表:字符型数据的存储空间和值的范围
类型 | 字节数 | 取值范围 |
signed char(有符号字符型) | 1 | -128~127,即- |
unsigned char(无符号字符型) | 1 | 0~255,即0~( |
三、浮点型数据
浮点型数据是用来表示具有小数点的实数的。浮点型数据包括:
- float型(单精度浮点型)
- double型(双精度浮点型)
- long double型(长双精度型)
表:实型数据的有关情况
类型 | 字节数 | 有效数字 | 数值范围(绝对值) |
float | 4 | 6 | 0以及 |
double | 8 | 15 | 0以及2.3× |
long double | 8 | 15 | 0以及2.3× |
16 | 19 | 0以及3.4 |
参考文献:《C程序设计》谭浩强