首页 > 数据库 > 其他综合 >

数据类型<1)

2017-04-19

数据类型

常量

常量就是在程序运行过程中其值不能改变的量,我们任意说一个数字、一个单词都是一个常量,例如3就是常量、apple也是常量,常量就相当于数学上常数的概念,只不过计算机的数据类型并不是只有数字,所以称之为常量。根据数据类型的不同又可分为数值常量、字符常量、字符串常量和符号常量。

数值常量可分为整型常量和实型常量。

像1、2、3、100、1000这些是整形常量。1.23、3.14、0.345、5.0这些是实型常量。

字符常量可分为普通字符和转义字符。

例如&#39;a&#39;、&#39;0&#39;、&#39;!&#39;这些都属于普通字符常量。

转义字符是以\开头的一些特殊字符,它们要么代表\后面的那个符号要么行使某一个特殊功能。

C语言的转义字符有:

\

注:字符常量用单引号&#39; &#39;包起来。例如:&#39;a&#39;、&#39;#&#39;、&#39;\n&#39;。

字符串常量是指一串字符,例如"abc"、"china"、"2012"、"abc$@123"等都是字符串常量。字符串常量用双引号" "包起来。

符号常量是使用一个符号来表示一个常量,需要使用#define指令。

例如:#define PI 3.14,这样就定义了一个符号常量PI,它表示3.14,且不能更改,下文一旦出现PI就表示3.14。

示例1:

[cpp] view plain copy print?

#include

int main()

{

#define PI 3.14 //定义一个符号常量,其值为3.14

//PI = 6.28; 符号常量不能重新赋值,这句是错误的

double d = PI * 2; //将PI的两倍赋值给变量d

printf("%f\n",PI); //输出d的值,%f是浮点型数字的输出格式

return 0;

}

有两点需要注意:

1、一旦制定了字符常量PI为3.14其值就确定了。例如示例1的"PI = 6.28;"是不对的。

2、对符号常量赋值不需要等号,语句最后也不需要分号,否则报错。

变量

变量顾名思义就是在程序运行过程中其值可以改变的量,变量有变量类型、变量名和变量值三个属性。变量名就是该变量的数据类型,变量名代表存储该数据的那一块空间。变量值就是该存储空间中存放的值。我们通过示例2来做详细的说明。

示例2:

[cpp] view plain copy print?

#include

int main()

{

int a; //定义一个int类型的变量,变量名为a,未赋值。

int b = 6; //定义一个int类型的变量b,并赋值为6

int c = b * 2; //定义一个int类型的变量c,并将b的两倍赋值给c

a = 5; //为变量a赋值为5

printf("a、b、c的值分别为%d、%d、%d\n",a,b,c); //输出abc的值

return 0;

} 


代码解释:

这个程序定义了三个int类型的变量a、b、c。int就是这三个变量的变量类型,它们的变量名就是a、b、c。变量名的作用是代表存储该数据对应的空间。我们知道int类型占四个字节,那么变量名a实际上就代表了用于存储数据的那四个字节的空间。存放的内容就是变量的值。a = 5;这个语句就是将5这个数据放在了a这个空间里。所以变量a的值就是5。

定义变量有三种方式

1、定义和赋值分开写,就示例2的int a;a=5;

2、定义时同时赋值,如示例2的int b = 6;

3、同时定义多个,例如int a,b,c;当然也可以同时定义并赋值多个。如int a = 5,b = 6,c = b * 2;

示例3:

[cpp] view plain copy print?

#include

int main()

{

int a = 5,b = 6,c = b * 2; //同时定义三个int类型的变量并赋值

printf("a、b、c的值分别为%d、%d、%d\n",a,b,c); //输出abc的值

return 0;

}

关于变量有2个重要的问题

1:变量必须先赋值后使用。例如示例4中把示例2的a = 5;注释掉

示例4:

[cpp] view plain copy print?

#include

int main()

{

int a;

int b = 6;

int c = b * 2;

//a = 5; //未对a赋值

printf("a、b、c的值分别为%d、%d、%d\n",a,b,c);

return 0;

} 


运行结果:

\

程序分析:

因为a还没有赋值就在输出语句中使用它,结果a的值变得莫名其妙。

2、变量的定义一定要放在程序的最前面。否则程序报错。例如示例5,把示例2的a = 5;放在定义变量b、c的前面。

示例5:

[cpp] view plain copy print?

#include

int main()

{

int a;

a = 5; //把对a的赋值语句放在定义b、c的上面

int b = 6;

int c = b * 2;

printf("a、b、c的值分别为%d、%d、%d\n",a,b,c);

return 0;

}

常变量

常变量是常量和变量的结合体,和符号常量类似,值都不能改变,但又具备了变量的变量类型、变量名和变量值的属性。简单的说常变量就是其值不能改变的变量。

例如:

[cpp] view plain copy print?

#include

int main()

{

#define PI 3.14 //定义符号常量PI,值为3.14

const double pi = 3.14; //定义一个实型常变量,名为pi,值为3.14

double d1 = PI * 2; //定义实型变量,名字为d1,其值为PI的两倍。

double d2 = pi * 2; //定义实型变量,名字为d2,其值为pi的两倍。

printf("d1 = %lf\n",d1); //输出d1的值

printf("d2 = %lf\n",d2); //输出d2的值

return 0;

}

程序分析:

程序运行结果表示d1和d2的值是一样的,那么符号常量和常变量有什么区别呢?区别是符号常量不分配内存空间,#define PI 3.14的作用是把用PI来代表3.14,而常变量是在内存划了一个空间,往里面放了一个变量。const double pi = 3.14的作用是在内存中划出了一个8字节大的空间,这个空间在程序运行过程中被命名为pi,里面存放着一个数据3.14。

变量、常量和常变量并不是能随意的取名的,它必须遵守变量命名规则。否则程序报错。另外在命名的基础上,还要遵守命名规范。不遵守命名规范程序不会报错,但是建议遵守,因为这是行业内的默认规则。

相关文章
最新文章
热点推荐