今天不学习如何造句子(写程序),而是学习C语言中对数据的分类和具体实例。数据是计算机程序加工处理的对象。在程序中,对所有的数据都要先指定其数据结构,然后才可以使用。但C语言的数据结构是以数据的类型的形式出现的,所以我们先了解一下C语言的数据类型有哪些,如下:
在程序运行过程中,其值不能改变的量称为常量。在基本数据类型中,常量可分为:整型常量,浮点型常量,字符型常量(字符常量和字符串常量),枚举型常量和符号常量。
整型常量即为整常数,由一个或者多个数字组成,可带正负号。C语言中整型常量可以用十进制,八进制和十六进制3种形式表示
1,十进制整数
由数字0~9组成,不能以0开头,没有前缀。
合法的十进制整数:239 -239 2390
不合法的十进制整数:023 23D
2,八进制整数
以0为前缀,其后由0~7的数字组成.
合法的八进制整数:015(十进制为13) 0101(十进制为65)
不合法的八进制整数:256(没有前缀0) 0283(不能含有非八进制数8)
3,十六进制整数
以0x或者0X为前缀,其后由0~9的数字a~f(或者A~F)字母组成。
合法的十六进制整数:0x1f(十进制数为31) -0x12(十进制数为-18)
不合法的十进制整数:8C(无前缀) 0x3H(含有非十六进制数码H)
在长整型常量后加后缀L(或者l),无符号常量后加U(或者u),例如:1233L是一个长整型常量, 38478U是一个无符号整型常量,456UL是一个无符号长整型常量。
注:在C程序中是根据前缀来区分各种进制数的,因此在书写常量时不要把前缀弄错,造成结果不正确。
两种表示的方法:十进制小数形式和指数形式
1,十进制小数形式
十进制小数是由数字和小数点组成,必须要有小数点。
如:1.2 .24 2. 0.0等都是合法的小数
2,指数形式
由十进制数,阶码标志“e”或“E”和阶码组成,阶码只能是整数。
例如:123.456可以表示为123.456e0 或12.3456e1 或1.23456e2 或0.123456e3等多种形式 ,其中1.23456e2被称为规范化的指数形式,即小数点左边部分有且只有一位非零的数字 注:e和E的前面必须有数字,后面必须是整数。例如15e2.3 e3 和 .e3都是错误形式。
字符型常量分为字符常量和字符串常量。
1.字符常量
字符常量又称为字符常数, C 语言中的字符常量是用单引号括起来的一个字符.
例如;'a' 、'A'、'x'、'3'和'#'等都是字符常量值.
特点:
(1)字符常量只能用单引号括起来,单引号只起界定作用,不表示字符本身。单引号中只能有一个字符,字符可以是字符集中的任意字符。单引号中的字符不能是单弘号(’)和反斜线(\)
(2)每个字符常量都有一个整数值,就是该数的 ASCI 码值。例如,' a ’的 ASCI 码是97。
(3)字符常量区分大小写。例如 b '和' B '的 ASCI 码值分别是98、66,因此 b ’和' B 代表不同的字符常量。
(4)转义字符:除了以上形式的字符常量外,对于常用的但却难以用一般形式表示的不可显 示字符, C 语言提供了一种特殊形式的字符常量,即用一个转义标识符“\”(反斜线)开头的字符序列,常用的转义字符如下。
使用转义字符时要注意:
(1)转义字符开头的反斜线“\”并不代表一个反斜线字符,其含义是将反斜线后的字符或数字转换成另外的意义。
(2)转义字符仍然是一个字符,对应一个 ASCI 码值。如'\n'代表换行,不代表字符 n 。
(3)反斜线后的八进制数可以不用0开头。如'\101'代表字符常量'A','\134'代表字符常量'\'。
(4)反斜线后的十六进制数只能以小写字母 x 开头,不允许用大写字母 X 或 0x 开头。如‘\x41'代表字符常量 'A' 。
(5)转义字符多用于print( )函数中,而在 scanf( )函数中通常不被使用。
2,字符串常量
用一对双引号括起来的字符串。
例如:“a” “china” "123.0"
C 语言规定字符串常量的存储方式为:字符串中的每个字符以其 ASCII 码值的二进制形式存放在内存中,并且系统自动在该字符串末尾加一个字符串结束标志('\0',即 ASCII 码值为0的字符,它不引起任何控制动作,也不是一个可显示的字符),以便系统据此判断字符串是否结束。例如,字符串“ system ”,实际在内存中存储如下所示:
它占内存不是6个字节,而是7个字节,最后一个字节存储的是'\0',在输出该字节串时'\0'并不输出,仅作为处理时的结束标志。注意,在输入字符串时不必加'\0', '\0'字符是系饻自动加上的。
枚举类型涉及到结构体的知识,所以在这里我进行举例了解,不深入讲解
举例:
enum Sex
{
MALE,
FEMALE,
SECRET
};//括号中的MALE,FEMALE,SECRET是枚举常量
最后用编译器依次将MALE,FEMALE,SECRET的值输出时,它们分别是0,1,2
注:枚举常量的默认是从0开始,依次向下递增1的
在 C 语言中,可以用一个标识符表示一个常量,称之为符号常量,即标识形式的常量。符号常量是一种特殊的常量,其值和类型是通过符号常量的定义决定的。符号常量在使用之前必须定义,其
﹂般形式:
# define 标识符 常量
# define 是一条预处理命令,其功能是把命令格式中的标识符定义为其后的常量值。
注:符号常量的定义在main()在前,在main()里不管运算多少回,它依然是最开始赋予的常量。
举例
#define A 3.14
int main()
{
int r=2;
float s,l;
l=2*A*r;
print("l=%f",l);
}
//运行结果为12.560000