C++常量

根据前面变量知识点的学习可以知道,

常量--不能改变的量 常量可分为以下四种: 1字面常量 2const修饰的常变量 3#define定义的标识符常量 4枚举常量。

第一种字面常量 请看如下代码: #include<stdio.h>

int main() { 50; 100; return 0; }

结果:“空白”

原因,本人理解,50,100为常量,不需要进行计算,就可以直接得出来,无需进行系统编译,故不显示。

第二种常量表示方式--const修饰的常变量

即将变量经过const修饰过后,使得变量变成一个常量

例如:

#include<stdio.h>

int main()

{

const int age = 22;

int c = age;

printf("c=%d/n", c);

return 0;

}

结果:22

为什么叫常变量,而不是就叫常量呢?

接下俩引入一个概念,数组[X](X为常量),即数组中[]内的数必须是确切的常量,而不是变量

接下来请看代码2

#include<stdio.h>

int main()

{

int arr[10];

return 0;

}

这段代码系统未报错

接下来看[]内的为变量,但我们用const进行修饰,代码3

#include<stdio.h>

int main()

{

const int add=10;

int arr [add];

return 0;

}

系统会在[add]这里报错,表面这里的add经过const修饰后并不是一个真正的常量,只是代表着在某些时候经过修饰后,在对变量要求不太高的情况下,使变量获得了常量的能力,本质上还是变量,故称为“常变量”

第三种常量表示--用#define定义的常量,通过define定义后的变量就是一个彻彻底底的常量,不再具有变量功能

请看代码4

#include<stdio.h>

#define MAX 10

int main()

{

int a = MAX;

printf("a=%d/n",a);

return 0;

}

如果我们已近定义过MAX了,我任让它做变量来处理,接下来就会报错,代码5

#include<stdio.h>

#define MAX 10

int main()

{

int MAX = 100;

int a = MAX;

printf("a=%d/n",a);

return 0;

}

此时int MAX = 100;这一栏,就会被标记报错

第四种常量--枚举常量--可以一个一个列举的常量

如,性别:男人,女人,秘密

星期:星期一,星期二,星期三,···

接下来定义一个枚举常量的函数

#include<stdio.h>

enum Sex

{

MALE,

FEMALE,

SECRET

};

int main()

{

enum Sex s = MALE;

printf("%d/n",MALE);

printf("%d/n",FEMALE);

printf("%d/n",SECRET);

return 0;

}

结果:0

1

2

结论:枚举变量是常量

如果未给枚举变量赋初值,则默认是从0开始以等差为1的逐级增加的等差数列

如果赋初值会如何?

#include<stdio.h>

enum Sex

{

MALE = 3,

FEMALE,

SECRET

};

int main()

{

enum Sex s = MALE;

printf("%d/n",MALE);

printf("%d/n",FEMALE);

printf("%d/n",SECRET);

return 0;

}

结果:3

4

5

结论:如果未给枚举变量赋初值,则默认是从开始赋的初值以等差为1的逐级增加的等差数列

此文章为本人理解的,如有不对请指正。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值