百世不易之常量与变化莫测之变量

常量

含义

在程序运行过程中不能改变的量。程序可以在程序中直接书写常量。

分类

常量
整数常量
浮点数常量
字符常量

整数常量

分类
整数常量
十进制整数
八进制整数
十六进制整数
长整数
无符号类型整数
十进制整数

直接写出数字,例:101、221、-54

八进制整数

以零开头,由0到7组成,例:0123、022、-032

十六进制整数

以0x开头 由0到9和A到F组成,例:0x123、-0x33

长整数

后面加大写L或小写l (不加默认为整型),例:128L、0x33L

无符号类型整数

后面加大写U或小写u (不加默认为有符号),例:12U、0x44U、067u

浮点数常量

必须以10进制形式出现

浮点数常量
小数形式
指数形式
分类
小数形式

1.65、9.83、1.0、.12
小数点必须写出来不能省略,若其前或后有零,可省略
如:1.0、0.12可以写成1.、.12

指数形式

十进制数+E(或e)+十进制整数
如:1.23e5、2.5e-2

注意
1.

小数1.0和整数1是不同的。虽然两者在数值上相等,但两者类型不同。
不同的数据类型,在计算机的运算过程中采用的方式也不同,最终会导致结果不同

2.

实行常量默认是double型的实数,如果在数的后面加字母F或f,则认为是float型的实数。

字符常量

分类
字符常量
普通字符常量
转义字符常量
普通字符常量

英文单引号引起来的字符,如:‘A’、‘#’

转义字符常量

英文单引号引起来,反斜杠开头,如:‘\’、‘\101’

注意

由于ASCII码的存在,将码值和字符关联在一起。所以一个字符常量的表示方法有多种,可以使用字符本身,也可以使用数值,在程序的编写过程中尽量使用字符本身,这样可以提供程序的可读性。如:‘A’与65储存在计算机中时完全一样。

变量

含义

在程序运行过程中其值可以改变的量

分类

变量
整数变量
浮点数变量
字符变量

特点

1.

变量的名称必须用标识符来标识。

2.

变量由变量名、变量值、存储空间组成

3.

变量根据数据类型可以分为不同的变量类型,不同类型变量的存储空间是不同的

4.

变量代表一个有名字的、具有特定属性的一个存储单元

5.

变量用来存放数据,也就是存放变量的值

6.

变量必须先定义,后使用

变量的定义

变量定义的本质时按照变量的数据类型给变量分配一定的存储空间,格式如下:

[存储类别][类型说明符] [变量1],[变量2],[变量3],…,[变量N];
即:【变量名】 【存储空间】

注意

1.

存储类别在大多数使用情况下是不指明的,默认缺省为auto类比

2.

类型说明符为整型、浮点型或字符型的说明符

3.

相同类型的各个变量,可以在一行语句中定义。各变量间用逗号隔开,语句末尾以分号表示结束。

变量的赋值

1.

变量只有通过赋值的方式才能使变量的第三要素(变量的值)有意义

2.

变量赋值需要使用赋值运算“=”

3.

变量的赋值,有两种方式,一是:先定义后赋值,二是:定义的同时及进行赋值

先定义后赋值的方式

适用于代码中的任何地方,只需要修改变量的值,就可以使用赋值运算符“=”
将其赋值。赋值时,运算符“=”右边可以是一个常量,也可以是一个变量。
例:

#include<stdio.h>
int main()
{
  int a,b;
  a=10;
  b=a;
 }
定义的同时进行赋值的方式

又称作变量的初始化,其方法是在定义的变量后,使用赋值运算符“=”
进行赋值。灵活的使用初始化方法,可以是代码更简洁,可读性更高

#include<stdio.h>
int main()
{
  int a=10,b=a;
} 

4.

对一个变量赋值以后,该值被存放在分配给该变量的内存空间中

5.

不允许多个未定义的同类型变量连续初始化
如:
错误形式:

int a=b=10;

正确形式:

int a=10,b=10;

6.

初始化时一般应使“=”右边表达式的数据类型和“=”左边变量的类型保持一致,如不一致,系统就会进行自动赋值转换
例:

#include<stdio.h>
int main()
{
  int a=3.14;
  printf("a=%d",a);
}

由于定义a为整型变量,但赋值数据为浮点型数据,故输出结果为:
a=3

7.

只定义未赋值或未初始化的变量,其值使由定义时所使用的存储类型决定的。不同编译器情况是不同的,有些编译器下其值是未知的

例:

#include<stdio.h>
int main()
{
  char a;
  printf(“a=%c”,a);
 }

由于未给定义的字符a进行初始化或赋值,在dev-c++中输出结果为:
a=

常变量

含义

既具有常量的特点也具有变量的特点。
例:

#include<stdio.h>
int main()
{
  const double pi=3.14159;
  double s;
  s=pi*10*10;
  printf("s=%lf",s);
}

特点

1.

常变量是一种特殊的变量

2.

变量在定义时,在类型说明符前加const说明符,表示该变量为一个常变量

3.

常变量同样具有变量的三要素:变量名,存储空间和变量值(初值)。

4.

常变量必须在定义的同时赋值,并且在程序运行的过程中,其值不能发生改变,体现出常量的性质。

5.

常变量这种特性适用于某些经常用到的常数数值,如圆周率Π

特殊说明——符号常量(#define)

例:

#include<stdio.h>
#define PI 3.14
int main()
{
  const double r=10;
  double s;
  s=PI*r*r;
  printf("s=%lf",s);
}

其代表含义为后续程序中出现的“PI”都将以“3.14”进行替换

常变量与符号变量的不同

1.位置

常变量出现在函数体内;符号变量出现在函数体外

2.获取值的方式

常变量使用赋值号”=“对变量进行初始化或赋值;符号常量使用空格隔开

3.分号使用与否

常变量属于变量,定义或赋值后使用分号结束,是一条正常的程序语句;符号常量后不使用分号。

4.内存分配与否

const定义的常变量在程序运行时在常量表中,系统为其分配内存;define是宏定义,程序在预处理阶段使用define定义的内容进行了替换,系统不为其分配内存。

5.编译时类型检查与否

const定义的常变量,在编译时进严格的类型检验,可以避免出错;define定义的常量,预处理时只是直接进行了替换,所以编译时不能进行数据类型检验

总结

简要总结变量、常量、常变量和符号常量的知识点,并分析后两者的不同之处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值