字面值常量&&转义序列
字面值常量举例:
| 字面值常量的分类 | 示例 | 备注 |
| 整型 | 42、024(八进制数)、0x23(十六进制) | short类型没有对应的字面值 |
| 浮点型 | 3.14、3.14E2(指数) | 默认类型是double |
| 字符型 | 'a'、'\t'(转义字符) | 类型是char |
| 字符串型 | "Hello World!" | 类型实际是由常量字符构成的数组 |
| 带前缀后缀的 | L'a'、42ULL、1e-3F | 可改变整型/浮点型/字符型字面值的默认类型 |
| 布尔类型 | ture、false | |
| 指针类型 | nullptr | 此字面值的意思是0 |
注意:
我们可以将整型字面值写作十进制数、八进制数或十六进制数的形式。
十进制字面值的类型是int、long、long long中尺寸最小的那个,前提是这种类型能容纳下当前的值。
八进制和十六进制字面值的类型是int、unsigned int、long、unsigned long、long long、unsigned long long中尺寸最小的那个,前提如上。
对于字符串型字面值,编译器将在其结尾处添加一个空字符('\0'),因此,字符串字面的实际长度要比它的内容多1。
例如,字符串"A"代表的是一个字符数组,该数组包含两个字符:'A'、'\0'
更多关于字符串请点击:传送门
关于转义序列(即转义字符):
有两类字符程序员不能直接使用:不可打印的字符、有特殊含义的字符
【不可打印的字符】
没有可视的图符
如:退格符、其他控制字符
【有特殊含义的字符】
如:单引号、双引号、问号、反斜线
我们要使用这些字符,必须在其前面加上反斜线“\”,我们称这些字符为转义序列。
| 退格符 | \b |
| 报警(响铃)符 | \a |
| 进纸符 | \f |
| 换行符 | \n |
| 回车符 | \r |
| 反斜线 | \\ |
| 横向制表符 | \t |
| 纵向制表符 | \v |
| 单引号 | \' |
| 双引号 | \" |
| 问号 | \? |
【泛化的转义序列】
形式1:\x后紧跟1个或多个十六进制数字
形式2:\后紧跟1个、2个或3个八进制数字
注:数字部分表示的是字符对应的数值。
常用示例:\7(响铃) \12(换行符) \40(空格) \0(空字符) \115(字符M) \x4d(字符M)
字面值常量&&转义序列的更多相关文章
- c++学习笔记——字面值常量类
字面值常量类:数据成员都是字面值类型的聚合类是字面值常量类.如果一个类不是聚合类,但是它符合一下要求,则它也是个字面值常量类: 1.数据成员都必须是字面值类型. 2.类必须至少含有一个constexp ...
- 网络编程中的常见陷阱之 0x十六进制数(C++字面值常量)
十六进制数相等的推断 请问例如以下程序的输出是神马? #include <iostream> #include <string> using namespace std; in ...
- C++ 语法--变量和常量
起步 Hello world! #include <iostream> int main() { std::cout<<"Hello, world!"; ; ...
- c/c++ 函数、常量、指针和数组的关系梳理
压力才有动力,15年中旬就要准备实习,学习复习学习复习学习复习学习复习……无限循环中,好记性不如烂笔头……从数组开始,为主干. c 的array由一系列的类型相同的元素构成,数组声明包括数组元素个数和 ...
- C++中的字面值指定类型
C++中只有内置类型存在字面值,没有类(class)类型字面值.例如:0是int类型的字面值,3.14159是double类型的字面值. 字面值类型很多 整型浮点字面值 20 ...
- Java语法基础(一)----关键字、标识符、常量、变量
一.关键字: 关键字:被Java语言赋予特定含义的单词.组成关键字的字母全部小写.注:goto和const作为保留字存在,目前并不使用.main并不是关键字. 二.标识符: 标识符:就是给类,接口,方 ...
- 使用#define定义字面值和伪函数
#define是C语言提供的宏命令,其主要目的是:在编程时,为程序员提供一定方便,并能在一定程度上提高程序的执行效率.#define将一个标示符定义为一个字符串,该标示符被称为宏,被定义的字符串称为字 ...
- c风格字符串,字符串字面值,c++字符串
C风格字符串:本质上就是以空字符null为结束符的数组 可以简单的理解为:有'\0'的是c风格字符串,无'\0'的是普通字符数组 字符串字面值:是一串常量字符,字符串字面值常量用双引号括起来的零个或多 ...
- 工控随笔_19_西门子_WinCC的VBS脚本_08_常量和流程控制_01
在编程的过程中,有时候我们会使用一些固定的值,例如圆周率,或者某个人的生日,或者家庭住址等等, 这些信息对于一个对象来说一旦确定就不会改变,因此我们在编程的时候也不希望这些信息会改变,在VBS里面 也 ...
随机推荐
- iOS | XIB简单应用和注意点
2018开篇第一篇文章,本文分享一点关于XIB的小知识,对于iOS开发新人来说或许有用. XIB 是 Interface Builder 的图形界面设计文档. 从Xcode 3.0 开始,苹果提供Xi ...
- React中需要多个倒计时的问题
最近有一个需求是做一个闪购列表,列表中每一个商品都有倒计时,如果每一个倒计时都去生成一个setTimeout的话,一个页面就会有很多定时器,感觉这种做法不是非常好,于是换了一个思路. 思路是这样的,一 ...
- 使用poi读取excel文件 Cannot get a text value from a numeric cell
我这样转换得到一个excel文本域的值 Cell cell = row.getCell(c); cell.setCellType(Cell.CELL_TYPE_STRING); String park ...
- 将hexo放到github仓库上
完成了hexo的安装后, 我们只能在本地访问. 因此我们将它放到github上, 方便我们随时随地的用网址访问. 在Blog文件夹目录下输入: cnpm install --save hexo-dep ...
- MySql学习笔记06
课程回顾 一对一关联 案例1:查询每个员工的名字和主管领导的名字 select e.ename 员工姓名,m.ename 领导姓名 from emp e join emp m on e.mgr=m.e ...
- Ajax之404,200等查询
xmlhttp.readyState的值及解释: 0:请求未初始化(还没有调用 open()). 1:请求已经建立,但是还没有发送(还没有调用 send()). 2:请求已发送,正在处理中(通常现在可 ...
- MAC和windows开发操作系统环境,解决Maven工程中报 Missing artifact jdk.tools:jdk.tools
同事使用的是苹果mac,而我们其他人的开发环境是windows jdk1.8 导致同事从git上pull下来的工程,pom文件是直接报错的, windows下的pom文件设置是这样的: <dep ...
- JavaScript 转载
JavaScript概述 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECM ...
- json模块、os模块
一.eval模拟序列化操作 1.序列化 内存中的数据-------->转成一种中间格式(字符串)---------->存到文件中 dic={'name':'egon','age':18} ...
- 51定时器控制4各led,使用回调函数机制
程序转载自51hei,经过自己的实际验证,多了一种编程的思路技能,回调函数的基本思想也是基于事件机制的,哪个事件来了, 就执行哪个事件. 程序中,最多四个子定时器,说明51的处理速度是不够的,在中断中 ...