C语言第二步:常量、变量、数据类型

目录

一.常量

第一种形式:字面常量

第二种形式即为const修饰的常变量

第三种形式是由#define定义的标识符常量

第四种形式:枚举常量

二.变量

1.概念

2.命名规则

3.生命周期

4.作用域

三.数据类型

1.概念

2.类型分类

1)四种整数类型(byte、short、int、long):

2)两种浮点数类型(float、double):

3)一种字符类型(char):


一.常量

“常量”的广义概念是:“不变化的量”,而在计算机程序运行时,指的是不会被程序修改的量。这个概念很容易理解,而需要我们这些小萌新去学习的是在计算机程序里常见的几种常量表现形式。

第一种形式:字面常量

如:25、0为整型常量,6.8为实型常量,‘a’、‘b’为字符常量。这种能从其字面形式即可判断的常量称为字面常量或直接常量。

第二种形式即为const修饰的常变量

其格式如下:

const int a = 10; //此值不可被修改

此时a仍然是一个变量 ,而const限定一个变量不允许被改变,产生静态作用。

需要注意的是,C语言关键字const就是用来限定一个变量不允许被改变的修饰符(Qualifier)。上述代码中变量n被修饰为只读变量,可惜再怎么修饰也不是常量。而ANSI C规定数组定义时长度必须是“常量”(C99标准,数组下标可以用变量来表示),“只读变量”也是不可以的,“常量”不等于“不可变的变量”。但是在C++中,局部数组是可以使用变量作为其长度的。

第三种形式是由#define定义的标识符常量

其格式如下:

#define A 100 //将标识符A定义为100的整型常量

其中#define 也是一条预处理命令(预处理命令都以"#"开头),称为宏定义命令,其功能是把该标识符定义为其后的常量值。一经定义,以后在程序中所有出现该标识符的地方均代之以该常量值。习惯上符号常量的标识符用大写字母,变量标识符用小写字母,以示区别。

第四种形式:枚举常量

其格式如下:

enum 枚举类型名 { 常量1,常量2.....};

枚举常量是要占用内存的,它要在内存中开辟一个空间来存放枚举变量;其常量值在没有赋值时系统会默认给它的第一个变量赋值0,后面的依次为1、2......使用枚举类型的最大好处是使得程序可读性增强。如果只给其中一个枚举常量赋值,但是后面的值没有被赋予。那么后的常量会根据被赋予值开始,依次递增。而被赋值前的值从0开始递增。

二.变量

1.概念

变量来源于数学,是计算机语言中能储存计算结果或能表示抽象概念

由于变量让你能够把程序中准备使用的每一段数据都赋给一个简短、易于记忆的名字,因此它们十分有用。变量可以保存程序运行时用户输入的数据(如使用InputBox函数在屏幕上显示一个对话框,然后把用户键入的文本保存到变量中)、特定运算的结果以及要在窗体上显示的一段数据等。简而言之,变量是用于跟踪几乎所有类型信息的简单工具。
变量声明后没有赋值的话,编译器会自动提示并赋予默认值。

2.命名规则

首先,我们必须给变量取一个合适的名字,就好像每个人都有自己的名字一样,否则就难以区分了。 变量的命名必须遵循以下规则: 
(1)变量名必须以字母或下划线打头,名字中间只能由字母、数字和下划线“_”组成;最后一个字符可以是类型说明符;
(2)变量名的长度不得超过255个字符;
(3)变量名在有效的范围内必须是唯一的。有效的范围就是引用变量可以被程序识别、使用的作用范围——例如一个过程、一个窗体等等。有关引用变量作用范围的内容,我们将其称为作用域。
(4)变量名不能是关键字,也不能是类型名,

注:定义和使用变量时,通常要把变量名定义为容易使用阅读和能够描述所含数据用处的名称,而不要使用一些难懂的缩写如A或B2等。

命名形式如下:

变量类型 变量名;

3.生命周期

变量存在的时间称为生命周期。全局变量的存活期从被声明的一刻起,直到运行结束。对于局部变量,其存活期仅是该过程运行的时间,该过程结束后,变量随之消失。在执行过程时,局部变量是理想的临时存储空间。可以在不同过程中使用同名的局部变量,这是因为每个局部变量只被声明它的过程识别。

4.作用域

变量的作用域由声明它的位置决定。如果在过程中声明变量,则只有该过程中的代码可以访问或更改变量值,此时变量具有局部作用域并被称为过程级变量。如果在过程之外声明变量,则该变量可以被所有过程所识别,称为全局变量,具有整个工程作用域。

三.数据类型

1.概念

数据类型在数据结构中的定义是一组性质相同的值的集合以及定义在这个值集合上的一组操作的总称。

变量是用来存储值的所在处,它们有名字和数据类型。变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。在声明变量时也可指定它的数据类型。所有变量都具有数据类型,以决定能够存储哪种数据。

2.类型分类

在这里,我只对基本类型进行讲解,因为其他还比较高深,适合单开一篇博客进行阐述。

1)四种整数类型(byte、short、int、long):

byte:8 位,用于表示最小数据单位,如文件中数据,-128~127

short:16 位,很少用,-32768 ~ 32767

int:32 位、最常用,-2^31-1~2^31 (21 亿)

long:64 位、次常用

整数字面量默认都为 int 类型,所以在定义的 long 型数据后面加 L或 l。

小于 32 位数的变量,都按 int 结果计算。

2)两种浮点数类型(float、double):

float:32 位,后缀 F 或 f,1 位符号位,8 位指数,23 位有效尾数。

double:64 位,最常用,后缀 D 或 d,1 位符号位,11 位指数,52 位有效尾

注意事项:

浮点数字面量默认都为 double 类型,所以在定义的 float 型数据后面加F 或 f;double 类型可不写后缀,浮点数是不精确的,不能对浮点数进行精确比较。

3)一种字符类型(char):

char:16 位,是整数类型,用单引号括起来的 1 个字符(可以是一个中文字符),使用 Unicode 码代表字符,0~2^16-1(65535) 。

注意事项: 不能为 0个字符。

转义字符:\n 换行; \r 回车; \t Tab 字符; \" 双引号 ;\\ 表示一个\

char 本质就是个数!二进制的,显示的时候,经过“处理”显示为字符。

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值