c++常量和变量-lesson3

计算机处理的对象是数据,数据包括常量和变量,它是以某种特定形式存在的,C++可以使用的数据类型包括以下,数据结构是数据的组织形式,包括数组、表、树、栈等。
c++标准没有规定每种数据类型所占字节的大小,只做了建议,因此每种编译器都不同。
在这里插入图片描述
在这里插入图片描述

常量的分类–文字常量(Literal Constant)和常变量(Constant Variable)

  1. 文字常量
    文字常量又称为“字面常量”,包括数值常量、字符常量和符号常量。其特点是编译后成为立即数写在代码区,不可寻址,不可更改,属于指令的一部分(注意与后面的字符串常量的区别)
    1)数值常量:包括整型常量和实型常量(注意整形常量没有无符号的说法),编译系统根据数值的大小确定类型;
    2)字符常量:指ASCII字符,有128个,分为普通字符和转义字符。普通字符指可直接书写的字符,如’a’和’b’。转义字符指不能直接书写的特殊字符,需要使用反斜杠进行表示,比如’\t’表示水平制表符,’\v’表示垂直制表符;
    3)符号常量:用标识符代表一个常量,使用之前必须定义。例如宏定义和枚举元素。 #define NUM 100 //NUM为符号常量,100为整型常量,enum Weekday{SUN, MON, TUES, WED, THU, FRI, SAT}; //SUN,MON等均为符号常量 。
    4)布尔常量
  2. 常变量(存放在内存常量区)
    常变量指定义时必须显示初始化且值不可修改的变量。与其他变量一样被分配空间,是可以寻址的**。注意,字符串常量是常变量的一种,名称为其本身,存储在代码段,可寻址,不可修改**。
    cout<<&”hello world”<<endl; //打印输出字符串常量”hello world”存储地址
    常变量在C/C++中由const关键字来定义,分为全局常变量和局部常变量。二者的区别在于:全局常变量存储在代码段的只读内存区域,不可修改有操作系统来保障,局部常变量(类如函数的形参就是这样)存储在栈区,在编程语言语义层面上由编辑器做语法检查来保障其值不可修改,因不是放在只读内存中,可以获得局部常变量的地址,运行时间接进行修改。

变量:
1)命名规则
a.标识符的定义:用来标识变量、符号常量、函数、数组、类型等实体名字的有 效字符序列–就是名字,变量名是标识符的一种。规定只能用字母、数字和下划线3种字符构成,且第一个字符必须使用字母或者下划线,也就是说不能用数字;
b.变量名的一般用小写字母表示(函数名等其他标识符以后再说)命名有匈牙利变量命名法(在变量名前面加一个字母标识变量的类型icount)、骆驼表示法(几个单词组成变量名,小写开头,后面单词第一个字母大写studentName)、中国命名法(几个单词组成变量名,中间用下划线,number_of_number)
2)变量定义
数据类型 变量名;
c/c++是强制性语言,需要先定义后使用,目的有3点:
a.保证程序里面没有定义的名称编程提前发现;
b.编译的时候根据分配空间;
c.在编译的时候对变量的操作提前判断时候合法,如将浮点数复制给整数变量。
3)P28有待考证。

注意事项:
1)字符串常量长度要加上空字符‘\0’;
2)c++是强定义语言,要先定义后使用,c语言要求所有的变量应该放在所有执行语句之前(老标准,现在也像c++看齐),c++放松了要求,只要在第一次使用之前定义即可;
3)#define 指令定义符号常量,在预处理期间就被替换,不占任何的空间,C的习惯,C++一般喜欢用常变量本质上还是变量,书上不加区分,都叫常量。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值