C 语言中的关键字 ――什么是“关键字”,就是在 C 语中已经使用了的有特殊含意的字符,在定义变量的时候不要 使用这些“关键字”,否则在编译时会产生许多莫明其妙的错误。
关键字共有 32 个:( P375 )
auto | break | case | char | const |
continue | default | do | double | else |
enum | extern | float | for | goto |
if | int | long | register | return |
short | signed | sizeof | static | struct |
switch | typedef | union | unsigned | void |
volatile | while |
更多关于“常量”的说明 ――在前面已经简单讲了常量的定义,下面是关于常量的更多的内容。 常量与基本数据类型结合起来就是各种不同类型的常量,如:
数据类型 | 中文含义 | 常量实例 | 备注 |
int | 整 型 | 1 123 21000 -234 | |
long int | 长整型 | 35000L -34L | 数后面加 L 表示 |
short int | 短整型 | 10 -12 90 | |
unsigned int | 无符号整型 | 10000U 987U 40000 | 数后面加 U 表示 |
float | 浮点型 | 123.23F 4.34e-3F | |
double | 双精度型 | 123.23 12312333 -0.98765432 | |
long double | 长双精度型 | 1001.2L | 数后面加 L |
十六进制和八进制常量 ――在有些地方使用 8 进制数或 16 进制数比用 10 进制数要方便。以 8 进制为基数的数字系统称为 8 进制,使用数字 0~7 , 8 进制的 10 代表 10 进制的 8 。以 16 进制为基数的系统称为 16 进制,使用数字 0~9 以及 A~F , 16 进制的 10 代表 10 进制的 16 。 8 进制以 0 开头, 16 进制以 0x 开头。
例: int hex=0x80; /*16 进制的 80 ,代表 10 进制的 128*/
int oct=012; /*8 进制的 12 ,代表 10 进制的 10*/
串常量 ―― C 语言还支持另一种类型的常量,即字符串常量。所谓的串是用双引号括起来的若干个字符,如 ”This is test” 就是一个字符串常量。注意字符与字符串的区别。字符一般指单个的字符,用单引号括起来,如 'a' ,而 ”a” 却是一个字符串。
反斜线字符常量 ――这是 C 语言中比较特殊的字符常量,在实际应用中也是最容易出错的地方。这些字符的特点都是以反斜线 '\' 开头,后面跟着的字符表示了其它的含义。
例:
#include<stdio.h>
main()
{
printf(“\n\t This is test”); /* 括号里面就有反斜线字符常量,表示了一种特殊的含义 */
return 0;
}
反斜线代码列表如下:
代码 | 含义 |
\b | 退格 |
\f | 格式馈给 |
\n | 换行 |
\r | 回车 |
\t | 横向跳格 |
\” | 双引号 |
\' | 单引号 |
\0 | 空值 |
\\ | 反斜线 |
\v | 竖向跳格 |
\a | 计算机响铃 |
\N | 八进制常量(其中 N 是八进制常量) |
\xN | 十六进制常量(其中 N 是十六进制常量) |
各种数据类型的含义 ――前面讲了有 3 种基本的数据类型,它们分别是 int, char, float ,实际上经常要用到的有 5 种基本数据类型,还要加上 2 种 void 和 double.
每一种数据类型决定了可以存放什么样的数以及在内存中占多少字节。
(首先要讲一下字节是什么。字节是存储器的计量单位。在计算机中存储器最小的计量单位是 bit (位),每 1 个 bit 对应一个二进制的一位,如有一个二进制数 1101 ,那么这一个二进制数有 4 位,在内存中要占 4 bit 。 1 个字节有 8bit ( 8 位)。对于这些知识一定要熟记。)
各种数据类型在内存中所占的长度:(一般就说数据类型的长度,这个长度也决定了取值范围)
字符型 char 1 个字节( 8 位)
整型 int 2 个字节( 16 位)
实型 float 4 个字节( 32 位)
各种数据类型的变量在内存中的存放形式 ――由于各种数据类型其长度和表示方法不同,在内存中存放的形式就不一样。 数据在内存中是以二进制的形式存放的 (因为计算机只能处理二进制数,虽然有十六进制、八进制数,那只是为了计算方便人为地规定的,计算机可不认识这些东西,计算机把所有的数据、程序都转换成二进制的形式再加以识别和处理。)
例: int i; i=10; 这个 10 由计算机的编译程序转换为二进制的 1010 。为了表示这个二进制数在内存中是怎样存放的,我们用一个小方格表示计算机的最小内存单元 bit (1 位 ) ,那么 1 个字节就有 8 个小方格,注意小方格里面的数是二进制的 1 位:
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
这样 10 进制的数 10 就放进了内存中,可以看到二进制数是从低位开始放置的。这里画了 16 个小方格,因为 int 变量长度为 16 位, 2 个字节。如果定义的是字符型变量,只要画 8 个小方格就可以了。