小白学C++ L3常量

常量指不会随着程序运行而改变的量,分为两种:字面量符号常量

字面量

  • 字面量就是存放在变量中的数据。
  • 字面量经常会被装到变量中使用,这个操作叫做赋值,一般写法为变量名 = 字面量
// 小戴需要2瓶可乐,3个爆米花
coke = 2;       
popcorn = 3;

其中23就是字面量。

  • 用来赋值给变量的是表示固定值的数据,称为字面量
  • 字面量可以作为数字或文本直接在代码中使用
  • 字面量在程序运行过程中不能够被改变也不能被赋值
  • 装入变量中的数据本身不能再装入新的数据
整数字面量
  • 整数字面量是没有任何小数或指数部分的数字字面量,与数学中的整数直接关联。
    • 十进制:直接写出的整数。例如:0,23,-1024
    • 八进制:以数字0开头的整数,有效数字为0~7,并且不带有正负号。例如:0126,0163
    • 十六进制:以0x或0X开头的整数,有效数字为0~9、A~F(a~f),并且不带有正负号。例如:0x12a,0xf39
浮点字面量
  • 浮点字面量是有分数形式或指数形式的数字字面量,与数学中的小数直接关联。
    • 小数形式:由数字和小数点组成
      例如:0.66,30.0,14.15926

    • 指数形式:在数学中,一个可以用幂的形式来表示的形式。
      在C语言中,则以e或E后跟一个整数来表示以10为底数的幂数。

      • e或E的左侧必须要有数字
      • e或E的右侧为幂次的数值,必须为整数

      上述小数可以等价表示为:6.6E-1,30.0e0,0.01415926E3

字符字面量
  • 主要用来表达常见字符的常量,分为单字符字面量与转义符字面量。

  • 单字符字面量:

    通过将单个字符括在单引号内来创建字符字面量。
    例如:'a','m','F','2','}'等

  • 转义符字面量:

    使用’'开头的转义字符序列来表示一个特殊字符。

Tips:有时,在C++编程中必须使用不能键入或具有特殊含义的字符。例如,换行符(回车),制表符,问号,引号等。为了使用这些字符,就会使用’'开头的转义字符序列用来表示一个特殊字符。
例如:

'\n'表示换行符;
'\t'表示制表符;
'\''表示单引号字符(不被解析成字符外的单引号);
'\\'表示真正的斜杠字符。

所有的字符字面量在计算机里都是有一个编码的,为了避免大家用不同的编码,造成混乱,美国的组织就出台了ASCII编码(American Standard Code for Information Interchange:美国信息交换标准代码),所有字符都采用ASCII编码,共有128个字符。每个字符都对应着一个0~127之间的整数。

下面两个表格中,深灰色的列就是其右侧字符对应的ASCII编码。
在这里插入图片描述

字符串字面量
  • 字符串字面量是由一对双引号括起来的字符序列
  • 字符串中可以包含类似于字符字面量普通字符以及转义字符
  • 字符串除了存储所包含的字符外,还额外包含一个结束标志’\0’
  • ‘\0’:结束符; ASCII编码对应数值为0的字符

例如:使用转义字符打印一个3行4列的星号长方形:

#include<iostream> 
using namespace std; 
int main() { 
    // 每行都输出4个*和一个换行符
	cout << "****\n" ;
	cout << "****\n" ;
	cout << "****\n" ;
return 0;
} 

符号常量

  • 在C++中,随着程序运算不改变的量叫做符号常量,可以使用const关键字来定义并且初始化:
const int kCokePrice = 5;
const int kPopcornPrice = 10;
  • const是⼀个修饰符,加在数据类型int的前⾯,用来给这个变量加上一个不变的属性
    • 初始化时也可以将修饰符const与数据类型int调换位置,写成int const kCokePrice = 5;
  • 符号常量命名时参照Google 开源项目风格指南,以 “k” 开头,大小写混合
    • 实际编程过程中的名字最好简单易懂,用具有对应含义的英文或者拼音来表示
  • 定义的时候必须进行初始化,且在初始化之后不能再进行修改与重新赋值
    • 如果试图对常量做修改,例如把它放在赋值符号的左边,就会被编译器发现并指出错误

总结一下符号常量的初始化伪代码:
const 数据类型 常量名称 = 初始值;
或者数据类型 const 常量名称 = 初始值;

#include<iostream> 
using namespace std; 

int main() { 
    // 字面量
    cout << 1 << " 是一个整型字面量" << endl;
    cout << 0.5 << " 是一个浮点型字面量" << endl;
    cout << 'a' << " 是一个字符型字面量" << endl;
    cout << "这句话就是一个字符串型字面量\n" << endl;
    
    // 定义符号常量表示可乐单价
    const int kCokePrice = 5;
    // 定义符号常量表示爆米花的单价
    int const kPopcornPrice = 10;
    
    // 将可乐与爆米花的单价分别打印在屏幕上,并且加上提示信息
    cout << "CokePrice is: " << kCokePrice << endl;
    cout << "PopcornPrice is: " << kPopcornPrice << endl;
    
    return 0;
} 
基础知识
  • 字符常量只能包括一个字符
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值